|
|
  |
Анализатор спектра ультразвукового диапазона, Анализатор спектра до 100кГц |
|
|
|
Mar 22 2010, 18:50
|

山伏
    
Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294

|
Nukersя часа в 3-4 ночи просыпаюсь, тогда вам и отвечу... Если кто из форумчан ответит раньше буду только рад. Сорри что раньше не ответил, как-то подзабыл, блин... Пока мой совет - все-таки разберитесь, что же такое функция окна. Я же довольно корректно и понятно это изложил. Зачем Вам FIR после FFT? Что он отфильтрует? Вам нужна функция окна для обеспечения т.з. по динамическому диапазону - развязки ближайших частотных бинов. Она накладывается до FFT, непосредственно на блок его входных данных. Это ни под каким углом не FIR-алгоритм. А просто перемножение 2-х функций внутри блока - поточечно (для FIR обе функции поточечно перемножаем, потом все это складываем в результате в 1-у точку, сдвигаем на сэмпл график входного сигнала и заново... и т.д.)... Но результат такого перемножения скажется на АЧХ частотного бина FFT - они перемножатся - АЧХ прямоугольного окна и функции окна заданной Вами... Ввиду природы самой функции окна - FFT из-за конечности интервала рассмотрения корректно представить не как корреляцию входной функции с синусоидой, а как корреляцию входной функции с произведением функции окна(прямоугольник - т.е. его спектр sinc(w)) и синусоиды. Если наложить окно - добавится третья функция... Цитата(TigerSHARC @ Mar 22 2010, 20:25)  алгоритм у анализатора спектра разве не такой:
НЧ-фильтр-> АЦП -> КИХ-фильтр -> весовая функция окна -> БПФ Такой... но и FIR можно отбросить. НЧ фильтр то, неизменный во времени... Можно однажды подкорректировать бины FFT и все...
--------------------
Нас помнят пока мы мешаем другим... //-------------------------------------------------------- Хороший блатной - мертвый... //-------------------------------------------------------- Нет старик, это те дроиды которых я ищу...
|
|
|
|
|
Mar 24 2010, 13:02
|
Местный
  
Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052

|
Цитата(Nukers @ Mar 22 2010, 21:16)  Собираюсь использовать следующий алгоритм: НЧ фильтр->АЦП->БПФ->КИХ фильтр (основанный на функции окна Ханна) Подскажите это корректно? Какие трудности возникают? Вносятся ли искажения когда делаем БПФ не фильтрованного сигнала? КИХ фильтр в конце - это корректно, это вместо того, чтобы умножать на временное окно. Если это окно Ханна, то импульсная характеристика - простая - 1-2-1. А для других окон - сложнее. Так что дешевле будет умножать на окно, а не фильтровать потом спекр.
|
|
|
|
|
Mar 24 2010, 16:06
|

Участник

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

|
Я о том же, что и говорит анатолий. Мне непременно прийдется выполнять цифровую фильтрацию входного сигнала, чтобы отбросить полосы частот, которые повторяются на fs, 2fs, 3fs и.т.д. По Смитту есть два способа фильтрации: 1) Во временной области: Это свертка сигнала с импульсной характеристикой фильтра (функцией окна, если построен оконный фильтр). 2) В частотной области: Это умножение частотных бинов, полученных после БПФ, на весовые коэффициенты окна (импульсной характеристики фильтра). Вопрос сейчас лишь в том, какой из этих способов не внесет лишних гармоник и почему? (Ссылки плиз, если есть). Цитата Такой... но и FIR можно отбросить. НЧ фильтр то, неизменный во времени... Можно однажды подкорректировать бины FFT и все... laughing.gif Как корректировать?
Сообщение отредактировал Nukers - Mar 24 2010, 16:07
|
|
|
|
|
Mar 24 2010, 17:17
|

Участник

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

|
Цитата Просто умножаешь выборку на весовую функцию окна -> затем БПФ. Фильтрование спектра добра не пренесёт.
Это тебе скажет каждый. Согласен, на функцию окна нужно умножить чтобы уложиться в требуемый динамический диапазон и чтобы "растекания" спектра после БПФ не было. Фильтрацию же произвожу для того, чтобы отбросить компоненты, повторяющиеся на частотах 2fs, 3fs, 4fs и.т.д. По порядку: - Функция окна для устранения так называемого растекания спектра. - Фильтрация для отсечения не нужных, повторяющихся частотных составляющих. Следовательно сначала нужен КИХ фильтра, а потом умножение на функцию окна и уже только после БПФ? Верно? Цитата p.s. почитай по смиту. Там сказано что весовая функция окна - это ещё не фильтр. Весовая функция - это просто функция спадающая по краям (в общем случае). А КИХ - фильтр называется оконным просто потому что его импульсная характеристика взвешена окном.
Так что фильтрация - это фильтрация, а взвешивание - это взвешивание. P.P.S. Насчет функции окна и КИХ фильтра уже уяснил, проверил. КИХ и оконное взвешивание - это разные функции, знаю это. Так же сказано, что КИХ фильтр - во временной области это свертка отсчетов сигнала и импульсной характеристики КИХ фильтра (почитай про свертку). А в частотной области (т.е. сначала БПФ делаем над сигналом) - это умножение бинов БПФ на бины импульсной функции КИХ фильтра.
Сообщение отредактировал Nukers - Mar 24 2010, 17:24
|
|
|
|
|
Mar 24 2010, 17:19
|

