Как определить фазу и амплитуду аналогового сигнала? Я получаю один аналоговый сигнал от одного датчика, используя этот аналоговый сигнал. Я хочу узнать DFT (фаза, амплитуда) для основной частоты и второй гармоники. Я преобразовал аналоговый сигнал через АЦП, примененный к ПЛИС. В этой FPGA я хочу использовать ядро IP DFT 4.0, но вывод ядра DFT - это только мнимые и реальные значения. Используя это, как я могу определить фазу и амплитуду фундаментальных и гармонических?Фаза и амплитуда DFT с использованием ядра VHDL в FPGA
0
A
ответ
0
Для каждого комплекса (ре, им) выхода можно вычислить амплитуду и фазу, как это:
magnitude = sqrt(re*re + im*im);
phase = atan2(im, re);
Если вы знаете частоту ваших фундаментальные (и гармоник), то вы можете просто вычислить соответствующий выход FFT индекс бин, используя формулу:
i = N * f/Fs
, где N
является размер БПФ, f
частота интереса и Fs
является частота дискретизации.
как мы можем узнать о второй гармонике с использованием ядра IP DFT 4.0 в FPGA? если возможно, пройти через ядро DFT 4.0 ip. возможно ли эти вычисления (величина = sqrt (re * re + im * im); phase = atan2 (im, re);) в VHDL.? –
Возможно, вы сможете сделать это с помощью некоторой дополнительной логики на вашей ПЛИС, или вы можете просто передать результаты DFT обратно на главный процессор для окончательной обработки, так как очень мало вычислений по сравнению с самим FFT. –
Благодарю за ваше терпение. MR Paul R sir, –