数字信号与处理FIR滤波器设计院系:机电工程学院专业(班级):电子信息工程2班姓名:学号: 2010408指导教师:职称:副教授、助教完成日期:2013 年11 月18 日目录1 引言 (1)2 滤波器的简介 (2)2.1 数字滤波器的发展 (2)2.2数字滤波器的实现方法 (2)2.3数字滤波器的分类 (2)3.1 设计方法 (4)3.2有限冲击响应滤波原理 (4)3.3 FIR滤波器的结构图 (5)3.3 FIR数字滤波器阶数计算 (5)3.3 在matlab中算出滤波系数 (6)3.4 FIR数字滤波器设计方法 (6)3.5 程序功能顺序图 (8)4 调试的步骤及调试过程中出现的问题以及解决方法 (10)4.1 调试步骤 (10)4.2调试结果 (12)4.3调试问题解决 (13)5 结论 (15)6 设计心得体会 (16)附录A 程序 (18)FIR滤波器设计1 引言数字滤波器是数字信号处理中最重要的组成部分之一,数字滤波器是由数字乘法器、加法器和延时单元组成的一种算法或装置,可作为应用系统对信号的前期处理。
用DSP芯片实现的数字滤波器具有稳定性好、精确度高、灵活性强及不受外界影响等特性。
因此基于DSP实现的数字滤波器广泛应用于语音图像处理、数字通信、频谱分析、模式识别、自动控制等领域,具有广阔的发展空间。
随着计算机和信息技术的飞速发展,数字信号处理已经成为高速实时处理的一项关键技术,广泛应用在语音识别、智能检测、工业控制等各个领域。
数字滤波器是对数字信号实现滤波的线性时不变系统。
数字滤波实质上是一种运算过程,实现对信号的运算处理。
DSP数字信号处理是一门涉及许多学科而又广泛应用于许多领域的新兴学科。
20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。
传感器数字信号处理是利用传感器对模拟信号或数字信号进行采集并把其转换成计算机可识别的电信号,并利用计算机对信号进行处理以达到计算机辅助控制或是计算机自动控制的目的。
DSP 芯片是一种特别适合数字信号处理运算的微处理器,主要用来实时、快速地实现各种数字信号处理算法。
用DSP 芯片实现FIR数字滤波器,不仅具有精确度高、不受环境影响等优点,而且因DSP 芯片的可编程性,可方便地修改滤波器参数,从而改变滤波器的特性,设计十分灵活。
2 滤波器的简介2.1 数字滤波器的发展数字滤波是数字信号处理的一部分。
数字信号处理主要是研究用数字或符号的序列来表示信号波形,并用数字的方式去处理这些序列,把它们改变成在某种意义上更为有希望的形式,以便估计信号的特征参量,或削弱信号中的多余分量和增强信号中的有用分量。
具体来说,凡是用数字方式对信号进行滤波、变换、调制、解调、均衡、增强、压缩、估值、识别、产生等加工处理,都可纳入数字信号处理领域。
数字信号处理学科的一项重大进展是关于数字滤波器设计方向的研究。
科技发展的必然趋数字信号处理由于运算速度快,具有可编程特性和接口灵活的特点,使得它在许多电子产品的研制、开发和应用中,发挥着及其重要的作用。
采用DSP芯片来实现数字信号处理系统是当前势。
在数字信号处理中,数字滤波器占及其重要的地位。
数字滤波是语音和图像处理、模式识别、频谱分析等应用中的基本算法之一。
在许多信号处理应用中用数字滤波器替代模拟滤波器具有许多优势。
数字滤波器容易实现不同的幅度和相位频率特性指标,克服了与模拟滤波器性能相关的电压漂移、温度漂移和噪声等问题。
用DSP芯片实现数字滤波器除了具有较好的稳定性、较高的精确度、不受外界环境影响外,还具有灵活性特点。
在用可编程DSP实现数字滤波器可通过修改滤波器的参数十分方便的改变滤波器的相关特性。
2.2数字滤波器的实现方法软件实现方法就是在通用的微型计算机上用软件来实现。
利用计算机的存储器、运算器和控制器把滤波所要完成的运算编程程序通过计算机来执行,软件可由使用者自己编写,也可使用现成的。
2.3数字滤波器的分类按照不同的分类方法,数字滤波器有许多种类,但总起来可以分成两大类:经典滤波器和现代滤波器。
经典滤波器的特点是输入信号中有用的频率成分和希望滤除的的频率成分各占有不同的频带,通过一个合适的的选频滤波器达到滤波的目的。
例如,输入信号中含有干扰,如果信号和干扰的频带互不重叠,可滤除干扰得到纯信号。
但是,如果信号和干扰的频带互相重叠,则经典滤波器不能有效滤除干扰,这时就需要采用现代滤波器,例如维纳滤波器,卡尔曼滤波器、自适应滤波器等最佳滤波器。
现代滤波器是根据随机信号的一些统计特性,在某种最佳准则下,最大限度地抑制干扰,同时最大地恢复信号,从而达到最佳滤波的目的。
经典数字滤波器从滤波特性上分类,可以分成低通、高通、带通和带阻等滤波器。
它们有些理想幅频特性,是不可能实现的因为他们的的单位响应均是非因果且是无限长的。
我们只能按照某些准则去设计滤波器使之在误差容限内逼近理想滤波器,因此理想的滤波器可作为逼近的标准。
3 总体设计思路及功能描述(附框图)3.1 设计方法(1)进一步了解滤波器的原理,了解FIR 滤波器的设计过程。
(2)了解CCS 的使用方法,以及掌握基本编程语言。
(3)掌握CCS 设计FIR 滤波器。
(4)掌握CCS 工程的建立,源文件的汇编、连接以及调试程序,并且观察其输入、输出波形。
3.2有限冲击响应滤波原理数字滤波是将输入的信号序列,按规定的算法进行处理,从而得到所期望的输出序列。
一个线性位移不变系统的输出序列y[n]与输入序列x[n]之间的关系,应满足常系数线性差分方程:101()()()N M i i i i y n b x n i a yn i -===---∑∑ (3-1)式中,X (n )为输入序列;Y (n )为输出序列;a 和b 为滤波器系数;N 为滤波器阶数。
若所有的a 均为0,则得到FIR 滤波器的差分方程为10()()N i i y n b xn i -==-∑ (3-2)对这式进行Z 变换,整理后可得FIR 滤波器的传递函数为110()()()N i i Y z Hz b z X z --===∑ (3-3)3.3 FIR 滤波器的结构图图3-1结构图FIR 滤波器的单位冲激响应()h n 是一个有限长序列。
若()h n 为实数,且满足偶对称或奇对称的条件,即()(1)h n h N n =--或()(1)h n h N n =---,则FIR滤波器具有线性相位特性。
偶对称线性相位FIR 滤波器的差分方程为120()[()(1)]N ii yn bx n i x n N i -==-+-++∑ (3-4)式中,N 为偶数。
在数字滤波器中,FIR 滤波器无反馈回路,是一种无条件系统;并且可以设计成具有线性相位特性。
3.3 FIR 数字滤波器阶数计算-过渡带宽度=阻带边缘频率-通带边缘频率=25-10=15kHz-采样频率:f1=通带边缘频率+(过渡带宽度)/2=10000+15000/2=12.5kHzΩ1=2πf1/fs=0.64π-理想低通滤波器脉冲响应:h1[n]=sin(n Ω1)/n/π=sin(0.64πn)/n/π-根据要求,选择布莱克曼窗,窗函数长度为:1z -1z - 1z - + bb2N b -(1)x n N -+ (1)x n - ()x n ()y nN=5.98fs/过渡带宽度=5.98*50/15=20-选择 N=20,窗函数为:w[n]=0.42+0.5cos(2πn/24)+0.8cos(4πn/24)-滤波器脉冲响应为:h[n]=h1[n]w[n] |n|≤12h[n]=0 |n|>12根据上面计算,各式计算出h[n] ,然后将脉冲响应值移位为因果序列。
3.3 在matlab中算出滤波系数如下:B=fir1(19,(10+25)/50,blackman(20))B =Columns 1 through 13-0.0000 -0.0001 -0.0014 0.0055 -0.0060 -0.01230.0509 -0.0677 -0.0300 0.5609 0.5609 -0.0300-0.0677Columns 14 through 200.0509 -0.0123 -0.0060 0.0055 -0.0014 -0.0001-0.0000-完成的滤波器的差分方程为:y[n]=-0.00x[n-2]-0.00x[n-3]-0.001x[n-4]+0.001x[n-5]-0.006x[n-6]-0.01x[n-7]+0.05x[n-8]-0.07x[n-9]-0.56x[n-10]+0.56x[n-11]-0.03x[n-12]-0.07x[n-13+0.05x[n-14]-0.01x[n-15]-0.006x[n-16]+0.006x[n-17]-0.001x[n-18]-0.00x[n-19]3.4 FIR数字滤波器设计方法由:窗函数法、频率抽样法。
窗函数法分为固定窗和可变窗。
窗函数法窗函数法的设计思想是按照所要求的理想滤波器频率响应错误!未找到引用源。
,设计一个FIR滤波器,使之频率响应错误!未找到引用源。
来逼近错误!未找到引用源。
先由错误!未找到引用源。
的傅里叶反变换导出理想滤波器的冲激响应序列错误!未找到引用源。
,即:(3-5)由于错误!未找到引用源。
是矩形频率特性,所以错误!未找到引用源。
是一无限长的序列,且是非因果的,而要计的FIR滤波器的冲激响应序列是有限长的,所以要用有限长的序列h(n)来逼近无限长的序列错误!未找到引用源。
,最有效的方法是截断错误!未找到引用源。
,或者说用一个有限长度的窗口函数w(n)序列来截取错误!未找到引用源。
,即: 错误!未找到引用源。
布莱克曼窗(3-6)增加一个二次谐波余弦分量,可进一步降低旁瓣,但主瓣宽度进一步增加,增加N可减少过渡带。
频谱的幅度函数为:+0.04(3-7)3.5 程序功能顺序图波形发生 计算步长 用标准C 的sin 函数和cos 函数计算当前波形值 返回波形值 Fir 滤波用滤波器系数乘以保存的N-1个输入值和当前输入值并求和返回计算结果 调用波形发生子程序产生混叠的波形(高频+低频) 调用fir 滤波子程序计算当前输出开始初始化工作变量图3-2流程图4 调试的步骤及调试过程中出现的问题以及解决方法4.1 调试步骤1.连接实验箱2.设置Code Composer Studio 2.21 在硬件仿真(Emulator)方式下运行:---设置CCS 通过ICETEK-5100USB 仿真器连接ICETEK-VC5416-AR 硬件环境进行软件调试和开发单击桌面上图标:(1)进入CCS 设置窗口。