Страница 1 из 1

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

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

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

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

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

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

Добавлено: 30 сен 2021, 18:40
killer258
Спасибо за разьяснение. Вот теперь мне этот момент стал понятен.