基于MATLAB的IIR与FIR滤波器的课程设计Word格式文档下载.docx

上传人:b****1 文档编号:15358699 上传时间:2022-10-29 格式:DOCX 页数:23 大小:666.72KB
下载 相关 举报
基于MATLAB的IIR与FIR滤波器的课程设计Word格式文档下载.docx_第1页
第1页 / 共23页
基于MATLAB的IIR与FIR滤波器的课程设计Word格式文档下载.docx_第2页
第2页 / 共23页
基于MATLAB的IIR与FIR滤波器的课程设计Word格式文档下载.docx_第3页
第3页 / 共23页
基于MATLAB的IIR与FIR滤波器的课程设计Word格式文档下载.docx_第4页
第4页 / 共23页
基于MATLAB的IIR与FIR滤波器的课程设计Word格式文档下载.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

基于MATLAB的IIR与FIR滤波器的课程设计Word格式文档下载.docx

《基于MATLAB的IIR与FIR滤波器的课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的IIR与FIR滤波器的课程设计Word格式文档下载.docx(23页珍藏版)》请在冰豆网上搜索。

基于MATLAB的IIR与FIR滤波器的课程设计Word格式文档下载.docx

其中滤波是应用非常广泛的一个环节,数字滤波器的理论和相关设计也一直都是人们研究的重点之一。

FIR滤波器的是非递归的,稳定性好,精度高;

更重要的是,FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特征。

因此,它在高保真的信号处理,如数字音频、图像处理、数据传输和生物医学等领域得到广泛应用。

数字滤波是语音信号处理、图像处理、模式识别、频谱分析等应用的基本处理算法。

用DSP芯片实现数字滤波除了具有稳定性好、精确度高、不受环境影响等优点外,还具有灵活性好等特点。

 

2软件简介

2.1Matlab软件简介

MATLAB的名称源自MatrixLaboratory,它是一种科学计算软件,专门以矩阵的形式处理数据。

MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用MATLAB产品的开放式结构,可以非常容易地对MATLAB的功能进行扩充,从而在不断深化对问题认识的同时,不断完善MATLAB产品以提高产品自身的竞争能力。

 MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

图2-1Matlab主界面

2.2CCS软件简介

CCS是一种针对TMS320系列DSP的集成开发环境,在Windows操作系统下,采用图形接口界面,提供有环境配置、源文件编辑、程序调试、跟踪和分析等工具。

CCS有两种工作模式,即

软件仿真器模式:

可以脱离DSP芯片,在PC机上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试。

硬件在线编程模式:

可以实时运行在DSP芯片上,与硬件开发板相结合在线编程和调试应用程序。

CCS的开发系统主要由以下组件构成:

①TMS320C54x集成代码产生工具;

②CCS集成开发环境;

③DSP/BIOS实时核插件及其应用程序接口API;

④实时数据交换的RTDX插件以及相应的程序接口API;

⑤由TI公司以外的第三方提供的各种应用模块插件。

CCS的功能十分强大,它集成了代码的编辑、编译、和调试等诸多功能,而且支持C/C++和汇编的混合编程,其主要功能如下:

①具有集成可视化代码编辑界面,用户可通过其界面直接编写C、汇编、.cmd文件等;

②含有集成代码生成工具,包括汇编器、优化C编译器、器等,将代码的编辑、编译、和调试等诸多功能集成到一个软件环境中;

③高性能编辑器支持汇编文件的动态语法加亮显示,使用户很容易阅读代码,发现语法错误;

④工程项目管理工具可对用户程序实行项目管理。

在生成目标程序和程序库的过程中,建立不同程序的跟踪信息,通过跟踪信息对不同的程序进行分类管理;

⑤基本调试工具具有装入执行代码、查看寄存器、存储器、反汇编、变量窗口等功能,并支持C源代码级调试;

⑥断点工具,能在调试程序的过程中,完成硬件断点、软件断点和条件断点的设置;

⑦探测点工具,可用于算法的仿真,数据的实时监视等;

⑧分析工具,包括模拟器和仿真器分析,可用于模拟和监视硬件的功能、评价代码执行的时钟;

⑨数据的图形显示工具,可以将运算结果用图形显示,包括显示时域/频域波形、眼图、星座图、图像等,并能进行自动刷新;

⑩提供GEL工具。

利用GEL扩展语言,用户可以编写自己的控制面板/菜单,设置GEL菜单选项,方便直观地修改变量,配置参数等;

图2-2CCS主界面

3FIR滤波器设计

3.1设计背景

在许多数字信号处理系统中,FIR滤波器是最常用的组件之一,它完成信号预调、频带选择和滤波等功能。

FIR滤波器在截止频率的边沿陡峭性能虽然不及11R滤波器,但是,考虑到FIR滤波器严格的线性相位特性和不像IIR滤波器存在稳定性的问题,FIR滤波器能够在数字信号处理领域得到广泛的应用。

数字滤波器(DigitalFilter,简称为DF)是指用来对输入信号进行滤波的硬件和软件。

所谓数字滤波器,是指输入、输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的器件。

