基于GUI的数字信号处理实验平台的开发_第1页
基于GUI的数字信号处理实验平台的开发_第2页
基于GUI的数字信号处理实验平台的开发_第3页
基于GUI的数字信号处理实验平台的开发_第4页
基于GUI的数字信号处理实验平台的开发_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘 要 本文介绍了基于GUI的数字信号处理实验平台的开发,采用层次化的设计方法,利用GUI实现图形用户界面,以交互的方式实现对数字信号处理中重要教学内容的动态仿真。用MATLAB的图形界面设计工具(GUI),以数字信号处理理论知识为基础,设计了与课堂教学、实验内容相配套的辅助工具。该辅助工具可用于数字信号处理课程的课堂教学演示,也可作为学生课后自学提供帮助。文中主要以大家都熟悉的数字滤波器为例,能更直观的,真正的将实验内容融入教学过程,有助于学生更容易地理解数字信号处理的原理和分析方法,有利于提高学生分析问题能力和综合应用能力。关键词:MATLAB GUI;数字信号处理;滤波器IIAbstra

2、ctThis paper introduces the development of digital signal processing experiment platform based on GUI, using the hierarchical design method and Realization of graphical user interface using GUI, in an interactive way to realize the dynamic simulation of digital signal processing is an important teac

3、hing content in . The graphical interface design with MATLAB (GUI), on the theory of digital signal processing knowledge based design and classroom teaching, experiment content matching tool. This tool can be used for classroom demonstration digital signal processing course, but also can be used as

4、the students after-school self-study help. In this paper, we are familiar with the digital filter for example, can More intuitive, the real content of the experiment into the teaching process, help students more easily understand the principles of digital signal processing and analysis methods, to i

5、mprove students ability to analyze problems and comprehensive application ability.Keywords: MATLAB GUI; digital signal processing; Wave filterII目 录摘 要IIAbstractIII1 引言12 数字信号处理简介1 2.1 数字信号处理基本介绍1 2.2 傅里叶变换分类2 2.3 离散傅里叶变换(DFT)2 2.4 分析、计算离散傅里叶变换(DFT)3 2.5 离散傅里叶变换(DFT)注意事项3 2.6 数字滤波器的简单介绍4 2.6.1 滤波器的基本

6、概念5 2.6.1 数字滤波器的分类5 2.6.2 数字滤波器的技术要求63 MATLAB软件介绍6 3.1 MATLAB现状6 3.2 MATLAB基础知识8 3.2.1 基本运算8 3.2.2 常用的数学函数8 3.2.3 MATLAB的绘图功能8 3.3 MATLAB在数字信号处理中的应用94 MATLAB GUI的数字信号处理仿真平台的设计和实现9 4.1 GUI界面设计基础知识10 4.2 GUI界面设计基本步骤10 4.3 数字切比雪夫滤波器11 4.3.1切比雪夫滤波器的基本知识11 4.3.2切比雪夫滤波器的设计步骤11 4.4 高通滤波器11 4.4.1高通滤波器的工作原理1

7、1 4.4.2一阶高通滤波器11 4.5 结果展示125总结12参考文献14附录151 引言 一直以来,数字信号处理都被广泛应用于研究数字滤波、快速实现离散变换的算法以及对频谱的分析等领域,一直以来都被作为电子信息、通信等信息工程领域的必修课程,是一门通过研究数字方法从而实现对信号进行快速算法以及分析、变换、滤波、检测、调制、解调的重要学科。最近伴随着数字电路与计算机技术的迅速发展,数字信号处理技术应用范围也不仅仅只被应用于传统的通信与电子信息工程方面,它已经被越来越广泛的应用于生物工程、雷达等许多高科技尖端领域,为各种工程领域的发展提供了重要动力。数字信号处理这门课程也被许多高校设为信息专业

8、领域必修课程1 。这门课程的特点是:公式多、推导性质复杂繁琐、有较多的概念,更需要以其他诸多课程为基础,所以学生在学习的过程中,很容易因为跟不上进度,没有吃透书本知识,理解不到位以及大量的复杂运算而失去对数字信号处理这门课的学习兴趣。就这门课的现状而言,是非常不理想的,所以我们必须打破这种现状,在网络和计算机飞速发展的今天,各行各业都都开始与计算机进行挂钩,我们完全可以借助计算机来完成各种复杂的公式运算从而实现计算机辅助教学的模式。Matlab提供了大量数学函数和关于信号处理的工具箱,其强大的功能和交互式的环境使得它在这30多年内成为了科学研究,工程技术等领域不可或缺的仿真平台。MATLAB相

