|
Фильтры в матлабе |
|
|
|
Dec 15 2011, 06:33
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 9-12-10
Пользователь №: 61 507

|
Помогите найти примеры, как пропустить сигнал через фильтры Баттерворта, Чебышева и эллиптический в системе Матлаб, нашёл примеры, как делать эти фильтры, построил их АЧХ, а вот как сигнал через них пропустить не нахожу. Уточню, мне необходимо использовать именно функции butter, cheby и ellipt. Я не прошу мне объяснять как, скиньте хотя бы ссылочку куда надо))) спасибо заранее)
|
|
|
|
|
 |
Ответов
(1 - 10)
|
Dec 15 2011, 09:00
|

Местный
  
Группа: Свой
Сообщений: 202
Регистрация: 2-10-06
Из: Петербург
Пользователь №: 20 881

|
Цитата(евгенийкочин @ 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)
|
|
|
|
|
Dec 16 2011, 08:57
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 9-12-10
Пользователь №: 61 507

|
Про цифры 0.05 и 5 можно поподробнее, что это? 0.05 это вроде отношение частоты среза к частоте дискретизации, так?
|
|
|
|
|
Dec 19 2011, 08:43
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 9-12-10
Пользователь №: 61 507

|
Спасибо)))
|
|
|
|
|
Jan 4 2012, 19:06
|
Группа: Новичок
Сообщений: 4
Регистрация: 3-01-12
Из: Екатеринбург
Пользователь №: 69 173

|
Рассчитал фильтр Чебышева II в FDATool, выполнил квантование коэффициентов для реализации фильтра с фиксированной точкой. В дальнейшем фильтр будет реализованы на МК STM32, где есть возможность работать только с фиксированной точкой. Перед переносом на МК попробовал запустить эмуляцию в Simulink, подключил источник белого шума и спектороанализатор, на выходе результат нулевой. Если же взять точно такой же фильтр с плавающей точкой, то результат получается ожидаемый. Подскажите, куда копать?
Эскизы прикрепленных изображений
|
|
|
|
|
Jan 4 2012, 19:27
|
Группа: Новичок
Сообщений: 4
Регистрация: 3-01-12
Из: Екатеринбург
Пользователь №: 69 173

|
Цитата(des00 @ Jan 4 2012, 23:10)  математику в fixed point надо как бы сделать %) Не понятно чего-то, я рассчитываю фильтр FDATool, делаю квантование коэффициентов, получаю фильтр с коэффициентами Q16.14 и входными данными в формате Q16.15 и выходом в Q16.11. Мне на фильтр данные в формате Q16.15 подавать??? Если реализацию фильтра в базовых блоках Simulink посмотреть, там имеется элемент Convert (fixdt(1,16,15)) т.е данные можно не конвертировать тогда??? И еще вопрос, у меня с АЦП идут сэмплы в интервале от -32767 до 32767, как их запихнуть в формат Q16.15 для подачи на вход фильтра.
Эскизы прикрепленных изображений
|
|
|
|
|
Jan 14 2012, 18:40
|
Группа: Новичок
Сообщений: 2
Регистрация: 13-01-12
Пользователь №: 69 365

|
Цитата(iserko @ Jan 4 2012, 21:27)  Не понятно чего-то, я рассчитываю фильтр FDATool, делаю квантование коэффициентов, получаю фильтр с коэффициентами Q16.14 и входными данными в формате Q16.15 и выходом в Q16.11. Мне на фильтр данные в формате Q16.15 подавать??? Если реализацию фильтра в базовых блоках Simulink посмотреть, там имеется элемент Convert (fixdt(1,16,15)) т.е данные можно не конвертировать тогда??? И еще вопрос, у меня с АЦП идут сэмплы в интервале от -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 ?
|
|
|
|
|
Feb 1 2012, 03:10
|
Группа: Новичок
Сообщений: 4
Регистрация: 3-01-12
Из: Екатеринбург
Пользователь №: 69 173

|
Нашел в сети реализацию фильтров на ARM с расчетом в Matlab: Fixed Point Filtering LibraryПо поводу библиотеки DSP Library для STM32, могу сказать, что фильтры сделаны там как-то странно, нет приведения разрядности при сложении, видимо под них специально надо рассчитывать коэффициенты, вообщем пока разбираюсь с реализацией фильтров по ссылке выше.
|
|
|
|
|
Mar 18 2012, 19:13
|
Частый гость
 
Группа: Участник
Сообщений: 127
Регистрация: 16-05-07
Пользователь №: 27 774

|
разобрался
Сообщение отредактировал Eger - Mar 18 2012, 19:35
--------------------
с polisoftlab.info
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|