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

 
 
> БПФ, Прошу пояснения
Dmitriyspb
сообщение Apr 20 2015, 07:07
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 21-11-12
Из: Россия г. Санкт-Петербург
Пользователь №: 74 498



Приветствую Вас, уважаемые знатоки! biggrin.gif

Вступление.
Появилось время и решил разобраться с тем каким образом я могу перенести сигнал из временной области в частотную при помощи ПЛИС. В этом мне может помочь БПФ (FFT).
Стал разбираться с математическим фундаментом этого преобразования и в общем и целом представление появилось (что-то вспомнилось из института), НО никак не могу разобраться каким образом
эту теорию (математическую) мне перенести в железо. Все красиво говорят, но дальше формул дело не доходит.

Вопрос.
Прошу мне помочь разобраться с алгоритмом БПФ (его прикрепляю к посту). Никак не могу разобраться с тем, что значат эти линии и точки их пересечений.

Для себя я уяснил, что входные отсчеты в нужном количестве я возьму с АЦП и запишу их в ОЗУ. Допустим 2048 отсчетов я записал в ОЗУ и что мне дальше с ними делать?

Уточните пожалуйста....куда мне двигаться с этими отсчетами?

Может примеры наглядные есть у кого. Я сам интернет копаю, но ответов на свои вопросы не нахожу. Возможно я что-то сильно недопонимаю.

P.S. Возможно подобный вопрос уже не раз поднимался....хотя я тут толком для себя полезного не нашел.
Прикрепленные файлы
Прикрепленный файл  _________FFT_2048.pdf ( 140.42 килобайт ) Кол-во скачиваний: 343
 


--------------------
Победа - это когда N раз упал и N+1 раз встал.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Kapsik
сообщение Apr 21 2015, 06:25
Сообщение #2


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

Группа: Свой
Сообщений: 100
Регистрация: 28-08-13
Из: SPb
Пользователь №: 78 086



Я сейчас решаю похожую задачу, предлагаю объединить наши усилия =)
Набросал код в матлабе, для примера на 16 точек. Понимаю, что профи матлаба меня сейчас наверное закидают тухлыми помидорами, но я написал "чтобы было наглядно, сюда смотреть буду и на verilog кодить"
Код
ss = [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15];
k2 = [0:7];
W2 = exp( -j*2*pi.*k2/16 );

s2r = [ss(1) ss(9) ss(5) ss(13) ss(3) ss(11) ss(7) ss(15) ss(2) ss(10) ss(6) ss(14) ss(4) ss(12) ss(8) ss(16)];

%первый шаг
s11 = s2r(1) + s2r(2);
s12 = s2r(1) - s2r(2);
s13 = s2r(3) + s2r(4);
s14 = s2r(3) - s2r(4);
s15 = s2r(5) + s2r(6);
s16 = s2r(5) - s2r(6);
s17 = s2r(7) + s2r(8);
s18 = s2r(7) - s2r(8);
s19 = s2r(9) + s2r(10);
s110= s2r(9) - s2r(10);
s111= s2r(11)+ s2r(12);
s112= s2r(11)- s2r(12);
s113= s2r(13)+ s2r(14);
s114= s2r(13)- s2r(14);
s115= s2r(15)+ s2r(16);
s116= s2r(15)- s2r(16);


%второй шаг

s21 = s11 + s13*W2(1);
s22 = s12 + s14*W2(5);
s23 = s11 - s13*W2(1);
s24 = s12 - s14*W2(5);

s25 = s15 + s17*W2(1);
s26 = s16 + s18*W2(5);
s27 = s15 - s17*W2(1);
s28 = s16 - s18*W2(5);

s29 = s19 + s111*W2(1);
s210 = s110 + s112*W2(5);
s211 = s19 - s111*W2(1);
s212 = s110 - s112*W2(5);

s213 = s113 + s115*W2(1);
s214 = s114 + s116*W2(5);
s215 = s113 - s115*W2(1);
s216 = s114 - s116*W2(5);

%шаг 3
s31 = s21 +  s25*W2(1);
s32 = s22 +  s26*W2(3);
s33 = s23 +  s27*W2(5);
s34 = s24 +  s28*W2(7);
s35 = s21 -  s25*W2(1);
s36 = s22 -  s26*W2(3);
s37 = s23 -  s27*W2(5);
s38 = s24 -  s28*W2(7);

