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

 
 
> Поворачивающие множители для БПФ в матлаб
Acvarif
сообщение Sep 6 2013, 16:51
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



В матлаб совсем плаваю. Но вот понадобилось рассчитать (не на калькуляторе ж их считать) поворачивающие множители для БПФ (8 точек) и сразу попал в яму.
Тоесть как посчитать в матлабе это
Прикрепленное изображение

Пробую делать так
n = 2;
x3=exp((-1j*2*pi*n)/8);
fprintf('%d\n',x3);
x4=cos(2*pi*n/8) - 1j*sin(2*pi*n/8);
fprintf('%d\n',x4);
получаю
6.123234e-017
6.123234e-017
Это что за число такое? Как его понимать? Как 0?

Сообщение отредактировал Acvarif - Sep 6 2013, 17:40
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
petrov
сообщение Sep 6 2013, 17:28
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Для примера в консоли введите

exp(-j*2*pi/8) .^ mod([0:8-1].' * [0:8-1], 8) * ones(1,8).'

это DFT8 от вектора столбца состоящего из единичек.

Вводите в консоли части этого выражения и поймёте что они означают.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Sep 6 2013, 18:30
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(petrov @ Sep 6 2013, 20:28) *
Для примера в консоли введите

exp(-j*2*pi/8) .^ mod([0:8-1].' * [0:8-1], 8) * ones(1,8).'

это DFT8 от вектора столбца состоящего из единичек.

Вводите в консоли части этого выражения и поймёте что они означают.

Получилось
>> exp(-j*2*pi/8)

ans =

0.7071 - 0.7071i

>> mod([0:8-1].' * [0:8-1], 8)

ans =

0 0 0 0 0 0 0 0
0 1 2 3 4 5 6 7
0 2 4 6 0 2 4 6
0 3 6 1 4 7 2 5
0 4 0 4 0 4 0 4
0 5 2 7 4 1 6 3
0 6 4 2 0 6 4 2
0 7 6 5 4 3 2 1
Виноват. Ниче не понял.

Сообщение отредактировал Acvarif - Sep 6 2013, 18:40
Go to the top of the page
 
+Quote Post
petrov
сообщение Sep 6 2013, 18:56
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Acvarif @ Sep 6 2013, 22:30) *
Получилось
>> exp(-j*2*pi/8)

ans =

0.7071 - 0.7071i

>> mod([0:8-1].' * [0:8-1], 8)

ans =

0 0 0 0 0 0 0 0
0 1 2 3 4 5 6 7
0 2 4 6 0 2 4 6
0 3 6 1 4 7 2 5
0 4 0 4 0 4 0 4
0 5 2 7 4 1 6 3
0 6 4 2 0 6 4 2
0 7 6 5 4 3 2 1
Виноват. Ниче не понял.


.^ поэлемнтное возведение в степень получаем матрицу DFT8
умножаем её на на любой вектор получаем DFT вектора
собственно на симметриях этой матрицы и построены FFT

Ну это так для примера, каких собственно операций вам не хватает?
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Sep 6 2013, 19:18
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(petrov @ Sep 6 2013, 21:56) *
.^ поэлемнтное возведение в степень получаем матрицу DFT8
умножаем её на на любой вектор получаем DFT вектора
собственно на симметриях этой матрицы и построены FFT

Ну это так для примера, каких собственно операций вам не хватает?

Я только по поводу поворачивающих множителей fft8. Правильно-ли я их вычисляю?
При n = 0 W8/0 = 1 - все верно. При n = 2 W8/2 = 6.123234e-017 (странное число) Получается равен 0?
При n = 3 W8/3 = -0.707 - вроде верно.

Сообщение отредактировал Acvarif - Sep 6 2013, 19:19
Go to the top of the page
 
+Quote Post
petrov
сообщение Sep 6 2013, 19:32
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Acvarif @ Sep 6 2013, 23:18) *
6.123234e-017 (странное число) Получается равен 0?


Да конечно 10^-17 ноль практически.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Sep 6 2013, 19:44
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(petrov @ Sep 6 2013, 22:32) *
Да конечно 10^-17 ноль практически.

Понятно. Спасибо. Поворачивающие множители нужны для БПФ в ПЛИС.
По ходу еще тема. Можно-ли в матлаб както симитировать отдельно входы реал и мнимый fft32 (32 точки) чтобы подать на них синусоиду и косинусоиду (дискретно, по выборкам)?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 1st July 2025 - 04:21
Рейтинг@Mail.ru


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