9、比其它软件具有三大优势,一是其在数值分析和工程科学绘图等方面功能强大;二是其界面操作方便,编程语言简单易懂;三是拥有交互式的环境,方便由用户自由扩展其功能。MATLAB的图形化显示和图形处理功能相当完备,还拥有高效的数值精确计算和建模仿真功能,可以应用到在数值分析2。 现在许多校在教授这门课时都会同时增开相应的课程实验课,通常选择使用Matlab来对数据信息进行仿真模拟展示,使用该软件的图形交互界面借助于配套的实验工具,实现理论与模拟结果的相结合,从而加深学生理解。 32 数字信号处理简介2.1 数字信号处理基本介绍数字信号处理技术通常利用数值运算的方式来处理数据,它通常将信号转换成二进制数字

10、的形式,然后来对这些二进制数据进行处理,相对传统的模拟信号处理方式,可以极大提高灵活性,同时可以极大提高数据精度降低损耗,可以很方便的实现系统的集成,具有模拟系统无法比拟的性能优势9。 现在例如电、光、电磁、热量等许多外部客观信息都可以通过相应的传感器进行收集,这些收集到的信号信息都可以通过相应的转换设备被转换成数字信号。所以当下在很多工程领域都使用数字信号处理的技术。要想实现将这些信息进行数字形式的处理就首先需要使用相应设备对信号信息进行采集,然后通过相应设备转换成数字信号,然后对这些采集到的信息进行处理分析等操作,最后需要通过软件转换或者硬件处理的方式来对相应信号信息进行处理。通过软件实现

11、处理通常需要自己编写算法程序实现相应数字信号处理;硬件实现则是按照其原理图和电路图,设计相对应的硬件结构图,用乘法器、加法器、延时器、控制器以及输入输出接口等基本部件来实现。由此可见,软件实现方法比较灵活,而硬件实现方法运算速度快,不是很灵活。数字信号处理由于需要使用傅里叶变换、Z变换等数学知识来实现数字信号的处理,所以,数字信号具有灵活性高,同时可以极大提高数据精度降低损耗,可以很方便的实现系统的集成等模拟系统所无法比拟的性能优势。 数字信号处理就是将模拟信号转换成数字信号进行处理,要想实现模拟信号到数字信号的转换,就需要将模拟信号进行测量或者滤波操作来实现模数转换。最后处理之后的结果要想进

12、行展示就需要再将数字信号再转换回模拟信号,这就需要通过数模转换器实现的。最早实现模数转换通常使用DFT离散傅立叶变换算法来离散信号的数字域和频域,从而实现将模拟信号转换成计算机可以处理的离散信号。而真正实现将这种处理技术运用到实践中的是这种算法的改进版FFT快速傅立叶转换算法,这种算法比起DFT性能有了极大的改进与提升,极大减少数据运算量,从而实时实现模数转换,这种算法极大推动了数字信号处理成为工程应用技术。图1 数字信号处理系统2.2 傅里叶变换分类根据原信号的不同类型,我们可以把傅立叶变换分为四种类别:1、非周期性连续信号 傅立叶变换(Fourier Transform)2、周期性连续信号

13、 傅立叶级数(Fourier Series)3、非周期性离散信号 离散时域傅立叶变换(Discrete Time Fourier Transform)4、周期性离散信号 离散傅立叶变换(Discrete Fourier Transform)2.3 DFT的基本性质1)线性性质如果和是两个有限长序列,长度分别为和,且 式中a,b为常数,取,则y(n)的N点DFT (3-3) 其中和分别为和的N点DFT。2)循环移位特性(1)序列的循环移位设x(n)为有限长序列,长度为M,MN,则x(n)的循环移位定义为 (3-4)(2)时域循环移位定理 设x(n)是长度为M(MN)的有限长序列,y(n)为x(n

14、)的循环移位,即 (3-5) (3-6) 其中 , 0kN1(3)频域循环移位定理如果 , 0kN1则 (3-7) 3)循环卷积定理有限长序列和长度分别为和,和在N点的循环卷积为:则x(n)的N点DFT为: (3-8) 2.3 DFT对模拟信号进行谱分析 在工程实际当中经常遇到的模拟信号是连续函数及其频谱函数也是连续函数,为了使用 DFT变换对进行谱分析,对进行时域采样可以得到,然后 x( n)进行 DFT变换,可以得到函数 X( k)是在频率区间上对 x( n)进行傅里叶变换得到的 N点等间隔采样,其中 x( n)和 X( k)全部是有限长序列。然而,由傅里叶变换理论可知,对于长度有限的信号

