版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要本文介绍了基于GUI的数字信号处理实验平台的开发,采用层次化的设计方法,利用GUI实现图形用户界面,以交互的方式实现对《数字信号处理》中重要教学内容的动态仿真。用MATLAB的图形界面设计工具(GUI),以数字信号处理理论知识为基础,设计了与课堂教学、实验内容相配套的辅助工具。该辅助工具可用于《数字信号处理》课程的课堂教学演示,也可作为学生课后自学提供帮助。文中主要以大家都熟悉的数字滤波器为例,能更直观的,真正的将实验内容融入教学过程,有助于学生更容易地理解数字信号处理的原理和分析方法,有利于提高学生分析问题能力和综合应用能力。关键词:MATLABGUI;数字信号处理;滤波器AbstractThispaperintroducesthedevelopmentofdigitalsignalprocessingexperimentplatformbasedonGUI,usingthehierarchicaldesignmethodandRealizationofgraphicaluserinterfaceusingGUI,inaninteractivewaytorealizethedynamicsimulationofdigitalsignalprocessingisanimportantteachingcontentin<>.ThegraphicalinterfacedesignwithMATLAB(GUI),onthetheoryofdigitalsignalprocessingknowledgebaseddesignandclassroomteaching,experimentcontentmatchingtool.Thistoolcanbeusedforclassroomdemonstration"digitalsignalprocessing"course,butalsocanbeusedasthestudentsafter-schoolself-studyhelp.Inthispaper,wearefamiliarwiththedigitalfilterforexample,canMoreintuitive,therealcontentoftheexperimentintotheteachingprocess,helpstudentsmoreeasilyunderstandtheprinciplesofdigitalsignalprocessingandanalysismethods,toimprovestudents'abilitytoanalyzeproblemsandcomprehensiveapplicationability.Keywords:MATLABGUI;digitalsignalprocessing;Wavefilter目录TOC\o"1-3"\h\u2771摘要 在N点的循环卷积为:则x(n)的N点DFT为:(3-8)2.3
DFT对模拟信号进行谱分析\t"C:/Users/Administrator/50222133622016345_XX_%E5%9F%BA%E4%BA%8EGUI%E7%9A%84%E6%95%B0%E5%AD%97%E4%BF%A1%E5%8F%B7%E5%A4%84%E7%90%86%E5%AE%9E%E9%AA%8C%E5%B9%B3%E5%8F%B0%E7%9A%84%E5%BC%80%E5%8F%91/PaperPass-%E4%B8%93%E4%B8%9A%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"在工程实际当中经常遇到的模拟信号是连续函数及其频谱函数也是连续函数,为了使用DFT变换对进行谱分析,对进行时域采样可以得到,\t"C:/Users/Administrator/50222133622016345_XX_%E5%9F%BA%E4%BA%8EGUI%E7%9A%84%E6%95%B0%E5%AD%97%E4%BF%A1%E5%8F%B7%E5%A4%84%E7%90%86%E5%AE%9E%E9%AA%8C%E5%B9%B3%E5%8F%B0%E7%9A%84%E5%BC%80%E5%8F%91/PaperPass-%E4%B8%93%E4%B8%9A%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"然后x(n)进行DFT变换,可以得到函数X(k)是在频率区间上对x(n)进行傅里叶变换得到的N点等间隔采样,其中x(n)和X(k)全部是有限长序列。\t"C:/Users/Administrator/50222133622016345_XX_%E5%9F%BA%E4%BA%8EGUI%E7%9A%84%E6%95%B0%E5%AD%97%E4%BF%A1%E5%8F%B7%E5%A4%84%E7%90%86%E5%AE%9E%E9%AA%8C%E5%B9%B3%E5%8F%B0%E7%9A%84%E5%BC%80%E5%8F%91/PaperPass-%E4%B8%93%E4%B8%9A%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"然而,由傅里叶变换理论可知,对于长度有限的信号其频谱的宽度是无限的,相反,比较弱的信号其频谱的持续时间会变得接近无限长,因此,在根据采样定理进行采样时,相应的采样序列应该是无限长,这样就不能使用DFT变换了。在实际情况中,对于拥有很宽频谱的信号,\t"C:/Users/Administrator/50222133622016345_XX_%E5%9F%BA%E4%BA%8EGUI%E7%9A%84%E6%95%B0%E5%AD%97%E4%BF%A1%E5%8F%B7%E5%A4%84%E7%90%86%E5%AE%9E%E9%AA%8C%E5%B9%B3%E5%8F%B0%E7%9A%84%E5%BC%80%E5%8F%91/PaperPass-%E4%B8%93%E4%B8%9A%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"为预防对其时域采样后产生不好频谱的混叠现象,一般会先对信号使用前置滤波器将其幅度比较小的高频部分给滤掉,是的信号的带宽比采样频率小;同理,对于具有很惨持续时间的信号,选取的采样点过多也会造成计算困难和存储困难,一般情况下也是选取有限个采样点进行采样计算。\t"C:/Users/Administrator/50222133622016345_XX_%E5%9F%BA%E4%BA%8EGUI%E7%9A%84%E6%95%B0%E5%AD%97%E4%BF%A1%E5%8F%B7%E5%A4%84%E7%90%86%E5%AE%9E%E9%AA%8C%E5%B9%B3%E5%8F%B0%E7%9A%84%E5%BC%80%E5%8F%91/PaperPass-%E4%B8%93%E4%B8%9A%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"由此可以看出,对模拟信号进行DFT变换的结果只是个近似值,其效果由信号的带宽、采样截取长度和采样频率决定。2.4分析、计算离散傅里叶变换(DFT)计算DFT有3种不同的方法,分别是:1.首先,可以通过联立方程来求解,它因效率太低而无法在实际中使用。
已知时域中N个点的值,求这N个点在频域中的值(忽略频域中必为零的两个值)。由基本的代数常识可知:要求解N个未知数,就必须写出N个方程。为了求这些值,将每个正弦波的第一个样点加起来,这个和必等于时域信号必等于时域信号的第一个样点值,即可得到第一个方程。同理,时域信号中的每个样点都可以写成类似的方程,就得到了所需的N个方程。使用该方法进行求解时,计算量非常大,实际上从未在DSP中使用。该方法的提出说明了一个信号为什么可以被分解成正弦波,需要分解出多少个正弦波,以及这些基本函数必须线性不相关。2.第二种方法是通过相关性计算DFT。它是以从一个信号中检测已知信号为基础的,是DFT的标准算法。将时域信号与适当的正弦或余弦波相乘,再把所得结果全部累加起来,即可得到频域中的每个样点值,这就是DFT的分析方程,也就是从时域值求解频域值的数学方法,如下图:图2DFT的分析方程3.第三种方法,称为快速傅里叶变换(FFT),该算法将一个含有N个点的DFT分解为N个只含有一个点的DFT。在实际应用中,如果进行DFT的点数少于32个,则选用相关性的方法来计算,否则选用FFT进行计算。2.5离散傅里叶变换(DFT)注意事项(1)时域和频域混叠\t"C:/Users/Administrator/50222133622016345_XX_%E5%9F%BA%E4%BA%8EGUI%E7%9A%84%E6%95%B0%E5%AD%97%E4%BF%A1%E5%8F%B7%E5%A4%84%E7%90%86%E5%AE%9E%E9%AA%8C%E5%B9%B3%E5%8F%B0%E7%9A%84%E5%BC%80%E5%8F%91/PaperPass-%E4%B8%93%E4%B8%9A%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"根据奈奎斯特采样定理,在一般的情况下采样频率必须大于采样信号的最高频率的两倍,才能后采样得到完整的信号。由于在实际情况中,信号的持续时间不可能是无限的,所以理论上来讲,信号的频谱宽度可以是无限的,无论去多大的采样频率都是不可能采样到完整的采样信号的。但是当高频分量超过一定范围后,其对采样信号的影响已经可以忽略不计,因此在工程中需要先对信号进行低通滤波。(2)截断效应在实际情况中模拟信号往往是有限长度的,其不可能是无限长,因此必须先将模拟信号截断成程度为N的有限长信号,再使用DFT变换对信号进行谱分析。(3)频谱泄露原序列x(n)在截断后每根谱线上都会带有一个辛格普,这是由于原序列是离散谱线,就像向两边延伸谱线,这种由于截断导致频谱延宽的现象称为泄漏,泄漏会导致频谱变得模糊不清,频谱的分辨率变得很低。(4)谱间干扰\t"C:/Users/Administrator/50222133622016345_XX_%E5%9F%BA%E4%BA%8EGUI%E7%9A%84%E6%95%B0%E5%AD%97%E4%BF%A1%E5%8F%B7%E5%A4%84%E7%90%86%E5%AE%9E%E9%AA%8C%E5%B9%B3%E5%8F%B0%E7%9A%84%E5%BC%80%E5%8F%91/PaperPass-%E4%B8%93%E4%B8%9A%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"由于截断,会使得主要的谱线的两边形成许多的旁瓣,导致不同频谱分量间的干扰,这就是谱间干扰,这可能会导致弱信号被强信号淹没,而且也会使得分别率既降低。截断造成的谱间干扰是不可能完全消除的,只能根据实际情况来进行调整折中达到性能最优。(5)栅栏效应\t"C:/Users/Administrator/50222133622016345_XX_%E5%9F%BA%E4%BA%8EGUI%E7%9A%84%E6%95%B0%E5%AD%97%E4%BF%A1%E5%8F%B7%E5%A4%84%E7%90%86%E5%AE%9E%E9%AA%8C%E5%B9%B3%E5%8F%B0%E7%9A%84%E5%BC%80%E5%8F%91/PaperPass-%E4%B8%93%E4%B8%9A%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"DFT对信号进行N个点频谱的间隔采样,其中采样频率区间为,采样后会得到多个离散点X(k),并且去采样频点为基频F的倍数,这就像通过一条的细小的缝隙来看栅栏外的风景,只能在细小的缝隙处才能看到外面的景象,这细小的缝隙就是离散采样点,而其余部分则都看不到外面,这就是栅栏效应。\t"C:/Users/Administrator/50222133622016345_XX_%E5%9F%BA%E4%BA%8EGUI%E7%9A%84%E6%95%B0%E5%AD%97%E4%BF%A1%E5%8F%B7%E5%A4%84%E7%90%86%E5%AE%9E%E9%AA%8C%E5%B9%B3%E5%8F%B0%E7%9A%84%E5%BC%80%E5%8F%91/PaperPass-%E4%B8%93%E4%B8%9A%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"可以在时域数据的末端增加一些零值点,来减小栅栏效应。(6)信号长度的选择对信号长度的选择会影响到DFT变换的性能。在实际中,信号的长度往往是长度随机的。因此在实际中,往往是对几个典型的或者周期性的信号进行频谱分析,然后在得到合理的结果。2.6数字滤波器的简单介绍2.6.1滤波器的基本概念数字滤波器主要用于处理数字信号,能够将数字信号中无用的信息和成分滤出掉,只保留需要的信号。从这一角度分析,模拟和数字滤波器的作用是一样的,只是处理的信号形式不同。数字滤波器有精度高,处理方便,操作灵活,性能稳定,没有模拟滤波器中的阻抗匹配问题等优点,比模拟滤波器拥有更加强大的功能。数字滤波器也能用于处理模拟信号,但是在处理前要通过模数转换器,把模拟信号转变为数字信号9]。设计数字滤波器的方式主要有两种,一是通过计算机软件,编程实现数字滤波器需要实现的功能,是基于软件系统的设计方法,二是通过硬件设备,建立专门的数字处理工具。在信号处理领域中,可以利用matlab软件设计滤波器,其提供了专业的工具箱,能够实现滤波的功能,还可以分析频谱。工具箱中有大量使用方便的工具,集成了丰富的功能。直接调用相关函数,就能完成滤波器的设计、参数设置和指标分析,且分析速度快、准确率高,为相关研究提供了便利条件。2.6.2数字滤波器的分类1.从功能上分低通、带通、高通、带阻。2.从实现方法上分FIR、IIR3.从设计方法上来分Chebyshev(切比雪夫),Butterworth(巴特沃斯)4.从处理信号来分经典滤波器、现代滤波器等。数字滤波器的理想低通、高通、带通、带通、带阻滤波器幅度特性图3滤波器幅度特性图经典滤波器:一般的滤波器,特点是输入信号中有用频率成分和希望滤除的频率成分各占有不同的频带,通过一个合适的选频滤波器达到滤波的目的。图4输入函数的频响函数图5系统函数的频响函数图5输出函数的频响函数但是,如果信号的干扰和频带互相重叠,叫不能完成对干扰的有效滤除。现代滤波器这一类滤波器可按照随机信号内部的一些统计分布规律,从干扰中最佳地提取信号。现代滤波器理论源于维纳在40年代及其以后的工作,这一类滤波器的代表为维纳滤波器,此外,还有卡尔曼滤波器、线性预测器、自适应滤波器。2.6.3数字滤波器的技术要求通常用的数字滤波器一般属于选频滤波器。假设数字滤波器的传输函数用下式表示H(ejw)=│H(ejw)│ejΩ(w)(2.6)式中,H(ejw)称为幅频特性,Q(w)称为相频特性。幅频特性表示信号通过该滤波器后各频率成分衰减情况;相频特性反映各频率成分通过滤波器后在时间上的延时情况。因此,即使两个滤波器幅频特性相同,而相频特性不一样,对相同的输入,滤波器输出的信号波形是不一样的。一般选频滤波器的技术要求由幅频特性给出,相频特性一般不作要求。但如果对输出波形有要求,则需要考虑相频特性的技术指标,例如,语音合成、波形传输、图像信号处理等。3MATLAB软件介绍3.1MATLAB现状MATLAB简称MatrixLaboratory,是矩阵实验室之意。最初,matlab主要用于矩阵的计算和分析,作为数学分析工具,进行数学计算。随着技术的发展,matlab的功能日益完善,也在刷领域得到应用。matlab是一款专业的数学分析工具,由mathworks公司设计并推出,采用面向对象的高级开发语言,提供了有好的显示界面,能够进行数值计算和分析、算法开发、编写代码,还提供了数据分析、应用开发的交互式开发环境、文件管理的多项操作。matlab的工具箱数量高达十余个,还提供了simulink和matlab两大专业功能。利用matlab的GUIDE工具箱能够在可视化的(GUI)图形界面中进行滤波器的设计,设置参数,模拟和仿真数字信号。在GUI中,包括按键、文本框、弹出框、窗口等,通过鼠标点击或选择就能完成滤波器的设计,使用方便、灵活,为数字信号处理的分析和研究提供了便利条件,初学者也能轻松掌握。该GUI,能将Matlab软件和多媒体硬件很好的结合,形成一种新的计算机辅助教学形式,可以很好的解决传统教学方法中不易完成或不可能完成的教学任务。而在实际的教学应用中,大幅度的提高了教学的效率和效果,也很好的证明了这种新的CAI方式有利于加强学生对理论知识的理解。[4]下面来介绍一下MATLAB的优点:1.友好的工作平台和编程环境MATLAB由一系列工具组成。用户通过matlab工具,直接调用其中的文件或函数,就能够实现特定功能。通过可视化的显示界面,能够直接看到分析结果,清晰、直观。matlab软件包括文件浏览、工作空间、图形界面、帮助、搜索路径、调试器、编辑器、命令窗口等。随着技术的发现,matlc软件不断更新和优化,为用户提供了友好的显示界面,使用方便,操作性强,易于掌握。最新版的matlab改进了帮助和查询系统能够轻松搜索和查询所需要的信息,为实际使用带来更大的便利。matlat有强大的调试工具,开发环境良好,无需编译就能够直接运行程序,并提供纠错报告,为程序开发和设计提供可靠参考,极大提高了编程效率。2.强大的科学计算机数据处理能力MATLAB作为一个善于矩阵运算的工具,它的数学运算能力是很强的,对于一些大的数据集合,编程要比C语言简易很多,因为在C语言上一个语句只能执行一个数的操作,大批数据的处理就需要使用循环。matlab软件中植入了丰富的函数和算法,数学函数的数量高达600余个,计算能力强,计算速度快,能够进行大数据量的计算。通过直接调用函数就能完成相应计算,使用方便,在实际工程项目和科学研究中得到广泛应用。算法库不仅包含基本的算法,还包括改进、优化的最新算法,容错性更好,适用性更强,如傅立叶变换、侵侮分析、矩阵计算等,能够直接当成编程工具来使用。通过函数,能建立动态仿真模型、多维数组、三角函数、复数和稀疏矩阵的计算,数据或频域变幻的数据分析,符号运算,求解微积分方程组和线性方程组,进行矩阵计算等。此外,还能应用到实际工程之中,解决最优路径、工程优化等问题。也相关领域的分析和研究带来了极大便利。3.除具备超强的数值计算能力外,它还提供了专业水平的文字处理,符号计算,实时控制和可视化建模仿真等功能。MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用FORTRAN等语言完相同的事情简捷得多4.MATLAB软件具有很强大的数据可视化功能和图形符号表达功能。该软件不仅能够进行二维绘图和三维绘图,还可以给三维图形添加光照处理以及四维数据的显示等[5]。5.MATLAB的开放性使其广受用户欢迎,除了内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件。6.MATLAB中GUI设计作用和功能在工作学习中的意义是更加形象直观,如果你把你的程序封装成GUI话,那么别人不需要理解你的算法也可以根据你的提示输入并得到想要的结果。3.2MATLAB基础知识3.2.1基本运算在MATLAB下进行基本数学运算,只需将运算式直接打入提小号(>>)之后,并按入Enter键即可。例如:>>(5*2+1.3-0.80)*10/25Ans=4.2000MATLAB会将运算结果直接存入一变ans,代表MATLAB运算后的答案(Answer)并显不其数值于屏幕上提示:“>>”是MATLAB的提示符号(Prompt),但在PC中文视窗系统下,由于编码方式不同,此提示符号常会消失不见,但这并不会影响到MATLAB的运算结果。我们也可将上述运算式的结果设定给另一个变数xX=(5*2+1.3-0.8)*10^2/25X=423.2.2常用的数学函数abs(x):纯量的绝对值或向量的长度angle(z):复数z的相角(Phaseangle)sqrt(x):开平方round(x):四舍五入至最近整数fix(x):无论正负,舍去小数至最近整数rat(x):将实数x化为分数表不rats(x):将实数x化为多项分数展开floor(x):地板函数,即舍去正小数至最近整数sign(x):符号函数(Signumfunction)ceil(x):天花板函数,即加入正小数至最近整数3.2.3MATLAB的绘图功能1、绘制二维图形的一般步骤(1)数据的准备:选定所要表现的范围产生自变量采样向量计算相应的函数值向量典型指令x=0:pi/100:2*Pi;(2)选定图形窗及其子同的位置:缺省时,打开figureNo.1当前窗,当前子图可用指令指定图形窗号和子图号典型指令:figure(1)%指定1号图形窗subplot(2,2,2)%指定2号子团调用(高层)绘图指令:线型、色彩、数据点形典型指令:plot(x,y,'-ro')%用红色实线画曲线,其数据点类型为o设置轴的范围与刻度、坐标分格线典型指令:axis([o,inf,-1,1])%设置坐标轴的范围gridon%画坐标分格线图形注释,包括图名、坐标名、图例、文字说明等典型指令:title(‘专家系统’)%图名xlabel(‘’);ylabel('y')%轴名legend('sinx','cosx')%图例terct(2,1,'y-ajax')%文字说明(6)打印图形窗上的直接打印选项或按键,利用图形后处理软件打印,采用图形窗选项或按键打印最简捷。步骤1,3是最基本的绘同步骤。至于其他步骤,并不完全必须。2、三维图形的绘制绘制三维曲线最常用的函数是plot3,它的一般格式为plot3(x,y,z),MATLAB除了能够绘制曲线图形外,还能够绘制网格图形和曲面图[6]。3.3MATLAB在数字信号处理中的应用\t"C:/Users/Administrator/50222133622016345_XX_%E5%9F%BA%E4%BA%8EGUI%E7%9A%84%E6%95%B0%E5%AD%97%E4%BF%A1%E5%8F%B7%E5%A4%84%E7%90%86%E5%AE%9E%E9%AA%8C%E5%B9%B3%E5%8F%B0%E7%9A%84%E5%BC%80%E5%8F%91/PaperPass-%E4%B8%93%E4%B8%9A%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"目前,MATLAB在数字信号处理的仿真实验中用于数字信号处理仿真实验平台的设计已经十分普遍,\t"C:/Users/Administrator/50222133622016345_XX_%E5%9F%BA%E4%BA%8EGUI%E7%9A%84%E6%95%B0%E5%AD%97%E4%BF%A1%E5%8F%B7%E5%A4%84%E7%90%86%E5%AE%9E%E9%AA%8C%E5%B9%B3%E5%8F%B0%E7%9A%84%E5%BC%80%E5%8F%91/PaperPass-%E4%B8%93%E4%B8%9A%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"很多实验在真正在实验室操作之前,一般先进行仿真,而MATLAB为此提供了十分便利的条件。在科学研究中,实验是必不可少的,但是实验室的造价高昂,但是大量的科学验证都必须得进行实验,所以,人们就在计算机上设计出了相关的仿真软件,用于在计算机上模拟出实验环境,MATLAB就是一款这样的软件,使用MATLAB来进行实验仿真就可以达到类似于在实验室进行实验的效果。数字信号处理实验使用MATLAB来进行仿真,可以让实验变得更加容易,由于MATLAB的仿真的效果良好,能够推动科学技术的发展。\t"C:/Users/Administrator/50222133622016345_XX_%E5%9F%BA%E4%BA%8EGUI%E7%9A%84%E6%95%B0%E5%AD%97%E4%BF%A1%E5%8F%B7%E5%A4%84%E7%90%86%E5%AE%9E%E9%AA%8C%E5%B9%B3%E5%8F%B0%E7%9A%84%E5%BC%80%E5%8F%91/PaperPass-%E4%B8%93%E4%B8%9A%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"MATLAB仿真平台能够使得实验能在计算机软件上进行模拟仿真,使实验变得更加容易和普及化,能极大的推动科学的进步。[7]4MATLABGUI的数字信号处理仿真平台的设计和实现4.1GUI界面设计基础知识GUIDE全称为GraphicalUserInterfaceDevelopmentEnvironment,即MATALB图形用户接口开发环境。它提供了一系列工具用于建立GUI界面的方法。GUI工具栏、GUI布局区、GUI对象选择区,以及状态栏为其组成主要的四大部分。在MATLAB中,创建并设计GUI界面的主要有二种方法:使用.m文件直接动态添加控件;使用GUIDE快速的生成GUI界面。显然第二种可视化编辑方法算更适合写大型程序。分别为使用可视化的界面环境可直接通过编写程序。本设计主要采用前者的设计方法[10]4.2GUI界面设计基本步骤使用可视化的界面环境来实现GUI界面的设计,首先设计整个演示系统的主界面、功能选择界面和子界面。2、其次分别编写各个子界面中各个控件对象(object)的回调函数,来实现直接通过操作界面上各个控件,就可以方便地对《数字信号处理》中重要内容的仿真及仿真图形进行读取和分析的目的。3、然后编写功能选择界面的回调函数,将各个模块的子界面整合在信号与系统演示系统的功能选择界面中,实现操作功能选择界面的各个空间就可以进入任何一个子模块界面进行实例仿真的功能。4、最后编写实验演示系统主界面的回调函数,实现从主界面直接切换进入功能选择界面的功能[11]。图6用GUI设计的界面4.3数字切比雪夫滤波器4.3.1切比雪夫滤波器的基本知识切比雪夫滤波器在通带内的幅度响应是等波纹的,而在阻带内是单调下降的;或者在通带内是单调下降的,而在阻带内是等波纹的。切比雪夫滤波器的幅度平方函数为(4.1)式中,ε称为纹波参数,它与通带内幅度响应的纹波有关;Ωc为有效通带截止频率,N是滤波器的阶数。切比雪夫滤波器是由ε、Ωc和N共3个参数确定。4.3.2切比雪夫滤波器的设计步骤(1)根据滤波器的指标确定参数ε、Ωc和N。(2)计算常量α、a和b,并求出极点Sk。(3)由s平面左半平面的极点构成传递函加Ha(s)。(4)利用冲激响应不变法或双线性变换法将Ha(s)转换成H(z)。4.3.3\t"C:/Users/Administrator/50222133622016345_XX_%E5%9F%BA%E4%BA%8EGUI%E7%9A%84%E6%95%B0%E5%AD%97%E4%BF%A1%E5%8F%B7%E5%A4%84%E7%90%86%E5%AE%9E%E9%AA%8C%E5%B9%B3%E5%8F%B0%E7%9A%84%E5%BC%80%E5%8F%91/PaperPass-%E4%B8%93%E4%B8%9A%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"数字滤波器的典型的分析和设计方法频域:1)幅频特性,相位特性,群延迟特性。2)舍入噪声,也就是常说的平均噪声功率和噪声谱。时域:1)冲激和响应,还有对其他输入的时间响应。2)极限环。分析这些特性的方法主要有:a.节点方程式。b.混合方程式。c.状态方程式。d.传输函数。分析输入输出之间的关系可知,a~d逐渐增多,则从d的传递函数可以知道频域和时域的输入输出之间的关系特性。分析系统的结构可以知道,d~a依次不断增多,因此知道系统结构就知道节点方程式,从节点方式式也能推出系统结构,这两者是相通的。但我们这里只讨论传递函数。4.4高通滤波器4.4.1高通滤波器的工作原理去掉信号中不必要的低频成分,去掉低频干扰的滤波器;在电力系统中,谐波补偿时用高通滤波器滤除某次及其以上的各次谐波。高通滤波器是指车载功放中能够让中、高频信号通过而不让低频信号通过的电路,其作用是滤去音频信号中的低音成分,增强中音和高音成分以驱动扬声器的中音和高音单元。此外高通滤波器常常和低通滤波器成对出现,不论哪一种,都是为了把一定的声音频率送到指定的单元。4.4.2基于MATLAB的数字信号处理虚拟实验仿真平台主界面(1)用MATLAB进行关于FIR的仿真编程,利用MATLAB的GUI功能来设计仿真平台的主界面如图4.1所示:图4.1数字信号处理的仿真设计主界面从这个界面我们就可以清晰的看到整个仿真平台的构建,以及具体各部分的功能。(2)原始数据及输入数据运行程序后生成的波形如下图4.2:%这个程序用于产生外部测试信号并用于让GUI界面去读取这个保存的外部数据clearclc%采样率Fs;Fs=600;%时间序列t=0: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');图4.2导入数据后的DFT图这部分的上图是读取MATLAB额外产生的外部信号,显示出时域波形,下图是对读取的这个信号进行傅里叶变换求出频谱并画出频谱图。可见在几个频率点上都有冲击,这就说明了产生的外部信号就是这几个频谱的叠加。上图的采样频率Fs=600。(3)生成所设置滤波器如图4.3:图4.3生成所设置的滤波器图这个部分是根据输入的滤波器参数生成的频谱响应和相位特性图,因为所设置的带通滤波器的截至频率是100~170之间,所以产生的幅频特性的通带范围也是在100~170之间,从相频响应看100~170刚好是-3dB衰减的位置,由上图可清晰的看出来。(4)滤波后如图4.4:图4.4滤波后的图这部分的功能就是滤波器把原来的多频率信号进行滤波,从下图频谱图可以看出滤波后只剩下通带内的频率分量了,对应上图的时域就是那个频率单一的正弦信号。(5)运行程序后整个仿真平台如图4.5:图4.5导入数据后的整个仿真界面这个界面的整体就是贯穿信号处理过程的全部仿真,包括信号的产生,滤波器的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理管理学课件及答案
- 肺结节手术患者的术前教育及术后指导
- 审计案例公布制度
- 审计局信息化建设制度
- 交易风控制度
- 对下属基层审计制度
- 加工厂财务规章制度
- 审计署机关档案管理制度
- 套保风控制度
- 客户回款绩效考核制度
- 2026河北衡水恒通热力有限责任公司招聘28人笔试备考试题及答案解析
- 2026届甘肃省兰州市下学期高三一模物理试题(含答案)
- 1.3“开元盛世”与唐朝经济的繁荣 课件(内嵌视频) 2025-2026学年统编版七年级历史下册
- 初中英语语法填空专项练习含答案解析
- 2026年人教版三年级下册数学全册教学设计(春改版教材)
- 华为班组长培训课件
- 电力线路巡检报告模板
- 劳务合同2026年合同协议
- 2025年四川省拟任县处级领导干部任职资格试题及参考答案
- 鼾症科普宣传课件
- 中国特发性颅内压增高诊断与治疗专家共识(新版)课件
评论
0/150
提交评论