基于matlabGUI的IIR低通数字滤波器设计_第1页
基于matlabGUI的IIR低通数字滤波器设计_第2页
基于matlabGUI的IIR低通数字滤波器设计_第3页
基于matlabGUI的IIR低通数字滤波器设计_第4页
基于matlabGUI的IIR低通数字滤波器设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

DSP 课程设计报告题目基于 matlab GUI 的 IIR 低通数字滤波器设计学 院 信息工程学院 专 业 通信工程 姓 名 学 号 指导教师 完成时间 2015 年 1 月 7 日 目录1.设计的主要内容及基本要求 .12. 总体设计思路 .13设计方案 .13.1 原始语音信号加噪处理 .13.2 滤波器设计 .23.2.1 数字滤波器的基本知识 .23.2.2 数字滤波器的选取 .33.3 滤除噪声后的语音信号 .34.GUI 设计 .44.1 GUI 界面设计概述 .44.2 GUI 界面设计具体操作 .44.3GUI 界面演示 .45.课程设计总结 .6参考文献 .6附录 .711.设计的主要内容及基本要求要求录制一段自己的语音信号后,对所采集的语音信号加入干扰噪声,设计相应的数字滤波器滤除噪声并进行验证,最后设计 GUI 界面。2. 总体设计思路1.获取一段语音。2.对所获取的语音信号进行加噪处理。3.设计数字滤波器。4.将加噪后的信号通过所设计的滤波器,滤除噪声。5.验证滤除噪声后的语音信号。6.利用 matlab GUI 设计模板设计相应的 GUI 界面。3设计方案3.1 原始语音信号加噪处理fs=44100; Au=1;s=audioread(C:UsersASUSDesktopyinpin.wav);sound(s,44100);t=(0:length(s)-1)/fs;f=linspace(-fs/2,fs/2,length(s);n=(Au*cos(2*pi*20000*t);x=s+n;sound(x,44100);y1=fft(s);y2=fft(x);y3=fftshift(y1);y4=fftshift(y2);subplot(221);plot(t,s);title(原语音信号);subplot(222);plot(t,x);title(加噪后的语音信号 );subplot(223);plot(f,abs(y3);title(原始语音信号频谱);subplot(224);plot(f,abs(y4);title(加噪后的信号频谱);20 2 4 6 8 10 12 14-1-0.500.51 低低低低低0 2 4 6 8 10 12 14-2-1012 低低低低低低低低-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5x 104050100150200250 低低低低低低低低-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5x 10400.511.52x 105 低低低低低低低低3.2 滤波器设计3.2.1 数字滤波器的基本知识数字滤波器分为 FIR 数字滤波器和 IIR 数字滤波器两种,即有限冲激响应滤波器(FIR ,Finite Impulse Response)滤波器和无线冲激响应( IIR,Infinite Impulse Response)滤波器。(一) FIR 数字滤波器 FIR 的特点: nNnzhzH10)()(不存在极点(z=0 除外) ,系统函数| z0|处收敛。系统单位冲激响应在有限个 n 值处不为零。结构上主要是非递归结构,没有输出到输入的反馈。故只能用较高的阶数达到高的选择性。FIR数字滤波器的幅频特性精度较之于 IIR 数字滤波器低,但是线性相位即不同频率分量的信号经过FIR 数字滤波器后他们的时间差不变。FIR 数字滤波器具有系统稳定,易实现相位控制,允许设计多带通滤波器等优点。FIR 数字滤波器的结构有四种:横截性;级联型结构;频率采样型结构;线性相位 FIR 滤波器的结构(二)IIR 数字滤波器IIR 数字滤波器的特点:电位冲激响应 h(n)是无限长的;系统函数 H(z)在有限 z 平面上(0 |z|)有极点存在;结构上存在着输出到输入的反馈,也就是结构上是递归型的。IIR 滤波器运算结构通常由延时、乘以系数和相加等基本运算组成。有限阶 IIR 的表达式: 3)()(01 knxbknyayMNk NkkzazXYH10)(IIR 数字滤波器的结构也有四种:直接 I 型;直接 II 型典范型;级联型;并联型。3.2.2 数字滤波器的选取由原始语音信号的频谱图可以看出,语音信号的能量集中在低频部分,所以根据滤波器的特性和功能,所选择的滤波器应该具有滤除无用的高频成分的作用,所以可以选用低通滤波器。又由于 IIR 数字滤波器的输出不但取决于过去和现在的输入,还取决于过去的输出,所以,选择IIR 数字滤波器比选择 FIR 数字滤波器要好。所设计的 IIR 切比雪夫数字低通滤波器如下:T=1;Fs=1/T;Ap=1;As=10;Wp=0.55*pi/T;Ws=0.6*pi/T;wp=(2/T)*tan(Wp/2);ws=(2/T)*tan(Ws/2);N,wc=cheb1ord(wp,ws,Ap,As,s);B,A=cheby1(N,Ap,wc,s);Bz,Az=bilinear(B,A,Fs);H,W=freqz(Bz,Az,512,fs);3.3 滤除噪声后的语音信号将加噪后的语音信号通过所设计的低通数字滤波器:r=filter(Bz,Az,x);并播放语音,听其效果。0 1 2 3x 10400.511.5 低低低低低0 5 10 15-1-0.500.51低低低低低低低低低低低-4 -2 0 2 4x 1040100020003000 低低低低低-4 -2 0 2 4x 1040100020003000 低低低低低低低低4由滤除噪声后的语音信号的频谱图可以看出,噪音已被滤除,试听可知,原始语音信号基本没有丢失。4.GUI 设计4.1 GUI 界面设计概述GUI 设计面板是 GUI 设计工具应用的平面,面板上部提供了菜单和常用工具按钮,左边提供了多种如命令按钮、单选按钮、可编辑文本框、静态文本框、弹出式菜单等。进行设计时, 首先单击面板左边所需的控件, 然后在右边的图形界面编辑区中再次单击某一恰当位置, 这时将在该位上为图形界面添加相应的控件。一个图形界面的完成, 除了设计其外观外, 还有相当的一部分是通过属性的设来完成的。应用 MATLAB 制作这样一个过程是非常方便的, 我们可以通过 GUI 操作来看到。该环境下要设计一个界面友好的仿真软件,一般应完成以下两个步骤:(1)GUI 界面设计。主要是通过不同的文本框、按钮等许多工具的使用,设计出一个图形用户界面。要清楚这个图形界面的功能是什么,即在图形界面上的操作会引发什么样的结果。(2)回调函数的设计。用户应根据设计好的图形界面的功能,针对各个不同的图形对象来编写出能够实现该功能的函数代码,确保这个图形界面能够完成所预定的功能。4.2 GUI 界面设计具体操作在 matlab 命令行窗口中输入 guide 或点击 matlab 界面上面的菜单中的 图标,打开 gui设计的图形界面。然后拖入所要的图形控件,按需要修改外观和空间属性,直至满足要求。设置属性点击 guide 界面上方的 Run 按钮,会生成一个 fig 文件,一个 m 文件,其中 fig 文件就是界面的图形,m 文件是界面的回调函数,在 m 文件里每个控件的回调函数都已经自动生成,控件要做的工作就是在文件框架下定义某些特殊要求的状态并补充完整回调函数场, 使单击控件时激活回调程序完成一定的功能。4.3GUI 界面演示51.初始界面2.输入相应参数并点击相应控件后界面65.课程设计总结这次的课程设计,让我对数字信号处理有了更深的认识,对 Matlab 能更熟练地应用,对matlab GUI 有了更多的了解。对于 GUI 在数字信号处理中的应用中,数字信号处理这门学科的知识是基础,要掌握数字信号处理的相关知识的原理后,并用代码来实现,才能很好地结合MATLAB 进行 GUI 编程。参考文献1陈后金数字信号处理第二版北京:高等教育出版社,2008.112刘卫国MATLAB 程序设计与应用第二版北京:高等教育出版社,2006.77附录%GUI 源程序function varargout = gui_lmj(varargin)% GUI_LMJ MATLAB code for gui_lmj.fig% GUI_LMJ, by itself, creates a new GUI_LMJ or raises the existing% singleton*.% H = GUI_LMJ returns the handle to a new GUI_LMJ or the handle to% the existing singleton*.% GUI_LMJ(CALLBACK,hObject,eventData,handles,.) calls the local% function named CALLBACK in GUI_LMJ.M with the given input arguments.% GUI_LMJ(Property,Value,.) creates a new GUI_LMJ or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before gui_lmj_OpeningFcn gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to gui_lmj_OpeningFcn via varargin.% *See GUI Options on GUIDEs Tools menu. Choose “GUI allows only one% instance to run (singleton)“.% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help gui_lmj% Last Modified by GUIDE v2.5 07-Jan-2015 10:29:29% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct(gui_Name, mfilename, .gui_Singleton, gui_Singleton, .gui_OpeningFcn, gui_lmj_OpeningFcn, .gui_OutputFcn, gui_lmj_OutputFcn, .gui_LayoutFcn, , .gui_Callback, );if nargin endif nargoutvarargout1:nargout = gui_mainfcn(gui_State, varargin:);else8gui_mainfcn(gui_State, varargin:);end% End initialization code - DO NOT EDIT% - Executes just before gui_lmj is made visible.function gui_lmj_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to gui_lmj (see VARARGIN)% Choose default command line output for gui_lmjhandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes gui_lmj wait for user response (see UIRESUME)% uiwait(handles.figure1);% - Outputs from this function are returned to the command line.function varargout = gui_lmj_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure%

温馨提示

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

评论

0/150

提交评论