|
Определение спектра сигнала, Как сделать |
|
|
|
Dec 29 2006, 12:04
|
Частый гость
 
Группа: Свой
Сообщений: 130
Регистрация: 15-01-06
Пользователь №: 13 190

|
Если пишу не втом форуме небейте, лучше посоветуйте куда обратится.
Да и сразу хочу предупредить у нас в институте хоть и была математика и ТОЭ и ТЭС и тд., но не знаю смешно это или грешно но все что мы проходили из данной области чрезвычайно поверхностно, у нас даже там по Фурье, БФП не было, так характеристики фильтров и их классификация, так что знаниея здесь нуль, поэтому если можно обьясните на уровне чайника.
А нужно сделать следующее: сигал оцифровывается АЦП и через UART получаю на комп и записываю его в массив. Нужно: 1) Определить основную и побочную гармоники т.е. определить спектр. 2) Сделать программным методом фильтр с настраиваемой характеристикой.
Пожалуйста подскажите с чего начать: книги, ссылке в инэте, примеры, алгоритмы, может кто поделится опытом.
P.S. Пишу на Delphi.
|
|
|
|
|
 |
Ответов
|
Jan 7 2007, 04:03
|
Частый гость
 
Группа: Свой
Сообщений: 130
Регистрация: 15-01-06
Пользователь №: 13 190

