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

 
 
> Анализатор спектра ультразвукового диапазона, Анализатор спектра до 100кГц
Nukers
сообщение Mar 7 2010, 11:13
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 8-12-09
Из: Новочебоксарск
Пользователь №: 54 124



На сайте http://www.zetms.ru/catalog/analyzers/a19.php есть описание анализатора спектра.

Требуется проделать подобное, но на один канал (без аналогового выхода, цифрового выхода, коэффициенты усиления программируемые так же не нужны) с несколько измененными характеристиками:

1) Частота входного сигнала до 100кГц.
2) Частота дискретизации до 250кГц.
3) Количество разрядов АЦП 16.
4) Для отображения сигнала в частотную область использую БПФ (на ADSP 21375).
5) Динамический диапазон то же - 85дБ.


Возникли вопросы по алгоритму:

1) Если сигнал случайный (музыка, речь и.т.д), то как определить частоту гармоники с наибольшей амплитудой в спектре?
2) Как наиболее достоверно (погрешность от 2 до 5%) отобразить спектр?
3) Какую фильтрацию использовать?
4) Можно ли обойтись без октавных фильтров, а использовать скажем оконную фильтрацию (при условии, что накапливаю несколько периодов сигнала основной частоты)?


Сообщение отредактировал Nukers - Mar 7 2010, 11:16
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Nukers
сообщение Mar 7 2010, 12:16
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 8-12-09
Из: Новочебоксарск
Пользователь №: 54 124



Цитата
..мало того, можно его отобразить с достоверностью 0.01%
... меньше чем разрешение в пикселах на дисплее будет... в чем проблема то? laughing.gif

Знаю, что можно. Что на это влияет?
Цитата
Цитата

3) Какую фильтрацию использовать?


...ну... можно сказать и так... любое отображение одного множества на другое - своего рода фильтрация...

Интересуют оконные КИХ фильтры. Точнее правильное расположение окна - чтобы снизить погрешность.

Цитата
Цитата
4) Можно ли обойтись без октавных фильтров, а использовать скажем оконную фильтрацию (при условии, что накапливаю несколько периодов сигнала основной частоты)?


mellow.gif
А откуда октавные фильтры? sad.gif И опять эта "основная частота"...


Вот код:
Код
clear all;
Fs=250000; % Чатота дискретизации для БПФ
%y = wavread('Scala Milan Opera Hall.wav');y=y(:,2); % Не нужно, если wav
%файл моно.
%y = wavread('1000Hz_Sine.wav');y=y(:,2); % Не нужно, если wav файл моно.
%y = wavread('1500Hz_Triangle.wav');y=y(:,2); % Не нужно, если wav файл
%моно.
y = wavread('speech_dft.wav');
%y=y'; % Просто меняет стобцы со строками местами
x=y;
NFFT = 2^nextpow2(length(y)); % Next power of 2 from length of y
Y = fft(x,NFFT)/length(y);
f = Fs/2*linspace(0,1,NFFT/2+1);
% Plot single-sided amplitude spectrum.
figure(1),subplot(211),plot(f,2*abs(Y(1:NFFT/2+1))),grid on;
title('АЧХ сигнала');
xlabel('Frequency (Hz)');
ylabel('|Y(f)|');
%y=y'; % Просто меняет стобцы со строками местами
figure(1),subplot(212),plot(y),grid on;
title('Сигнал во временной области');
%wavplay(y,44100);


Думаю, понятно что он делает.
Так вот там есть так называемая "основная частота" - т.е. та частота, что имеет наибольшую амплитуду (возможно я неправильно подобрал определение просто).

Вопрос не стоит в отображении как таковом. Устройство лишь должно произвести БПФ, получить спектр, затем отправить пакетик через USB или Ethernet в компьютер. Далее работа программы верхнего уровня, которую нет смысла затрагивать. На данном этапе важно лишь получить вектор, содержащий информацию об амплитуде (фазу пока тоже не затрагиваем) (см. вышеописанный код).

Сэмпл, к вышеприведенному коду: Прикрепленный файл  speech_dft.wav ( 214.95 килобайт ) Кол-во скачиваний: 118


Есть под ADSP 21375 EZ-KIT Lite примеры выполнения FFT Radix2 и Radix4 ? Буду благодарен. smile.gif

Знаю, что подобное устройство реализовано не одной российской и тем более зарубежной фирмой (потому и привел ссылку на готовый девайс). Поэтому буду благодарен, если укажите на литературу, содержащую готовые алгоритмы обработки (неплохо бы с блок-схемами, можно на английском). Литературы по FFT, цифровой фильтрации достаточно (прочел если что). Гоноровского с Баскаковым тоже прочел и внимательно (это для DRUID3 smile.gif ), но от ошибок пока не застрахован, т.к. опыта мало (я студень еще).

