|
БПФ, Прошу пояснения |
|
|
|
Apr 20 2015, 07:07
|

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

|
Приветствую Вас, уважаемые знатоки! Вступление.Появилось время и решил разобраться с тем каким образом я могу перенести сигнал из временной области в частотную при помощи ПЛИС. В этом мне может помочь БПФ (FFT). Стал разбираться с математическим фундаментом этого преобразования и в общем и целом представление появилось (что-то вспомнилось из института), НО никак не могу разобраться каким образом эту теорию (математическую) мне перенести в железо. Все красиво говорят, но дальше формул дело не доходит. Вопрос.Прошу мне помочь разобраться с алгоритмом БПФ (его прикрепляю к посту). Никак не могу разобраться с тем, что значат эти линии и точки их пересечений. Для себя я уяснил, что входные отсчеты в нужном количестве я возьму с АЦП и запишу их в ОЗУ. Допустим 2048 отсчетов я записал в ОЗУ и что мне дальше с ними делать? Уточните пожалуйста....куда мне двигаться с этими отсчетами? Может примеры наглядные есть у кого. Я сам интернет копаю, но ответов на свои вопросы не нахожу. Возможно я что-то сильно недопонимаю. P.S. Возможно подобный вопрос уже не раз поднимался....хотя я тут толком для себя полезного не нашел.
--------------------
Победа - это когда N раз упал и N+1 раз встал.
|
|
|
|
|
 |
Ответов
|
Apr 21 2015, 06:25
|
Частый гость
 
Группа: Свой
Сообщений: 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
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|