《基于dsp的fir低通滤波器设计本科学位论文.doc》由会员分享,可在线阅读,更多相关《基于dsp的fir低通滤波器设计本科学位论文.doc(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、四川师范大学本科毕业设计基于DSP的FIR滤波器设计学生姓名333院系名称物理与电子工程学院专业名称电子信息工程班 级33333学 号33333指导教师完成时间2014年 5月 10日基于DSP的FIR滤波器设计 电子信息工程专业学生姓名 曾慧 指导教师 汪文蝶摘要 随着科学技术和信息处理的高速发展,目前数字信号处理已经在电子信息、无线电、自动控制等得到广泛应用。本文基于DSP完成了FIR低通滤波器设计。介绍了FIR数字滤波的特点和设计方法以及FIR低通滤波器的设计过程。主要采用了布拉克曼(Blackman)窗函数实现FIR低通滤波器,并给出了MATLAB仿真结果。最终基于DSP在TMS320
2、VC5009平台上用C语言编程在CCS软件上实现了通带边缘频率10KHz,阻带边缘频率22KHz,阻带衰减75dB,采样频率50KHz的FIR低通滤波器。关键词:FIR低通滤波器 DSP CCS 窗函数 MATLAB DSP-based FIR Filter Design Abstract With the rapid development of science and technology and information processing, the current digital signal processing has been widely applied in electron
3、ic information, radio, automatic control.Based on DSP completed the FIR low-pass filter design. Describes the characteristics and design method of FIR digital filter and FIR low-pass filter design process.The main use of Blackman (Blackman) window FIR low-pass filter function implementation, and giv
4、es the MATLAB simulation results. Ultimately based on DSP using C language programming on the CCS software platform on TMS320VC5009 filter passband edge frequency 10KHz, stopband edge frequency 22KHz, stop-band attenuation 75dB, FIR 50KHz sampling frequency low-pass. Keywords: FIR low-pass filter wi
5、ndow function MATLAB DSP CCSI目 录摘要IAbstractII1 引言11.1 选题背景与研究意义11.2 国内外发展11.3 研究内容22 FIR滤波器的理论基础22.1 FIR滤波器的特点22.1.1 FIR滤波器设计的特点32.1.2 FIR滤波器的基本结构32.2 线性相位FIR滤波器的特点52.3 各种窗函数62.3.1 窗函数的设计思想62.3.2几种常用的窗函数介绍82.4 用窗函数设计法来设计FIR低通滤波器92.5 MATLAB仿真113 DSP的实现平台133.1 DSP硬件开发环境133.1.2 DSP的硬件结构示意图143.1.3 TMS32
6、0VC5509A基本介绍143.2 DSP软件开发环境143.3 CCS实现FIR低通滤波器设计164 结论194.1 试验结果分析194.2 总结19致谢19参考文献20附录211 引言1.1 选题背景与研究意义 随着信息技术和计算机学科的不断发展,数字型号处理从20世纪60年代以来就迅速的发展起来。数字信号处理不仅应用在通信、仪器 、工业控制与自动化、医疗、军事、还广泛应用在滤波与变换、音频、语音、图象和图形以及消费电子等众多领域中。总之数字信号处理是把信号用数字或符号表示的序列,通过计算机或通用信号处理设备,用数字的数字计算方法处理(滤波、变换,图象的压缩与增强、估值和识别等加工处理等)
7、,为了达到提取有用信息的目的。几乎所有的工程技术领域都涉及到数字信号处理。 在发展的过程中,与模拟信号处理相比较,数字信号处理也出现了很多明显的优点,如高精度在高精度的系统中,有时只能采用数字系统;灵活性高,数字系统的性能主要由乘法器的系数决定,而系数存放在系数存储器中,因而只需改变存储的系数就可以得到不同的系统,比改变模拟系统方便很多;可靠性强,因为数字系统只有两个信号电平“0”“1”,因而受周围环境的温度及噪声影响小,因此可靠性强;容易大规模集成,由于数字部件具有高度规范性,便于大规模集成、大规模生产。故产品成品率高;可获得高性能指标等等。由于数字信号处理的突出优点,因此他在语音、雷达、地
8、震测报、通信、遥感、生物医学、电视、仪器中得到非常广泛的应用。数字信号处理(DSP)的各种芯片可通过软件改变参数来改变滤波器的特性,具有高的灵活性,而且数字信号处理应用非常广泛,因此我们要去理解滤波器的工作原理,研究其的设计方法,优化其设计方法。特别是FIR低通滤波器的设计,与IIR低通滤波器相比,它具有严格的线性相位,同时有可以具有任意的幅度特性。最重要的是FIR滤波器的单位抽样响应是有限长的,因而滤波器一定是稳定的。这种独特的优势,让我想去研究关于数字处理的FIR滤波器,充分体现FIR滤波器的优势。本课题不仅具有理论意义,同时还具有实际意义。1.2 国内外发展20世纪60年代起,随着信息技
9、术和计算机的快速发展,数字信号处理是一门广泛应用与许多领域涉及许多学科的工学学科,并且得到了飞速的发展,在如今的数字化时代,它已成为计算机、通信、消费电子等领域的基本器件。DSP的发展基本可以分为三个阶段: 最初的DSP只是用微处理器来处理,但其处理速度非常慢,根本无法满足人们的需求。而且只出现在书本上,无法应用在实际中,应用非常的狭窄,一般指用在航空航天、军事上。第一代DSP芯片TMS32010伴随着半导体技术和集成电路技术的发展而诞生,现在它的运算速度快乐几十倍,在实际中也得到应用,但是它的功耗和尺寸都很大,容量也非常小,而且应用非常不灵活。但它也给DSP产生了非常的影响,标志着DSP的快
10、速进步。到80年代中期,随着CMOS工艺的DSP芯片应运而生,其运算速度和存储容量都得到了很大的提高,称为语音处理和图象硬件处理技术的基础。第三代DSP芯片出现在80年代后期,运算速度得到飞速的提高,通信、计算机领域也得到了广泛的使用。DSP不仅在国外,而且最近在中国市场作为整个半导体市场一样为国际半导体市场的一个组成部分,必然具有国际半导体市场的共性。由于它根植于中国这一特定经济与社会环境的土壤中。DSP在中国的发展具有非常大的市场。随着社会的快速发展以及人们对高端产品的喜爱和依赖,以及高端产品给人们带来的乐趣和用途,促使DSP的快速发展。MMoIP电话、数码相机、数码手表和手持电子设备、汽
11、车电子等数码产品得到广泛的使用。在中国市场的迅速发展促进了高性能DSP的广泛使用。中国的电子产品制造商众多,对低成本、易使用的DSP需求巨大。DSP主要应用在通讯领域、数字影音的产品,这让DSP不得不快速的发展来适应人们的需求,提高自身的价值,未来DSP市场竞争将越趋激烈。1.3 研究内容 本论文是TI公司近年推出的高性能TMS320VC5509的DSP芯片设计滤波器系统,基于DSP的FIR有限冲激响应滤波器,完成了通带边缘频率10KHz,阻带边缘频率22KHz,阻带衰减75dB,采样频率50KHz的FIR低通滤波器。采用布拉克曼(Blackman)窗函数在MATLAB和CCS上仿真实现FIR
12、低通滤波器。 本论文共分为四个部分,第一章为引言部分,介绍DSP及其滤波器的发展现状;第二章详细FIR滤波器的理论基础,FIR低通滤波器的设计法方法及其算法,以及在MATLAB上的仿真。介绍DSP的特点、性能指标、软件开发工具、指令系统及硬件结构;第三章介绍了实现FIR滤波器实现的硬件和软件平台以及如何在CCS上的实现。第四章介绍了本次设计的结果分析;其中第二、三章是本论文的核心部分。2 FIR滤波器的理论基础 2.1 FIR滤波器的特点 由于无限长单位冲激响应(IIR)数字滤波器有非常明显的缺点,他的相位是非线性的,若需要线性相位,则要采用全通网络进行相位校正,然而,图象处理以及数据传输都要
13、求有严格的线性相位特性,而有限长单位冲激响应(FIR)滤波器就可以做成严格的线性相位,同时有可以具有任意的幅度特性。最重要的是FIR滤波器的单位抽样响应是有限长的,因而滤波器一定是稳定的。只要经过一定的延时,任何非因果有限长序列都能变成因果有限长序列,因而总能用因果系统来实现,还可以用快速傅里叶变换(FFT)算法来实现滤波,从而可以提高运算效率。因此 FIR滤波器的线性相位是我们研究的重点。实现数字滤波器的方法有很多:最开始用到的无限长冲激响应IIR滤波器设计,当然它也有很多数字滤波器的优点,如:可以利用模拟滤波器设计的结果,而模拟滤波器设计有大量图表可查,因此他方便简单,但是它有很明显的缺点
14、,就是想为的非线性,但是要想得到线性相位,那必须通用全通网络进行相位校正,此过程非常复杂且不易实现。因此上面提到的FIR滤波器的优点就得到了明显的优势,因此也得到了广泛的使用。但是要取得很好的衰减特性,FIR滤波器的阶次比IIR滤波器的要高。因此要是对于非线性相位的FIR滤波器,一般可以用IIR滤波器来替换,同样幅度特性,IIR滤波器所需要的阶次比FIR滤波器的阶次要少得多,所以让我们最感兴趣的是FIR滤波器的线性相位。 FIR滤波器具有独到的优点,它可以在幅度特性随意设计的同时,保证精确、严格的线性相位。2.1.1 FIR滤波器设计的特点 (1)系统的单位冲激响应在有限个值处不为0。 (2)
15、系统函数在处只有零点,即有限z平面只有零点,而全部极点都在处,而全部极点都在处(因果系统)。 (3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中也包含有反馈的递归部分。 最主要的是FIR滤波器具有严格的线性相位和稳定性,任何非因果有限长序列都能变成因果有限长序列,因而总能用因果系统来实现。2.1.2 FIR滤波器的基本结构 (1)FIR数字滤波器的基本原理 设为滤波器的冲激响应,输入信号为 ,则FIR 滤波器就是要实现下列差分方程: (1)这就是FIR 滤波器的差分方程。FIR 滤波器的最主要的特点是没有反馈回路,因此它是无条件稳定系统。它的单位脉冲响应是一个有限长序列。由上面的
16、方程可见,FIR 滤波算法实际上是一种乘法累加运算,它不断地输入样本,经延时(Z)做乘法累加,再输出滤波结果。对式(1)进行Z 变换整理后可得FIR 滤波器的传递函数为: (2) 由式(2)可以看出,FIR 滤波器的一般结构如图1所示。 图1 FIR滤波器的结果 FIR滤波器的单位冲激响应是有限长的()其中Z变换为 (3) (2)横截型(卷积型、直接型)结构系统的差分方程表达式为 (4)这是线性移不变系统的卷积和公式,也是的延时链的横向结构,也叫直接型结构。 其结构图如图2。 图2 FIR滤波器的横截型结构 (3)级联型结构:将分解成实数系数二阶因子的乘积形式 (5) 级联型结构图如图3。图3
17、 FIR滤波器的级联型结构2.2 线性相位FIR滤波器的特点FIR滤波器的单位冲击响应是有限长的()其中Z变换为 (6)这是的多项式。线性相位的条件:的频率响应为 (7)当为实数序列时,可将表示成 (8) 其中是真正的幅度响应。而是可正可负的因此有两类准确的线性相位,分别要求满足 (9) (10) 把 (9)和(10)式的关系分别代入(8) 中并且考虑(7)式,可得 (11) (12) 化简得: (13) (14) 化简:两式相除 (15) (16) (17)要使(17)成立,必须满足 (18)另一类线性相位,必须要求 (19) 要使(19)成立,必须满足 (20) (21) (22) (22
18、)是FIR滤波器就有线性相位的因果系统的充分条件它要求单位冲激响应的序列以为偶对称中心,此时时间延时等于长度为的一半,即个抽样周期,当N为奇数时,延时为整数,N为偶数时延时为整数加半个抽样周期,不管N为偶奇,此时都应该满足呈偶对称。2.3 各种窗函数2.3.1 窗函数的设计思想一般是先给出所要求的理想的滤波器频率响应,要求设计一个FIR滤波器频率响应来逼近。但是设计时在时域进行的,因而先由的傅里叶反变换导出即 (23) 由于是矩形频率特性,故一定是无限长的序列,且是非因果的,而我们要设计的是FIR滤波器,其必然是有限长的,所以要用有限长的来逼近无限长的,最有效的方法是截断,是用一个有限长度的窗
19、函数序列来截取即因而窗函数序列的形状及长度。 我们以一个截止频率为的线性相位的理想矩形幅度特性的低通滤波器,设低通特性的群时延为。 (24)这表明,在通带范围内,的幅度是均匀的,其值为1,相位是 (25)它是中心点在的偶对称无限长非因果序列,要得到有限长的,一种简单的方法取矩形窗。 但是按照线性相位滤波器的约束必须是偶对称,对称中心应为长度的一半,即,因而,所以 (26) (27) (28) 然而加窗处理对理想矩形频率响应产生的几点影响(1)使理想频率特性不连续点点处边沿加宽,形成一个过渡带,过渡带的宽度等于窗的频率响应的主瓣宽度,这里所说的过渡带是指两个肩峰之间的宽度,与滤波器的真正过渡带还
20、有一些区别,也就是,滤波器的过渡带比这个数值要小。(2)在截止频率的地方,出现最大的肩峰值,肩峰的两侧形成起伏振荡,其振荡幅度取决于旁瓣的相对幅度,而振荡的多少,则取决于旁瓣的多少。(3)增加截取长度N,则在主瓣附近的窗的频率响应为 (29) 其中,可见,改变N,只能改变窗谱的主瓣肯定,改变w坐标的比例以及改变的绝对值大小,二不能改变主瓣与旁瓣的相对比例,而这个相对比列是由决定,例如在矩形窗情况下,最大相对肩峰值为8.95%,N增加时, 减小,故起伏振荡变密,最大肩峰则总是8.95%,这种现象称为称为吉布斯(Gibbs)效应。 以上讨论可以看出,最小阻带衰减只由形状决定,不受N的影响,而过渡带
21、的宽度则既和窗形状有关,且随窗宽N的增加而减小。2.3.2几种常用的窗函数介绍(1)矩形窗 (30) (31) (32) (2)巴特列特窗(三角窗) (33) (34) 窗谱为 (35) 此时主瓣宽度为,可以看出,三角形窗频谱密度函数永远是正值。(3)汉宁(hanning)窗汉宁窗又称升余弦窗 (36) 当时,,所以窗谱的幅度函数为 (37) 这三部分之和使旁瓣互相抵消,能量更集中在主瓣,但是其代价是主瓣宽度比矩形窗的主瓣宽度增加一倍,即为。(4)海明(hamming)窗对升余弦加以改进,可以得到旁瓣更小的效果,窗形式为 (38) 结果可以将99.963%的能量集中在窗谱的主瓣内,与汉宁窗相比
22、,主瓣宽度相同,但旁瓣幅度更小,旁瓣峰值小于主瓣峰值的1%。(5)布拉克曼(blackman)窗为了更进一步抑制旁瓣,可加上余弦的二次谐波分量,得到布拉克曼窗: (39) 其频谱的幅度函数为 (40) 此时主瓣宽度为矩形窗谱主瓣宽度的三倍,记为。表1归纳了以上几种窗的主要性能,供FIR滤波器时参考。表1 窗函数基本参数的比较窗函数窗谱性能指标加窗后滤波性能指标旁瓣宽度主瓣宽度过渡带宽阻带最小衰减矩形窗-1320.9-21巴特列特-2543.05-25汉宁窗-3143.1-44海明窗-4143.3-53布拉克曼窗-5765.5-74凯泽窗-575-802.4 用窗函数设计法来设计FIR低通滤波器
23、 设计基于DSP的FIR低通滤波器,其要求是通带边缘频率10KHz,阻带边缘频率22KHz,阻带衰减75dB,采样频率50KHz。根据FIR滤波器的设计方法和设计要求,其设计思路和设计步骤如下: (41) (42) (43) (44)设为理想线性相位滤波器: (45) 首先由所需低通滤波器的过渡带求理想低通滤波器的截止(是由两个肩峰处中点)而由之间的过渡带宽并非两个肩峰间的频率差,所以 (46)其对应的数字频率为:由此可得: (47)其中为线性相位所必需的移位,我们都知道它应该满足。由于,通过查表1得,可以选择布拉克曼窗函数,其阻带衰减-74dB所要求的过渡带的数字频域。 (48)所以 (49
24、)代入得: 即 (50) (51) (52)布拉克曼窗函数的频谱幅度函数为: (53)频谱幅度函数为: (54)计算结果为: (55) FIR低通滤波器的理论设计基本完成。 数字滤波与模拟滤波相比有很多优点,它除了可避免模拟滤波器固有的电压漂移、温度漂移和噪声等问题外, 还能满足滤波器对幅度和相位的严格要求。低通有限冲激响应滤波器( F in ite ImpulseResponse Filter, FIR 滤波器) 有其独特的优点, 因为FIR系统只有零点, 系统总是稳定的, 且为线性相位,允许实现多通道滤波器。2.5 MATLAB仿真MATLAB有多种设计FIR数字滤波器的方法,本文主要介绍
25、窗函数设计方法,它的设计思路和之前介绍的窗函数设计法相同,而前面采用是布莱克曼窗函数设计法,MATLAB中编写程序比CCS中用C语言编写程序要简单,只需要把窗函数设计的公式编写出来即可。首先跟CCS编写程序一样,可以编写两个子函数,和一个主函数,主函数通过调用子函数来完成。因此应该点击file-new如图4产生一个.m文件。图4 MATLAB仿真操作然后再将程序编写到MATLAB中如图5。图5 MATLAB编译程序步骤FIR滤波器的主程序wst=0.88*pi;wp=0.4*pi;deltaw=wst-wp; %过渡带宽w的计算 N0=ceil(11*pi/deltaw); %按布莱克曼窗计算
26、所需的滤波器长度 N=N0+mod(N0+1,2); %为了实现第一类偶对称滤波器,应确保其长度N为奇数 n=0:1:N-1; wc=(wst+wp)/2; %截止频率取为两边缘频率的平均值 hd=ideal(wc,N); %求理想脉冲响应 wdbla=(blackman(N); %求窗函数 h=hd.*wdbla; %设计的脉冲响应应为理想脉冲响应与窗函数乘积 db,mag,pha,grd,w=myfreqz(h,1); %对设计结果进行检验 dw=2*pi/2000; %频率分辨率 Rp=-(min(db(1:wp/dw+1) %检验通带波动 As=-round(max(db(wst/dw
27、+1:501) %检验最小阻带衰减 子程序function hd=ideal(wc,M); %理想的频率响应函数al=(M-1)/2;n=0:(M-1);m=n-al+eps;hd=sin(wc*m)./(pi*m);function db,mag,pha,grd,w=myfreqz(b,a);N=1000;H,w=freqz(b,a,N,whole);H=(H(1:1:501);w=(w(1:1:501);mag=abs(H);db=20*log10(mag+eps)/max(mag);pha=angle(H);grd=grpdelay(b,a,w);编好程序后在运行程序,最终得到其波形图如
28、图6。 图6 MATLAB仿真结果3 DSP的实现平台3.1 DSP硬件开发环境DSP即为数字信号处理器(DigitalSignalProcessing),是在模拟信号变换成数字信号以后进行高速实时处理的专用处理器。它的工作原理是将现实世界的模拟信号转换成数字信号,再用数学方法处理此信号。最后再还原成模拟信号,他的基本流程图如图7。图7 数字信号处理系统的简单方框图 图4所表示的是模拟信号熟悉处理系统的方框图,实际的系统并一定包括它的所有框图,可以是数字计算机或微处理机,通过软件编程对输入信号进行预期处理,这是软件实现法。本次设计就是采用的软件实现法则。 此框图是DSP实现的主要过程,因为DS
29、P处理的是数字信号,所以首先应该将输入的前置的模拟信号通过A/D变换器转化为数字信号,并把它交给DSP处理,DSP根据设计要求经过编程处理(如FFT、卷积等变化)得到的结果为数字信号,然后把信号传输出去。但是最终要在示波器上显示,还应该将得到的数字信号交给D/A数模转换器(其转换精度应该满足一定的要求,以达到较高的运算速率和精度),最终再经过平滑滤波和内插就得到了连续的模拟波形模拟信号。 3.1.2 DSP的硬件结构示意图 ICETEK-VC5509-A 评估板接口说明实物图如图8和ICETEK-VC5509-A 评估板原理框图如图9。 图8 ICETEK-VC5509-A 实物图 图9 IC
30、ETEK-VC5509-A 原理框图3.1.3 TMS320VC5509A基本介绍 TMS320VC5509A是有TI公司制造的DSP芯片,它具有高性能、低功耗数字信号处理芯片。 CPU支持内部structure是由一个程序总线, 3的数据读总线,两条数据写总线,并additional buses专用于外周和DMA活动。这些总线提供执行多达3个读数据和2个写数据的能力。与此同时,DMA控制器可以执行最多两个数据周期独立于CPU的活动。通过输入和输出功能和10位的A/ D转换提供足够的状态,中断和位I/ O的液晶显示器,键盘和媒体接口。3.2 DSP软件开发环境 本次试验的研究内容主要就是在DS
31、P芯片的集成软件开发环境-CCS(Code Composer Studio)中调试从而实现数字滤波功能。(1)安装CCS (Code Composer Studio)软件 (点击setup.exe的安装文件,选择安装目录,进入安装程序)。安装完毕后,在安装“CCS 开发软件”目录中的压缩文件,“C5000-2.20.00-FULL-to-C5000-2.21.00-FULL.exe”中的升级程序,将CCS2.20 升级到CCS2.21。 (2)设置CCS工作在软件仿真环境 CCS可以工作在纯软件的环境下,就是由软件在PC 机内存中构造一个虚拟的DSP环境,可以调试、运行程序。CCS 提供了配置
32、、建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处理程序的编制和测试,能够加速开发进程,提高工作效率。但一般软件无法构造DSP 中的外设,所以软件仿真通常用于调试纯软件的算法和进行效率分析等。 在使用软件仿真方式工作时,无需连接板卡和仿真器等硬件。CCS的软件设置过程将安装好的CCS。 进入设置选择C5XX functional simulator后选择Save and quit后点击“NO”完成软件的设置,设置过程如图10。 图10 CCS设置步骤 设置完成后,双击桌面上仿真器初始化图标,若初始化完成后出现窗口图11。图11 初始化 按“空格”或任意键即完成初始化。 Code Co
33、mposer Studio 2.21 主要完成系统的软件开发和调试。它提供一整套的程序编制、维护、编译、调试环境,能将汇编语言和C语言程序编译连接生成COFF (公共目标文件)格式的可执行文件,并能将程序下载到目标DSP 上运行调试。 用户系统的软件部分可以由CCS 建立的工程文件进行管理,工程一般包含以下几种文件:瑞泰创新-ICETEK-VC5509-A-USB-EDU 教学实验系统软件实验指导(1)源程序文件:(*.C 或*.ASM)(2)命令文件(*.CMD)(3)库文件(*.LIB,*.OBJ)。3.3 CCS实现FIR低通滤波器设计 用C语言编程实现FIR低通滤波器主要是根据第二章的
34、窗函数设计法的思想进行编程。因此C语言应该包括两个子函数和一个主函数。子函数主要是根据FIR低通滤波器的算法进行编程的,子函数是由和进行相乘得到的,函数为fSum+=(fXni*fHni其函数流程图为图12。 图12 流程图 根据DSP的FIR设计的原理,通过窗函数设计法,将想要得到的滤波器的截止频率为10KHz的FIR低通滤波器。 由于窗函数的设计是由理想的和布拉克曼窗函数相乘得到的低通滤波器函数,这个函数包括主函数和两个子函数,子函数一个是由和相乘的函数。另一个是由计算的结果的系数组成,通过for循环语句,调用fHni数组中的每一个参数与子函数相乘得到的结果还回到主函数中,因此主函数就包括
35、变量的初始化,以及子函数的调用。子函数如float FIR() /滤波器函数float fSum;fSum=0;for ( i=0;i0;i- )fXni=fXni-1;fXn0=sin(double)fSignal1)+cos(double)fSignal2)/6.0;fSignal1+=fStepSignal1; if ( fSignal1=f2PI )fSignal1-=f2PI;fSignal2+=fStepSignal2;if ( fSignal2=f2PI )fSignal2-=f2PI;return(fXn0);主函数调用子函数while ( 1 ) fInput=InputWa
36、ve(); /输入函数的调用fInnIn=fInput;nIn+; nIn%=256;fOutput=FIR(); /滤波器函数调用fOutnOut=fOutput;nOut+;/* break point */if ( nOut=256 )nOut=0; 首先设置在纯软件下操作,步骤见CCS开发环境,初始化完成后,点击CCS进入软件调试中。(1) 首先新建一个工程并且命名为FIR,此时该工程下的文件为空。将编好的fir.C、clk-init.C文件都添加到工程中。如图12图12 CCS编译图(2)现在就编译:选择菜单中的“Project”的“Rebuild All”进行编译,编译完成后会在C
37、CS下方的提示框中显示编译信息,根据编译的提示,修改程序。(3)在main的主函数中设置断点在进行编译。(4)下载程序:执行File-Load Program,然后再打开的提示框中选择刚刚建立C:ICETEK-VC5509-EDULabLab0501-UseCCSDebugFIR.out 文件。(5)点击File -File I/0-在弹出的对话框中进行设置如图13图13 输出设置窗口设置完成后,在点击View-Graph-Time/Frequency.在进行设置如图14。图14 观察设置窗口点击OK完成设置。输出结果观察FIR滤波器滤波的结果如图15和输入波形图16输出结果。 图15 INP
38、UT 图16 OUTPUT 下面是FFT的滤波结果如图17和输入波形和图18 FFT输出波形。 图17 INPUT 图18 OUTPUT 4 结论4.1 试验结果分析本次试验结果不仅在CCS软件上完成了FIR滤波器的设计要求,而且在MATLAB中也得到了低通滤波器的图形。CCS的结果分析如下:当调用一个低频的正弦信号和一个高频的余弦信号,低频信号与高频信号的叠加就使得低频信号的正弦上产生毛刺,通过FIR滤波器的设计要求编写的C语言程序完成对高频信号的过滤,最终得到光滑的低频的正弦信号。而FFT的滤波图象,就是将高频的小信号滤掉得到低频的小信号。MATLAB的结果分析,在幅度响应和频率的图形中,
39、在-3dB时,对应的频率是0.59,根据计算器截止频率为147500HZ,相对于截止频率高了4.75KHz,其结果不是很理想。4.2 总结 通过此次毕业设计设计的FIR滤波器设计,让我对数字信号有了更深的理解,C语言的编程也更加熟悉,而且对MATLAB也有了一定的认识,更重要的是提高了我的学习能力和解决问题的能力。如何通过软件来实现低通滤波器设计,而之前经常用硬件来实现滤波器的设计,硬件实现的低通滤波器滤波单一,无法改变,硬件设计一旦错了就会造成无法挽回和经济的浪费,结果又得重新开始浪费时间。而通过DSP的FIR低通滤波器可以通过改变设置的参数来改变滤波器的截止频率,使得设计非常的灵活,方便且易于修改。而MATLAB在编程上更灵活,功能更强大。在FIR低通滤波器的设计中,还可以通过软件编程和硬件的结合,通过示波器来看到真实的低通滤波器的设计,因为软件还是一个虚拟的东西,最终的