2.卷积和运算的实现
(1) h(n)序列N个点数值的存储
由于h(n)是根据滤波性能要求已经设计好的有限长单位冲激响应,故其N个点的数值是已知的,因此可以存放在ROM或RAM当中,且对应着N个不同的地址,便于寻址。
(2) 输入序列x(n)的移位寄存
输入序列x(n)是不断变化的,因此只能对其进行移位寄存,寄存器的个数为N,即N个寄存器中分别存放着x(n)、x(n-1)……x(n-N+1),它们都随着n的变化而变化。
(3) 乘法器
用以完成两个数值的乘法,即h(m)x(n-m),也就是将存储器中N地址所对应的N个固定数值h(m)分别与N个移位寄存器中的不断变化的N个变化数值x(n-m)相乘。
(4) 累加器
用以实现N个乘积的累加,即将当前x(n)所对应的N个乘积进行累加,所得到的和就是y(n)。当滤波器的下一个输入值即x(n +1)到来时,累加器清零,并重新将下一组x(n +1)所对应的N个乘积进行累加,所得到的和就是y(n +1)。
3.DSP的支持
DSP作为信号处理应用,与一般微处理器有很大的区别。
(1) 哈佛结构:采用多个并行存储器块结构,使得能够访问的存储器个数增加,从而减少在一个指令周期中所需存储器操作周期数。
(2) 乘加流水线为核心的数据通路:卷积和运算的基本操作就是乘法与加法,DSP则将相乘及累加统一考虑,构成以乘法器、加法器流水线为中心的运算部件。
(3) 特殊的指令:指令RPT由数据存储器指定重复次数,指令MACD可以一次完成相乘并带数据移位的累加,因此使得每一级FIR滤波器只需一个指令周期。
(4) 指令系统的多级流水线:采用多级流水线操作方式,可以把指令周期减小到最小值,同时也就增加了数字信号处理器的吞吐量。
五、 具体电路框图及程序流程图
图 1为FIR滤波器DSP实现的电路方框图,其核心部分为TI公司生产的DSP芯片TMS320C203 ,EP2ROM和RAM是其外围电路。DSP送给A/D抽样时钟,对输入的模拟信号抽样,即将模拟信号转换成数字信号,然后读取每一次的抽样值,并对抽样值进行卷积运算(FIR数字滤波),最后将运算结果(滤波后的数字信号)送至D/A ,转换成模拟信号进行输出。
图 1 电路框图
图 2为程序流程图,说明如下:
来源:无线通信技术