第6章
应用程序设计
FIR滤波器的DSP实现
在数字信号处理中,滤波占有极其重要的地位。数字滤波是语音处理、图像处理、模式识别、频谱分析等应用中的基本处理算法。
FIR滤波器的DSP实现
FIR滤波器的输出表达式:
y(n)=b0x(n)+b1x(n-1)+ …+bn-1 x(n-N+1)
基本算法: 采用乘法累加运算。即不断地输入样本x(n),经过z-1延时后,再进行乘法-累加,最后输出滤波结果y(n)。(指令:MAC/MACD)
Z-1 算法的实现
常用:线性缓冲区法和循环缓冲区法
线性缓冲区法:
顶部为低地址单元,存放最新样本
底部为高地址单元,存放最老样本
指针ARx指向缓冲区底部
线性缓冲区只能映射到DARAM存储器(1次读和1次写)
数据的存放:
输入数据:存放在数据存储器
系数表:存放在程序存储器
常用指令:
DELAY
MACD
例:用线性缓冲区法实现FIR滤波器
数据存储器
暂存y(n)
x(n)
x(n-1)
x(n-2)
x(n-3)
x(n-4)
x(n-5)
x(n-6)
程序存储器
b6
b5
b4
b3
b2
b1
b0
x
COEF
双操作数寻址指令:
MACD *AR2-,COEF,A
AR2→
x(n-6)
x(n-5)
程序清单:
.title “”
.mmregs
.def start
x .usect “x”,8
PA0 .set 0
PA1 .set 1
.data
COEF: .word 1*32768/10
.word 2*32768/10
.word -4*32768/10
.word 3*32768/10
.word -4*32768/10
.word 2*32768/10
.word 1*32768/10
.text
start: SSBX FRCT
STM #x+7,AR2
STM #6, AR0
LD #x+1,DP
PORTR PA1,***@x+1
dsp应用程序设计 来自淘豆网m.daumloan.com转载请标明出处.