Вообщем, нужна литература (или ваши подсказки, комментарии) с описанием алгоритмов или хотя бы с указанием того какой алгоритм лучше применить в моем случае.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Nukers   Анализатор спектра ультразвукового диапазона   Mar 7 2010, 11:13
- - DRUID3   Цитата(Nukers @ Mar 7 2010, 13:13) 1) Есл...   Mar 7 2010, 11:28
|- - DRUID3   Цитата(Nukers @ Mar 7 2010, 14:05) Знаю, ...   Mar 7 2010, 12:39
- - Nukers   ЦитатаЦитата Думаю, понятно что он делает. Да, он...   Mar 7 2010, 15:09
|- - DRUID3   Цитата(Nukers @ Mar 7 2010, 17:09) Фильтр...   Mar 7 2010, 19:04
- - Nukers   Тут я постарался графически отобразить мое поняти...   Mar 7 2010, 21:00
|- - DRUID3   Цитата(Nukers @ Mar 7 2010, 23:00) Тут я ...   Mar 7 2010, 22:18
|- - TigerSHARC   Цитата(Nukers @ Mar 8 2010, 00:00) Тут я...   Mar 8 2010, 07:11
|- - Nukers   Кто-нибудь может дать ссылку, где можно найти инфо...   Mar 13 2010, 17:15
|- - DRUID3   Цитата(TigerSHARC @ Mar 8 2010, 09:11) До...   Mar 13 2010, 17:51
|- - Nukers   Спаасибо огромное. Но я нашел лишь для 21364. А дл...   Mar 13 2010, 18:25
||- - DRUID3   Цитата(Nukers @ Mar 13 2010, 20:25) Спаас...   Mar 13 2010, 18:45
|- - TigerSHARC   Цитата(DRUID3 @ Mar 13 2010, 20:51) Надум...   Mar 14 2010, 06:50
- - Nukers   Уважаемый DRUID3. Есть к вам вопрос. Уолт Кестер в...   Mar 15 2010, 13:09
- - Nukers   Господа форумчане подскажите! Собираюсь испол...   Mar 22 2010, 18:16
|- - анатолий   Цитата(Nukers @ Mar 22 2010, 21:16) Собир...   Mar 24 2010, 13:02
- - TigerSHARC   а кокой смысл делать БПФ до фильтрации... как я по...   Mar 22 2010, 18:25
- - DRUID3   Nukers я часа в 3-4 ночи просыпаюсь, тогда вам и о...   Mar 22 2010, 18:50
- - TigerSHARC   всё таки применение FIR в данном случае оправдано ...   Mar 22 2010, 19:34
- - Nukers   Я о том же, что и говорит анатолий. Мне непременно...   Mar 24 2010, 16:06
|- - DRUID3   Цитата(анатолий @ Mar 24 2010, 15:02) КИХ...   Mar 24 2010, 17:19
- - TigerSHARC   Корректировать - это просто внести поправку. напри...   Mar 24 2010, 17:07
- - Nukers   ЦитатаПросто умножаешь выборку на весовую функцию ...   Mar 24 2010, 17:17
- - Nukers   ЦитатаУ Анатолия уже в теплице видимо новый урожай...   Mar 24 2010, 17:35
- - TigerSHARC   Сань, ну нахрена спектр умножать на окно? для ...   Mar 24 2010, 17:47
|- - DRUID3   Цитата(TigerSHARC @ Mar 24 2010, 19:47) С...   Mar 24 2010, 18:05
- - Nukers   Согласен, ошибся. Поторопился. Теперь все вроде но...   Mar 24 2010, 17:56
- - TigerSHARC   теперь DRUID3 точно больше ничего не напишет))))   Mar 24 2010, 18:01
- - TigerSHARC   Да, кстати про зеркальный канал. В реальных девайс...   Mar 24 2010, 18:12
|- - DRUID3   Цитата(TigerSHARC @ Mar 24 2010, 20:12) Д...   Mar 24 2010, 18:30
- - Nukers   ЦитатаНу начнем с того, что смысл этих расчетов по...   Mar 25 2010, 06:40
|- - DRUID3   Цитата(Nukers @ Mar 25 2010, 08:40) 1024*...   Mar 25 2010, 07:33
- - Nukers   ЦитатаУмножение на функцию окна гораздо легковесне...   Mar 25 2010, 07:55


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

 


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


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