15、其频谱的宽度是无限的,相反,比较弱的信号其频谱的持续时间会变得接近无限长,因此,在根据采样定理进行采样时,相应的采样序列应该是无限长,这样就不能使用 DFT变换了。在实际情况中,对于拥有很宽频谱的信号,为预防对其时域采样后产生不好频谱的混叠现象,一般会先对信号使用前置滤波器将其幅度比较小的高频部分给滤掉,是的信号的带宽比采样频率小;同理,对于具有很惨持续时间的信号,选取的采样点过多也会造成计算困难和存储困难,一般情况下也是选取有限个采样点进行采样计算。由此可以看出,对模拟信号进行DFT变换的结果只是个近似值,其效果由信号的带宽、采样截取长度和采样频率决定。2.4 分析、计算离散傅里叶变换(DF

16、T)计算DFT有3种不同的方法,分别是: 1.首先,可以通过联立方程来求解,它因效率太低而无法在实际中使用。已知时域中N个点的值,求这N个点在频域中的值(忽略频域中必为零的两个值)。由基本的代数常识可知:要求解N个未知数,就必须写出N个方程。为了求这些值,将每个正弦波的第一个样点加起来,这个和必等于时域信号必等于时域信号的第一个样点值,即可得到第一个方程。同理,时域信号中的每个样点都可以写成类似的方程,就得到了所需的N个方程。使用该方法进行求解时,计算量非常大,实际上从未在 DSP 中使用。该方法的提出说明了一个信号为什么可以被分解成正弦波,需要分解出多少个正弦波,以及这些基本函数必须线性不相

17、关。 2.第二种方法是通过相关性计算DFT。它是以从一个信号中检测已知信号为基础的,是DFT的标准算法。将时域信号与适当的正弦或余弦波相乘,再把所得结果全部累加起来,即可得到频域中的每个样点值,这就是 DFT 的分析方程,也就是从时域值求解频域值的数学方法,如下图:图2 DFT的分析方程 3.第三种方法,称为快速傅里叶变换(FFT),该算法将一个含有N个点的DFT分解为N个只含有一个点的 DFT。在实际应用中,如果进行 DFT 的点数少于32个,则选用相关性的方法来计算,否则选用FFT进行计算。2.5 离散傅里叶变换(DFT)注意事项(1)时域和频域混叠根据奈奎斯特采样定理,在一般的情况下采样

18、频率必须大于采样信号的最高频率的两倍,才能后采样得到完整的信号。由于在实际情况中,信号的持续时间不可能是无限的,所以理论上来讲,信号的频谱宽度可以是无限的,无论去多大的采样频率都是不可能采样到完整的采样信号的。但是当高频分量超过一定范围后,其对采样信号的影响已经可以忽略不计,因此在工程中需要先对信号进行低通滤波。(2)截断效应在实际情况中模拟信号往往是有限长度的,其不可能是无限长,因此必须先将模拟信号截断成程度为N的有限长信号,再使用DFT变换对信号进行谱分析。(3)频谱泄露原序列 x( n)在截断后每根谱线上都会带有一个辛格普,这是由于原序列是离散谱线,就像向两边延伸谱线,这种由于截断导致频

