基于DSP的FIR滤波器的设计报告Word格式文档下载.docx
《基于DSP的FIR滤波器的设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于DSP的FIR滤波器的设计报告Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
![基于DSP的FIR滤波器的设计报告Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-10/9/67b031bc-3941-4a4c-a2c2-dbfd67e036cc/67b031bc-3941-4a4c-a2c2-dbfd67e036cc1.gif)
并行乘法、位串行乘法和采用分布式算法的乘法。
并行乘法运行速度快,但占用的硬件资源极大。
如果滤波器的阶数增加,乘法器位数也将变大,硬件规模将变得十分庞大。
位串行乘法器的实现方法主要是通过对乘法运算进行分解,用加法器来完成乘法的功能,也即无乘法操作的乘法器。
位串行乘法器使得乘法器的硬件规模达到了最省,但是由于是串行运算,使得它的运算周期过长,运算速度与硬件规模综合考虑时不是最优的。
1.2论文主要完成的工作
本文主要应用软件设计FIR数字滤波器,并对所设计的滤波器进行仿真。
应用DSP集成开发环境—CCS调试汇编程序,用TMS320C5402来实现了FIR数字滤波。
具体内容有:
(1)研究数字滤波器的基本理论和实现方法,从原理上理解和分析数字滤波器,并通过对数字滤波器的结构和设计方法的学习,为设计数字滤波器奠定理论基础。
(2)研究FIR数字滤波器的设计方法,及如何用滤波器设计工具设计各种类型的数字滤波器,并进行仿真和分析。
(3)对数字滤波器的DSP实现进行研究。
2系统硬件设计
2.1系统设计方案
FIR滤波器的设计方法主要有窗函数设计法和频率抽样设计法等,其中窗函
数设计法是最基本的设计方法。
在设计FIR滤波器中,一个最重要的计算就是加窗,采用矩形窗是最直接和简便的方法,但采用矩形窗存在较大的Gibbis效应,
且矩形窗的第一旁瓣与主瓣相比仅衰减13dB,因此实际设计中一般采用其他窗
函数。
主要介绍几种常用的窗函数和频率抽样设计法等。
利用窗函数设计FIR
(一)窗函数法的基本思想
窗函数设计的基本思想是要选取某一种合适的理想频率选择性滤波器,然后
将它的脉冲响应截断以得到一个线性相位和因果的FIR滤波器。
因此这种方法的
重点在于选择某种合适的窗函数和一种理想滤波器。
对于给定的滤波器技术指标,选择滤波器长度和具有最窄主瓣宽度和尽可能小的旁瓣衰减的某个窗函数。
(二)几种常用的窗函数
工程中比较常用的窗函数有:
矩形窗函数、三角窗函数、汉宁窗函数、海明窗函数、布莱克曼窗函数和凯塞窗函数。
窗函数的选择原则是:
(1)具有较低的旁瓣幅度,尤其是第一旁瓣幅度:
(2)旁瓣幅度下降速度要大,以利增加阻带衰减;
(3)主瓣的宽度要窄,以获得较陡的过渡带。
通常上述三点很难同时满足。
当选用主瓣宽度较窄时,虽然得到较陡的过渡带,但通带和阻带的波动明显增加;
当选用最小的旁瓣幅度时,虽能得到匀滑的幅度响应和较小的阻带波动,但过渡带加宽。
因此,实际选用的窗函数往往是它们的折衷。
在保证主瓣宽度达到一定要求的条件下,适当牺牲主瓣宽度来换取旁瓣波动的减少。
表2.1几种常用的窗函数对比
减
窗函数
旁瓣峰值衰减
过渡带
阻带最小衰
矩形窗
-13
4/n
-21
三角形
-27
8N
-25
汉宁窗
-31
-44
海明窗
-41
-53
布莱克曼窗
-57
12N
-74
凯瑟窗
10N
-80
比较可得:
凯塞窗可提供变化的过渡带宽,通过改变B的值可达到最陡的过渡带:
凯塞窗具有与海明窗相匹敌的特性,通过调整p的值,可将凯塞窗完全等价海明窗;
凯塞窗最大旁瓣值比主瓣约低80dB,在所有的窗函数中旁瓣抑制度最高[2]
222用频率抽样法设计FIR滤波器
所谓频率抽样法就是从频域出发,根据频域的采样定理,对给定的理想滤波器的频域响应进行等间隔采样。
(2.2)
Hd(ejw)w(2惊Hd(k)
其中k=0,1,2……N-1
把Hd(k)当作待设计的滤波器频率响应的采样值H(k),通过下式可以求出滤
由于频谱的有限个采样值恢复出来的频率响应实际上是对理想频率响应的逼近,因此,这种方法必然有一定的逼近误差。
若被逼近的频率响应比较平滑,则各采样点之间的逼近误差较小;
反之,则逼近误差较大。
2.2主控模块
TMS320C5402的主要特性:
TMS320C5402是TI公司于1996年推出的一种定点DSP芯片,采用先进的修正哈佛结构和8总线结构,使处理器的性能大大提高。
其独立的程序和数据总线,允许同时访问程序存储器和数据存储器,实现高速并行操作。
例如,可以在一条指令中,同时执行3次读操作和1次写操作。
TMS320C5402的运行速度为40MIPS(每秒执行40百万条指令)。
指令周期为25nso此外,还可以在数据总线与程序总线之间相互传送数据。
从而使处理器具有在单个期内同时执行算术运算,逻辑运算,位移操作,乘法累加运算以及访问程序和数据存储器的强大功能。
包括:
CPU,总线,存储器,在片外围电路,串行口,以及外部总线接口等部分组成。
1CPU
40位算数逻辑运算单元(ALU),包括1个40位桶形移位寄存器和2个独立的40位累加器。
17位X17位并行乘法器,与40位专用加法器相连,用于非流水线式单周期乘法/累加(MAC)运算。
比较,选择,存储单元(CSSU),用于加法/比较选择。
双地址生成器,包括8个辅助寄存器和2个辅助寄存器算数运算单元(ARAU)。
2、总线结构
程序总线(PB)传送取自程序存储器的指令代码和立即数。
3条数据总线(CB,DB和EB)将内部各单元连接在一起。
4条地址总线(PAB,CAB,DAB和EAB)传送执行指令所需的地址。
3存储器
192K字可寻址存储空间(64K字程序存储器,64K字数据存储器,以及
64K字1/O空间)。
片内2K字ROM。
片内10K字双存取RAM。
4在片外围电路
用来周期产生中断的定时器。
8位主机接口(HPI),用来与主设备或主处理器接口。
一个自动缓冲串口(BSP)和时分多路串行口(TPM),都可用作标准同步串口。
3系统软件设计
3.1软件整体设计
FIR滤波器的实现结构有以下几种形式
(1)直接型结构
该种结构实现时需N个乘法器、N-1个延迟器和N-1个加法器。
结构图
图3.1直接型结构图
(2)级联型结构
FIR系统函数H(z)是z-1的N-1次多项式,其分解为实系数二阶因子的乘积形式为:
Nc
-1-2
H(z)=(B0k+B1kz+B2kz)
k1
根据上式就可画出级联结构如下图。
其中Nc为N/2的最大整数。
该结构即是把H(z)的共轭零点或两个单个零点组成基本二阶节,H(z)为基本二阶因子的子系统函数积。
图3.2级联型结构图
从图3.2中可看出,每个二阶因子用直接型实现,每一节控制一对零点,便于传输零点的控制。
但系数B1k的个数比h(n)的个数多,其乘法次数比直接型多。
(3)线性相位型结构
线性相位特性是指滤波器对不同频率的正弦波所产生的相移和正弦波的频率成直线关系。
在滤波器通带内的信号通过滤波器后,除了由相频特性的斜率决定的延迟外,可以不失真地保留通带以内的全部信号。
线性相位的因果的FIR系统的单位取样响应具有如下特性
h(n)=±
h(N-1-n)
当N为偶数时,式变为
H(z)=
h(n)[z
-n-(N-1-n)N
+z]+h(二
n1)
由上面两个式子可知
:
实现直接形式的结构网络只需要N/2(N为偶数)或(N十
1)/2次乘法(N为奇数),利用h(n)的对称比直接卷积形式少用一半的乘法器
yC)
当N为奇数时,此式为
图3.3N为偶数,线性相位结构
图3.4N为奇数,线性相位结构
N1-2n
j一knh(k)eN
n0
(4)频率取样结构
系统函数H(z)在单位圆上作N等分取样的值得到h(n)的离散傅立叶变换值H(k):
-kj(k)
H(k)=H(wn)=|H(k)|e
根据内插公式,得
图3.5频率取样结构图
FIR滤波器的实现方法
数字滤波器的实现方法一般有以下几种
(1)用计算机软件实现
H[D1
xlnl
软件实现方法即是在通用的微型计算机上用软件实现。
利用计算机的存储器、运算器和控制器把滤波所要完成的运算编成程序通过计算机来执行,软件可由使用者自己编写,也可以使用现成的。
但是这种方法速度慢,难以对信号进行实时处理,虽然可以用快速傅立叶变换算法来加快计算速度,但要达到实时处理要付出很高的代价。
⑵采用DSP(DigitalSignalProcessing)处理器来实现
DSP处理器是专为数字信号处理而设计的,它的主要数字运算单元是一个乘累加器,能够在一个机器周期内完成一次乘累加运算,配有适合于信号处理的指
令,具备独特的循环寻址和倒序寻址能力。
这些特点都非常适合数字信号处理中的滤波器设计的有效实现,并且它速度快,成本低。
用DS芯片实现数字滤波除
了具有稳定性好、精确度高、不受环境影响外,还具有灵活性好的特点。
(3)采用固定功能的专用信号处理器实现
专用信号处理器采用专用集成电路ASIC来实现,适用于过程固定而又追求高速的信号处理任务,是以指定的算法来确定它的结构,使用各种随机逻辑器件组成的信号处理器。
它们体积小、保密性好,具有极高的性能,然而灵活性差。
(4)用FPG等可编程器件实现
使用相关开发工具和VHDL等硬件开发语言,通过软件编程用硬件实现特定的数字滤波算法。
这一方法由于具有通用性的特点并可以实现算法的并行运算,无论是作为独立的数字信号处理,还是作为DSP芯片的协作处理器都是比较活跃的研究领域。
可以采用DSP或FPGA来实现硬件电路。
3.2测量模块
凤山:
啊箱Ki勺啊谄忤
讷入原働即;
4系统测试与总结
4.1系统测试
在View的Graph中单击Time/frequency出现graphpropertydialog框。
将显示类型,图形名称,起始地址,抽样点数,数据类型等分别进行设置,
输出各种波形。
输出滤波前的信号时域波形。
首先,设置如图4.1所示,输出
滤波前的信号时域波形。
图4.1Graphpropertydialog设置框图
单击0K后生成如下图4.2波形
图4.2滤波前信号波形图
图4.2为滤波