
Програма за работа със сигнали
Здрасти,
Искам да създам програма, която визуализира цифрови сигнали – например входен и изходен, така че да могат да се сравняват и да се вижда разликата между тях след прилагане на предавателна функция.
Дотук съм реализирал прозорец, разделен на няколко части. Основните са две - област за визуализация и област за въвеждане на текстови команди и получаване на резултати.
Прозорецът с графиката може да изобразява предварително генерирани сигнали във времевата област. Показани са номера на пробите и амплитудата. Понеже броят проби е произволен/въвеждан от потребителя, създадох функция за навигация с несъразмерно мащабиране – позволява мащабиране само по X или само по Y. Така сигналът може удобно да се побере в работната зона, а самият прозорец може да се мести чрез влачене.
В момента съм реализирал няколко команди:
генерирай — <име на сигнал> — изчислява и визуализира зададения сигнал
изтрий — <име на сигнал | всички> — премахва сигнал или всички сигнали
мрежа — включва/изключва мрежата в графиката
направи — <сигнал> — създава нов обект; отваря се диалог за име на сигнала, амплитуда, честота, фаза, честота на дискретизация и брой проби
премахни — <име на сигнал> — изтрива сигнал от работната площ
списък — <сигнал | команди> — показва списък с наличните сигнали или с наличните команди
Не е много, но за мен е добро начало. Обмислям да го пусна като проект с отворен код и го споделям тук с надежда да го популяризирам.