数字滤波器和模拟滤波器相比,因为信号的形式和实现滤波的方法不同,数字滤波器具有比模拟滤波器精度高、稳定、体积小、重量轻、灵活、不要求阻抗匹配等优点。

对于一般的数字滤波器,按照单位冲激响应可分为无限长冲激响应IIR系统和有限长冲激响应FIR系统。

在FIR系统中,则用一个有理多项式表示的系统函数去逼近所需要的频率响应,即其单位冲激响应h(n)在有限个n值处不为零。

FIR滤波器则可在幅度特性随意设计的同时,保证精确、严格的线性相位特性。

这在要求相位线性信道的现代电子系统,如图像处理、数据传输等波形传递系统中,是具有很大吸引力的。

而且,其单位冲激响应是有限长的,不存在不稳定的因素,并且可用因果系统来实现。

相较于IIR滤波器,FIR滤波器有以下的优点:

可以很容易地设计线性相位的滤波器。

线性相位滤波器延时输入信号,却并不扭曲其相位。

实现简单。

在大多数DSP处理器,只需要对一个指令积习循环就可以完成FIR计算。

在实际中,所有的DSP滤波器必须用有限精度实现,而在IIR滤波器中使用有限精度会产生很大的问题,由于采用的是反馈电路,因此IIR通常用非常少的bit实现,设计者就能解决更少的与非理想算术有关的问题。

可以用小数实现。

不像IIR滤波器,FIR滤波器通常可能用小于1的系数来实现。

当使用定点DSP的时候,这也是一个考虑因素,它能使得实现更加地简单。

3.2FIR滤波器的设计原理

有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件。

可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。

FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。

FIR滤波器无反馈回路,是一种条件稳定系统,可以设计成具有线性相位特性。

设FIR滤波器的系数为h(0)、h

(1)、h

(2)、h(3)·

·

h(N-2)、h(N-1);

X(n)表示滤波器在n时刻的输入,则n时刻的输出为:

FIR数字滤波器的结构如图3-1所示:

图3-1数字滤波器的结构框图

3.3FIR设计方法

本次利用CCS软件完成一个15阶FIR的低通滤波器的设计,并根据傅里叶级数知,周期信号可以由若干离散频率的正弦波的叠加形成,通过对方波和不同谐波正弦波的叠加的滤波,完成对高频的滤除,剩下一次基波正弦波。

其中在CCS软件中实现的两个不同长度的序列的时域卷积,即实现的是频域中的低通滤波。

FIR低通滤波器的时域参数,不同正弦波的叠加所产生的序列,以及方波的序列参数均由MATLAB软件平台实现。

通过加载到CCS编程过程中开辟的数据空间,由卷积程序实现滤波过程。

实现滤波之后需要对所滤出的波形及数据进行检验,可通过CCS软件所提供的频谱进行分析;

滤波之后的数据可通过与MATLAB卷积后的设计数据进行对比检验设计是否正确和符合设计要求。

本设计采用循环缓冲区法:

循环缓冲区法特点如下:

1对于N级FIR滤波器,在存储区中开辟一个N单元的缓冲区(滑窗),用来存放最新的N个输入样本;

2从最新样本开始取数;

3读完最后一个样本(最老样本)后,输入最新样本来代替最老样本,而其他数据不变;

4用片BK(循环缓冲区长度)寄存器对缓存区进行间接寻址,使循环缓冲区首尾相邻。

3.4FIR低通滤波器的Matlab设计

3.4.1FIR性能指标的确定

MATLAB确定滤波器程序如下

b=fir1(15,0.4);

freqz(b,1);

figure

(1);

figure

(2);

title('

频率特性'

plot(w1/pi,20*log10(abs(h1)));

axis([0,1,-100,20]);

grid;

xlabel('

归一化频率/p'

ylabel('

幅度/dB'

%产生测试用正弦信号和噪声信号

滤波器的幅频特性和相频特性与归一化波形如图3-2,图3-3所示

图3-2FIR低通滤波器的幅频特性和相频特性

图3-3归一化波形

3.4.2Matlab正弦波与方波的确定

Matlab程序如下:

figure(3)

x=0:

2*pi/1024:

2*pi;

y1=sin(1*x*2*pi+pi/6);

y2=sin(50*x*2*pi);

y3=y1+y2;

y4=conv(y3,b);

subplot(4,1,1);

plot(y1);

subplot(4,1,2);

plot(y2);

subplot(4,1,3);

plot(y3);

subplot(4,1,4);

plot(y4);

figure(4)

x1=4*square(1*pi*10*x);

x2=conv(x1,b);

subplot(2,1,1);

plot(x1);

subplot(2,1,2);

plot(x2);

由Matlab产生的波形如图3-3,图3-4所示

图3-3正弦波波形

图3-4方波波形

在Matlab软件中仿真出来的正弦波与方波的波形,通过低通滤波之后均能显示出来比较正确正弦波与方波。

3.5FIR低通滤波器的CCS软件设计

3.5.1CCS汇编程序

1.Fir.asm文件

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1