Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Комплексное БПФ
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Student21
Есть процедура БПФ, написаная на Си.
Функция принимает два массива, реальной и мнимой части. Выдаёт два массива, так же реальную и мнимую часть.

Так вот, требуется работать только с вещественными сигналами.
Ставлю опыты над функцией БПФ.

Подаю на вход только вещественный сигнал, мнимый массив заполняю нулями. Как и положено на выходе реальная и мнимая часть.
Сравнил с матлабовскими данными - всё сходится. Можно запросто вычислить хоть амплитуду хоть угол гармоник.

Вопрос: Я слышал, что используя комплексное БПФ можно за один проход алгоритма преобразовывать два вещественных сигнала.
Как это происходит? Что при этом подаётся на вход, и что снимаем с выхода. Ведь реальная и мнимая часть на выходе относится только к одному сигналу. Непонятно как можно получить тоже самое для двух сигналов...


И ещё маленький вопросик. Как происходит расчёт арктангенса в микропроцессорах с фикс. точкой. Можно конечно просто влоб на плавучке посчитать, но возможно есть более экономичные варианты? Арктангенс, как можно догадаться необходим для расчёта фазы гармоник (используя реальную и мнимую часть спектра).

Огромное спасибо всем откликнувшимся.
diwil
Цитата(Student21 @ Mar 30 2011, 20:29) *
Вопрос: Я слышал, что используя комплексное БПФ можно за один проход алгоритма преобразовывать два вещественных сигнала.
Как это происходит? Что при этом подаётся на вход, и что снимаем с выхода. Ведь реальная и мнимая часть на выходе относится только к одному сигналу. Непонятно как можно получить тоже самое для двух сигналов...


И ещё маленький вопросик. Как происходит расчёт арктангенса в микропроцессорах с фикс. точкой. Можно конечно просто влоб на плавучке посчитать, но возможно есть более экономичные варианты? Арктангенс, как можно догадаться необходим для расчёта фазы гармоник (используя реальную и мнимую часть спектра).

Огромное спасибо всем откликнувшимся.


Ответ. можно. на вход подается 2 вещественных сигнала - одни в "вещественном" массиве, второй - в "мнимом". Для разделения потом сигналов используют свойство ДПФ от вещественных сигналов - четность модуля и нечетность фазы. Т.е. X[i] = conj X[N-i] Можно почитать numerical recipes in C или самому на бумажке вывести - сложного ничего нет.

Маленький ответик - много способов начиная от использования одного деление+таблица до использования кордика. Вопорс в том, какая точность требуется. Если маленькая, то таблица, если большая, то кордик. В основном используют арифметику с фиксированной точкой.

Student21
Сложновато всётаки разобраться...
У меня есть реализация вещественного БПФ за счёт комплексного. При этом в результате сложно разобраться.
На выходе получаются опять же два массива... непонятно как вещественная и мнимая части ДВУХ сигналов умещаются в такие же по размеру массивы как и для ОДНОГО сигнала...(((
HFSSLer
Цитата(Student21 @ Mar 30 2011, 23:00) *
Сложновато всётаки разобраться...
У меня есть реализация вещественного БПФ за счёт комплексного. При этом в результате сложно разобраться.
На выходе получаются опять же два массива... непонятно как вещественная и мнимая части ДВУХ сигналов умещаются в такие же по размеру массивы как и для ОДНОГО сигнала...(((

Насколько я помню, не так уж сложно. У ДПФ же есть свойство линейности, т. е. спектр суммы идентичен сумме спектров. И как вам уже указали спектр действительного массива состоит из двух одинаковых по модулям половинок. Поэтому после ДПФ для выделения первого спектра суммируете к и N-к сопряженное и делите на 2.При этом как действительные так и мнимые значения спектра второго массива обнуляться. А для выделения спектра того, что загоняли в мнимую часть, вычитаете из отсчетов к отсчеты N-к сопряженные, уполовиниваете и для восстановления фазы умножаете каждое значение на -j. Наверно можно сказать и так, что два массива загнаны ортогонально, поэтому так легко и разделяются.
bahurin
Нуссбаумер Быстрое преобразование фурье и алгоритмы вычисления сверток страница 78
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.