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

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> Цифровой полосовой фильтр, Реализация
-=ВН=-
сообщение Aug 14 2007, 15:36
Сообщение #31


Местный
***

Группа: Новичок
Сообщений: 210
Регистрация: 3-11-06
Пользователь №: 21 936



Цитата(DRUID3 @ Aug 14 2007, 16:45) *
biggrin.gif Про метод перекрывающихся окон слышали? Чтобы сохранить АЧХ частотного отсчета при использовании окна, но убрать его влияние на непрерывную амплитудную последовательность отсчетов и применяют оверсемплинг...

Герцель на основе FIFO. А БПФ на основе окна. Нельзя сказать что это преимущества или недостатки, но в природе вообще есть только особенности... smile.gif

Товарищ DRUID3, не говорите ерундой, ладно?
Go to the top of the page
 
+Quote Post
blackfin
сообщение Aug 14 2007, 17:29
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(DRUID3 @ Aug 14 2007, 16:45) *
Чтобы сохранить АЧХ частотного отсчета при использовании окна, но убрать его влияние на непрерывную амплитудную последовательность отсчетов и применяют оверсемплинг...
Насколько я помню, оверсамплинг применяют для ослабления требований к аналоговому фильтру на входе АЦП.
Сказанное, можно проилюстрировать на примере проигрывателя компакт-диска или цифрового магнитофона с качеством CD.
В этом случае на вход АЦП обычно подается звуковой сигнал, спектр частот которого ограничен полосой 0-22кГц.
Минимально возможная частота дискретизации должна быть, как известно, > 2*Fв=2*22кГц
и в CD проигрывателе она равна Fд=44.1кГц. Для ограничения спектра входного сигнала
обычно применяют аналоговые активные фильтры, но так как на входе АЦП не должно
быть спектральных составляющих сигнала с частотой больше частоты Найквиста Fн=22.05кГц,
требования к аналоговому фильтру на входе АЦП оказываются довольно жесткими:

для частоты дискретизации Fд=44.1кГц:
- частота пропускания Fп=22.00кГц,
- частота заграждения Fз=22.05кГц,
- неравномерность в полосе пропускания 0.1дБ,
- затухание в полосе заграждения > 96дБ.

Если рассчитать элиптический фильтр, оптимальный в минимаксном смысле, с указанными
параметрами, то окажется, что он будет иметь довольно высокий порядок и, кроме того,
сильную нелинейность ФЧХ на границе ПП.

Применяя оверсамплинг, мы получим следующие требования ко входному фильтру:

для частоты дискретизации Fд=88.2кГц:
- частота пропускания Fп=22.00кГц,
- частота заграждения Fз=44.1кГц,
- неравномерность в полосе пропускания 0.1дБ,
- затухание в полосе заграждения > 96дБ.

При тех же требованиях к неравномерности в ПП и затуханию в ПЗ мы имеем намного бОльшую
переходную полосу и, следовательно, значительно менее жесткие требования к фильтру.
При этом оказывается, что достаточно применить на входе АЦП фильтр Бесселя низкого порядка,
а дальнейшую фильтрацию сигнала в полосе 22.0кГц-44.1кГц выполнить с помощью
цифрового фильтра высокого порядка, который довольно легко реализовать на современных DSP.
Используя в дальнейшей обработке каждый второй сампл (децимация) мы получим качественный
цифровой звук с частотой дискретизации Fд=44.1кГц.

Подобным же образом решается задача аналоговой фильтрации сигнала на выходе ЦАП'а
при воспроизведении CD-диска, т.е. при выходной частоте ЦАП'а Fд=88.2кГц
требования к выходному фильтру намного слабее..

На чем выполнен цифровой фильтр - FFT, Герцель, КИХ, БИХ, для оверсамплинга безразлично..
..ну, кроме объема вычислений.. smile.gif

PS. Не спрорьте с =ВН=. smile3009.gif
У него 30-ти летняя практика.. 07.gif
Go to the top of the page
 
+Quote Post
fontp
сообщение Aug 15 2007, 09:07
Сообщение #33


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



Да, лучше не спорьте, тем более с =ВН=. Тем более из-за такой ерунды как Герцель.

Герцель всего лишь последовательная реализация ДПФ на одной частоте. Если захотеть то и окно можно приделать последовательно умножая входной сигнал на функцию окна.
БПФ всего лишь быстрая блочная реализация алгоритма ДПФ для всех частот сразу.

