реклама на сайте
подробности

 
 
> IIR фильтр с помощью dsPIC FD Lite
Angelo
сообщение Jan 28 2009, 18:46
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 1-12-07
Пользователь №: 32 871



Попробовал рассчитать IIR фильтр 2го порядка для dsPICа с помощью dsPIC Filter Design Lite от микрочипа, хотя на самом деле это клон QED от Momentum, фильтр рассчитался, всё ок , даже эта программка выдаёт готовые *.s,h файла фильтра для добавления в проект, стало интересно как там реализован фильтр, я ожидал увидеть что то вроде:
Y(n) = b0*Xn + b0*X(n-1) + b0*X(n-2) - a1*Y(n-1) - a2*Y(n-2) , собственно аналогичная формула и приведена в мануале на Filter Design, однако в исходнике основная часть кода следующая:

Код
DO  w4, transposeSectionLoop  
         MAC w5*w6, a, [w8]+=2, w5
         LAC [w11], #1, b
         SAC.R a, #-1, w7
         MAC w5*w6, b, [w8]+=2, w5
         MAC w5*w7, b, [w8]+=2, w5
         SAC.R b, #-1, [w10++]
         MPY w5*w6, b, [w8]+=2, w5
         SAC.R a, #-1, w6
         LAC [w10], #1, a
         MAC w5*w7, b, [w8]+=2, w5
transposeSectionLoop:         SAC.R b, #-1, [w11++]


Целиком файл во вложении, как я понял, этот кусок выполняется 1 раз для одного семпла, при условии, что фильтр 2го порядка. Разложив его по кусочкам ,не совсем понятно, что за алгоритм они применили, или как его перетасовали, коэффициенты используются все 5 штук, а вот входных семплов почему то у меня получилось только 2, с выходными тоже не всё ясно… или тут формула просто какаято другая???

неработает почему то вложение

Сообщение отредактировал Angelo - Jan 28 2009, 18:52
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th June 2025 - 16:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.01377 секунд с 7
ELECTRONIX ©2004-2016