预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

DSP课程设计报告 题目:FIR滤波器设计 学院:电气信息学院 专业:通信工程 姓名: 学号: 指导老师:曹玉英 一、设计目标 设计一个FIR高通滤波器,通带边界频率为2khz,通带纹波小于1dB,采样频率为8khz,实现当多个频率的输入信号输入时只保留大于2khz的信号功能,其中FIR滤波器的设计可以用MATLAB窗函数法进行。 二、算法研究 1.FIR的原理和参数生成公式 FIR数字滤波器是非递归性的线性时不变因果系统,这样的系统的差分方程可以表示为: yn=i=0N-1aixn-i(2.1) 令输入信号x(n)=δ(n),代入(2.1)式,有 yn=i=0N-1aiδn-i =a0δ(n)+a1δ(n-1)+···+an-1δ[n-(N-1)](2.2) 这时的y(n)即为冲激响应h(n)。由(2.2)式很容易得到 h(0)=a0,h(1)=a1,···,h(N-1)=an-1; 又由(2.2)式可知,当n<0以及n>N-1时,h(n)=0,即这个系统的冲激响应是有限长度的,这样的滤波器就叫做有限冲激响应(FIR)滤波器。 (2.3) 将ai=h(i)(i=0,1,···,N-1)代入(2.2)式,得到 yn=i=0N-1hixn-i (2.4) 将(2.3)式的两边进行z变换后,可以得到FIR滤波器的系统函数: HZ=Y(Z)XZ=i=0N-1hiz-i=n=0N-1h(n)z-n 又由(2.4)式,有 Hz=h0zN-1+h1zN-2···+hN-2z+h(N-1)ZN-1 因此,FIR滤波器的系统函数H(z)的极点都位于z=0处,为N-1阶极点;而N-1个零点由冲激响应h(n)决定,一般来说,可以位于有限z平面的任何位置。 由于FIR数字滤波器的极点都集中在单位圆内的原点z=0处,与系数h(n)无关,因此FIR滤波器总是稳定的,这是FIR数字系统的一大优点。 2.利用MATLAB计算滤波系数 用来设计标准频率响应的基于窗函数的FIR滤波器,可实现加窗线性相位FIR数字滤波器的设计。 语法:b=fir1(n,Wn) b=fir1(n,Wn,‘ftype’) b=fir1(n,Wn,Window) b=fir1(n,Wn,‘ftype’,window) n:滤波器的阶数;Wn:滤波器的截止频率; ftype:用来决定滤波器的类型, 当ftype=high时,可设计高通滤波器; 当ftype=stop时,可设计带阻滤波器; Window:用来指定滤波器采用的窗函数类型,其默认值为汉明窗。 3.编写产生滤波器输入信号的程序 输入信号应该至少包含两种频率成分的正弦信号,一种信号频率小于2000hz,一种信号频率大于2000hz。可以再MATLAB中产生,也可编写DSP程序产生。 三、开发平台 1.MATLAB MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 2.CCS CCS(CodeComposerStudio)是TI公司推出的针对TMS320系列DSP的集成开发环境。在CCS下,开发者可对软件进行编辑,编译,调试,代码性能测试和项目管理等所有工作,并能将程序下载到目标DSP上运行调试。 在一个开放式的插件结构下,CCS内部集成了以下软件工具: 1)C5000代码产生工具(包括C5000的编译器,汇编优化器,汇编器和连接器); 2)软件模拟器(Simulator); 3)实时基础软件DSP/BIOSTM; 4)主机与目标机之间的实时数据交换软件RTDXTM; 5)实时分析和数据可视化软件; CCS不仅具有一系列的调试、分析能力,还提供了实时分析和数据可视化功能,大大降低了DSP系统的开发难度,使开发者可以将精力集中在应用开发上。 四、参数计算 1.利用MATLAB计算滤波系数 利用MATLAB中的FDATOOL设计滤波器参数设置如图4-1,频域波形如图4-2。 其中FDATool(FilterDesignandAnalysisTool)是MATLAB信号处理工具箱的一种综合、简便