Вывод преобразования из ДПФ
Дискретное преобразование Фурье для вектора , состоящего из N элементов, имеет вид:
элементы матрицы имеют вид: .
Пусть N четно, тогда ДПФ можно переписать следующим образом:
Коэффициенты и можно переписать следующим образом (M=N/2):
В результате получаем:
То есть дискретное преобразование Фурье от вектора, состоящего из N отсчетов, свелось к линейной композиции двух ДПФ от отсчетов, и если для первоначальной задачи требовалось N2 операций, то для полученной композиции — . Если M является степенью двух, то это разделение можно продолжать рекурсивно до тех пор, пока не дойдем до двух точечного преобразования Фурье, которое вычисляется по следующим формулам:
Задание:
1) Создать базовый сигнал, состоящий из 3 фаз с заданными характеристиками( Sin, triangle, square; Частота=50, 100, 150 Гц; амплитуда=87, 45, 65 В; фаза=130, 50, 90 соответственно, длительность=1)
2)Вывести на график полученный сигнал.
3)Добавить к каждой фазе, в виде помехи, фазы, указанные в вашем варианте.
4)Вывести полученный сигнал, состоящий из 3 фаз на график.
5)Провести по фазам БПФ и вывести полученные спектры на три графика.
Пример:
1)Для генерации сигнала будем использовать SignalGenerationbyDuration, который находится в SignalProcessing– SignalGeneration.
Для создания входов кликаем правой кнопкой на элементе Create– Constant.
Для изменения значения в окне константы дважды кликаем в поле и вбиваем нужное значение:
Проделываем эту работу 3 раза и вбиваем значения согласно вашему варианту:
Этот генератор сигналов заданной длительности является многофункциональным и имеет большое количество входных параметров. Первый вход Сброс фазы(reset phase) влияет на установку начальной фазы генерируемого сигнала. Если здесь установлено значение TRUE, то фаза сигнала устанавливается в соответствии со значением, указанным на входе Начальная фаза(phase on) (по умолчанию установлено значение 0). Если же установить FALSE, то она будет равна значению выхода Выходная фаза(phase out), которое было при последнем запуске данного VI. По умолчанию на этот вход подается значение TRUE. Далее будет рассмотрен пример, который более детально раскроет суть входа для сброса фазы. На входе Длительность(duration) задается время в секундах равное длительности выходного сигнала. По умолчанию значение этого входа равно единице, а точнее - 1с. При помощи регулятора Тип сигнала(signal type) можно выбрать форму генерируемого сигнала:
■ синусоидальный;
■ косинусоидальный;
■ треугольный;
■ прямоугольный;
■ пилообразный;
■ линейно нарастающий;
■ линейно спадающий.
Вход Количество выборок(# of samples), догадаться нетрудно, указывает на количество точек сигнала в выходном массиве. По умолчанию установлено 100 выборок. Вход Частота(frequency) определяет частоту выходного сигнала. Этот параметр обязательно нужно согласовать со значениями входов Количество выборок и Длительность, потому как в результате нарушения критерия Найквиста на выходе можно получить нечто похожее на шум. По умолчанию установлено значение 10 Гц. Значение входа Амплитудапо умолчанию равно 1. Вход Смещение сигнала(dc offset) задает постоянную составляющую выходного сигнала, т.е. указывает насколько уровень сигнала будет выше или ниже 0. По умолчанию смещение отсутствует. Значение на входе Скважность прямоугольного сигнала(square wave duty cycle) задается в процентах. Немного странно. Потому как корректно ли значение в процентах называть скважностью? Этот параметр определяет время, в течение которого прямоугольный сигнал будет иметь высокий уровень. Параметр скважности применим только для прямоугольного сигнала, поэтому если выбрать другой тип сигнала, этот вход просто игнорируется. По умолчанию установлено значение 50 т.е. на выходе Сигнал Вы получите меандр-импульс(Меандр — периодический сигнал прямоугольной формы, широко используемый в радиотехнике. Длительность импульса и длительность паузы в периоде такого сигнала равны. Другими словами, меандр — периодический прямоугольный сигнал со скважностью, равной 2.), с одинаковой длительностью высокого и низкого уровня. Выход Частота выборок(sample rate) указывает частоту дискретизации выходного сигнала, определяемую отношением количества выборок к заданной длительности.
2) Чтобы вывести на график 3 фазы нам понадобится Index&Bundle Cluster Array(Programming – Cluster, Class, &Variant).
Чтобы отображать график, нам нужен Waveform Chart, для этого щелкаем правой кнопкой на лицевой панели(Modern-Graph), названия осей и единицы измерения можно редактировать, дважды щелкнув на названии.
Кнопку Stop создаем, нажав правой кнопкой на Loop Condition.
Для создания ожидания (Wait) щелкаем правой кнопкой на панели блок-диаграмм, для указания значения кликаем правой кнопкой на созданной иконке, удобнее указать значение в 1000.
Чтобы создать цикл While Loop кликаем правой кнопкой в окне блок-диаграмм:
3) Чтобы сложить 3 функции щелкаем правой кнопкой на панели блок-диаграмм и создаем 3 компонента Add.
Затем соединяем элементы в порядке указанном ниже.
Теперь приступаем к созданию помех. Для генерации помех также будем использовать SignalGenerationbyDuration, который находится в SignalProcessing– SignalGeneration(см. 1 пункт). Для создания входов кликаем правой кнопкой на элементе (Create– Control):
Создаем 3 такие помехи, далее соединяем все, как показано ниже:
4)Для реализации БПФ нам понадобится компонент FFT.vi(Signal Processing – Tranforms).
Создаем 3 таких элемента и соединяем их как показано ниже:
5) Запускаем программу. Получились такие графики:
Контрольные вопросы:
1. Чем отличается дискретное преобразование Фурье от быстрого преобразования Фурье?
2. Напишите формулу для обратного преобразования?
3. Что такое меандр-импульс? \
4. Типы спектров.
5. Что такое частота?
6. Свойства преобразования.
Варианты заданий:
№ | Тип, частота, амплитуда, входная фаза 1 сигнала | Тип, частота, амплитуда, входная фаза 2 сигнала | Тип, частота, амплитуда, входная фаза 3 сигнала |
Sin, 50, 50, 120 | Triangle, 50, 112, 60 | Square, 150, 145, 30 | |
Sin, 50, 150, 130 | Triangle, 100, 184, 70 | Sawtooth, 150, 201, 300 | |
sin, 50, 72, 50 | sawtooth, 100, 144, 120 | square, 150, 169, 220 | |
sin, 50, 87, 130 | triangle, 100, 45, 50 | square, 150, 65, 90 | |
cos, 50, 121, 220 | triangle, 100, 132, 300 | sawtooth, 150, 143, 50 | |
cos, 50, 154, 300 | sawtooth, 100, 65, 50 | square, 150, 89, 130 | |
cos, 50, 34, 50 | triangle, 100, 210, 220 | square, 150, 134, 220 | |
cos, 50, 124, 130 | triangle, 100, 154, 50 | sawtooth, 150, 99, 300 | |
square, 50, 100, 220 | cos, 100, 159, 130 | triangle, 150, 190, 50 | |
square, 50, 90, 90 | sawtooth, 100, 156, 50 | cos, 150, 204, 300 | |
square, 50, 39, 50 | triangle, 100, 150, 220 | sawtooth, 150, 120, 90 | |
square, 50, 50, 220 | sin, 100, 95, 300 | cos, 150, 160, 50 | |
triangle, 50, 170, 130 | square, 100, 49, 90 | sin, 150, 90, 50 | |
triangle, 50, 98, 300 | cos, 100, 167, 130 | square, 150, 201, 90 | |
triangle, 50, 140, 90 | sawtooth, 100, 200 | sin, 150, 60, 220 | |
triangle, 50, 111, 130 | cos, 100, 99, 50 | sawtooth, 150, 212 | |
sawtooth, 50, 206, 220 | triangle, 100, 50, 90 | sin, 150, 120, 300 | |
sawtooth, 50, 140, 50 | cos, 100, 40, 130 | square, 150, 213, 220 | |
sawtooth, 50, 139, 90 | triangle, 100, 51, 300 | sin, 150, 216, 50 | |
sawtooth, 50, 188, 50 | cos, 100, 60, 220 | square, 150, 123, 90 |
Список Литературы:
http://energetik.moy.su/index/odnofaznye_i_trekhfaznye_ehlektricheskie_cepi/0-19
http://labview.webhost.ru/?%C3%F0%E0%F4%E8%EA_Waveform_Chart
http://www.picad.com.ua/
http://habrahabr.ru/post/196374/
http://www.ega-math.narod.ru/Nquant/Fourier.htm
http://psi-logic.shadanakar.org/fft/fft7.htm