реклама на сайте
подробности

 
 
> Комплексное БПФ, Над вещественным сигналом
Student21
сообщение Mar 30 2011, 16:29
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 80
Регистрация: 11-12-10
Пользователь №: 61 546



Есть процедура БПФ, написаная на Си.
Функция принимает два массива, реальной и мнимой части. Выдаёт два массива, так же реальную и мнимую часть.

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

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

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


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

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

Сообщение отредактировал Student21 - Mar 30 2011, 16:31
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
diwil
сообщение Mar 30 2011, 16:53
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 366
Регистрация: 5-09-06
Из: Санкт-Петербург
Пользователь №: 20 107



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


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

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


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

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

Go to the top of the page
 
+Quote Post
Student21
сообщение Mar 30 2011, 19:00
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 80
Регистрация: 11-12-10
Пользователь №: 61 546



Сложновато всётаки разобраться...
У меня есть реализация вещественного БПФ за счёт комплексного. При этом в результате сложно разобраться.
На выходе получаются опять же два массива... непонятно как вещественная и мнимая части ДВУХ сигналов умещаются в такие же по размеру массивы как и для ОДНОГО сигнала...(((

Сообщение отредактировал Student21 - Mar 30 2011, 19:13
Go to the top of the page
 
+Quote Post
HFSSLer
сообщение Mar 31 2011, 00:18
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 74
Регистрация: 29-10-09
Из: Воронеж
Пользователь №: 53 299



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

Насколько я помню, не так уж сложно. У ДПФ же есть свойство линейности, т. е. спектр суммы идентичен сумме спектров. И как вам уже указали спектр действительного массива состоит из двух одинаковых по модулям половинок. Поэтому после ДПФ для выделения первого спектра суммируете к и N-к сопряженное и делите на 2.При этом как действительные так и мнимые значения спектра второго массива обнуляться. А для выделения спектра того, что загоняли в мнимую часть, вычитаете из отсчетов к отсчеты N-к сопряженные, уполовиниваете и для восстановления фазы умножаете каждое значение на -j. Наверно можно сказать и так, что два массива загнаны ортогонально, поэтому так легко и разделяются.
Go to the top of the page
 
+Quote Post
bahurin
сообщение Mar 31 2011, 06:05
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347



Нуссбаумер Быстрое преобразование фурье и алгоритмы вычисления сверток страница 78
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 23:39
Рейтинг@Mail.ru


Страница сгенерированна за 0.01396 секунд с 7
ELECTRONIX ©2004-2016