19、谱延宽的现象称为泄漏,泄漏会导致频谱变得模糊不清,频谱的分辨率变得很低。(4)谱间干扰由于截断,会使得主要的谱线的两边形成许多的旁瓣,导致不同频谱分量间的干扰,这就是谱间干扰,这可能会导致弱信号被强信号淹没,而且也会使得分别率既降低。截断造成的谱间干扰是不可能完全消除的,只能根据实际情况来进行调整折中达到性能最优。(5)栅栏效应DFT对信号进行 N个点频谱的间隔采样,其中采样频率区间为,采样后会得到多个离散点 X( k),并且去采样频点为基频 F的倍数,这就像通过一条的细小的缝隙来看栅栏外的风景,只能在细小的缝隙处才能看到外面的景象,这细小的缝隙就是离散采样点,而其余部分则都看不到外面,这就是

20、栅栏效应。可以在时域数据的末端增加一些零值点,来减小栅栏效应。(6)信号长度的选择对信号长度的选择会影响到DFT变换的性能。在实际中,信号的长度往往是长度随机的。因此在实际中,往往是对几个典型的或者周期性的信号进行频谱分析,然后在得到合理的结果。2.6 数字滤波器的简单介绍2.6.1 滤波器的基本概念 数字滤波器主要用于处理数字信号,能够将数字信号中无用的信息和成分滤出掉,只保留需要的信号。从这一角度分析,模拟和数字滤波器的作用是一样的,只是处理的信号形式不同。数字滤波器有精度高,处理方便,操作灵活,性能稳定,没有模拟滤波器中的阻抗匹配问题等优点,比模拟滤波器拥有更加强大的功能。数字滤波器也能

21、用于处理模拟信号,但是在处理前要通过模数转换器,把模拟信号转变为数字信号9。设计数字滤波器的方式主要有两种,一是通过计算机软件,编程实现数字滤波器需要实现的功能,是基于软件系统的设计方法,二是通过硬件设备,建立专门的数字处理工具。在信号处理领域中,可以利用matlab软件设计滤波器,其提供了专业的工具箱,能够实现滤波的功能,还可以分析频谱。工具箱中有大量使用方便的工具,集成了丰富的功能。直接调用相关函数,就能完成滤波器的设计、参数设置和指标分析,且分析速度快、准确率高,为相关研究提供了便利条件。2.6.2 数字滤波器的分类1.从功能上分低通、带通、高通、带阻。2.从实现方法上分FIR、IIR3

22、.从设计方法上来分Chebyshev(切比雪夫),Butterworth(巴特沃斯).4.从处理信号来分经典滤波器、现代滤波器等。数字滤波器的理想低通、高通、带通、带通、带阻滤波器幅度特性图3 滤波器幅度特性图经典滤波器:一般的滤波器,特点是输入信号中有用频率成分和希望滤除的频率成分各占有不同的频带,通过一个合适的选频滤波器达到滤波的目的。图4 输入函数的频响函数 图5 系统函数的频响函数 图5 输出函数的频响函数但是,如果信号的干扰和频带互相重叠,叫不能完成对干扰的有效滤除。现代滤波器这一类滤波器可按照随机信号内部的一些统计分布规律,从干扰中最佳地提取信号。现代滤波器理论源于维纳在40年代及

23、其以后的工作,这一类滤波器的代表为维纳滤波器,此外,还有卡尔曼滤波器、线性预测器、自适应滤波器。2.6.3 数字滤波器的技术要求通常用的数字滤波器一般属于选频滤波器。假设数字滤波器的传输函数用下式表示 H (ejw)= H ( ejw) e j(w) (2.6)式中,H ( ejw)称为幅频特性,Q(w)称为相频特性。幅频特性表示信号通过该滤波器后各频率成分衰减情况;相频特性反映各频率成分通过滤波器后在时间上的延时情况。因此,即使两个滤波器幅频特性相同,而相频特性不一样,对相同的输入,滤波器输出的信号波形是不一样的。一般选频滤波器的技术要求由幅频特性给出,相频特性一般不作要求。但如果对输出波形

24、有要求,则需要考虑相频特性的技术指标,例如,语音合成、波形传输、图像信号处理等。3 MATLAB软件介绍3.1 MATLAB现状MATLAB简称Matrix Laboratory,是矩阵实验室之意。最初,matlab主要用于矩阵的计算和分析,作为数学分析工具,进行数学计算。随着技术的发展,matlab的功能日益完善,也在刷领域得到应用。matlab是一款专业的数学分析工具,由math works公司设计并推出,采用面向对象的高级开发语言,提供了有好的显示界面,能够进行数值计算和分析、算法开发、编写代码,还提供了数据分析、应用开发的交互式开发环境、文件管理的多项操作。matlab的工具箱数量高达

