вопрос по практической реализации обратного ДПФ

killer258
Сообщения: 2
Зарегистрирован: 28 сен 2021, 19:28

вопрос по практической реализации обратного ДПФ

Сообщение killer258 »

Доброго времени суток! Прошу помощи в обьяснении одного ньюанса, не могу найти ответа на этот вопрос нигде, а без него никак не реализовать задумку девайса.

Суть в следующем. Хочу написать процедуру дискретного преобразования Фурье для микроконтроллера на основании известных всем формул прямого и обратного ДПФ, не пользуясь готовыми библиотеками, хочу написать свой собственный код.
Сами формулы как таковые вопросов по реализации вроде не вызывают. Но вот практическая реализация не совсем ясно мне представляется. Поясню. Имеется девайс, состоящий из АЦП, микроконтроллера и ЦАП. Отсчёты входного сигнала с АЦП поступают в микроконтроллер, переводятся там в частотную область, затем над отсчётами спектра производятся некоторые операции, после чего изменённые отсчёты спектра скармливаются процедуре обратного преобразования и результаты обратного преобразования подаются на ЦАП. И вот тут возникает непонятка для меня. Дело в том, что формулы оперируют с комплексными числами. Коды , идущие с АЦП , по своей природе являются вещественными числами. Ну, я полагаю, что можно их представить как комплексные с нулевыми мнимыми частями (буду всё делать в тригонометрической форме представления) и такими использовать их при вычислении прямого преобразования. После того, как над отсчётами спектра будут проведены некоторые операции, обратное преобразование Фурье сделает из них отсчёты во временнОй области. И вот дальше возникает ещё бОльшая непонятка. Отсчёты эти в общем случае , как я полагаю, будут тоже комплексными числами, а у меня ЦАП, на который непонятно, как же их нужно подавать, ведь он понимает только вещественные входные значения. Подозреваю, что нельзя просто так взять и отбросить мнимые части.
Наверняка все сталкиваются с этим и значит, знают, как тут поступить?
Годится ли например, брать мнимые и действительные части, вычислять корень квадратный из суммы их квадратов и эту величину подавать на ЦАП? Или это делать полагается как-то иначе?

Аватара пользователя
Бахурин Сергей
Администратор
Сообщения: 1071
Зарегистрирован: 05 окт 2010, 19:55
Контактная информация:

Re: вопрос по практической реализации обратного ДПФ

Сообщение Бахурин Сергей »

На практике если взять сигнал и сделать дпф то получим комплексный спектр. Если возьмем этот спектр и применим обратное дпф то получим сигнал мнимые части которого будут равны нулю (или почти равны нулю на уровне 1e-16). Если между дпф и одпф со спектром производить некоторые манипуляции, то надо это делать так, чтобы не нарушить свойство симметрии спектра. Тогда взятие одпф после манипуляций опять таки вернет вещественный сигнал с нулевой мнимой частью, которую можно отбросить для передачи сигнала в цап.

killer258
Сообщения: 2
Зарегистрирован: 28 сен 2021, 19:28

Re: вопрос по практической реализации обратного ДПФ

Сообщение killer258 »

Спасибо за разьяснение. Вот теперь мне этот момент стал понятен.

Ответить