s39 = s29 +  s213*W2(1);
s310= s210 + s214*W2(3);
s311= s211 + s215*W2(5);
s312= s212 + s216*W2(7);
s313 = s29 - s213*W2(1);
s314= s210 - s214*W2(3);
s315= s211 - s215*W2(5);
s316= s212 - s216*W2(7);

%шаг 4

s41 = s31 + s39*W2(1);
s42 = s32 + s310*W2(2);
s43 = s33 + s311*W2(3);
s44 = s34 + s312*W2(4);
s45 = s35 + s313*W2(5);
s46 = s36 + s314*W2(6);
s47 = s37 + s315*W2(7);
s48 = s38 + s316*W2(8);

s49 = s31 - s39*W2(1);
s410 = s32 - s310*W2(2);
s411 = s33 - s311*W2(3);
s412 = s34 - s312*W2(4);
s413 = s35 - s313*W2(5);
s414 = s36 - s314*W2(6);
s415 = s37 - s315*W2(7);
s416 = s38 - s316*W2(8);

Результат с матлабовской fft сошелся.

Сообщение отредактировал Kapsik - Apr 21 2015, 06:25
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Dmitriyspb   БПФ   Apr 20 2015, 07:07
- - Lmx2315   http://electronix.ru/forum/index.php?showtopic=580...   Apr 20 2015, 07:15
|- - Dmitriyspb   Цитата(Lmx2315 @ Apr 20 2015, 10:15) http...   Apr 20 2015, 07:18
- - bogaev_roman   to Dmitriyspb что мешает взять готовую корку и на...   Apr 20 2015, 07:34
|- - Dmitriyspb   Цитата(bogaev_roman @ Apr 20 2015, 10:34)...   Apr 20 2015, 07:44
- - Skryppy   Советую почитать Р. Лайонса "Цифровая обработ...   Apr 20 2015, 09:06
|- - Dmitriyspb   Цитата(Skryppy @ Apr 20 2015, 12:06) Сове...   Apr 20 2015, 09:31
- - Dmitriyspb   Итак, я для себя составил ТХ к БПФ по основанию 2 ...   Apr 20 2015, 10:38
|- - Dr.Alex   Цитата(Dmitriyspb @ Apr 20 2015, 13:38) И...   Apr 20 2015, 10:51
|- - Dmitriyspb   Цитата(Dr.Alex @ Apr 20 2015, 13:51) Снач...   Apr 20 2015, 11:01
- - Dmitriyspb   Итак. Стало яснее, но вопросы остаются. Общий прин...   Apr 20 2015, 13:41
|- - mihalevski   удален   May 9 2015, 15:10
- - serjj   Вот отсюда, например. Коэффициенты Фурье считаются...   Apr 20 2015, 13:55
|- - Dmitriyspb   Цитата(serjj @ Apr 20 2015, 16:55) Вот от...   Apr 21 2015, 06:43
|- - Kapsik   Цитата(Dmitriyspb @ Apr 21 2015, 10:43) Х...   Apr 21 2015, 07:06
- - serjj   UPD. Перепутал с коэффициентами DFT общего вида, п...   Apr 21 2015, 06:18
- - serjj   ЦитатаА может для этого существует какая-то програ...   Apr 21 2015, 07:06
|- - Dmitriyspb   Цитата(serjj @ Apr 21 2015, 10:06) Matlab...   Apr 21 2015, 07:32
- - serjj   ЦитатаЕсли в бабочку грузить отсчеты по порядку 0,...   Apr 21 2015, 07:37
|- - Dmitriyspb   Цитата(serjj @ Apr 21 2015, 10:37) Ну да....   Apr 21 2015, 08:03
- - serjj   Цитата5. Эти отсчеты уже можно перенести на плоско...   Apr 21 2015, 08:11
|- - Dmitriyspb   Цитата(serjj @ Apr 21 2015, 11:11) Если в...   Apr 21 2015, 08:22
- - serjj   ЦитатаЕсли я их загружаю в БАБОЧКУ в бит-реверсивн...   Apr 21 2015, 08:37
- - Dmitriyspb   А что по этому поводу думает уважаемый Kapsik? Как...   Apr 21 2015, 08:50
|- - Kapsik   Цитата(Dmitriyspb @ Apr 21 2015, 12:50) А...   Apr 21 2015, 09:13
|- - Dmitriyspb   Цитата(Kapsik @ Apr 21 2015, 12:13) Интер...   Apr 21 2015, 10:02
|- - Kapsik   Цитата(Dmitriyspb @ Apr 21 2015, 14:02) О...   Apr 21 2015, 10:43
|- - Dmitriyspb   Цитата(Kapsik @ Apr 21 2015, 13:43) Вообщ...   Apr 21 2015, 10:49
|- - Kapsik   Цитата(Dmitriyspb @ Apr 21 2015, 14:49) в...   Apr 21 2015, 10:59
|- - Corner   Цитата(Kapsik @ Apr 21 2015, 14:59) Да, в...   Sep 21 2015, 19:27
|- - Krys   Цитата(Corner @ Sep 22 2015, 02:27) Ничег...   Oct 13 2015, 09:19
- - Dmitriyspb   Товарищи, правильно ли я считаю коэффициент для св...   Apr 22 2015, 10:25
- - serjj   Код>> W2= 1-0.0061 W2 = 0.9939 Воу воу,...   Apr 22 2015, 11:24
|- - Dmitriyspb   Цитата(serjj @ Apr 22 2015, 14:24) Код...   Apr 22 2015, 11:32
- - serjj   ЦитатаКак мне комплексное число перевести в целочи...   Apr 22 2015, 11:55
|- - Dmitriyspb   Цитата(serjj @ Apr 22 2015, 14:55) компле...   Apr 22 2015, 12:03
- - Xenia   Считали бы, как нормальные люди , через синус и ко...   Apr 22 2015, 12:10
|- - Dmitriyspb   Цитата(Xenia @ Apr 22 2015, 15:10) Считал...   Apr 22 2015, 12:37
- - serjj   ЦитатаСчитали бы, как нормальные люди sm.gif, чере...   Apr 22 2015, 12:33
|- - Dmitriyspb   Цитата(serjj @ Apr 22 2015, 15:33) (a_re ...   Apr 22 2015, 12:43
- - serjj   ЦитатаВот как сделать из вещественных входных отсч...   Apr 22 2015, 12:38
- - serjj   ЦитатаТут a_re - косинус, a_im - синус для входных...   Apr 22 2015, 12:49
|- - Dmitriyspb   Цитата(serjj @ Apr 22 2015, 15:49) a_re -...   Apr 22 2015, 13:06
|- - Xenia   Цитата(Dmitriyspb @ Apr 22 2015, 16:06) М...   Apr 22 2015, 13:54
|- - Dmitriyspb   Цитата(Xenia @ Apr 22 2015, 16:54) Если в...   Apr 23 2015, 06:14
- - Swup   Вещественные числа - подмножество комплексных числ...   Apr 22 2015, 13:49
- - Kapsik   Мне показалось, что рисовать бабочки текстом это п...   Apr 23 2015, 05:32
- - serjj   ЦитатаОсновываясь на этом родил такую структуру (с...   Apr 23 2015, 06:27
|- - Dmitriyspb   Цитата(serjj @ Apr 23 2015, 09:27) Как вы...   Apr 23 2015, 07:37
|- - Kapsik   Цитата(Dmitriyspb @ Apr 23 2015, 11:37) В...   Apr 23 2015, 07:39
|- - Dmitriyspb   Цитата(Kapsik @ Apr 23 2015, 10:39) Дык я...   Apr 23 2015, 07:56
- - serjj   ЦитатаВы скажите пожалуйста как Вы представляете с...   Apr 23 2015, 08:34
|- - Dmitriyspb   Цитата(serjj @ Apr 23 2015, 11:34) Вы опр...   Apr 23 2015, 09:57
- - serjj   Да. Формально в схему еще нужно добавить RAM для R...   Apr 23 2015, 10:05
|- - Dmitriyspb   Цитата(serjj @ Apr 23 2015, 13:05) Да. Фо...   Apr 23 2015, 10:42
|- - Krys   Цитата(Dmitriyspb @ Apr 23 2015, 17:42) И...   May 18 2015, 07:04
|- - Dmitriyspb   Цитата(Krys @ May 18 2015, 10:04) Для рас...   May 18 2015, 10:18
- - Swup   Спектр Фурье это разложение сигнала на сумму компл...   Apr 23 2015, 10:40
- - serjj   ЦитатаТогда структура принимает вид ... Или так не...   Apr 23 2015, 10:58
|- - Dmitriyspb   Цитата(serjj @ Apr 23 2015, 13:58) Вроде ...   Apr 23 2015, 11:15
- - des00   ТС в форуме про плисы, есть тема про БПФ. Пишут вм...   Apr 23 2015, 14:05
|- - Dmitriyspb   Цитата(des00 @ Apr 23 2015, 17:05) ТС в ф...   Apr 27 2015, 05:30
- - Krys   есть быстрое косинус-преобразование, по аналогии с...   May 18 2015, 10:59
|- - Dmitriyspb   Цитата(Krys @ May 18 2015, 13:59) есть бы...   May 18 2015, 11:12
|- - TSerg   Цитата(Dmitriyspb @ May 18 2015, 14:12) P...   May 18 2015, 11:14
||- - Dmitriyspb   Цитата(TSerg @ May 18 2015, 14:14) Т.е. -...   May 18 2015, 11:21
|- - thermit   Цитата(Dmitriyspb @ May 18 2015, 14:12) С...   May 18 2015, 11:43
||- - Dmitriyspb   Цитата(thermit @ May 18 2015, 14:43) Если...   May 18 2015, 13:28
||- - thermit   Цитата(Dmitriyspb @ May 18 2015, 16:28) Т...   May 18 2015, 14:17
||- - Dmitriyspb   Цитата(thermit @ May 18 2015, 17:17) Выхо...   May 19 2015, 05:23
|- - Krys   Цитата(Dmitriyspb @ May 18 2015, 18:12) С...   May 19 2015, 02:05
- - Krys   Вот по теме нашёл для Вас: Лайонс_-_ЦОС_2е_издание...   May 19 2015, 06:51
|- - Dmitriyspb   Цитата(Krys @ May 19 2015, 09:51) Вот по ...   May 19 2015, 06:57
|- - Krys   Цитата(Dmitriyspb @ May 19 2015, 13:57) С...   May 19 2015, 07:46
|- - Dmitriyspb   Цитата(Krys @ May 19 2015, 10:46) Ага, мы...   May 19 2015, 08:58
|- - Krys   Цитата(Dmitriyspb @ May 19 2015, 15:58) И...   May 19 2015, 11:37
|- - Dmitriyspb   Цитата(Krys @ May 19 2015, 14:37) А как ж...   May 20 2015, 05:20
- - thermit   ЦитатаDmitriyspb: Этот момент я усвоил. Спасибо за...   May 19 2015, 08:09
- - Dmitriyspb   Уважаемые форумчане Возникли трудности, прошу по...   Jun 26 2015, 07:14
- - Krys   решили проблему? В чём была ошибка?   Aug 21 2015, 04:24
- - Corner   Предполагаю, что вы напутали со знаковой математик...   Aug 24 2015, 15:48
- - Krys   К счастью, в доп.коде операции делаются идентично,...   Aug 25 2015, 05:59
- - novartis   Пока тема свежая, задамка вопрос по БПФ. Вот напи...   Sep 23 2015, 06:23
|- - TRILLER   Цитата(novartis @ Sep 23 2015, 09:23) Пок...   Sep 23 2015, 08:12
|- - Corner   Цитата(novartis @ Sep 23 2015, 10:23) Пок...   Sep 27 2015, 20:05
|- - Acvarif   Цитата(Corner @ Sep 27 2015, 23:05) Самый...   Sep 30 2015, 16:55
- - novartis   Погонял модель бпф от альтеры и в сигналтапе на же...   Sep 24 2015, 15:05
- - Fat Robot   Бегло читаем документ. Находим в нем "The va...   Sep 25 2015, 08:48


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

 


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


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