25、十余个,还提供了simulink和matlab两大专业功能。利用matlab的GUIDE工具箱能够在可视化的(GUI)图形界面中进行滤波器的设计,设置参数,模拟和仿真数字信号。在GUI中,包括按键、文本框、弹出框、窗口等,通过鼠标点击或选择就能完成滤波器的设计,使用方便、灵活,为数字信号处理的分析和研究提供了便利条件,初学者也能轻松掌握。该GUI,能将Matlab软件和多媒体硬件很好的结合, 形成一种新的计算机辅助教学形式,可以很好的解决传统教学方法中不易完成或不可能完成的教学任务。而在实际的教学应用中,大幅度的提高了教学的效率和效果,也很好的证明了这种新的CAI方式有利于加强学生对理论知识的

26、理解。4下面来介绍一下MATLAB的优点: 1友好的工作平台和编程环境 MATLAB由一系列工具组成。用户通过matlab工具,直接调用其中的文件或函数,就能够实现特定功能。通过可视化的显示界面,能够直接看到分析结果,清晰、直观。matlab软件包括文件浏览、工作空间、图形界面、帮助、搜索路径、调试器、编辑器、命令窗口等。随着技术的发现,matlc软件不断更新和优化,为用户提供了友好的显示界面,使用方便,操作性强,易于掌握。最新版的matlab改进了帮助和查询系统能够轻松搜索和查询所需要的信息,为实际使用带来更大的便利。matlat有强大的调试工具,开发环境良好,无需编译就能够直接运行程序,并

27、提供纠错报告,为程序开发和设计提供可靠参考,极大提高了编程效率。 2强大的科学计算机数据处理能力 MATLAB作为一个善于矩阵运算的工具,它的数学运算能力是很强的,对于一些大的数据集合,编程要比C语言简易很多,因为在C语言上一个语句只能执行一个数的操作,大批数据的处理就需要使用循环。matlab软件中植入了丰富的函数和算法,数学函数的数量高达600余个,计算能力强,计算速度快,能够进行大数据量的计算。通过直接调用函数就能完成相应计算,使用方便,在实际工程项目和科学研究中得到广泛应用。算法库不仅包含基本的算法,还包括改进、优化的最新算法,容错性更好,适用性更强,如傅立叶变换、侵侮分析、矩阵计算等

28、,能够直接当成编程工具来使用。通过函数,能建立动态仿真模型、多维数组、三角函数、复数和稀疏矩阵的计算,数据或频域变幻的数据分析,符号运算,求解微积分方程组和线性方程组,进行矩阵计算等。此外,还能应用到实际工程之中,解决最优路径、工程优化等问题。也相关领域的分析和研究带来了极大便利。 3除具备超强的数值计算能力外,它还提供了专业水平的文字处理,符号计算,实时控制和可视化建模仿真等功能。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用FORTRAN等语言完相同的事情简捷得多 4MATLAB软件具有很强大的数据可视化功能和图形符号表

29、达功能。该软件不仅能够进行二维绘图和三维绘图,还可以给三维图形添加光照处理以及四维数据的显示等5。 5MATLAB的开放性使其广受用户欢迎,除了内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件。 6MATLAB中GUI设计作用和功能在工作学习中的意义是更加形象直观,如果你把你的程序封装成GUI话,那么别人不需要理解你的算法也可以根据你的提示输入并得到想要的结果。3.2 MATLAB基础知识3.2.1 基本运算在MATLAB下进行基本数学运算,只需将运算式直接打入提小号()之后,并按入Enter键即可。例如: (5*2+1.3-0. 80)*10/25Ans=4.2000 M