Физически это одно и то же (ДПФ).
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Aug 15 2007, 10:20
Сообщение #34


山伏
*****

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



Цитата(-=ВН=- @ Aug 14 2007, 18:36) *
Товарищ DRUID3, не говорите ерундой, ладно?

biggrin.gif Даже не пытаюсь, кстати, Ваша фраза не аргумент в споре на техническом форуме.

To:blackfin
Ну что же Вы в самом деле, поддались на провокацию. Что такое оверсемпленг и де ИВо применяют знают в наших краях уже давно. Просто я приводил пример частного случая его применения в спектральном анализе Фурье. Но Вы видимо не знаете всех действующих лиц biggrin.gif . Здесь спор идет по типу "вмру, але моє буде зверху" lol.gif ...


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
blackfin
сообщение Aug 15 2007, 10:56
Сообщение #35


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(DRUID3 @ Aug 15 2007, 14:20) *
Ну что же Вы в самом деле, поддались на провокацию.
Дык, мне показалось, что Вы злоупотребляете "галлюцинациями"..
Ну, вот я и вмешался.. Видимо, зря.. sad.gif
Go to the top of the page
 
+Quote Post
-=ВН=-
сообщение Aug 15 2007, 12:26
Сообщение #36


Местный
***

Группа: Новичок
Сообщений: 210
Регистрация: 3-11-06
Пользователь №: 21 936



Цитата(DRUID3 @ Aug 15 2007, 14:20) *
biggrin.gif Даже не пытаюсь,

Ну Вам что, цитаты приводить Ваши, где Вы говорили о каких-то преимуществах, причем не вычислительных, Герцеля по сравнению с ДПФ? Теперь у Вас не преимущества, а особенности и не ДПФ, а БПФ. Вы уж о чем-нибудь одном валяйте.
А про "оверсамленг" Вы что-то совершенно не то говорите. Вообще. Он никак не связан с окнами. И окна с ним. "Оверсамленг" - увеличение частоты дискретизации. Все. Ничего более. И спектральное разрешение и характеристики окон определяются длительностью анализируемого куска сигнала (окна) и никак с часттотой дискретизации не связаны.
Что Вы хотели сказать Вашим примером - непонятно абсолютно. Вам наверное тоже.
Go to the top of the page
 
+Quote Post
Lalka
сообщение Sep 10 2009, 06:41
Сообщение #37


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 30-07-09
Пользователь №: 51 673



А не мог бы кто-нибудь выложить алгоритм как можно проще для цифрового полосового фильтра? 07.gif Очень надеюсь на помощь!
Go to the top of the page
 
+Quote Post
bahurin
сообщение Sep 10 2009, 12:53
Сообщение #38


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347



Мое мнение на данный вопрос. Сразу предупреждаю в полемику вступать не буду. вариантов на самом деле мне кажется три:
1. КИХ фильтр высокого порядка. Тут все понятно в лоб так в лоб.
2. Использовав алгоритм Герцеля получить спектр в данной узкой полосе . А дальше надо его дополнить нулями до исходного размера и брать IFFT, чтобы получить отфильтрованный сигнал. Т.о. получили затраты на алгоритм герцеля (кстати тоже все умножения комплексные) + затраты на IFFT. Но и это еще не все требуется обработка с перекрытием, чтобы убрать все искажения на краях.
3. Квадратурное гетеродинирование 2кГц-> 0 кГц, а там уже многоступенчатой децимацией пытаться обеспечть требуемую "изберательность". Но после необходимо интерполировать (а это еще ФНЧ) и снова переносить на частоту 2 кГц с нулевой частоты. Если все аккуратно сделать, то можно не исказить фазу.

Для того какой путь выбрать надо знать частоту дискретизации в первую очередь, а также требования к изберательности: подавление в полосе заграждения и неравномерность в полосе пропускания фильтра ну и собственно переходную полосу между полосой заграждения и пропусканя. После это садится и считать требуемые вычисления для каждого из вариантов. Ну и еще надо учесть на чем это все надо творить.
Go to the top of the page
 
+Quote Post
sup-sup
сообщение Sep 10 2009, 19:53
Сообщение #39


Знающий
****

Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997



Цитата(Lalka @ Sep 10 2009, 09:41) *
А не мог бы кто-нибудь выложить алгоритм как можно проще для цифрового полосового фильтра? 07.gif Очень надеюсь на помощь!

