1、毕业设计 基于MATLAB的通信系统滤波器的仿真与设计要点基于MATLAB的数字滤波器设计与仿真摘要数字滤波器是一个离散系统。该系统能对输入的离散信号进行处理,从而获得所需的有用信息。现代数字滤波器的设计大体可以分为IIR和FIR两大类,可以用软件和硬件两种方法来实现,而选用MATAB信号处理工具箱为设计通用滤波器带来了极大的方便。本文按设计指标要求设计了滤波器,其中IIR采用巴特沃什,FIR采用布莱克曼窗进行设计,得出了与之对应的幅度响应曲线和相位响应曲线,最后对IIR和FIR的实现形式和性能等方面进行比较。MATLAB-based Digital Filter Design and Sim
2、ulationAbstract: The digital filter is a discrete system. The system can be able to handle discrete signals. So it can achieve required important information. There are two major kinds of design principle of digital filter, which are finite impulse response (FIR) and infinite impulse response (IIR).
3、 The modern digital filter can be received by two kinds of method of software and hardware. But using MATLAB signal disposing tool case to design the digital filter is more convenient and universally applied. The main body of the paper is demanded to design a digital filter according to the designin
4、g index. IIR adopts Butterworth and FIR adopts the Blackman window to design the digital filter. Finally, carry out comparison on IIR and the FIR realization and function aspect.Key words: MATLAB; IIR digital filter; FIR digital filter第一章 引言1.1课题研究背景如今随着数字信息时代的到来,数字信号处理已成为一门重要的学科和技术领域。数字信号处理在通信、语音、图
5、像、自动控制等众多领域得到了广泛的应用。数字信号处理包括数字信号处理技术和数字信号处理器。数字信号处理是以数值计算的方法,对信号进行采集、滤波、增强、压缩、估值和识别等加工处理,借以达到提取信息和便于应用的目的,其应用范围涉及几乎所有的工程技术领域。 数字滤波器在数字信号处理的各种应用中发挥着十分重要的作用,它是通过对采样数字信号进行数学运算处理来达到频域滤波的目的。数字滤波器是提取有用信息非常重要、非常灵活的方法,是现代信号处理的重要内容。因而在频谱分析、语音图象处理、自动控制、模式识别、数字通信等各领域中得到了广泛的应用。同时数字滤波器能够处理低频信号具有很高的精度,便于集成等功能,这些功
6、能将决定了数字滤波器的应用越来越广泛。1.2国内外现状数字滤波器精确度高、使用灵活、可靠性高,具有模拟设备所没有的许多优点,已广泛地应用于各个科学技术领域, 例如数字电视、语音、通信、雷达、声纳、遥感、图像、生物医学以及许多工程应用领域。随着信息时代数字时代的到来,数字滤波技术已经成为一门极其重要的学科和技术领域。以往的滤波器大多采用模拟电路技术,但是,模拟电路技术存在很多难以解决的问题,例如,模拟电路元件对温度的敏感性,等等。而采用数字技术则避免很多类似的难题,当然数字滤波器在其他方面也有很多突出的优点,这些都是模拟技术所不能及的,所以采用数字滤波器对信号进行处理是目前的发展方向。关于数字滤
7、波器的研究,在40年代末期就有人研究过它的可能性问题,在50年代也有人在研究生班讨论过数字滤波的问题。直到60年代中期美国科学家库利、图基总结前人的研究成果,经过长期的研究,才开始形成了一套完整关于数字滤波器的正规理论。在这一时期,各种各样的数字滤波器原理结构和特性被提出,并且出现了各种数字滤波器的逼近方法和实现方法,对递归和非递归两类滤波器作了全面的比较和分析。数字滤波器经历了有限冲激响应(FIR)和无限冲激响应(IIR)关系的认识转化过程。当利用快速傅利叶变换(FFT)来实现卷积运算的概念被提出之后,发现高阶有限冲激响应滤波器也可用较高的运算效率来实现,因此使得人们对高性能的有限冲激响应滤
8、波器的设计方法进行了大量的研究分析,从而出现了此后数字滤波器设计中频域方法与时域方法的局面。随着我国科学技术的快速发展,国内有很多专家教授在数字滤波领域展开长期的深入研究,如天津大学的王兆华教授、山东大学的赖晓平教授等。无论是在理论方面还是在工程技术领域,都有很多科研成果。因而数字滤波器不断应用在各行各业里,我国现有滤波器的种类及应用技术己基本上满足现有各种电信设备需求。从整体而言,我国无源滤波器发展比有源滤波器迅速,而数字滤波器比模拟滤波器的发展较缓慢。1.3本次课题研究的意义数字滤波器精确度高、使用灵活、可靠性高,具有模拟设备所没有的许多优点,已广泛地应用于各个科学技术领域, 例如数字电视
9、、语音、通信、雷达、声纳、遥感、图像、生物医学以及许多工程应用领域。随着信息时代数字时代的到来,数字滤波技术已经成为一门极其重要的学科和技术领域。以往的滤波器大多采用模拟电路技术,但是,模拟电路技术存在很多难以解决的问题,例如,模拟电路元件对温度的敏感性,等等。而采用数字技术则避免很多类似的难题,当然数字滤波器在其他方面也有很多突出的优点,在前面部分已经提到,这些都是模拟技术所不能及的,所以采用数字滤波器对信号进行处理是目前的发展方向。第二章数字通信系统及MATLAB仿真软件介绍2.1数字通信系统的概念数字通信系统就是信道中传输的数字信号的通信方式成为数字通信,它包括将基代数字信号直接送往信道
10、传输的数字基代传输和经载波调制后再送往信道传输的数字载波传输,而对应的通信系统称为数字通信系统。2.2数字通信系统的特点及应用数字通信与模拟通信相比有明显的优势。它抗干扰能力强,通信质量不受距离影响,信号易于调制,保密性高,可自动发现与控制差错,能与计算机相连,且支持多种通信业务,对应用设备要求也较低。但是它也有一定的缺点比如频带利用率不高,系统设备比较复杂等。数字通信系统的应用编码、调制、解调、解码以及过滤等都是数字通信系统的关键性技术 其中数字信号的调制以及解调更是被各个行业广泛应用。当前 调幅、调相以及调频是最为常见的三种调制方式 数字调制可将信号源转换成符号信道传输数据的格式 通俗来说
11、即是在保证信号传播安全、信息完整的前提下 通过数字调制 将基带信号转变为带通信号。 此外 数字通信系统还可为全球数字化的实现贡献一份力量。用户可通过网络接口 在一地方、任一时间与现有的综合业务数字网络连接 从中获取互联网、多媒体、通话等服务。我们日常生活中的电脑、手机上网、视频电话、网络会议以及数字电视等都是通过数字通信系统来进行信号传输2.3MATLAB仿真软件的介绍MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学
12、研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB和Mathematica、Maple、MathCAD并称为四大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。2.3.1MATLAB仿真软件的起源 MATLAB是英文Matrix Laborat
13、ory(矩阵实验室)的缩写,它是由美国MathWorks公司推出的用于数值计算和图形处理的数学计算环境。在MATLAB环境下,用户可以集成的进行程序设计、数值计算、图形绘制、输入输出、文件管理等各项操作。它优秀的数值计算能力和卓越的数据可视化能力使其在同类软件中脱颖而出。MATLAB系统最初由Cleve Moler用FORTRAN语言设计,现在的MATLAB程序是由MathWorks公司用C语言开发的。它的第一版(DOS版本1.0)发行于1984年,到2013年atlab8.1版已经发行。经过改进,版本不断升级,其所包含的工具箱功能也越来越丰富,应用越广泛。,使Matlab拥有更丰富的数据类型
14、和结构,更友善的面向对象,更加快精良的图形可视,更广博的数学和数据分析资源,更多的应用开发工具。2.3.2MATLAN仿真软件的特点MATLAB之所以能如此迅速的普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点,归纳如下:1、简单易学:MATLAB不仅是一个开发软件,也是一门编程语言。其语法规则与结构化高级编程语言(如C语言等)大同小异,而且使用更为简便。用MATLAB编程写程序犹如在演算纸上排列出公式与求解问题,所以被称为演算纸式科学算法语言。2、计算功能强大:MATLAB拥有庞大的数学、统计及工程函数,可使用户立刻实现所需的强大数学计算功能。由各领域的专家学者们开发的数值计算
15、程序,使用了安全、成熟、可靠的算法,从而保证了最快的运算速度和可靠的结果。此外,MATLAB还有数十个工具箱,可解决应用中的大多数数学、工程问题。3、先进的可视化工具:MATLAB提供功能强大的、交互式的二维和三维绘图功能,可使用户创建富有表现力的彩色图形。可视化工具包括曲面渲染、线框图、伪彩图、光源、图像显示、动画等。4、开放性、可扩展性强:M文件是可见的MATLAB程序,所以用户可以查看源代码。开放的系统设计使用户能够检查算法的正确性,修改已存在的函数,或者加入自己的新部件。5、特殊应用工具箱:MATLAB的工具箱加强了对工程及科学中特殊应用的支持。工具箱也和MATLAB一样是完全用户化的
16、,可扩展性强。将某个或几个工具箱与MATLAB联合使用,可以得到一个功能强大的计算组合包,满足用户的特殊要求。MATLAB数字信号处理工具箱和滤波器设计工具箱专门应用于信号处理领域。工具箱提供了丰富而简便的设计,使原来繁琐的程序设计简化成函数的调用。只要以正确的指标参数调用相应的滤波器设计程序或工具箱函数,便可以得到正确的设计结果,使用非常方便。2.4MATLAB在通信系统中的应用随着通信系统的规模和复杂度的不断增加,通信系统的模拟仿真技术越来越受到重视。通信系统的模拟仿真技术是介于手工分析和电路试验的一种系统设计方法,它可以让用户在很短的时间内建立整个通信系统模型,并对其进行模拟仿真。而在众
17、多的仿真平台中,MATLAB仿真模块较之于其它仿真软件有着独到的优势,它能使技术人员摆脱系统仿真中繁琐的编程,有效提高了系统仿真的可靠性和实用性。MATLAB在通信系统仿真中的功能非常强大,其应用范围也非常广阔,例如:MATLAB在通信系统仿真中误码率的计算可以用来计算和比较不同的调制方式、不同的差错控制编码方式和不同信道噪声模型条件下通信系统的误码率;MATLAB在通信系统的数据传送和接收过程中的同步电路仿真应用,采用“迟早门同步技术”可仿真一个接收设备的同步实现电路;MATLAB在码分多址通信系统仿真中的应用,码分多址接入作为一种高效率的随机多址接入技术,可对存在多址接入干扰(MAI)的码
18、分多址通信系统进行仿真。第三章 数字滤波器的相关研究3.1滤波器原理滤波器,顾名思义,其作用是对输入信号起到滤波的作用。对于图1-1所示的LSI系统,其时域输入输出关系为: (1-1) x(n) y(n) 图1-1若y(n),x(n)的傅立叶变换存在,则输入输出的频域关系是: (1-2)当输入信号x(n) 通过滤波器系统h(n) 后,其输出 y(n) 中不再含有|c的频率成分,仅使|c的信号成分通过。因此,滤波器的形状不同,其滤波后的信号结果也不一样。若滤波器的输入、输出都是离散时间信号,那么该滤波器的单位冲激响应h(n)也必然是离散的,这种滤波器称为数字滤波器(DF,Digital Filt
19、er)。当用硬件实现一个DF时,所需元件是延迟器、乘法器和加法器;而利用MATLAB软件时,它仅需线性卷积程序便可实现。而模拟滤波器(AF,Analog Filter)只能用硬件实现。因此DF比AF容易实现,且更容易获得理想的滤波性能。数字滤波器还具有以下优点:精度和稳定性高;系统函数容易改变;灵活性高;不存在阻抗匹配问题;便于大规模集成;可实现多维滤波。3.2数字滤波器简介按照不同的分类方法,数字滤波器有许多种类,但总起来可以分成两大类:经典滤波器和现代滤波器。经典滤波器的特点是其输入信号中有用的频率成分和希望滤除的频率成分占有不同的频带,通过一个合适的选频滤波器滤除干扰,得到纯净信号,达到
20、滤波的目的。但是,如果信号和干扰的频谱相互重叠,则经典滤波器不能有效地滤除干扰,最大限度地恢复信号,这时就需要现代滤波器,例如维纳滤波器、卡尔曼滤波器、自适应滤波器等最佳滤波器。现代滤波器是根据随机信号的一些统计特性,在某种最佳准则下,最大限度地抑制干扰,同时最大限度地回复信号,从而达到最佳滤波的目的。经典数字滤波器从滤波特性上分类,可以分为:低通滤波器、高通滤波器、带通滤波器、带阻滤波器。图1-1 各种理想滤波器的幅频特性数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器。3.3 FIR数字滤波器和IIR数字滤波器3.
21、3.1 FIR数字滤波器3.3.2 IIR数字滤波器3.4数字滤波器设计方法概述数字滤波器的设计与实现,通常按下述步骤进行:1、 确定指标在设计一个滤波器前,必须先根据实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常常被用来实现选频操作。因此指标的形式一般在频域中给出幅度和相位响应。幅度指标主要以两种方式给出。第一种是绝对指标,它提供对幅度响应函数要求,一般用于FIR滤波器设计。第二种指标是相对指标,它以分贝值的形式给出要求。对于相位响应指标形式,通常希望系统在通频带中能有线性相位。2、逼近确定了技术指标后,就可以建立一个目标的数字滤波器模型。通常采用理想的数字滤波器模型。之后,
22、就利用数字滤波器的设计方法,设计出一个实际滤波器模型来逼近给定的目标。3、性能分析和计算机仿真上两步的结果是得到以差分方程或系统函数或冲激响应描述的滤波器。根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求,或者利用计算机仿真实现设计的滤波器,再分析滤波器结果来判断。用软件来实现时,它只是一段线性卷积程序。软件实现的优点是:系统函数具有可变性,仅信赖于算法结构,并且易于获得较理想的滤波性能。所以软件滤波在滤波器的使用中起到了越来越重要的作用。IIR滤波器和FIR滤波器的设计方法很不相同:FIR数字滤波器的设计核心是用有限的单位脉冲响应来逼近给定的频率响应。由于FIR数字
23、滤波器应在满足的 条件下具有严格的线性相位,使所设计的数字滤波器无相位失真,因此在设计时应着重考虑幅频特性如何符合设计要求。常用的设计方法有窗函数加权设计法和频率采样法。(1)窗函数加权设计法的基本思想是从时域出发,对于给定的频率响应,通过离散时间傅里叶逆变换(IDTFT)求得单位脉冲响应,而后用窗函数对其进行截断和平滑,达到设计一个物理上可以实现且具有线性相位的FIR数字滤波器的目的。该方法简单易行,使用简单方便,有公式可循,性能和参数都已有表格,资料可参考,计算程序简便,所以使用较为广泛。(2)频率采样法是对给定的频率响应进行采样,通过离散傅里叶逆变换(IDFT),从频率采样点直接求得有限
24、长单位脉冲响应。它能保证频率响应与给定指标在采样点处完全一样,这就在一定程度上克服了窗函数加权设计法在截止频率处不易控制的缺点。由于频率采样法直接从频域进行设计,物理概念清楚,直接方便。IIR数字滤波器的最通用的方法是借助于模拟滤波器的设计方法。模拟滤波器设计已经有了相当成熟的技术和方法,有完整的设计公式,还有比较完整的图表可以查询,因此设计数字滤波器可以充分利用这些丰富的资源来进行。对于IIR数字滤波器的设计具体步骤如下:(1)按照一定的规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标。(2) 根据转换后的技术指标设计模拟低通滤波器G(s)(G(s)是低通滤波器的传递函数)。(
25、3)再按照一定的规则将G(s)转换成H(z)(H(z)是数字滤波器的传递函数)。若设计的数字滤波器是低通的,上述的过程可以结束,若设计的是高通、带通或者是带阻滤波器,那么还需要下面的步骤:将高通、带通或带阻数字滤波器的技术指标转换为低通模拟滤波器的技术指标,然后设计出低通G(s),再将G(s)转换为H(z)。第四章 数字滤波器的设计及MATLAB仿真实现4.1FIR数字滤波器的特点4.1.1线性相位条件线性相位条件是指滤波器具有线性相位。这样当某一信号通过滤波器后,输出信号相对于输入信号只是延迟了固定的采样点,波形保持不变。对于长度为N的h(n),传输函数为 (3-1) (3-2)式中,称为幅
26、度特性,称为相位特性。的线性相位是指是的线性函数,即,为常数 (3-3)如果满足下式:,是起始相位 (3-4)以上两种情况都满足群延迟是一个常数,即一般称满足(3-3)为第一类线性相位;满足(3-4)为第二类线性相位。第一类线性相位特性是h(n)是实序列且对(N-1)/2偶对称,即h(n)=h(N-n-1)。第二类线性相位特性是h(n)是实序列且对(N-1)/2奇对称,即h(n)=-h(N-n-1)。4.1.2线性相位FIR滤波器幅度特性的特点由于h(n)的长度N取奇数还是偶数,对的特性有影响。因此,对于两类线性相位,下面将分四种情况讨论其幅度特性特点。(1) h(n)=h(N-n-1),N=
27、奇数,其幅度特性的特点是对=0,2是偶对称的。(2) h(n)=h(N-n-1),N=偶数,其幅度特性的特点是对=奇对称的,且在=处有一零点,使,这样,对于高通和带阻不适合采用这种情况。(3) h(n)=-h(N-n-1),N=奇数,其幅度特性的特点在=0,2处为零,即在z=1处是零点,且对=0,2呈奇对称形式。(4) h(n)=-h(N-n-1),N=偶数,其幅度特性在=0,2处为零,即在z=1处有一个零点,且对=0,2奇对称,对=呈偶对称。4.1.3线性相位FIR滤波器零点分布特点第一类和第二类线性相位的系统函数综合起来表示为: (3-5)上式表明,如是H(z)的零点,其倒数也必然是其零点
28、;又因为h(n)是实序列,H(z)的零点必定共轭成对,因此和也是其零点。这样,线性相位FIR滤波器零点分布特点是零点必须是互为倒数的共轭对,确定其中一个,另外三个零点也就确定了。4.2常用窗函数及其MATLAB实现4.2.1常用窗函数的理论介绍4.2.2各种窗函数的实现与比较4.3基于窗函数的FIR数字滤波器设计及MATLA实现4.3.1海明窗设计数字低通滤波器设计一个FIR低通滤波器,要求Wp=0.2,Ws=0.4,Ap=0.25dB,As=50dBclear all;Wp=0.2*pi;Ws=0.4*pi;tr_width=Ws-Wp; %过渡带宽度N=ceil(6.6*pi/tr_wid
29、th)+1 %滤波器长度n=0:1:N-1;Wc=(Ws+Wp)/2; %理想低通滤波器的截至频率 hd=ideal_lp(Wc,N); %理想低通滤波器的单位冲激响应w_ham=(hamming(N); %海明窗h=hd.*w_ham; %截取得到实际的单位脉冲响应db,mag,pha,w=freqz_m4(h,1); %计算实际滤波器的幅度响应delta_w=2*pi/1000;Ap=-(min(db(1:1:Wp/delta_w+1) %实际通带纹波As=-round(max(db(Ws/delta_w+1:1:501) %实际阻带纹波subplot(221)stem(n,hd) %火柴
30、棍图title(理想单位脉冲响应hd(n)subplot(222)stem(n,w_ham)title(海明窗w(n)subplot(223)stem(n,h)title(实际单位脉冲响应h(n)subplot(224)plot(w/pi,db)title(幅度响应(dB)axis(0,1,-100,10)%本程序用到的自定义函数function hd=ideal_lp(Wc,N)alpha= (N-1)/2;n=0:1:N-1;m=n-alpha+eps;hd=sin (Wc*m)./(pi*m);functiondb,mag,pha,w=freqz_m4(b,a) H,w=freqz(b,a,1000,whole);H=(H(1:1:501);w=(w(1:1:501);mag=abs(H);db=20*log10(mag+eps)/max(mag);pha=angle(H); 图3-3 FIR数字低通滤波器脉冲响应与幅度响应4.3.2汉宁窗设计数字低通滤波器第五章 结论
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1