Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Фильтр ФНЧ
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
DDR4
Здравствуйте. Подскажите мне пожалуйста - можно ли создать цифровой ФНЧ (желательно FIR), со следующими характеристиками: 35Гц -6дБ, 50Гц -40 дБ. Неравномерность в частоте пропускания - 1дБ. Параметры сигнала - полезный сигнал в диапазоне 0.5 - 25Гц, количество выборок в секунду - 1900. Большое количество коэффициентов или большой объём вычислений - не проблема (т.к считаем на ПК). Важна неизменность формы сигнала в полезной полосе. Проблема заключается в чём - в плохой переходной характеристике. Т.е улучшаем частотную - получаем реакцию на ступеньку в виде выброса. Пробовал разные окна - но в итоге всё равно про нормальной частотной хар-ке имеем выбросы (Всё это в MatLab). А хочется гладкую переходную характеристику (без выбросов с единичного скачка) и ослабление на частоте задержки в -40(-50 ещё лучше) дБ (в тех пределах, которые возможны с учётом того, что считать машине можно много и долго smile.gif ). Подскажите, возможно ли это?
shf_05
без выброса не получится ф-ра с крутой АЧХ, к сожалению, это закон природы...
DDR4
Цитата(shf_05 @ Oct 20 2008, 19:03) *
без выброса не получится ф-ра с крутой АЧХ, к сожалению, это закон природы...


Я так и думал. А можно ли сократить этот выброс чем-нибудь, кроме как окнами? Ну нуж очень не устраивает выброс в 0.1 от амплитуды sad.gif. Мне не жалко времени на расчёты - они делаются не в реальном времени. Да и скорость позволяет сделать что угодно smile.gif. Или я очень много хочу и это нереализуемо (хочется выброс, например 0.01 от единичной амплитуды?). Вот ещё пришла идея. А если попытаться скаскадировать несколько КИХ-ов нозкого порядка - мы получим ту же переходную характеристику - или, может, лучше?
blackfin
Есть ещё Форум консультационного центра MATLAB.
DDR4
Цитата(blackfin @ Oct 20 2008, 20:29) *

Спасибо, попробую и там разместить вопрос.
Михаил_K
Цитата(DDR4 @ Oct 19 2008, 15:40) *
Здравствуйте. Подскажите мне пожалуйста - можно ли создать цифровой ФНЧ (желательно FIR), со следующими характеристиками: 35Гц -6дБ, 50Гц -40 дБ. Неравномерность в частоте пропускания - 1дБ. Параметры сигнала - полезный сигнал в диапазоне 0.5 - 25Гц, количество выборок в секунду - 1900. Большое количество коэффициентов или большой объём вычислений - не проблема (т.к считаем на ПК). Важна неизменность формы сигнала в полезной полосе. Проблема заключается в чём - в плохой переходной характеристике. Т.е улучшаем частотную - получаем реакцию на ступеньку в виде выброса. Пробовал разные окна - но в итоге всё равно про нормальной частотной хар-ке имеем выбросы (Всё это в MatLab). А хочется гладкую переходную характеристику (без выбросов с единичного скачка) и ослабление на частоте задержки в -40(-50 ещё лучше) дБ (в тех пределах, которые возможны с учётом того, что считать машине можно много и долго smile.gif ). Подскажите, возможно ли это?


Вот здесь картинка с параметрами в fdatool. Мож поможет
DDR4
Михаил_K

Спасибо Вам за помощь. Ваш фильтр получился с превосходнейшей АЧХ и режекцией на нужной частоте, но опять мы упираемся в переходную характеристику. Всё-таки, после долгих мучений, остановился на этом фильтре (картинки прикрепил). Режекция, конечно, не очень высокая (-40dB), зато практически идеальная переходная хар-ка.
RadioJunior
Вопрос: хочу програмным образом изменять у ФНЧ (БИХ или КИХ и порядком пока не определился) частоту среза и крутизну завала АЧХ (вид ФЧХ при этом не интересует). На входе только ц.сигнал. Можно ли обойтись без fft при расчете ИХ (вектора коэффициентов)? Может кто подскажет.
Serg76
Цитата(RadioJunior @ Mar 12 2009, 11:29) *
Вопрос: хочу програмным образом изменять у ФНЧ (БИХ или КИХ и порядком пока не определился) частоту среза и крутизну завала АЧХ (вид ФЧХ при этом не интересует). На входе только ц.сигнал. Можно ли обойтись без fft при расчете ИХ (вектора коэффициентов)? Может кто подскажет.

Нужную крутизну АЧХ может дать оконная функция (Хемминга, Блекмана, и др). Нужная ИХ как раз и рассчитывается исходя из частоты среза.
Самурай
Цитата(RadioJunior @ Mar 12 2009, 11:29) *
Вопрос: хочу програмным образом изменять у ФНЧ (БИХ или КИХ и порядком пока не определился) частоту среза и крутизну завала АЧХ (вид ФЧХ при этом не интересует). На входе только ц.сигнал. Можно ли обойтись без fft при расчете ИХ (вектора коэффициентов)? Может кто подскажет.


Ну так и воспользуйтесь одним из способов расчета КИХ-фильтров (их, мягко говоря, много разных).

Если уж хотите совсем по простому, и нет жестких требований к оптимальности и характеристикам (неравномерность и подавление) фильтра, тогда классический вариант: рисуете на бумажке нужную АЧХ и ручками, на той же бумажке, выводите аналитическое уравнение для коэфф. фильтра (через преобразование Фурье от АЧХ). В этом самом уравнении характеристики фильтра (частота среза и крутизна) задаются парой параметров. Добавить умножение коэфф. фильтра на оконную ф-ю (по вкусу) и вот вам Ваш фильтр но, правда, с не самыми выдающимися характеристикамиsmile.gif.

Если не ошибся, то вот, например коэфф. для фильтра с трапециидальной (трапециевидной?smile.gif ) АЧХ (формулу окна найдете сами):

h(n) = (cos(Fp*n) - cos(Fs*n))/[(Fs-Fp)*pi*n*n],

n = -m...+m - порядок фильтра,
Fp - частота среза, от 0 до pi,
Fs - частота подавления, от 0 до pi

В принципе, этот алгоритм не сильно отличается от расчета через FFT, разница только в стационарностиsmile.gif. Что проще решайте сами.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.