В домашних условиях можно применить Excel.
Подключаем пакет анализа, заполняем в столбик желаемую AЧХ, напускаем на него IFFT (получаем импульсную характеристику фильтра), делаем FFT над ИХ для проверки результата (для увеличения точности нужно дополнить полученную ИХ нулями). Оформляем макрос для ускорения работы. Прицеплен пример.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
bahurin
сообщение Sep 11 2009, 06:58
Сообщение #40


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347



Цитата(sup-sup @ Sep 10 2009, 23:53) *
В домашних условиях можно применить Excel.
Подключаем пакет анализа, заполняем в столбик желаемую AЧХ, напускаем на него IFFT (получаем импульсную характеристику фильтра), делаем FFT над ИХ для проверки результата (для увеличения точности нужно дополнить полученную ИХ нулями). Оформляем макрос для ускорения работы. Прицеплен пример.



Вот пример в матлабе

N = 128; %порядок КИХ фильтра
fs = 1; % частота дискретизации
f0 = 0.3; % первая переходная полоса
f1 = 0.35; % вторая переходная полоса фильтр будет пропускать от 0.3 до 0.35 Гц при частоте дискретизации 1 Гц
f = (0:N-1)*fs/N; % массив частот
H = zeros(1,N); % ЧХ фильтра везде равна 0
k1 = N*f0/fs; % индекс первой переходная полоса
k2 = N*f1/fs+1; % индекс второй переходная полоса

H(k1:k2) = 1; % в переходной полосе 1
H = H+fliplr([H(2:N) 0]); % зеркально отражаю переходную полосу для реальной имп характеристики
h = real(ifft(H)); % имп. характеристика
h = [h(N/2+1:N) h(1:N/2)]; % меняю местами половины
h = h.*hamming(N)'; % оконное сглаживание для уменьшения бок лепесков
% ЧХ полученного фильтра.
f1 = (0:0.25:N-0.25)*fs/N;
plot(f1,20*log10(abs(fft([h zeros(1,N*3)])))),grid;
Go to the top of the page
 
+Quote Post
BORIV
сообщение Sep 11 2009, 07:12
Сообщение #41


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

Группа: Участник
Сообщений: 131
Регистрация: 5-05-06
Пользователь №: 16 820



Цитата(blackfin @ Aug 14 2007, 21:29) *
Применяя оверсамплинг, мы получим следующие требования ко входному фильтру:

для частоты дискретизации Fд=88.2кГц:
- частота пропускания Fп=22.00кГц,
- частота заграждения Fз=44.1кГц,
- неравномерность в полосе пропускания 0.1дБ,
- затухание в полосе заграждения > 96дБ.


Может быть правильнее было бы: частота заграждения 66,15кГц или я не до конца понял?
Go to the top of the page
 
+Quote Post
pokos
сообщение Sep 15 2009, 11:25
Сообщение #42


Местный
***

Группа: Участник
Сообщений: 270
Регистрация: 29-06-06
Пользователь №: 18 445



Непонятно, насколько прямоугольным должен быть фильтр. Если к прямоугольности нет сильных требований, то можно попробовать использовать Boost wave digital filter. Он хорошо описан, к примеру в SLAAE16 от TI.
Go to the top of the page
 
+Quote Post
анатолий
сообщение Sep 27 2009, 12:50
Сообщение #43


Местный
***

Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052



Интересный полосовой фильтр получается из фазового фильтра с АЧХ
H =(Z^-2 + b(1+a)Z^-1 +a)/(1+ b(1+a)Z^-1 +aZ^-2),
к которому на выход подмешивается входной сигнал,
так что общая АЧХ: = Н-1. (если Н+1 - заграждающий фильтр).
Причем b = cos(2Pif) - определяет частоту фильтра,
а ширина полосы пропускания = 2arctg((1-a)/(1+a)).
Фильтр всегда устойчив и хорошо настраивается-перестраивается
в пределах (0,05-0,4) частоты дискретизации.
Коэффициенты могут быть малоразрядными, т.к. фильтр малочувствительный к их ошибкам.
Много раз опробован в ПЛИС.
(в кн. Сергиенко про ПЛИС есть на него программа на VHDL)
Первоисточник - статья в ТИИЭР за где-то 1989г, посвященная фазовым фильтрам.
Go to the top of the page
 
+Quote Post

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

 


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


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