Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Фильтры в матлабе
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
евгенийкочин
Помогите найти примеры, как пропустить сигнал через фильтры Баттерворта, Чебышева и эллиптический в системе Матлаб, нашёл примеры, как делать эти фильтры, построил их АЧХ, а вот как сигнал через них пропустить не нахожу. Уточню, мне необходимо использовать именно функции butter, cheby и ellipt. Я не прошу мне объяснять как, скиньте хотя бы ссылочку куда надо))) спасибо заранее)
hobgoblin
Цитата(евгенийкочин @ Dec 15 2011, 10:33) *
Помогите найти примеры, как пропустить сигнал через фильтры Баттерворта, Чебышева и эллиптический в системе Матлаб, нашёл примеры, как делать эти фильтры, построил их АЧХ, а вот как сигнал через них пропустить не нахожу. Уточню, мне необходимо использовать именно функции butter, cheby и ellipt. Я не прошу мне объяснять как, скиньте хотя бы ссылочку куда надо))) спасибо заранее)

Вот простейший пример для ФНЧ Баттерворта, для остальных аналогично.
[b,a]=butter(5,0.05);
x=(cos(2*pi*0.02*(1:200))+cos(2*pi*0.1*(1:200)));
y=filter(b,a,x);
plot(1:200,x,1:200,y)
евгенийкочин
Про цифры 0.05 и 5 можно поподробнее, что это? 0.05 это вроде отношение частоты среза к частоте дискретизации, так?
hobgoblin
5 - порядок, 0.05 - нормированная к половине частоты дискретизации частота среза.
Почитайте документацию на Signal Processing Toolbox. Там про все подробно написано.
евгенийкочин
Спасибо)))
iserko
Рассчитал фильтр Чебышева II в FDATool, выполнил квантование коэффициентов
для реализации фильтра с фиксированной точкой. В дальнейшем фильтр будет
реализованы на МК STM32, где есть возможность работать только с фиксированной точкой.

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

Подскажите, куда копать?
des00
Цитата(iserko @ Jan 4 2012, 13:06) *
Подскажите, куда копать?

математику в fixed point надо как бы сделать %)
iserko
Цитата(des00 @ Jan 4 2012, 23:10) *
математику в fixed point надо как бы сделать %)


Не понятно чего-то, я рассчитываю фильтр FDATool, делаю квантование коэффициентов,
получаю фильтр с коэффициентами Q16.14 и входными данными в
формате Q16.15 и выходом в Q16.11. Мне на фильтр данные в формате Q16.15 подавать???
Если реализацию фильтра в базовых блоках Simulink посмотреть, там имеется элемент Convert (fixdt(1,16,15))
т.е данные можно не конвертировать тогда??? wacko.gif

И еще вопрос, у меня с АЦП идут сэмплы в интервале от -32767 до 32767, как их запихнуть в формат Q16.15
для подачи на вход фильтра.
Vl4ever
Цитата(iserko @ Jan 4 2012, 21:27) *
Не понятно чего-то, я рассчитываю фильтр FDATool, делаю квантование коэффициентов,
получаю фильтр с коэффициентами Q16.14 и входными данными в
формате Q16.15 и выходом в Q16.11. Мне на фильтр данные в формате Q16.15 подавать???
Если реализацию фильтра в базовых блоках Simulink посмотреть, там имеется элемент Convert (fixdt(1,16,15))
т.е данные можно не конвертировать тогда??? wacko.gif

И еще вопрос, у меня с АЦП идут сэмплы в интервале от -32767 до 32767, как их запихнуть в формат Q16.15
для подачи на вход фильтра.

я тоже столкнулся с похожей проблемой ,я использую тот же вид МК , и мне требуется выполнить похожую задачу,только что мне нужно реализовать фильтер Чебышева I.Из fdatool кооэффициенты мне нужно вытянуть для того что бы закинуть в API CMSIS-DSP CMSIS DSP Software Library
( знакомо ?).STM32 в принципе может работать с single-precision floating point (или я ошибаюсь ?) ,во всяком случае в API эта опция предусмотрена.Главная трудность состоит в том ,что бы вытянуть коэффициенты {b10, b11, b12, a11, a12, b20, b21, b22, a21, a22, ...} ,допустим что мы используем Direct-Form I SOS (second order stages).Может кто-то может прояснить как "видеть" эти коэффициенты или из Matlab Workspace (SOS,Gain) или из генерируемово C header ?
iserko
Нашел в сети реализацию фильтров на ARM с расчетом в Matlab:
Fixed Point Filtering Library

По поводу библиотеки DSP Library для STM32, могу сказать, что фильтры сделаны там как-то странно, нет приведения разрядности при сложении,
видимо под них специально надо рассчитывать коэффициенты, вообщем пока разбираюсь с реализацией фильтров по ссылке выше.
Eger
разобрался
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.