Визуальное представление физического смысла преобразования Фурье
Расположение
SimInTech\Demo\Визуализация и анимация\Графики\Визуализация преобразования
Фурье\Визуализация преобразования Фурье.prt
Описание
Данный проект (Рис. 1) демонстрирует визуальное представление
физического смысла преобразования Фурье на примере рисования кривой с помощью ломаной линии
из конечного числа отрезков, вращающихся на комплексной плоскости с кратными частотами.
Рис. 1. Окно проекта демо-примера.
В скрипте проекта производится считывание координат точек исходной траектории из текстового
файла, расположенного в директории "data\image.txt". Считанные координаты
отображаются на графике Y от X с подписью "Исходная траектория" (Рис. 2).
Рис. 2. График исходной траектории.
Движение кисти вдоль кривой (рисование кривой) представляется в виде изменения координат
кисти во времени. В скрипте проекта рассчитывается длина всей кривой (длина пути кисти) и
для каждой точки траектории рассчитывается время, в которое кисть должна пройти через данную
точку, исходя из предположения, что кисть движется с постоянной скоростью и проходит всю
траекторию за заданное время. Значения координат и времен отображаются на графике Y от X с
подписью "Параметризованные координаты" в виде зависимостей координат от времени
(Рис. 3).
Рис. 3. Графики параметризованных координат.
Блоки Константа передают массивы координат и времен
в блок Спектроанализатор в виде массивов отсчетов
действительной и мнимой составляющей комплексного сигнала (осуществляется переход из
координат X-Y в координаты Re-Im). Спектроанализатор
определяет амплитудный и фазовый спектры сигнала и формирует массивы частот, амплитуд и фаз
гармоник. Амплитудный спектр отображается на графике Y от X с подписью "Амплитудный
спектр" (Рис. 4).
Рис. 4. Амплитудный спектр.
Рассчитанные массивы являются коэффициентами разложения исходного сигнала в ряд Фурье.
Преобразование Фурье позволяет представить исходный сигнал в виде суммы гармонических
функций заданных амплитуд с частотами, кратными шагу частот в спектре (первой ненулевой
частоте). Блок Источник сигнала с заданным спектром
формирует комплексный сигнал, состоящий из суммы этих гармонических функций. Действительная
часть сигнала представляется в виде суммы косинусоидальных функций, мнимая - в виде суммы
синусоидальных функций. На графике с подписью "Изменение координат во времени" (Рис. 5) отображаются действительная и мнимая части сформированного
сигнала (координаты X и Y траектории).
Рис. 5. Графики изменения координат во времени.
На комплексной плоскости каждая гармоника представляется в виде вращающегося отрезка:
амплитуда гармоники задает длину отрезка, частота определяет скорость вращения, а фаза -
начальный угол поворота. Таким образом, комплексный сигнал, состоящий из суммы гармонических
функций, представляется в виде траектории движения конца ломаной линии, состоящей из
множества отрезков, каждый из которых вращается относительно конца предыдущего отрезка.
В блоке Язык программирования значения координат
накапливаются в буфер для отображения "нарисованной" части траектории, а также
рассчитываются координаты всех точек ломаной линии и точек окружностей, по которыми движутся
концы ее отрезков. Блок Генератор единичных импульсов
формирует сигналы управления накоплением значений в буфер таким образом, чтобы равномерно
распределить всю длину траектории на весь объем буфера, задаваемый в скрипте проекта.
Координаты всех точек записываются в сигналы проекта и с помощью менеджера данных
отображаются на графиках Y от X:
На графике с подписью в шапке окна "Траектория" (Рис. 6) отображаются значения координат точек из сигналов
"GraphX" и "GraphY"
Рис. 6. Отображение траектории с ломаной и окружностями, по которым движутся концы ее
отрезков.
На графике с подписью в шапке окна "Траектория с зумом" (Рис. 7) отображаются значения координат точек из сигналов
"GraphX_Zoom" и "GraphY_Zoom"
Рис. 7. Отображение траектории с ломаной с окружностями в увеличенном виде.
Для наглядности нарисованная часть траектории отображается в виде 10 линий (оттенков) с
разными толщинами, создавая видимость затухания траектории со временем.