30、ATLAB会将运算结果直接存入一变ans,代表MATLAB运算后的答案(Answer)并显不其数值于屏幕上提示:“”是MATLAB的提示符号(Prompt),但在PC中文视窗系统下,由于编码方式不同,此提示符号常会消失不见,但这并不会影响到MATLAB的运算结果。我们也可将上述运算式的结果设定给另一个变数xX=(5*2 +1.3-0. 8)*102/25X=423.2.2 常用的数学函数abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle) sqrt(x):开平方round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数rat(x

31、):将实数x化为分数表不 rats(x):将实数x化为多项分数展开 floor(x):地板函数,即舍去正小数至最近整数 sign(x):符号函数(Signum function)ceil(x):天花板函数,即加入正小数至最近整数3.2.3 MATLAB的绘图功能1、绘制二维图形的一般步骤(1)数据的准备:选定所要表现的范围 产生自变量采样向量 计算相应的函数值向量 典型指令x=0:pi/100:2*Pi;(2)选定图形窗及其子同的位置: 缺省时,打开figure No.1当前窗,当前子图可用指令指定图形窗号和子图号 典型指令:figure(1) %指定1号图形窗 subplot(2,2,2)%

32、指定2号子团(3) 调用(高层)绘图指令:线型、色彩、数据点形 典型指令:plot (x,y,-ro) %用红色实线画曲线,其数据点类型为o(4) 设置轴的范围与刻度、坐标分格线 典型指令:axis (o,inf,-1,1) %设置坐标轴的范围 grid on %画坐标分格线(5) 图形注释,包括图名、坐标名、图例、文字说明等 典型指令:title(专家系统) %图名 xlabel ( );ylabel (y) %轴名 legend (sinx,cosx) %图例 terct(2,1,y-ajax) %文字说明(6)打印图形窗上的直接打印选项或按键,利用图形后处理软件打印,采用图形窗选项或按键

33、打印最简捷。步骤1,3是最基本的绘同步骤。至于其他步骤,并不完全必须。2、三维图形的绘制绘制三维曲线最常用的函数是plot3,它的一般格式为plot3(x,y,z),MATLAB除了能够绘制曲线图形外,还能够绘制网格图形和曲面图6。3.3 MATLAB在数字信号处理中的应用 目前, MATLAB在数字信号处理的仿真实验中用于数字信号处理仿真实验平台的设计已经十分普遍,很多实验在真正在实验室操作之前,一般先进行仿真,而 MATLAB为此提供了十分便利的条件。在科学研究中,实验是必不可少的,但是实验室的造价高昂,但是大量的科学验证都必须得进行实验,所以,人们就在计算机上设计出了相关的仿真软件,用于

34、在计算机上模拟出实验环境, MATLAB就是一款这样的软件,使用 MATLAB来进行实验仿真就可以达到类似于在实验室进行实验的效果。数字信号处理实验使用MATLAB来进行仿真,可以让实验变得更加容易,由于MATLAB的仿真的效果良好,能够推动科学技术的发展。MATLAB仿真平台能够使得实验能在计算机软件上进行模拟仿真,使实验变得更加容易和普及化,能极大的推动科学的进步。74 MATLAB GUI的数字信号处理仿真平台的设计和实现4.1 GUI界面设计基础知识GUIDE全称为Graphical User Interface Development Environment,即MATALB图形用户接

35、口开发环境。它提供了一系列工具用于建立GUI界面的方法。GUI工具栏、GUI布局区、GUI对象选择区,以及状态栏为其组成主要的四大部分。在MATLAB中,创建并设计GUI界面的主要有二种方法:使用.m文件直接动态添加控件;使用GUIDE快速的生成GUI界面。显然第二种可视化编辑方法算更适合写大型程序。分别为使用可视化的界面环境可直接通过编写程序。本设计主要采用前者的设计方法104.2 GUI界面设计基本步骤1、 使用可视化的界面环境来实现GUI界面的设计,首先设计整个演示系统的主界面、功能选择界面和子界面。2、其次分别编写各个子界面中各个控件对象(object)的回调函数, 来实现直接通过操作

