版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录1 引言 . 12理论基础及系统要求 . 2 2.1设计内容 . 2 2.2课程设计基本要求 . 22.3 系统基本原理 . 24.3 滤波器的主要技术指标 . 105.3 滤波器对合成信号的处理 . 206结论 . 27 7参考文献 . 28 附录一 源程序 . 29 附录二 波形图 . 391 引言数字滤波是数字信号处理的重要基础, 数字信号处理主要是研究用数字或符号 的序列来表示信号波形,并用数字的方式去处理这些序列,把它们改变成在某种意 义上更希望的形式,以便估计信号的特征参量,或削弱信号中的多余分量和增强信 号中的有用分量。数字滤波器在对信号的过滤、检测与参数估计等处理过程中,
2、是 使用最为广泛的一种线性系统。数字滤波器(Digital Filter ,简称为 DF 是指完成信号滤波处理功能的、用有 限精度算法实现的离散时间线性非时变系统。数字滤波器的数学运算通常有两种实 现方式。 一种是频域法, 即利用 FFT 快速运算办法对输入信号进行离散傅立叶变换, 分析其频谱,然后根据希望的频率特性进行滤波,再利用傅立叶反变换恢复出时域 信号。这种方法具有较好的频域选择特性和灵活性,并且由于信号频率与所希望的 频谱特性是简单的相乘关系,所以它比计算等价的时域卷积要快得多。另一种方法 是时域法,这种方法是通过对离散抽样数据作差分数学运算来达到滤波目的的。 数字滤波器的输入是一组
3、(由模拟信号取样和量化的数字量,其输出是经过 数字变换的另一组数字量。数字滤波器具有稳定性高、精度高、灵活性大等突出优 点。随着数字技术的发展,用数字技术实现滤波器的功能愈来愈受到人们的重视, 并得到了广泛的应用。数字信号处理学科的一项重大进展是关于数字滤波器设计方法的研究。 60年代 中期,开始形成关于数字滤波器的一套完整的正规理论。这一时期,提出了各种各 样的数字滤波器结构,有的以运算误差最小为特点,有的则以运算速度高见长;出 现了数字滤波器的各种逼近方法和实现方法,对递归和非递归两类滤波器作了全面 的比较;统一了数字滤波器的基本概念和理论,对有限冲激响应(IIR 和无限冲激 响应(FIR
4、 的认识有了完整理论。 70年代后,科学技术蓬勃发展,数字信号处理 开始与大规模和超大规模集成电路技术、微处理技术等新工艺新技术结合起来,并 引进计算机辅助设计方法,大大丰富了数字滤波器的分析与设计,各种新的数字信 号处理系统,也都能用专用数字硬件实时加以实现。相信在未来,随着电子仪器与 电子技术应用系统朝着数字化、小型化、自动化以及多功能化等方向发展,包括数 字滤波器在内的数字信号处理技术会有以惊人的速度进行飞跃式发展。实验内容采用 MATLAB 编程实现 , 不仅易于语音信号处理的实现 , 更易引导学生 完成实验延伸的设计。其中离散信号是通过 PC 自带的录音机录制一段 wav 语音信 号
5、,用 Matlab 采样得到离散序列 x1。如果有能力可以选做系统人机对话界面。用 GUI 界面完成人机交互方便使用的。2理论基础及系统要求2.1设计内容所设计的数字滤波器应完成以下功能:(1设计低通、带通、高通数字滤波器。(2可以对合成信号(含低频、中频、高频分量 、语音信号进行滤波。(3通过 GUI 界面进行控制。2.2课程设计基本要求1. 根据题目要求进行数字滤波器总体设计。2. 完成数字滤波器具体设计。(1输入信号的选定。 (2确定设计方法、设计指标。3. 滤波器程序的设计。(1完整源程序。 (2运行结果图。4. 书写设计说明书。2.3 系统基本原理语音采集原理是:人耳能听到的声音是一
6、种频率范围为 30Hz-3400Hz ,而一般 语音频率最高为 3.4kHz. 语音的采集是指语音声波信号经麦克风和高频放大器转换 成有一定幅度的模拟量电信号,然后再转换成数字量的全过程 .合成信号由三个正弦波相加而成,首先利用 MATLAB 分别产生低频中频高频 信号,然后进行叠加得到连续时间信号;对所产生的连续时间信号进行采样,得到 数字信号;对信号进行 FFT 频谱分析,绘制其频谱图;根据信号频谱分析的结果, 分别设计高通,低通,带通滤波器,得到滤波器的幅频及相频特性语音信号进行数字化处理的原理是:为了增加语音存储时间,提高存储器的利 用率,采用了非失真压缩算法对语音信号进行压缩后再存储
7、,而在回放是再进行解 压缩;同时,对输入语音信号进行数字滤波以抑制杂音和干扰,从而确保了语音回 放的可靠质量 .通过设计一个 GUI 实验箱, 并添加相应的控制控件, 添加一个声音文件, 通过 MATLAB 编程, 使其通过各种按钮实现语音信号处理的各种功能, 最后做成一个完 整的语音信号处理实验箱。3软件介绍3.1 MATLAB 7.0介绍1.MATLAB 是一个可视化的计算程序, 被广泛地使用于从个人计算机到超级计 算机范围内的各种计算机上。2.MATLAB 包括命令控制、可编程,有上百个预先定义好的命令和函数。这些 函数能通过用户自定义函数进一步扩展。3.MATLAB 有许多强有力的命令
8、。例如, MATLAB 能够用一个单一的命令求 解线性系统,能完成大量的高级矩阵处理。4.MATLAB 有强有力的二维、三维图形工具。 MATLAB 能与其他程序一起使 用。例如, MATLAB 的图形功能,可以在一个 FORT RAN程序中完成可视化计算。5. 有 2 5个不同的 MATLAB 工具箱可应用于特殊的应用领域。6.MATLABB 在以下的领域里解决各种问题是一个十分有效的工具 .(1数学教学,特别是线性代数。所有基本概念都能涉及。(2在数值分析和科学计算方面的教学,能够详细地研究和比较各种算法。(3 在诸如电子学、 控制理论和物理学等工程和科学学科方面的教学与研究。(4在诸如经
9、济学、化学和生物学等有计算问题的所有其他领域中的研究。(5在 MATLAB 中创建的组是矩阵, MATLAB 的名字取自矩阵实验室 ( M ATrix LABoratory。1.MATLAB 7.0为用户提供了友好的用户界面,其主要包括:菜单栏、工具栏、 开始按钮和众多交互性强的工作窗口, 让用户可以便捷地进行操作。 运行 MATLAB 7.0,之后首先会出现以下窗口,如图 3-1所示。 图 3-1 MATLAB 运行窗口随即出现 MATLAB 7.0的用户界面,如图所示, MATLAB 7.0默认显示的用户界面主要包括菜单栏、工具栏、当前工作目录以及 Workspace (工作空间窗口、 C
10、ommand Windows(命令窗口和 Command History(历史命令窗口。2. 菜单栏MATLAB 7.0的菜单栏的与常见的 Windows 窗口有类似的结构。如图 3-2所示,其包含的子菜单及各自菜单的功能如下。File :建立、打开、保存和打印文件;导入数据;设置路径和工作环境。 Edit :复制、粘贴和删除等常见文档操作。Debug :程序调试。Desktop :设置工作界面需要显示的窗口。Window :显示当前所有打开的窗口。Help :选择不同的帮助系统。 图 3-2 MATLAB 菜单栏3. 命令窗口命令窗口是 MATLAB 中最重要的窗口, 也是用户进行 MATL
11、AB 操作使用最为频繁 的窗口,在命令窗口中,用户可以输入各种指令、函数和表达式等,并显示除图形 外的一切运行结果。命令窗口默认在用户界面右侧显示,用户可以单击命令窗口右上角的箭头按 钮,使命令窗口脱离主界面独立显示。自 MATLAB 7.0版本之后,当 MATLAB 启动时,命令窗口中都会显示“To get started, select MATLAB Help or Demos from the help menu.”字样,提示用户 开始使用 MATLAB 之前,可以参考帮助系统和演示文档,并在之后显示运行提示符 “”,如图 3-3所示。图 3-3 命令窗口在 MATLAB 命令窗口 单击
12、菜单栏的 “Help” ,即可进入 “ 帮助窗口 ” 。 例如, help lqscurvefit , 显示:lqscurvefit 解决什么问题, 功能等; help 函数子目录标题 , 显示某一类的所有函数或命令。如下图 3-4所示: 图 3-4 帮助窗口3.2 系统界面设计工具 GUIMATLAB 图 形 用 户 界 面 开 发 环 境 (Graphical User Interface development environment, GUIDE 提供了一系列创建用户图形界面 (GUI的工具。图形用户界 面(graphical user interfaces , GUI 是由窗口、光标
13、、按键、菜单、文字说明等 对象(objects 构成的一个用户界面。用户通过一定的方法(如鼠标或键盘选 择、 激活这些图形对象, 使计算机产生某种动作或变化, 比如实现计算、 绘图等。 这些工具极大的简化了 GUI 设计和生成的过程。 可以用 GUIDE 完成下面的任务:(1输出 GUI :使用 GUIDE 输出编辑器,通过单击和拖拉组件创建 GUI 。(2GUI编程:GUIDE 自动生成一个控制 GUI 如何操作的 M 文件。该 M 文 件初始化 GUI 界面并包含一个 GUI 回调事件的框架。使用 M 文件编辑器,可以 向回调事件中添加代码,运行相关函数。作为强大的科学计算软件, MATL
14、AB 也提供了图形用户界面的设计与开发 功能。 MATLAB 中的基本图形用户界面对象分为 3类:用户界面控件对象 (uicontrol、下拉式菜单对象 (uimenu和内容式菜单对象 (uicontexmenu。其中, uicontrol 对象能建立按钮、列表框、编辑框等图形用户界面对象, uimenu 能建立 下拉式菜单和子菜单等图形用户界面对象, uicontexmenu 能建立内容式菜单用户 界面对象 (类似于 Visual C+等程序设计软件中的弹出式菜单 。利用上述对象, 进行周密的组织、设计,就可以设计出一个界面良好、操作简单、功能强大的图 形用户界面。首先我们新建一个 GUI
15、文件:File/New/GUI,选择 Blank GUI(Default。 如 下图 3-5所示: 图 3-5 GUI创建界面其次,进入 GUI 开发环境以后添加两个编辑文本框, 6个静态文本框,和一个 按钮,布置如下图 3-6所示:图 3-6 GUI开发环境布置好各控件以后,我们可以来为这些控件编写程序来实现两数相加的功能。 如下图 3-7所示: 图 3-7系统运行界面 4 滤波器简介从广义上讲,任何对某些频率(相对于其他频率来说进行修正的系统称为滤 波器。严格地讲,对输入信号通过一定的处理得到输出信号,这个处理通常是提取 信号中某频率范围内的信号成分,把这种处理的过程称为滤波。实现滤波处理
16、的运 算电路或设备称为滤波器。在许多科学技术领域中,广泛应用线性滤波和频谱分析对信号进行加工处理, 模拟滤波是处理连续信号,数字滤波则是处理离散信号,而后者是在前者的基础上 发展起来的。我们知道,无源或有源模拟滤波器是分立元件构成的线性网络,他们 的性能可以用线性微分方程来描述,而数字滤波器是个离散线性系统,要用差分方 程来描述,并以离散变换方法来分析。这些方程组可以用专用的或通用的数字计算 机进行数字运算来实现。因此,数字滤波器的滤波过程是一个计算过程,它将输入 信号的序列数字按照预定的要求转换成输出数列。4.1 滤波器的工作原理我们知道,模拟滤波器是对模拟信号实行线性滤波的一种线性时不变系
17、统,如 图 4-1所示。在时域内,它的动态特性可以用系统的单位冲激函数的响应 (t h a 来描 述,也就是该滤波系统在任何时刻对输入单位冲激信号 (t x a =(t 的输出响应(t h t y a a =。这个函数从时域上反映了该滤波系统的传输特性。对于任意输入信号 (t x a ,系统的输出 (t y a 可以卷积表示:(d t x h t y a a a -=-=(-d t h x a a上式表明在对线性滤波器系统进行时域分析时,采用了叠加原理,先将任意输 入信号波形分成不同时间的窄脉冲之和, 再分别求出各个脉冲通过滤波器之后的响 应,并进行线性叠加从而得到总的输出信号。 图 4-1模
18、拟滤波器原理在频域分析时,线性滤波器的转移函数 (S H a 等于系统的单位冲激函数的响应(t h a 的拉普拉斯变换:( -dt e h H stt a很明显,当 s=j,上式就是傅立叶变换的表达式,它反映了滤波器的传输特性(ts对各种频率的响应,也就是滤波器的频率响应函数 (j H a ,它决定着滤波特性。 当滤波器输入信号 (t x a 与输出信号 (t y a 的拉普拉斯变换,得(s X s H s Y a a a =这表明两信号卷积的变换等于各自变换的乘积。在频谱关系上,一个输入信号 的频谱 (j a X ,经过滤波器的作用后,被变换成 (j X j H a a 的频谱。因此,根 据
19、不同的滤波要求来选定 (j H a ,就可以得到不同类型的模拟滤波器。还可以看 出, 滤波器的滤波过程就是完成信号 (t x a 与它的单位冲激函数响应 (t h a 之间的数学 卷积运算过程。在数字滤波中, 我们主要讨论离散时间序列。 如图 4-2所示。 设输入序列为 (n x , 离散或数字滤波器对单位抽样序列 (n 的响应为 (n h 。因 (n 在时域离散信号和系 统中所起的作用相当于单位冲激函数在时域连续信号和系统中所起的作用。 图 4-2 数字滤波器原理数字滤波器的序列 (n y 将是这两个序列的离散卷积,即(=-=k k n x k h n y同样,两个序列卷积的 z 变换等于个
20、自 z 变换的乘积,即(z X z H z Y = 用 T j e z =代入上式,其中 T 为抽样周期,则得到(T j T j T j e X e H e Y =式中 (Tj e X 和 (Tj e Y 分别为数字滤波器输入序列和输出序列的频谱,而 (T j e H 为单位抽样序列响应 (n h 的频谱。由此可见,输入序列的频谱 (Tj e X 经过 滤波后,变为 (T j T j e X e H ,按照 (Tj e X 的特点和我们处理信号的目的,选取 适当的 (T j e H 使的滤波后的 (Tj T j e X e H 符合我们的要求。4.2 模拟滤波器与数字滤波器的基本特性如利用模拟
21、电路直接对模拟信号进行处理则构成模拟滤波器, 它是一个连续时 间系统。如果利用离散时间系统对数字信号(时间离散、幅度量化的信号进行滤 波则构成数字滤波器。数字滤波器的差分方程表示为:=-+-=Ni Mk k k k n x a i n y b n y 10( ( (系统函数表示 :=-=-=Ni i i Mk k k zb za z X z Y z H 101( ( ( 数字滤波器的特性通常用其频率响应函数 (j e H 来描述, 包括幅度特性 (j e H 和相位特性 (arg(j e H 。按信号通过系统时的特性(主要是幅频特性来分类:可以有低通、高通、带 通和带阻四种基本类型。(1低通数
22、字滤波器如图 4-3所示:=c cj je H e H 0 ( ( 图 4-3 低通数字滤波器的频谱(2高通数字滤波器如图 4-4所示:=22100|, ( (1j je H e H 图 4-6 带阻数字滤波器的频谱 4.3 滤波器的主要技术指标滤波器的主要技术指标取决于具体的应用或相互间的相互关系。具体的有最大 通带增益(即通带允许起伏 ;最大阻带增益 ;通带截止频率 p ;阻带截止频 率 s 。如图 4-7所示: dB dBp s图 4-7 滤波器的主要技术指标5 课程设计的具体实现5.1设计 IIR 数字滤波器IIR 滤波器设计方法有间接法和直接法,间接法是借助于模拟滤波器的设计方 法进
23、行的。其设计步骤是:先设计过渡模拟滤波器得到系统函数 H (s ,然后将 H (s 按某种方法转换成数字滤波器的系统函数 H(z。 FIR 滤波器比鞥采用间接法, 常用的方法有窗函数法、频率采样发和切比雪夫等波纹逼近法。对于线性相位滤波 器,经常采用 FIR 滤波器。对于数字高通、带通滤波器的设计,通用方法为双线性变换法。可以借助于 模拟滤波器的频率转换设计一个所需类型的过渡模拟滤波器,再经过双线性变换将 其转换策划那个所需的数字滤波器。具体设计步骤如下:(1需类型数字滤波器的技术指标。(2需类型数字滤波器的边界频率转换成相应的模拟滤波器的边界频率, 转换公 式为 =2/T tan(0.5(3
24、将相应类型的模拟滤波器技术指标转换成模拟低通滤波器技术指标。(4设计模拟低通滤波器。(5通过频率变换将模拟低通转换成相应类型的过渡模拟滤波器。(6采用双线性变换法将相应类型的过渡模拟滤波器转换成所需类型的数字滤 波器。我们知道,脉冲响应不变法的主要缺点是会产生频谱混叠现象,使数字滤波器 的频响偏离模拟滤波器的频响特性。为了克服之一缺点,可以采用双线性变换法。 下面我们总结一下利用模拟滤波器设计 IIR 数字低通滤波器的步骤:(1确定数字低通滤波器的技术指标:通带边界频率、通带最大衰减,阻带截止 频率、阻带最小衰减。(2将数字低通滤波器的技术指标转换成相应的模拟低通滤波器的技术指标。(3按照模拟
25、低通滤波器的技术指标设计及过渡模拟低通滤波器。(4用双线性变换法,模拟滤波器系统函数转换成数字低通滤波器系统函数。 接下来,我们根据语音信号的特点给出有关滤波器的技术指标:(1低通滤波器的性能指标:fp=1000Hz, fc=1200Hz, As=100db ,Ap=1dB(2高通滤波器的性能指标:fp=3500Hz, fc=4000Hz, As=100dB, Ap=1dB;(3带通滤波器的性能指标:fp1=1200Hz, fp2=3000hZ, fc1=1000Hz, fc2=3200Hz, As=100dB, Ap=1dB在 Matlab 中,利用函数 butter,cheby1和 ell
26、ip 设计 IIR 滤波器,利用 Matlab 中 的函数 freqz 画出各步步器的频率响应。MATLAB 信号处理工具箱函数 buttp buttor butter是巴特沃斯滤波器设计函数, 其有 5种调用格式,本课程设计中用到的是 N,wc=butter(N,wc,Rp,As,s, 该格式用 于计算巴特沃斯模拟滤波器的阶数 N 和 3dB 截止频率 wc 。MATLAB 信号处理工具箱函数 cheblap,cheblord 和 cheeby1是切比雪夫 I 型滤 波器设计函数。我们用到的是 cheeby1函数,其调用格式如下:B,A=cheby1(N,Rp,wpo,ftyprB,A=ch
27、eby1(N,Rp,wpo,ftypr,s函数 butter,cheby1和 ellip 设计 IIR 滤波器时都是默认的双线性变换法, 所以在 设计滤波器时只需要代入相应的实现函数即可。下面我们将给出 FIR 和 IIR 数字滤 波器的主要程序。(1IIR低通Ft=8000;Fp=1000;Fs=1200;As=100 ;Ap=1;wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;fp=2*Fp*tan(wp/2;fs=2*Fs*tan(ws/2;n11,wn11=buttord(wp,ws,1,50,s;b11,a11=butter(n11,wn11,s; %求 S 域的频率响应的参
28、数num11,den11=bilinear(b11,a11,0.5; %双线性变换实现 S 域到 Z 域的变换 h,w=freqz(num11,den11; %根据参数求出频率响应axes(handles.axes5;plot(w*8000*0.5/pi,abs(h;title(IIR低通滤波器 ;legend(用 butter 设计 ;设计的低通滤波器如下图 5-1所示: 图 5-1 IIR低通滤波器(2IIR带通 Ft=8000; Fp1=1200; Fp2=3000; Fs1=1000; Fs2=3200; As=100; Ap=1;wp1=tan(pi*Fp1/Ft; wp2=tan(
29、pi*Fp2/Ft; ws1=tan(pi*Fs1/Ft; ws2=tan(pi*Fs2/Ft; w=wp1*wp2/ws2; bw=wp2-wp1; wp=1;ws=(wp1*wp2-w.2/(bw*w;n12,wn12=buttord(wp,ws,1,50,s; b12,a12=butter(n12,wn12,s; num2,den2=lp2bp(b12,a12,sqrt(wp1*wp2,bw; num12,den12=bilinear(num2,den2,0.5; h,w=freqz(num12,den12; axes(handles.axes6; plot(w*8000*0.5/pi,
30、abs(h; axis(0 4000 0 1.5; title(IIR带通滤波器 ; legend(用 butter 设计; 设计的低通滤波器如下图 5-2所示:图 5-2 IIR带通滤波器(3IIR高通 Ft=8000; Fp=4000; Fs=3500;wp1=tan(pi*Fp/Ft; %高通到低通滤波器参数转换 ws1=tan(pi*Fs/Ft; wp=1;ws=wp1*wp/ws1;n13,wn13=cheb1ord(wp,ws,1,50,s; %求模拟的低通滤波器阶数和截止频率 b13,a13=cheby1(n13,1,wn13,s; %求 S 域的频率响应的参数 num,den=
31、lp2hp(b13,a13,wn13; %将 S 域低通参数转为高通的 num13,den13=bilinear(num,den,0.5; %利用双线性变换实现 S 域到 Z 域转换 h,w=freqz(num13,den13; axes(handles.axes7; plot(w*21000*0.5/pi,abs(h; title(IIR高通滤波器 ; legend(用 cheby1设计 ; 设计的低通滤波器如下图 5-3所示:图 5-3 IIR高通滤波器5.2 滤波器对语音信号的处理利用 MATLAB 中的 “wavread” 命令来读入(采集语音信号,将它赋值给某一 向量。再对其进行采样
32、,记住采样频率和采样点数。下面介绍 Wavread 函数几种调 用格式。(1y=wavread(file 功能说明:读取 file 所规定的 wav 文件,返回采样值放在向量 y 中。(2y,fs,nbits=wavread(file功能说明:采样值放在向量 y 中, fs 表示采样频率(hz , nbits 表示采样位数。 (3y=wavread(file , N 功能说明:读取钱 N 点的采样值放在向量 y 中。(4y=wavread(file , N1,N2功能说明:读取从 N1到 N2点的采样值放在向量 y 中。接下来,对语音信号 OriSound.wav 进行采样。其程序如下: y,
33、fs,nbits=wavered (OriSound; %把语音信号加载入 Matlab 仿真软件平台中 然后, 画出语音信号的时域波形, 再对语音信号进行频谱分析。 MATLAB 提供 了快速傅里叶变换算法 FFT 计算 DFT 的函数 fft, 其调用格式如下:Xk=fft(xn,N参数 xn 为被变换的时域序列向量, N 是 DFT 变换区间长度,当 N 大于 xn 的 长度时, fft 函数自动在 xn 后面补零。 ,当 N 小于 xn 的长度时, fft 函数计算 xn 的 前 N 个元素,忽略其后面的元素。在本次设计中,我们利用 fft 对语音信号进行快速傅里叶变换,就可以得到信
34、号的频谱特性。其程序如下:%语音信号波形y,fs,nbits=wavread (D:yinyued.wav ;sound(y,fs,nbits; %回放语音信号N= length (y ; %求出语音信号的长度Y=fft(y,N; %傅里叶变换axes(handles.axes1;plot(y;title(原始信号波形 ;% hObject handle to pushbutton4 (see GCBO% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handl
35、es and user data (see GUIDATA %语音信号频谱y,fs,nbits=wavread (D:yinyued.wav ;sound(y,fs,nbits; %回放语音信号N= length (y ; %求出语音信号的长度Y=fft(y,N; %傅里叶变换axes(handles.axes2;plot(abs(Y;title(原始信号频谱 程序结果如下图所示: 下面是滤波器对语音信号的处理的程序及结果。%低通语音滤波Ft=8000;Fp=1000;Fs=1200;As=100 ;Ap=1;wp=2*pi*Fp/Ft; ws=2*pi*Fs/Ft;fp=2*Fp*tan(w
36、p/2;fs=2*Fs*tan(ws/2;n11,wn11=buttord(wp,ws,1,50,s;b11,a11=butter(n11,wn11,s;num11,den11=bilinear(b11,a11,0.5;h,w=freqz(num11,den11;y,fs,nbits=wavread (D:yinyued.wav ;n = length (y ;s=y;S=fft(s;z11=filter(num11,den11,s;sound(z11;m11=fft(z11;axes(handles.axes9;plot(abs(S,g;title(滤波前信号的频谱 ;axes(handle
37、s.axes10;plot(abs(m11,r;title(滤波后信号的频谱 ;axes(handles.axes11;plot(s;title(滤波前信号的波形 ;axes(handles.axes12;plot(z11;title(滤波后的信号波形 ;程序结果如下图: 图 5-6 语音信号经低通滤波器后的频谱及波形 %带通语音滤波Ft=8000;Fp1=1200;Fp2=3000;Fs1=1000;Fs2=3200;As=100;Ap=1;wp1=tan(pi*Fp1/Ft;wp2=tan(pi*Fp2/Ft;ws1=tan(pi*Fs1/Ft;ws2=tan(pi*Fs2/Ft;w=wp
38、1*wp2/ws2;bw=wp2-wp1;wp=1;ws=(wp1*wp2-w.2/(bw*w;n12,wn12=buttord(wp,ws,1,50,s;b12,a12=butter(n12,wn12,s;num2,den2=lp2bp(b12,a12,sqrt(wp1*wp2,bw; num12,den12=bilinear(num2,den2,0.5;h,w=freqz(num12,den12;y,fs,nbits=wavread (D:yinyued.wav;n = length (y ;s=y;S=fft(s;z12=filter(num12,den12,s;sound(z12;m1
39、2=fft(z12;axes(handles.axes13;plot(abs(S,g;title(滤波前信号的频谱 ; axes(handles.axes14;plot(abs(m12,r;title(滤波后信号的频谱 ; axes(handles.axes15;plot(s;title(滤波前信号的波形 ;axes(handles.axes16;plot(z12;title(滤波后的信号波形 ;程序结果如下图 5-7: 图 5-7 语音信号经带通滤波器后的频谱及波形%高通语音滤波Ft=8000;Fp=4000;Fs=3500;wp1=tan(pi*Fp/Ft; %高通到低通滤波器参数转换ws
40、1=tan(pi*Fs/Ft;wp=1;ws=wp1*wp/ws1;n13,wn13=cheb1ord(wp,ws,1,50,s; %求模拟的低通滤波器阶数和截止频率 b13,a13=cheby1(n13,1,wn13,s; %求 S 域的频率响应的参数num,den=lp2hp(b13,a13,wn13; %将 S 域低通参数转为高通的num13,den13=bilinear(num,den,0.5; %利用双线性变换实现 S 域到 Z 域转换 h,w=freqz(num13,den13;y,fs,nbits=wavread (D:yinyued.wav;n = length (y ; %求
41、出语音信号的长度s=y;S=fft(s; %傅里叶变换z13=filter(num13,den13,s;sound(z13;m13=fft(z13; %求滤波后的信号 axes(handles.axes17;plot(abs(S,g;title(滤波前信号的频谱 ;axes(handles.axes18;plot(abs(m13,r;title(滤波后信号的频谱 ;axes(handles.axes19;plot(s;title(滤波前信号的波形 ;axes(handles.axes20;plot(z13;title(滤波后的信号波形 ;程序结果如下图: 图 5-8 语音信号经高通滤波器后的频
42、谱及波形 5.3 滤波器对合成信号的处理下面对合成信号进行讨论。%合成信号f1=20;f2=200;f3=500;t=(1:100/400;x1=sin(2*pi*t*f1; %绘制 x(t的图形 x2=sin(2*pi*t*f2;x3=sin(2*pi*t*f3;x=sin(2*pi*t*f1+sin(2*pi*t*f2+sin(2*pi*t*f3;axes(handles.axes3;plot(x;title(合成信号 ;%合成信号频谱f1=20;f2=200;f3=500;t=(1:100/400;x1=sin(2*pi*t*f1; %绘制 x(t的图形x2=sin(2*pi*t*f2;
43、x3=sin(2*pi*t*f3;x=sin(2*pi*t*f1+sin(2*pi*t*f2+sin(2*pi*t*f3;n=1:100;t=n/400X=fft(x,512;w=(0:255/256*1000;x=sin(2*pi*t*f1+sin(2*pi*t*f2+sin(2*pi*t*f3;axes(handles.axes4;plot(w,abs(X(1:256;xlabel(Hz;ylabel(频率响应幅度 ;title(合成信号频谱图 ;程序结果如下图 5-9所示: 图 5-9 合成信号的频谱及波形合成信号经过低通,高通,带通滤波器后的频谱,波形均发生了变化,其实质 就是将有高,
44、中,低频的频段分离开来。下面是源程序及运行的结果。%低通合成滤波f1=20;f2=200;f3=500;t=(1:100/400;x1=sin(2*pi*t*f1; %绘制 x(t的图形x2=sin(2*pi*t*f2;x3=sin(2*pi*t*f3;x=sin(2*pi*t*f1+sin(2*pi*t*f2+sin(2*pi*t*f3;n=1:100;t=n/400X=fft(x,512;w=(0:255/256*1000;x=sin(2*pi*t*f1+sin(2*pi*t*f2+sin(2*pi*t*f3; Ft=8000;Fp=1000;Fs=1200;As=100 ;Ap=1;wp
45、=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;fp=2*Fp*tan(wp/2;fs=2*Fs*tan(ws/2;n11,wn11=buttord(wp,ws,1,50,s;b11,a11=butter(n11,wn11,s;num11,den11=bilinear(b11,a11,0.5;h,w=freqz(num11,den11;z11=filter(num11,den11,x;m11=fft(z11;axes(handles.axes21;plot(abs(x,g;title(滤波前信号的频谱 ; axes(handles.axes22;plot(abs(m11,r;title(滤
46、波后信号的频谱 ; axes(handles.axes23;plot(x;title(滤波前信号的波形 ; axes(handles.axes24;plot(z11;title(滤波后的信号波形 ;程序结果如下图 5-10所示:图 5-10 低通滤波后的低频信号波形及频谱%带通合成 滤波f1=20;f2=200;f3=500;t=(1:100/400;x1=sin(2*pi*t*f1; %绘制 x(t的图形 x2=sin(2*pi*t*f2;x3=sin(2*pi*t*f3;x=sin(2*pi*t*f1+sin(2*pi*t*f2+sin(2*pi*t*f3;n=1:100;t=n/400X
47、=fft(x,512;w=(0:255/256*1000;x=sin(2*pi*t*f1+sin(2*pi*t*f2+sin(2*pi*t*f3;Ft=8000;Fp1=1200;Fp2=3000;Fs1=1000;Fs2=3200;As=100;Ap=1;wp1=tan(pi*Fp1/Ft;wp2=tan(pi*Fp2/Ft;ws1=tan(pi*Fs1/Ft;ws2=tan(pi*Fs2/Ft;w=wp1*wp2/ws2;bw=wp2-wp1;wp=1; ws=(wp1*wp2-w.2/(bw*w;n12,wn12=buttord(wp,ws,1,50,s;b12,a12=butter(n
48、12,wn12,s;num2,den2=lp2bp(b12,a12,sqrt(wp1*wp2,bw;num12,den12=bilinear(num2,den2,0.5;h,w=freqz(num12,den12;z12=filter(num12,den12,x;m12=fft(z12;axes(handles.axes25;plot(abs(x,g;title(滤波前信号的频谱 ;axes(handles.axes26;plot(abs(m12,r;title(滤波后信号的频谱 ;axes(handles.axes27;plot(x;title(滤波前信号的波形 ;axes(handles.
49、axes28;plot(z12;title(滤波后的信号波形 ;程序结果如下图: 图 5-11 带通滤波后的频谱及波形%高通合成滤波f1=20;f2=200;f3=500;t=(1:100/400;x1=sin(2*pi*t*f1; %绘制 x(t的图形 x2=sin(2*pi*t*f2;x3=sin(2*pi*t*f3;x=sin(2*pi*t*f1+sin(2*pi*t*f2+sin(2*pi*t*f3;n=1:100;t=n/400X=fft(x,512;w=(0:255/256*1000;x=sin(2*pi*t*f1+sin(2*pi*t*f2+sin(2*pi*t*f3;Ft=80
50、00;Fp=4000;Fs=3500;wp1=tan(pi*Fp/Ft; %高通到低通滤波器参数转换ws1=tan(pi*Fs/Ft;wp=1;ws=wp1*wp/ws1;n13,wn13=cheb1ord(wp,ws,1,50,s; %求模拟的低通滤波器阶数和截止频率 b13,a13=cheby1(n13,1,wn13,s; %求 S 域的频率响应的参数num,den=lp2hp(b13,a13,wn13; %将 S 域低通参数转为高通的num13,den13=bilinear(num,den,0.5; %利用双线性变换实现 S 域到 Z 域转换 h,w=freqz(num13,den13;
51、z13=filter(num13,den13,x;sound(z13;m13=fft(z13; %求滤波后的信号 axes(handles.axes29;plot(abs(x,g;title(滤波前信号的频谱 ;axes(handles.axes30;plot(abs(m13,r;title(滤波后信号的频谱 ;axes(handles.axes31;plot(x;title(滤波前信号的波形 ;axes(handles.axes32;plot(z13;title(滤波后的信号波形 ;程序结果如下图 5-12: 图 5-12 高通滤波后的波形及频谱经过以上处理后, 可在 Matlab 中在 gui 上观察滤波前后的合成信号频谱图可以 对比滤波前后的波形图与频谱图可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广东阳江市阳春市招聘乡村公益性岗位10人(第三批)考试备考题库及答案解析
- 2026四川通川区人民医院招聘3人笔试参考题库及答案解析
- 2026年铜川事业单位招聘考试备考试题及答案解析
- 2026年一季度湖南能源集团社会招聘520人考试备考试题及答案解析
- 2026四川成都市郫都区团结幼儿园社会招聘非在编人员2人笔试参考题库及答案解析
- 2026河北事业单位联考承德市招聘812人考试备考题库及答案解析
- 2026西北农林科大西安动物医院招聘考试备考试题及答案解析
- 2026广东中山市南区马岭小学招聘1人笔试备考试题及答案解析
- 2026福建厦门市集美区杏苑小学非在编教师招聘1人笔试模拟试题及答案解析
- 2026福建福建省闽清美菰国有林场招聘1人考试备考题库及答案解析
- 2026年春节安全生产开工第一课:筑牢安全防线 护航复工复产
- 医院放射科规章制度大全
- 2026年交通运输企业春节节后开工第一课安全专题培训课件
- 东南大学《高分子化学》2024 - 2025 学年第一学期期末试卷
- 河北省NT20名校联合体高三年级1月质检考试英语试卷(含答案详解)+听力音频+听力材料
- 2026届百师联盟高三一轮复习12月质量检测化学(含答案)
- 2026年山东铝业职业学院单招综合素质考试题库带答案详解
- 2026年春节复工复产开工第一课安全培训
- 2025年烟花炮竹安全培训题库及答案解析
- 智慧信息化平台系统开发项目数据迁移方案
- DBJ 53∕T-23-2014 云南省建筑工程施工质量验收统一规程
评论
0/150
提交评论