|
уважаемый =GM= извините если тот выпад мог показаться грубым, просто когда писал тот топик меня немного обидели ну я и несдержался, ведь если ты новичок и немного не грамотно задал вопрос, на то его и задаеш чтобы стать грамотным, то довольно часто тебя либо стараются отфутболить или молчат как партизаны, нет указать на ошибку. А вот по поводу дискретного преобразования Фурье (ДПФ) в принципе это то что нужно для начала. А небудет ли примера без разницы на чем на C C++ Pascale, даже в Matlab (в принцепе тот же С). Да и если можно источник где можно прочитать поподробней про ДПФ, БФП, FFT или метода Винограда. на http://dsp-book.narod.ru/books.html есть книги но их там много может какую конкретно посоветуете. а почему вы считаете что прибор по ссылке туфта, мне в свое время, когда я еще учился в училище на телемастера, такой прибор просто спас мою сессию, когда были уже все активные элементы поменяны сняты карты напряжений, АЧХ и др. когда даже препод разводил руками и ничего не работает, только подобный прибор помог определить где была неисправность, а было это керамический конденсатор причем по схеме он недолжен был влиять на работу того узла который был сломан.
|
|
|
|
|
Jan 9 2007, 16:58
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(impuls-v @ Jan 7 2007, 01:03)  уважаемый =GM= извините если тот выпад мог показаться грубым, Ну, я ничего грубого не увидел, всё нормально. Цитата(impuls-v @ Jan 7 2007, 01:03)  просто когда писал тот топик меня немного обидели ну я и несдержался, ведь если ты новичок и немного не грамотно задал вопрос, на то его и задаеш чтобы стать грамотным, то довольно часто тебя либо стараются отфутболить или молчат как партизаны, нет указать на ошибку. Ну, во-первых, нельзя обижаться, как говорят, на обиженных воду возят. Во-вторых, нужно развивать толстокожесть именно применительно к форумам. Некоторые участники любят наезжать на других и по делу и не по делу, иногда просто так, такова их природа, да еще кажущаяся безнаказанность – псевдонимы, прокси и т.д. Такие форумные вампиры. Надо либо смириться, либо отстаивать свои принципы. В-третьих, вопрос надо задавать более интересно что ли, чтобы задействовать максимум народа, ну и максимально грамотно (в конце концов, пропустите окончательный текст вопроса через ворд, он вам вмиг все ошибки исправит). Цитата(impuls-v @ Jan 7 2007, 01:03)  А вот по поводу дискретного преобразования Фурье (ДПФ) в принципе это то что нужно для начала. А не будет ли примера без разницы на чем на C C++ Pascale, даже в Matlab (в принцепе тот же С). Так я ж вам дал формулы. Я там немного переврал, как всегда. Fs должно быть равно 1. То есть его можно опустить. Эти формулы и дадут вам спектр вашего сигнала. На Си примерно так будет выглядеть
Код for(k=0;k<N;k++) { c=0; d=0; for(i=0;i<N;i++) { c=c+x(i)*cos(2*pi*i*k/N); d=d+x(i)*sin(2*pi*i*k/N); } a(k)=c; //real coefficient b(k)=d; //imaginery coefficient s(k)=sqrt(c*c+d*d); }
s(k) – модуль спектра, далее находите в массиве s(k ) максимум и вычисляете s(k)= s(k)/max или s(k)= 20*log10(s(k)/max), если надо выводить в децибелах. Цитата(impuls-v @ Jan 7 2007, 01:03)  Да и если можно источник где можно прочитать поподробней про ДПФ, БФП, FFT или метода Винограда. на http://dsp-book.narod.ru/books.html есть книги но их там много может какую конкретно посоветуете. Ну, я не знаю, почитайте Гоноровского или Баскакова, ну или вот справочник Голденберг, Матюшенко, Поляк. Книг полно, разным людям подходят разные книги, так что сами выберите, что вам больше подходит. В завершение, хочу ещё раз предостеречь и вас, и остальных молодых и, как правило, неопытных участников форума от следования советам так называемого уважаемого (который скрывается под ником st256, а что там скрываться, все и так всё про него знают, окончил заочно омский политех, скакал с работы на работу, задерживаясь на 2-3 года, пока его не раскусят, а ведь ему уже 41 стукнуло, пора бы за ум взяться...). Надеюсь, вы заметили, как наш уважаемый ушел от ответа на вопрос "номинал скорости передачи по уарту включает ли в себя служебные биты или нет"? Сначала ответил неправильно, что, мол, скорость включает в себя только информационные биты, потом замотал вопрос, перешел на личности, наплёл ерунды, и опять он белый и пушистый. Ура три раза!!! Однако вы должны видеть, что все ответы st256 никчемные, не несут никакой полезной информации или просто вредные. Вообще, по классификации, st256 является ярким представителем воинствующей серости, можно брать каждое его предложение и показывать, что оно лживо.. Скажем так, применительно к данному вопросу, если кто-то хотя бы раз писал программный интерфейс для уарта, тот навсегда поймет, что такое битовая скорость(:-), ну а если не писал, то будет упираться до посинения в своей правоте. Ну и чтобы не быть голословным, разберем очередной перл нашего уважаемого (пост № хх) Цитата(st256 @ Jan 7 2007, 10:52)  Кстати, мосье Дженераль Вам неправильно описал ДПФ. Он допустил стандартную ошибку для тех, кто никогда не занимался спектральным анализом. вычисляете два массива коэффициентов для всех k от 0 до N-1 a(k)=sum(x(i)*cos(2*pi*i*k/N)), сумма по i от 0 до N-1 b(k)=sum(x(i)*sin(2*pi*i*k/N)), сумма по i от 0 до N-1 Во-первых, i должно измеНЯться не от 0 до N-1 а от -N/2 до N/2-1. А вот в книге, которую наш уважаемый посоветовал вам, а именно, Рабинер и Голд «Теория и практика цифровой обработки сигналов», в п.6.1 (с.395) приведена та же самая формула (6.1), которую написал вам я, только в комплексной форме. Если вы распишете её для вычисления действительных и мнимых коэффициентов, то получите точно то же самое! И пределы суммирования те же самые, от 0 до N-1. Не слушайте тех, кто говорит "алгоритм Виноградова", т.к. есть "алгоритм Винограда", другого нет, такие люди просто слышали звон, да не знают, где он. Вообще, опаснее дурака только образованный дурак(:-).
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
Сообщений в этой теме
impuls-v Определение спектра сигнала Dec 29 2006, 12:04 bve Если Delphi - не догма, то попробуйте Matlab или L... Dec 29 2006, 12:29 otrog Про FFT посмотрите доку во вложении, там есть прим... Dec 29 2006, 14:19 DRUID3 Цитата(impuls-v @ Dec 29 2006, 11:04... Dec 29 2006, 22:33 st256 Цитата(impuls-v @ Dec 29 2006, 18:04... Dec 30 2006, 16:25 =GM= Цитата(st256 @ Dec 30 2006, 13:25) Начина... Jan 1 2007, 05:11 impuls-v otrog выложи пожалуйста книгу.
=GM= издеватся мно... Jan 5 2007, 03:58 st256 Цитата(impuls-v @ Jan 5 2007, 09:58)... Jan 5 2007, 09:05  cupertino Цитата(st256 @ Jan 5 2007, 09:05) Цитата(... Jan 5 2007, 09:25   st256 Цитата(cupertino @ Jan 5 2007, 15:25) 960... Jan 5 2007, 18:52    vvs157 Цитата(st256 @ Jan 5 2007, 18:52) Цитата(... Jan 7 2007, 16:31     st256 Цитата(vvs157 @ Jan 7 2007, 22:31) Цитата... Jan 7 2007, 17:49      vvs157 Цитата(st256 @ Jan 7 2007, 17:49) Нет, я ... Jan 15 2007, 14:10       st256 Цитата(vvs157 @ Jan 15 2007, 20:10) У RS2... Jan 15 2007, 18:52        vvs157 Цитата(st256 @ Jan 15 2007, 18:52) Посмот... Jan 17 2007, 15:26         st256 Цитата(vvs157 @ Jan 17 2007, 21:26) В рас... Jan 18 2007, 11:48          cupertino Цитата(st256 @ Jan 18 2007, 11:48) я и ре... Jan 18 2007, 13:06          vvs157 Цитата(st256 @ Jan 18 2007, 11:48) Цитата... Jan 18 2007, 15:50           st256 Цитата(vvs157 @ Jan 18 2007, 21:50) При р... Jan 19 2007, 08:45            -=ВН=- Цитата(st256 @ Jan 19 2007, 08:45) Цитата... Jan 19 2007, 09:04            Mirabella Цитата(st256 @ Jan 19 2007, 08:45) О, дэв... Jan 19 2007, 11:12             Oldring Цитата(Mirabella @ Jan 19 2007, 11:12) Ка... Jan 19 2007, 12:51             st256 Цитата(Mirabella @ Jan 19 2007, 17:12) Ци... Jan 19 2007, 14:46              Mirabella Цитата(st256 @ Jan 19 2007, 14:46) Спасиб... Jan 19 2007, 14:52               st256 Цитата(Mirabella @ Jan 19 2007, 20:52) Ци... Jan 19 2007, 17:17            vvs157 Цитата(st256 @ Jan 19 2007, 08:45) Цитата... Jan 19 2007, 13:54             Oldring Цитата(vvs157 @ Jan 19 2007, 13:54) Мне ю... Jan 19 2007, 14:12              vvs157 Цитата(Oldring @ Jan 19 2007, 14:12) Цита... Jan 19 2007, 16:45               Oldring Цитата(vvs157 @ Jan 19 2007, 16:45) Слово... Jan 19 2007, 17:10                vvs157 Цитата(Oldring @ Jan 19 2007, 17:10) [
И,... Jan 19 2007, 17:28                 Oldring Цитата(vvs157 @ Jan 19 2007, 17:28) V34 и... Jan 19 2007, 17:42            Stanislav Цитата(st256 @ Jan 19 2007, 08:45) Цитата... Jan 19 2007, 18:28             st256 Цитата(Stanislav @ Jan 20 2007, 00:28) Ци... Jan 19 2007, 18:42        vvs157 Цитата(st256 @ Jan 15 2007, 18:52) Цитата... Jan 17 2007, 15:37         st256 Цитата(vvs157 @ Jan 17 2007, 21:37) Цитат... Jan 18 2007, 12:06          Mirabella Цитата(st256 @ Jan 18 2007, 12:06) Т.е. п... Jan 18 2007, 18:47           Stanislav Цитата(Mirabella @ Jan 18 2007, 18:47) Ци... Jan 18 2007, 19:22            Alex255 [ Цитата(st256 @ Jan 18 2007, 12:06) Т.е.... Jan 19 2007, 09:53             net Цитата(Alex255 @ Jan 19 2007, 09:53) [ Ци... Jan 19 2007, 10:04              Alex255 Цитата(net @ Jan 19 2007, 10:04) Цитата(A... Jan 19 2007, 10:46               net Цитата(Alex255 @ Jan 19 2007, 10:46) Цита... Jan 19 2007, 10:53                Alex255 Цитата(net @ Jan 19 2007, 10:53) если вы ... Jan 19 2007, 17:54                 Oldring Цитата(Alex255 @ Jan 19 2007, 17:54) Пред... Jan 19 2007, 18:00                  st256 Цитата(Oldring @ Jan 20 2007, 00:00) Цита... Jan 19 2007, 18:30                   =GM= Цитата(-=ВН=- @ Jan 19 2007, 01... Jan 19 2007, 18:43                    Mirabella Цитата(=GM= @ Jan 19 2007, 18:43) "Н... Jan 19 2007, 18:56                     Oldring Цитата(Mirabella @ Jan 19 2007, 18:56) И ... Jan 19 2007, 19:01                      Mirabella Цитата(Oldring @ Jan 19 2007, 19:01) Цита... Jan 19 2007, 19:27                       Oldring Цитата(Mirabella @ Jan 19 2007, 19:24) По... Jan 19 2007, 19:31                        Alex255 Цитата(Oldring @ Jan 19 2007, 19:31) Цита... Jan 19 2007, 20:05                         Oldring Цитата(Alex255 @ Jan 19 2007, 20:05) Може... Jan 19 2007, 20:14                          Alex255 Цитата(Oldring @ Jan 19 2007, 20:14) Цита... Jan 19 2007, 21:21                       -=ВН=- Цитата(Mirabella @ Jan 19 2007, 19:27) Ци... Jan 19 2007, 19:36                       vvs157 Цитата(Mirabella @ Jan 19 2007, 19:27) Пр... Jan 19 2007, 21:24                       net Цитата(Mirabella @ Jan 19 2007, 19:27)
... Jan 19 2007, 21:52                        729 Цитата(net @ Jan 19 2007, 21:52) Цитата(M... Jan 19 2007, 22:05                         net Цитата(729 @ Jan 19 2007, 22:05) Цитата(n... Jan 19 2007, 22:20                          Mirabella Цитата(net @ Jan 19 2007, 22:20) вот боле... Jan 19 2007, 23:57                           Oldring Цитата(Mirabella @ Jan 19 2007, 23:57) А ... Jan 20 2007, 00:11                            Mirabella Цитата(Oldring @ Jan 20 2007, 00:11) Цита... Jan 20 2007, 10:44                             net Цитата(Mirabella @ Jan 20 2007, 10:44) Ци... Jan 20 2007, 11:13                             Oldring Цитата(Mirabella @ Jan 20 2007, 10:44) Я ... Jan 20 2007, 11:14                           Oldring И, кстати:
Цитата(Mirabella @ Jan 19 2007, 2... Jan 20 2007, 12:26                         Oldring Цитата(729 @ Jan 19 2007, 22:05) Формула ... Jan 19 2007, 23:29                          729 Цитата(Oldring @ Jan 19 2007, 23:29) Цита... Jan 20 2007, 13:22                        Oldring Цитата(net @ Jan 19 2007, 21:52) сейчас п... Jan 19 2007, 23:07                       Oldring Добавлю. Захотелось все-таки найти конструктивные ... Jan 20 2007, 11:47                       DRUID3 Цитата(Mirabella @ Jan 19 2007, 18:27) Ци... Jan 20 2007, 12:33                        Oldring Цитата(DRUID3 @ Jan 20 2007, 12:33) в сов... Jan 20 2007, 12:55                         net Цитата(Oldring @ Jan 20 2007, 12:55) Цита... Jan 20 2007, 13:06                          Oldring Цитата(net @ Jan 20 2007, 13:06) не пергр... Jan 20 2007, 13:18                         DRUID3 Цитата(Oldring @ Jan 20 2007, 11:55) Цита... Jan 20 2007, 13:20                          Oldring [quote name='DRUID3' date='Jan 20 2007... Jan 20 2007, 13:25                           DRUID3 Цитата(Oldring @ Jan 20 2007, 12:25) Цита... Jan 20 2007, 13:28                     st256 Цитата(Mirabella @ Jan 20 2007, 00:56) Ци... Jan 19 2007, 19:05                     =GM= Цитата(Mirabella @ Jan 19 2007, 15:56) Ци... Jan 19 2007, 19:21                    -=ВН=- Цитата(=GM= @ Jan 19 2007, 18:43) Цитата(... Jan 19 2007, 18:58                   Mirabella Цитата(st256 @ Jan 19 2007, 18:30) Учитес... Jan 19 2007, 19:06                    Alex255 Цитата(Mirabella @ Jan 19 2007, 19:06) Ци... Jan 19 2007, 19:51                     =GM= Цитата(Mirabella @ Jan 19 2007, 16:27) Пр... Jan 19 2007, 20:00                 st256 Цитата(Alex255 @ Jan 19 2007, 23:54) Цита... Jan 19 2007, 18:21                  -=ВН=- Цитата(st256 @ Jan 19 2007, 18:21) Видать... Jan 19 2007, 18:46                   st256 Цитата(-=ВН=- @ Jan 20 2007, 00... Jan 19 2007, 18:59                    -=ВН=- Цитата(st256 @ Jan 19 2007, 18:59) Цитата... Jan 19 2007, 19:10               st256 Цитата(Alex255 @ Jan 19 2007, 16:46) Дык ... Jan 19 2007, 14:25             st256 Цитата(Alex255 @ Jan 19 2007, 15:53) [ Ци... Jan 19 2007, 14:10              -=ВН=- Ха, подтягивается нижегородское купечество... Вам ... Jan 19 2007, 17:55 =GM= impuls-v "=GM= издеваться многие могут, а вот... Jan 5 2007, 16:21 otrog Цитата(impuls-v @ Jan 5 2007, 03:58)... Jan 10 2007, 12:59 st256 Цитата(impuls-v @ Jan 7 2007, 10:03)... Jan 7 2007, 10:55  st256 Цитата(st256 @ Jan 7 2007, 16:55) у синус... Jan 7 2007, 13:52  Stanislav Цитата(st256 @ Jan 7 2007, 10:55) Недавно... Jan 18 2007, 16:38   =GM= Цитата(Stanislav @ Jan 18 2007, 13:38) Ма... Jan 19 2007, 01:37    -=ВН=- Цитата(=GM= @ Jan 19 2007, 01:37) Цитата(... Jan 19 2007, 04:20 jorikdima Цитата(st256 @ Jan 7 2007, 10:55) Цитата(... Jan 17 2007, 15:57 =GM= Цитата(jorikdima @ Jan 17 2007, 12:57) пр... Jan 17 2007, 19:50 -=ВН=- "Нет, ребята, пулемет я вам не дам". Ст... Jan 18 2007, 21:14 jorikdima ЦитатаПредставьте, что Вы хотите посмотреть спектр... Jan 19 2007, 10:08
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|