36、界面上各个控件,就可以方便地对数字信号处理中重要内容的仿真及仿真图形进行读取和分析的目的。3、然后编写功能选择界面的回调函数, 将各个模块的子界面整合在信号与系统演示系统的功能选择界面中, 实现操作功能选择界面的各个空间就可以进入任何一个子模块界面进行实例仿真的功能。4、最后编写实验演示系统主界面的回调函数, 实现从主界面直接切换进入功能选择界面的功能11。图6 用GUI设计的界面4.3 数字切比雪夫滤波器4.3.1切比雪夫滤波器的基本知识 切比雪夫滤波器在通带内的幅度响应是等波纹的,而在阻带内是单调下降的;或者在通带内是单调下降的,而在阻带内是等波纹的。切比雪夫滤波器的幅度平方函数为 (4.

37、1)式中,称为纹波参数,它与通带内幅度响应的纹波有关; c为有效通带截止频率,N是滤波器的阶数。切比雪夫滤波器是由、 c和N共3个参数确定。4.3.2切比雪夫滤波器的设计步骤(1)根据滤波器的指标确定参数、 c和N。(2)计算常量、a和b,并求出极点Sk。(3)由s平面左半平面的极点构成传递函加H a(s)。(4)利用冲激响应不变法或双线性变换法将H a(s)转换成H(z)。4.3.3数字滤波器的典型的分析和设计方法 频域:1) 幅频特性,相位特性,群延迟特性。2) 舍入噪声,也就是常说的平均噪声功率和噪声谱。 时域:1)冲激和响应,还有对其他输入的时间响应。2)极限环。分析这些特性的方法主要

38、有:a.节点方程式。b.混合方程式。c.状态方程式。d.传输函数。分析输入输出之间的关系可知,ad逐渐增多,则从d的传递函数可以知道频域和时域的输入输出之间的关系特性。分析系统的结构可以知道,da依次不断增多,因此知道系统结构就知道节点方程式,从节点方式式也能推出系统结构,这两者是相通的。但我们这里只讨论传递函数。4.4 高通滤波器4.4.1高通滤波器的工作原理去掉信号中不必要的低频成分,去掉低频干扰的滤波器; 在电力系统中,谐波补偿时用高通滤波器滤除某次及其以上的各次谐波。高通滤波器是指车载功放中能够让中、高频信号通过而不让低频信号通过的电路,其作用是滤去音频信号中的低音成分,增强中音和高音

39、成分以驱动扬声器的中音和高音单元。此外高通滤波器常常和低通滤波器成对出现,不论哪一种,都是为了把一定的声音频率送到指定的单元。4.4.2基于MATLAB的数字信号处理虚拟实验仿真平台主界面(1)用MATLAB进行关于FIR的仿真编程,利用MATLAB的GUI功能来设计仿真平台的主界面如图4.1所示:图4.1数字信号处理的仿真设计主界面从这个界面我们就可以清晰的看到整个仿真平台的构建,以及具体各部分的功能。(2)原始数据及输入数据运行程序后生成的波形如下图4.2:%这个程序用于产生外部测试信号并用于让GUI界面去读取这个保存的外部数据clearclc%采样率Fs;Fs=600; %时间序列t=0

40、:1/Fs:0.5; %设置信号频率; %设置信号幅度f1=40; amp1=20;f2=60; amp2=10;f3=150; amp3=13;f4=200; amp4=20;f5=220; amp5=10;f6=280; amp6=10;%产生叠加的测试信号x=amp1*sin(2*pi*f1*t)+amp2*cos(2*pi*f2*t)+.amp3*sin(2*pi*f3*t)+amp4*sin(2*pi*f4*t)+amp5*cos(2*pi*f5*t)+amp6*sin(2*pi*f6*t);%产生6个频率叠加的信号a=x; %保存为外部文件,用于GUI界面读取save(a,a);

41、图4.2导入数据后的DFT图这部分的上图是读取MATLAB额外产生的外部信号,显示出时域波形,下图是对读取的这个信号进行傅里叶变换求出频谱并画出频谱图。可见在几个频率点上都有冲击,这就说明了产生的外部信号就是这几个频谱的叠加。上图的采样频率Fs=600。(3)生成所设置滤波器如图4.3:图4.3生成所设置的滤波器图这个部分是根据输入的滤波器参数生成的频谱响应和相位特性图,因为所设置的带通滤波器的截至频率是100170之间,所以产生的幅频特性的通带范围也是在100170之间,从相频响应看100170刚好是-3dB衰减的位置,由上图可清晰的看出来。(4)滤波后如图4.4:图4.4滤波后的图这部分的功能就是滤波器把原来的多频率信号进行滤波,从下图频谱图可以看出滤波后只剩下通带内的频率分量了,对应上图的时域就是那个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论