山伏
    
Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294

|
Цитата(анатолий @ Mar 24 2010, 15:02)  КИХ фильтр в конце - это корректно, это вместо того, чтобы умножать на временное окно. корректно что? Пройтись FIRом по частотным бинам? И что будет на выходе? Цитата(анатолий @ Mar 24 2010, 15:02)  Так что дешевле будет умножать на окно, а не фильтровать потом спекр. Цитата(Nukers @ Mar 24 2010, 18:06)  Я о том же, что и говорит анатолий. У Анатолия уже в теплице видимо новый урожай травы... Цитата(Nukers @ Mar 24 2010, 18:06)  Мне непременно прийдется выполнять цифровую фильтрацию входного сигнала, чтобы отбросить полосы частот, которые повторяются на fs, 2fs, 3fs и.т.д. мде... если Вы будете продолжать в том же духе я просто перестану помогать  ... Цитата(Nukers @ Mar 24 2010, 18:06)  По Смитту есть два способа фильтрации: 1) Во временной области: Это свертка сигнала с импульсной характеристикой фильтра (функцией окна, если построен оконный фильтр). 2) В частотной области: Это умножение частотных бинов, полученных после БПФ, на весовые коэффициенты окна (импульсной характеристики фильтра).  о боги!!! Один... Тор... Бальдр... Вы видите сами!? Цитата(Nukers @ Mar 24 2010, 18:06)  Вопрос сейчас лишь в том, какой из этих способов не внесет лишних гармоник и почему? (Ссылки плиз, если есть). ну есть версия, что линейный... Цитата(Nukers @ Mar 24 2010, 18:06)  Как корректировать? Ну, видимо, умножая I и Q бины на числа... Блин, ребята, Вы специально тут надо мной прикалываетесь?
--------------------
Нас помнят пока мы мешаем другим... //-------------------------------------------------------- Хороший блатной - мертвый... //-------------------------------------------------------- Нет старик, это те дроиды которых я ищу...
|
|
|
|
|
Mar 24 2010, 17:35
|

Участник

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

|
Цитата У Анатолия уже в теплице видимо новый урожай травы... ХА ХА ХА. Упал под стол. Анатолий поделитесь? Все, уяснил спасибо. НЧ(Бесселя с fc=120кГц)->АЦП(fs=250кГц)->Умножение на функцию окна->Коррекция частотных бинов->БПФ->Выход(Спектр) DRUID3 спасибо вам огромное!
Сообщение отредактировал Nukers - Mar 24 2010, 17:55
|
|
|
|
|
Mar 24 2010, 18:05
|

山伏
    
Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294

|
Цитата(TigerSHARC @ Mar 24 2010, 19:47)  Сань, ну нахрена спектр умножать на окно?...
...Умножай на окно до БПФ. +1024... 2 Nukers: та Вы не расстраивайтесь, там действительно много чего вот так сразу понятно не будет... Если честно, то некоторые вещи нужно вообще годами обдумывать... Цитата(TigerSHARC @ Mar 24 2010, 19:47)  ...в матлабе можно смоделить фильтр бесселя... матлаб зло... и не потому что платный, а вообще... просто в нем это все предстает как процедуры и человек не формирует себе образной картины... Nukers я начал более-менее в этом все разбираться когда пришлось писать FFT а затем и RealFFT самому. Вы за небольшое время это не успеете. Это же диплом... Но так, что бы разобраться напишите(сами!!!) FIR простейший без оптимизаций и FFT(хоть рекурсивное)... Поймете где там блоки и что куда скользит... Цитата(TigerSHARC @ Mar 24 2010, 19:47)  для БПФ нужно предотвратить растекание и соблюсти критерий Котельникова (это как раз то о чём ты говорил повторяющиеся спектры не будут влиять если критерий котельникова выполняется) - это так называемое наложение. ... посмотри на какой частоте у тебЯ затухание 40db и умнож эту частоту на два - вот тебе и частота дискретизации (250 кГц может быть маловато - зависит от порядка аналогового фильтра) ...ну по-сравнению с дипломами состоящими из "микса" дипломов предшественников такая небрежность простительна... Но если так страшитесь зеркального канала АЦП, то, по-науке можно было бы выбрать Fs = 4*Fmax; И CFFT заставить работать так как RealFFT. Но... Мы так только запутаем человека... Так - тоже правильно... Пусть фильтр выберет эллиптический и сойдет... Кстати, почему 40 dB, а не 100 например? Цитата(TigerSHARC @ Mar 24 2010, 20:01)  теперь DRUID3 точно больше ничего не напишет))))  Цитата(Nukers @ Mar 24 2010, 19:56)  Пока точно не определился, что лучше - коррекция частотных бинов или повышение частоты дискретизации. ...коррекция частотных бинов выравнивает ФЧХ после аналогового фильтра... Частота же дискретизации повышается для упрощения этого самого фильтра, но не искривлять ФЧХ он принципиально не может ...
--------------------
Нас помнят пока мы мешаем другим... //-------------------------------------------------------- Хороший блатной - мертвый... //-------------------------------------------------------- Нет старик, это те дроиды которых я ищу...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|