Перейти к содержанию
    

Цифровой полосовой фильтр

:biggrin: Про метод перекрывающихся окон слышали? Чтобы сохранить АЧХ частотного отсчета при использовании окна, но убрать его влияние на непрерывную амплитудную последовательность отсчетов и применяют оверсемплинг...

 

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

Товарищ DRUID3, не говорите ерундой, ладно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чтобы сохранить АЧХ частотного отсчета при использовании окна, но убрать его влияние на непрерывную амплитудную последовательность отсчетов и применяют оверсемплинг...
Насколько я помню, оверсамплинг применяют для ослабления требований к аналоговому фильтру на входе АЦП.

Сказанное, можно проилюстрировать на примере проигрывателя компакт-диска или цифрового магнитофона с качеством 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, Герцель, КИХ, БИХ, для оверсамплинга безразлично..

..ну, кроме объема вычислений.. :)

 

PS. Не спрорьте с =ВН=. :smile3009:

У него 30-ти летняя практика.. :07:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

БПФ всего лишь быстрая блочная реализация алгоритма ДПФ для всех частот сразу.

 

Физически это одно и то же (ДПФ).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Товарищ DRUID3, не говорите ерундой, ладно?

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

 

To:blackfin

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну что же Вы в самом деле, поддались на провокацию.
Дык, мне показалось, что Вы злоупотребляете "галлюцинациями"..

Ну, вот я и вмешался.. Видимо, зря.. :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

:biggrin: Даже не пытаюсь,

Ну Вам что, цитаты приводить Ваши, где Вы говорили о каких-то преимуществах, причем не вычислительных, Герцеля по сравнению с ДПФ? Теперь у Вас не преимущества, а особенности и не ДПФ, а БПФ. Вы уж о чем-нибудь одном валяйте.

А про "оверсамленг" Вы что-то совершенно не то говорите. Вообще. Он никак не связан с окнами. И окна с ним. "Оверсамленг" - увеличение частоты дискретизации. Все. Ничего более. И спектральное разрешение и характеристики окон определяются длительностью анализируемого куска сигнала (окна) и никак с часттотой дискретизации не связаны.

Что Вы хотели сказать Вашим примером - непонятно абсолютно. Вам наверное тоже.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А не мог бы кто-нибудь выложить алгоритм как можно проще для цифрового полосового фильтра? :07: Очень надеюсь на помощь!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мое мнение на данный вопрос. Сразу предупреждаю в полемику вступать не буду. вариантов на самом деле мне кажется три:

1. КИХ фильтр высокого порядка. Тут все понятно в лоб так в лоб.

2. Использовав алгоритм Герцеля получить спектр в данной узкой полосе . А дальше надо его дополнить нулями до исходного размера и брать IFFT, чтобы получить отфильтрованный сигнал. Т.о. получили затраты на алгоритм герцеля (кстати тоже все умножения комплексные) + затраты на IFFT. Но и это еще не все требуется обработка с перекрытием, чтобы убрать все искажения на краях.

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

 

Для того какой путь выбрать надо знать частоту дискретизации в первую очередь, а также требования к изберательности: подавление в полосе заграждения и неравномерность в полосе пропускания фильтра ну и собственно переходную полосу между полосой заграждения и пропусканя. После это садится и считать требуемые вычисления для каждого из вариантов. Ну и еще надо учесть на чем это все надо творить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А не мог бы кто-нибудь выложить алгоритм как можно проще для цифрового полосового фильтра? :07: Очень надеюсь на помощь!

В домашних условиях можно применить Excel.

Подключаем пакет анализа, заполняем в столбик желаемую AЧХ, напускаем на него IFFT (получаем импульсную характеристику фильтра), делаем FFT над ИХ для проверки результата (для увеличения точности нужно дополнить полученную ИХ нулями). Оформляем макрос для ускорения работы. Прицеплен пример.

post-7997-1252612416_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В домашних условиях можно применить 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;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

для частоты дискретизации Fд=88.2кГц:

- частота пропускания Fп=22.00кГц,

- частота заграждения Fз=44.1кГц,

- неравномерность в полосе пропускания 0.1дБ,

- затухание в полосе заграждения > 96дБ.

 

Может быть правильнее было бы: частота заграждения 66,15кГц или я не до конца понял?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Непонятно, насколько прямоугольным должен быть фильтр. Если к прямоугольности нет сильных требований, то можно попробовать использовать Boost wave digital filter. Он хорошо описан, к примеру в SLAAE16 от TI.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интересный полосовой фильтр получается из фазового фильтра с АЧХ

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г, посвященная фазовым фильтрам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...