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

Цифровой узкополосный фильтр с динамически изменяемой центральной частотой

Всем доброго времени суток!

Коллеги, помогите, подскажите!

 

Вот такая поставлена задача. Необходимо разработать цифровой узкополосный фильтр с динамически изменяемой центральной частотой.

То есть, фильтр должен выделять из входного сигнала узкую (очень узкую) полосу сигнала, при этом значение центральной частоты фильтрации этого фильтра не фиксировано и может меняться во времени. БПФ с выделением узкой полосы и обратным БПФ не предлагать, так как необходима обработка в онлайн режиме. Какие есть (и есть ли вообще) алгоритмы для создания такого фильтра ?

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


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

Всем доброго времени суток!

Коллеги, помогите, подскажите!

 

Вот такая поставлена задача. Необходимо разработать цифровой узкополосный фильтр с динамически изменяемой центральной частотой.

То есть, фильтр должен выделять из входного сигнала узкую (очень узкую) полосу сигнала, при этом значение центральной частоты фильтрации этого фильтра не фиксировано и может меняться во времени. БПФ с выделением узкой полосы и обратным БПФ не предлагать, так как необходима обработка в онлайн режиме. Какие есть (и есть ли вообще) алгоритмы для создания такого фильтра ?

 

Да все как обычно - цифровой смеситель вниз-> фикс. ФНЧ-> смеситель вверх. Так будет дешевле, чем комплексный фильтр пересчитывать. Если фильтр ну очень узкополосный, то можно децимировать-интерполировать еще между смесителями.

Изменено пользователем andyp

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


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

если ФЧХ не сильно критична, то ищите статью "Волновые полосовые перестраиваемые фильтры" "ОПТИМАЛЬНЫЕ УПРАВЛЯЕМЫЕ ВОЛНОВЫЕ ЦИФРОВЫЕ ФИЛЬТРЫ" авторы В .П .ЕРЕМЕЕВ , А.В . ЗИНЧЕНКО.

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


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

Всем доброго времени суток!

Коллеги, помогите, подскажите!

 

Вот такая поставлена задача. Необходимо разработать цифровой узкополосный фильтр с динамически изменяемой центральной частотой.

То есть, фильтр должен выделять из входного сигнала узкую (очень узкую) полосу сигнала, при этом значение центральной частоты фильтрации этого фильтра не фиксировано и может меняться во времени. БПФ с выделением узкой полосы и обратным БПФ не предлагать, так как необходима обработка в онлайн режиме. Какие есть (и есть ли вообще) алгоритмы для создания такого фильтра ?

 

перенос сигнала в 0 -> фиксированный фильтр -> перенос сигнала взад

 

Гуглить Digital Upconversion/Downconversion.

 

Это самое простое. Если фильтр нужен ну оооочень узкополосный - делать через многоступенчатое понижение/повышение частоты, можно сильно выиграть по ресурсам.

 

 

П.С. Вот выше уже тоже самое говорят:)

Изменено пользователем Самурай

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


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

См. прикрепленный файл. Там Example 2 стр. 5, только с угловыми градусами немного глупо написано

 

По сути проектируется цифровой эквивалент колебательного контура - звено второго порядка.

 

Это в предположении, что вам нужно оставить весь сигнал без определенной частоты, т.е. проектируется bandstop (notch) filter.

 

Если же вам нужен bandpass (peak) filter, то аналогично (см Example 1 в прикрепленном файле):

 

p><p>

 

чем больше ?r, тем выше добротность. Если добротность у вас фиксированная, то можно сделать так:

 

p><p>

 

а потом опционально нормировать сигнал на выходе.

 

Необходимо разработать цифровой узкополосный фильтр с динамически изменяемой центральной частотой.

IIR_filters.pdf

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


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

Fat Robot

 

Простите, я не понял. Может с english туго, может конец недели... А где же здесь динамическое изменение интересующей частоты выделения фильтра ?

Мне показалось, что в этом файле приведен просто расчет коэффициентов цифрового фильтра на некую фиксированную частоту...

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


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

Встречный вопрос: что вам мешает проделать эти элементарные расчеты в тот момент, когда стала известна новая частота? Самая сложная операция в них - это вычисление косинуса.

 

Fat Robot

 

Простите, я не понял. Может с english туго, может конец недели... А где же здесь динамическое изменение интересующей частоты выделения фильтра ?

Мне показалось, что в этом файле приведен просто расчет коэффициентов цифрового фильтра на некую фиксированную частоту...

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


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

MSP430F

 

Не заморачивайтесь, делайте в точности как советуют andyp и Самурай, так будет наиболее эффективно, особенно для реалтайма

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


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

Веская аргументация.

 

Не заморачивайтесь, делайте в точности как советуют, так будет наиболее эффективно, особенно для реалтайма

 

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


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

Веская аргументация.

Ну, видимо, каждый раз рассчитывать полосовой фильтр - это гораздо "проще", нежели обычное гетеродинирование, пусть даже и двойное

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


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

Не знаю насколько узко Вам надо, а то может и такой вариант сгодится ->

http://www.dsplib.ru/content/allpasseq/allpasseq.html

 

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


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

Я в аналогичной ситуации (приёмник с цифровой обработкй сигнала) на каждое изменение параметров фильтра с панели управления перерасчитываю набор коэффициентов FIR фильтра.

Содержимое линии задержки не меняется, подмена коэффициентов происходит мгновенно при приёме очередного sample. Артефактов, слышимых на слух, не обнаружено. Скажем так, при ранее использовавшемся алгоритме Уивера (NCO и смеситель-> два фильтра -> смеситель с NCO на выходе) на мой взгляд возможны артефакты на время прохождения сигнала через фильтр - в случае одновременного переключения NCO на входном DDC и выходном DUC.

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


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

Я в аналогичной ситуации (приёмник с цифровой обработкй сигнала) на каждое изменение параметров фильтра с панели управления перерасчитываю набор коэффициентов FIR фильтра.

Содержимое линии задержки не меняется, подмена коэффициентов происходит мгновенно при приёме очередного sample. Артефактов, слышимых на слух, не обнаружено. Скажем так, при ранее использовавшемся алгоритме Уивера (NCO и смеситель-> два фильтра -> смеситель с NCO на выходе) на мой взгляд возможны артефакты на время прохождения сигнала через фильтр - в случае одновременного переключения NCO на входном DDC и выходном DUC.

Вы же понимаете, что это все условно, сколько времени займет, к примеру, пересчет коэффициентов Вашего КИХ-фильтра 1000-го порядка и потянет ли это выбранная платформа? Может, все-таки, проще будет сделать пару каскадов ресамплера на тех же КИХ фильтрах, рассчитанных один раз и работающих на более низкой частоте дискрета?

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


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

Большое спасибо всем за советы!

Очень отзывчивый форум! Уже который раз форумчане реагируют на новую тему в тот же день! :)

Благодарю!

Изменено пользователем MSP430F

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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