9.1.2.卷积运算在C54x上的实现 3.卷积运算的汇编语言程序设计 C54x指令集内提供了单周期乘累加指令MAC和循环 寻址方式,使每个采样值的乘累加计算可以在一个 周期内完成。 卷积运算就是实现两组数对应项乘积的累加和。可 采用RPTZ和MAC指令,结合循环寻址方式去方便 地实现这一运算: RPTZ累加器,N-1 MAC(双访问数据),(双访问数据),累加器 MAC *AR4+0%,*AR3+,A 山东大学生物医学工程刘忠国 14
9.1.2. 卷积运算在C54x上的实现 3.卷积运算的汇编语言程序设计 C54x指令集内提供了单周期乘累加指令MAC和循环 寻址方式,使每个采样值的乘累加计算可以在一个 周期内完成。 卷积运算就是实现两组数对应项乘积的累加和。可 采用RPTZ和MAC指令,结合循环寻址方式去方便 地实现这一运算: RPTZ 累加器,N-1 MAC (双访问数据),(双访问数据),累加器 MAC *AR4 +0%, *AR3+, A 山东大学生物医学工程刘忠国 14
3.卷积运算的汇编语言程序设计 AR1--> x(0) h(0) AR4-→ r(O) x(1) h(1) --- r(1) x(2) AR3 - h(2) r(2) AR2--> 3) r(3) x4) r(4) x5) .data r(5) x6) X: .word 0,0 word2,4,6,8,10 r(6) x(7) .word 1 r(7) .word 3 H: .word 5 图9-1线性缓冲区法计算卷积示意图 17
3.卷积运算的汇编语言程序设计 图9-1 线性缓冲区法计算卷积示意图 17 AR1 x(0) x(1) x(2) x(3) x(4) x(5) x(6) x(7) h(0) h(1) h(2) r(0) r(1) r(2) r(3) r(4) r(5) r(6) r(7) AR2 AR3 AR4 .data X: .word 0, 0 .word 2, 4, 6, 8, 10 .word 1 .word 3 H: .word 5
3.卷积运算的汇编语言程序设计 程序清单: .mmregs .def c int00 .data X: .word 0,0 .word2,4,6,8,10 .word 1 .word 3 H: .word 5 _c_int00:RSBX FRCT ;清FRCT,准备整数乘 STM X,AR1 ;设置输入数据指针初值 STM #4,BRC ;设置外层循环次数4+1 RPTB LOOP ;外层循环 SUB A ;清零 MVMM AR1,AR2 ;更新输入数据指针初值 STM H,AR3 ;设置卷积核指许初值 RPT # ;设置内层循环次数2+1 MAC*AR2+,*AR3-,A;乘累加运算,结果存A STLM A,*AR4+ ;运算结果存到AR4指向内存单元 LOOP: LD *AR1+,A ;外层循环指针自增1 .end 18
3.卷积运算的汇编语言程序设计 程序清单: .mmregs .def _c_int00 .data X: .word 0, 0 .word 2, 4, 6, 8, 10 .word 1 .word 3 H: .word 5 _c_int00: RSBX FRCT ;清FRCT,准备整数乘 STM X, AR1 ;设置输入数据指针初值 STM #4, BRC ;设置外层循环次数4+1 RPTB LOOP ; 外层循环 SUB A ;清零 MVMM AR1, AR2 ;更新输入数据指针初值 STM H, AR3 ;设置卷积核指针初值 RPT #2 ;设置内层循环次数2+1 MAC *AR2+, *AR3-, A ;乘累加运算, 结果存A STLM A, *AR4+ ; 运算结果存到AR4指向内存单元 LOOP: LD *AR1+, A ;外层循环指针自增1 .end 18
第9章C54x综合应用系统设计 9.1.3FIR数字滤波器的DSP实现 用DSP芯片实现数字滤波(与模拟滤波相比)除了 具有稳定性好、精确度高、不受环境影响等优点外, 还具有灵活性好的特点。 本节主要介绍FIR滤波器DSP实现方法。 首先简要介绍滤波器的基本原理、结构,然后通 过实例介绍滤波器设计在C54x上的实现方法。 山东大学生物医学工程刘忠国 19
第9章 C54x综合应用系统设计 9.1.3 FIR数字滤波器的DSP实现 本节主要介绍FIR滤波器DSP实现方法。 首先简要介绍滤波器的基本原理、结构,然后通 过实例介绍滤波器设计在C54x上的实现方法。 用DSP芯片实现数字滤波(与模拟滤波相比)除了 具有稳定性好、精确度高、不受环境影响等优点外, 还具有灵活性好的特点。 山东大学生物医学工程刘忠国 19
9.1.3FIR数字滤波器的DSP实现 如果系统输入、输出服从N阶差分方程: W=之,rm-)+立a:n-) k=0 =1 则其系统函数,即滤波器的传递函数为: 之- H(z)= k= IR滤波器 1-∑ak2 k=1 山东大学生物医学工程刘忠国 20
9.1.3 FIR数字滤波器的DSP实现 则其系统函数,即滤波器的传递函数为: 0 1 ( ) 1 M k k k N k k k b z H z a z − = − = = − 如果系统输入、输出服从N阶差分方程: 0 1 ( ) ( ) ( ) M N k k k k y n b x n k a y n k = = = − + − IIR滤波器 山东大学生物医学工程刘忠国 20