2016-11-17 10 views
0

Как определить фазу и амплитуду аналогового сигнала? Я получаю один аналоговый сигнал от одного датчика, используя этот аналоговый сигнал. Я хочу узнать DFT (фаза, амплитуда) для основной частоты и второй гармоники. Я преобразовал аналоговый сигнал через АЦП, примененный к ПЛИС. В этой FPGA я хочу использовать ядро ​​IP DFT 4.0, но вывод ядра DFT - это только мнимые и реальные значения. Используя это, как я могу определить фазу и амплитуду фундаментальных и гармонических?Фаза и амплитуда DFT с использованием ядра VHDL в FPGA

ответ

0

Для каждого комплекса (ре, им) выхода можно вычислить амплитуду и фазу, как это:

magnitude = sqrt(re*re + im*im); 
phase = atan2(im, re); 

Если вы знаете частоту ваших фундаментальные (и гармоник), то вы можете просто вычислить соответствующий выход FFT индекс бин, используя формулу:

i = N * f/Fs 

, где N является размер БПФ, f частота интереса и Fs является частота дискретизации.

+0

как мы можем узнать о второй гармонике с использованием ядра IP DFT 4.0 в FPGA? если возможно, пройти через ядро ​​DFT 4.0 ip. возможно ли эти вычисления (величина = sqrt (re * re + im * im); phase = atan2 (im, re);) в VHDL.? –

+0

Возможно, вы сможете сделать это с помощью некоторой дополнительной логики на вашей ПЛИС, или вы можете просто передать результаты DFT обратно на главный процессор для окончательной обработки, так как очень мало вычислений по сравнению с самим FFT. –

+0

Благодарю за ваше терпение. MR Paul R sir, –

 Смежные вопросы

  • Нет связанных вопросов^_^