matlab报告基于matlab有噪声语音信号处理

合集下载

基于MATLAB有噪声语音信号处理

基于MATLAB有噪声语音信号处理

基于MATLAB有噪声语音信号处理一设计内容选择一个语音信号作为分析的对象,或录制一段各人自己的语音信号,对其进行频谱分析;利用MATLAB中的随机函数产生噪声加入到语音信号中,模仿语音信号被污染,并对其进行频谱分析;设计FIR数字滤波器,并对被噪声污染的语音信号进行滤波,分析滤波后信号的时域和频域特征,回放语音信号。

二设计的具体实现1语音信号的时频分析利用MATLAB中的“wavread”命令来读入(采集)语音信号,将它赋值给某一向量。

再对其进行采样,记住采样频率和采样点数。

下面介绍wavread 函数几种调用格式。

(1)y=wavread(file)功能说明:读取file所规定的wav文件,返回采样值放在向量y中。

(2)[y,fs,nbits]=wavread(file)功能说明:采样值放在向量y中,fs表示采样频率(hz),nbits表示采样位数。

接下来,对语音信号kalong.wav进行采样。

其程序如下:[y,fs,nbits]=wavered (‘kalong’);把语音信号加载入Matlab 仿真软件平台中然后,画出语音信号的时域波形,再对语音信号进行频谱分析。

MATLAB提供了快速傅里叶变换算法FFT计算DFT的函数fft,其调用格式如下:Xk=fft(xn,N)参数xn为被变换的时域序列向量,N是DFT变换区间长度,当N大于xn 的长度时,fft函数自动在xn后面补零。

当N小于xn的长度时,fft函数计算xn 的前N个元素,忽略其后面的元素。

在本次设计中,我们利用fft对语音信号进行快速傅里叶变换,就可以得到信号的频谱特性。

其程序如下:[x,fc,nbits]=wavread ('kalong.wav');sound(x,fc,nbits); %回放语音信号N=length(x); %求出语音信号的长度t=0:1/fc:(size(x)-1)/fc;X=abs(fft(x,N)); %傅里叶变换X=X(1:N/2);f=fc/N*(0:1:(N/2)-1);figure(1)subplot(2,1,1);plot(t,x);title('原始信号波形');xlabel('s');subplot(2,1,2);plot(f,abs(X));%可见声音信号频谱在0~4e3范围之内程序结果如下图:24681012-0.2-0.100.10.2原始信号波形s02000400060008000100001200050010001500原始信号频谱Hz幅度2 语音信号加噪与时谱分析在本次设计中,我们是利用MA TLAB 中加入单频率噪声到语音信号中,模仿语音信号被污染,并对其频谱分析。

应用Matlab对含噪声语音信号进行频谱分析及滤波

应用Matlab对含噪声语音信号进行频谱分析及滤波

应用Matlab对含噪声语音信号进行频谱分析及滤波应用Matlab对含噪声的语音信号进行频谱分析及滤波一、实验内容录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;在语音信号中增加正弦噪声信号(自己设置几个频率的正弦信号),对加入噪声信号后的语音信号进行频谱分析;给定滤波器的性能指标,采用窗函数法和双线性变换设计数字滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比试听,分析信号的变化。

二、实现步骤1.语音信号的采集利用Windows下的录音机,录制一段自己的话音,时间在1 s内。

然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,(可用默认的采样频率或者自己设定采样频率)。

2.语音信号的频谱分析要求首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性。

在采集得到的语音信号中加入正弦噪声信号,然后对加入噪声信号后的语音号进行快速傅里叶变换,得到信号的频谱特性。

并利用sound试听前后语音信号的不同。

分别设计IIR和FIR滤波器,对加入噪声信号的语音信号进行去噪,画出并分析去噪后的语音信号的频谱,并进行前后试听对比。

3.数字滤波器设计给出数字低通滤波器性能指标:如,通带截止频率fp=10000 Hz,阻带截止频率fs=12000 Hz(可根据自己所加入噪声信号的频率进行阻带截止频率设置),阻带最小衰减Rs=50 dB,通带最大衰减Rp =3 dB(也可自己设置),采样频率根据自己语音信号采样频率设定。

报告内容一、实验原理含噪声语音信号通过低通滤波器,高频的噪声信号会被过滤掉,得到清晰的无噪声语音信号。

二、实验内容录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;在语音信号中增加正弦噪声信号(自己设置几个频率的正弦信号),对加入噪声信号后的语音信号进行频谱分析;给定滤波器的性能指标,采用窗函数法和双线性变换设计数字滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比试听,分析信号的变化。

基于Matlab的语音信号去噪及仿真

基于Matlab的语音信号去噪及仿真

数字信号处理综合实验报告基于Matlab的语音信号去噪及仿真实验题目:专业名称: 学号: 姓名: 日期:报告内容:一、实验原理1、去噪的原理1.1采样定理在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中,最高频率fmax的2倍时,即:fs.max>=2fmax,则采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5〜10倍;采样定理又称奈奎斯特定理。

1924年奈奎斯特(Nyquist)就推导出在理想低通信道的最高大码元传输速率的公式:理想低通信道的最高大码元传输速率=2W*log2 N (其中W是理想低通信道的带宽,N是电平强度)为什么把采样频率设为8kHz?在数字通信中,根据采样定理,最小采样频率为语音信号最高频率的 2 倍频带为F的连续信号f(t)可用一系列离散的采样值f(t1), f(t1±A t),f (t 1±2 A t),...来表示,只要这些采样点的时间间隔△t < 1/2 F,便可根据各采样值完全恢复原来的信号f(t) o这是时域采样定理的一种表述方式。

时域采样定理的另一种表述方式是:当时间信号函数f(t)的最高频率分量为fM时,f(t)的值可由一系列采样间隔小于或等于1/2 fM的采样值来确定,即采样点的重复频率f》2fM。

图为模拟信号和采样样本的示意图。

时域采样定理是采样误差理论、随机变量采样理论和多变量采样理论的基础。

对于时间上受限制的连续信号f(t)(即当丨t | >T时,f(t)=0,这里T=T2-T1是信号的持续时间),若其频谱为 F (①),则可在频域上用一系列离散的采样值(1-1 )采样值来表示,只要这些采样点的频率间隔(1-2 )1.2采样频率采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。

采样频率的倒数是采样周期或者叫作采样时间,它是采样之间的时间间隔。

基于MATLAB语音信号采集与分析加上高频噪声并去噪声源程序仿真

基于MATLAB语音信号采集与分析加上高频噪声并去噪声源程序仿真

语音信号的综合仿真分析%仿真说明:有些人仿真不出来并不是源代码不对,而是自己没有操作好,下面是一些操作注意事项,希望能帮助到各位!1、源代码中的(3.wav)音频文件是用windows系统自带录音软件录制的,在附件--娱乐--录音机,保存文件时一定要保存二进制格式.wav。

2、.wav 文件必须和源程序代码M文件保存在一起,即同一路径下,最好是根目录下,比如都保存在D:\,仿真时将源代码中wavread('3.wav')改成wavread(' D:\3.wav')即可。

本仿真是保存在桌面实现的!3、本仿真是自己的录音,若要实现仿真必须自己录制.wav音频文件。

一、综合仿真源程序代码:[y,fs,bits]=wavread('3.wav');% sound(y,fs,bits);Y=fft(y,40000);%采样点数40000figure(1);subplot(211);plot(y);title('原始信号波形');subplot(212);plot(abs(Y));title('原始信号频谱');fc=20000;%载波频率y1=modulate(y,fc,fs,'fm');%对原语音信号调制Y1=fft(y1,40000);%采样点数40000figure(2);subplot(211);plot(y1);title('调制后信号波形');subplot(212);plot(abs(Y1));title('调制后信号频谱');% sound(y1);% 调制信号+原始信号波形y2=y+y1;Y2=fft(y2,40000);%采样点数40000figure(3);subplot(211);plot(y2);title('调制信号+原始信号波形'); subplot(212);plot(abs(Y2));title('调制信号+原始信号频谱'); % sound(y2); figure(4);% 用双线性变换法设计的低通滤波器 fp=1000;fc=1200;As=100;Ap=1;fs1=22050; wc=2*fc/fs1;wp=2*fp/fs1; [n,wn]=ellipord(wp,wc,Ap,As); [b,a]=ellip(n,Ap,As,wn); freqz(b,a,512,fs1);x=filter(b,a,y2);%对要进行低通滤波 X=fft(x,40000); figure(5);subplot(211);plot(x);title('低通滤波后信号波形');subplot(212);plot(abs(X));title('低通滤波后信号频谱'); sound(x,40000); 二、仿真结果说明①录制一段自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;x 105-0.50.51原始信号波形x 1040100200300400500原始信号频谱图4-1原始语音信号Figure 4-1 the original speech signal由图可知这段语音信号频率主要集中在1000hz 左右。

基于MATLAB的有噪声的语音信号处理的课程设计

基于MATLAB的有噪声的语音信号处理的课程设计

基于MATLAB的有噪声的语⾳信号处理的课程设计基于MATLAB的有噪声的语⾳信号处理的课程设计DSP实验课程设计实验报告姓名:学号:班级:1.课程设计题⽬:基于MATLAB的有噪声的语⾳信号处理的课程设计。

2.课程设计的⽬的:综合运⽤数字信号处理的理论知识进⾏频谱分析和滤波器设计,通过理论推导得出相应的结论,再利⽤MATLAB做为编程⼯具进⾏计算机实现,从⽽加深对所学知识的理解,建⽴概念。

3.课程设计的要求:(1)熟悉离散信号和系统的时域特性。

(2)掌握序列快速傅⾥叶变换FFT⽅法。

(3)学会MATLAB的使⽤,掌握MATLAB的程序设计⽅法。

(4)利⽤MATLAB对语⾳信号进⾏频谱分析。

(5)掌握MATLAB设计各种数字滤波器的⽅法和对信号进⾏滤波的⽅法。

4.课程设计的内容:录制⼀段语⾳信号,对语⾳信号进⾏频谱分析,利⽤MATLAB中的随机函数产⽣噪声加⼊到语⾳信号中,使语⾳信号被污染,然后进⾏频谱分析,设计FIR和IIR数字滤波器,并对噪声污染的语⾳信号进⾏滤波,分析滤波后的信号的时域和频域特征,回放语⾳信号。

5.课程设计的步骤:(1)语⾳信号的获取通过录⾳软件录制⼀段语⾳“数字信号处理”,命名为“OriSound”,时长⼤约1到2秒,在MATLAB 中,通过使⽤wavread函数,对语⾳进⾏采样:[y,fs,nbits]=wavread('OriSound'); %语⾳信号的采集采样值放在向量y中,采样频率为fs,采样位数为nbits。

(2)语⾳信号的频谱分析画出语⾳信号的时域波形,然后对语⾳信号进⾏频谱分析,在MATLAB中,通过使⽤fft函数对信号进⾏快速傅⾥叶变换,得到信号的频谱特性。

因此采集语⾳并绘出波形和频谱的模块程序如下:[y,fs,nbits]=wavread('OriSound');%语⾳信号的采集sound(y,fs,nbits);%语⾳信号的播放n=length(y) ; %计算语⾳信号的长度Y=fft(y,n);%快速傅⾥叶变换figure;subplot(2,1,1); %绘出时域波形plot(y);title('原始信号波形','fontweight','bold');axis([ 00000 80000 -1 1]); %通过尝试确定合适的坐标参数grid;subplot(2,1,2); %绘出频域频谱plot(abs(Y));title('原始信号频谱','fontweight','bold');axis([ 0 150000 0 4000]); %通过尝试确定合适的坐标参数grid;结果如下:可以看到,语⾳信号的频率集中在低频部分。

应用Matlab对含噪声的语音信号进行频谱分析及滤波

应用Matlab对含噪声的语音信号进行频谱分析及滤波

合肥工业大学电气与自动化工程学院实验报告电气工程及其自动化专业电气11 班班级学号2011 姓名日期指导教师共 9 页成绩实验一语音信号频谱分析及滤波一、实验原理数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值和识别等加工处理,借以达到提取信息和便于应用的目的。

他是语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。

具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等优点。

数字滤波器,是数字信号处理中极其重要的一部分。

随着信息时代和数字技术的发展,收到人们越来越多的重视。

数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活、不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。

数字滤波器的种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应(FIR)滤波器和无限冲激响应(IIR)滤波器。

FIR滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数H(z)处于收敛,极点全在z=0处(因果系统),因而只能用较高的阶数达到高的选择性。

FIR数字滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位,就是不同频率分量的信号经过FIR滤波器后他们的时间差不变,这是很好的性质。

FIR滤波器是有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。

FIR滤波器因具有系统稳定,以实现相位控制,允许设计多通带滤波器等优点收到人们的青睐。

IIR滤波器采用递归型结构,即结构上带有反馈环路。

IIR滤波器运算结构通常由时延、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。

同时,IIR滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、切比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,在设计一个IIR滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。

基于MATLAB语音信号处理去噪毕业设计(含源文件)

基于MATLAB语音信号处理去噪毕业设计(含源文件)

在Matlab平台上实现对语音信号的去噪研究和仿真摘要语音信号在数字信号处理中占有极其重要的地位,因此选择通过对语音信号的研究来巩固和掌握数字信号处理的基本能力十分具有代表性。

对数字信号处理离不开滤波器,因此滤波器的设计在信号处理中占有极其重要的地位。

而MATLAB软件工具箱提供了对各种数字滤波器的设计。

本论文“在MATLAB平台上实现对语音信号的去噪研究与仿真”综合运用了数字信号处理的各种基本知识,进而对不带噪语音信号进行谱分析以及带噪语音信号进行谱分析和滤波处理。

通过理论推导得出相应的结论,再通过利用MATLAB作为编程工具来进行计算机实现比价已验证推导出来的结论。

在设计过程中,通过设计FIR数字滤波器和IIR数字滤波器来完成滤波处理。

在设计过程中,运用了MATLAB对整个设计中的图形的绘制和一些数据的计算以及仿真。

关键字滤波器;MATLAB;仿真;滤波Speech signle denoising and simulation inMATLAB platformABSTRACTDigital signal processing can not be separated from the filter, the filter design occupies an extremely important role in signal processing. The MATLAB software toolbox provides a variety of digital filter design. The subject of the use of basic knowledge of digital signal processing, speech signal and the noisy speech signal specctral snalysis and filtering,By the theoretical derivation of the corresponding conclusions, then to the computer through the use of MATLAB as a programming tool To achieve parity to verify the conclusions derived. In the design process, using the windoow function design FIR digital filter,IIR digital filter using cut design than Chebyshev, Butterworth and bilinear variation method. In the design process,the use of computer and simulation of MATLAB the entire design, graphics rendering,and some date.Key words filter;MATLAB;simulation;filtering目录摘要 (I)ABSTRACT (II)第1章前言 (1)1.1 研究的意义 (1)1.2 国内外研究现状 (1)1.3 研究的内容 (2)第2章语音信号去噪方法的研究 (4)2.2 去噪的原理 (4)2.2.1 采样定理 (4)2.2.2 采样频率 (5)2.2 去噪的方法 (5)FIR滤波器基本结构: (7)IIR数字滤波器的设计 (8)第3章滤波器的设计及实现 (10)3.1数字滤波器设计的基本原理 (10)3.3 IIR数字滤波器的设计及实现 (13)第四章去噪及仿真的研究 (16)4.1 语音文件在MATLAB平台上的录入与打开 (16)4.2 原始语音信号频谱分析及仿真 (16)4.3 加噪语音信号频谱分析及仿真 (20)(1)正弦波信号加入原始语音信号 (20)4.4 去噪及仿真 (23)4.5 结合去噪后的频谱图对比两种方式滤波的优缺点 (25)总结 (26)致谢 ................................................................................................................... 错误!未定义书签。

基于Matlab的有噪声语音信号处理

基于Matlab的有噪声语音信号处理

3设计数字滤波器 ....................................................12
3.1 数字滤波器设计的基本思路 .......................................................................................................12 3.2 模拟滤波器概述 ...........................................................................................................................12 3.3 IIR数字滤波器概述 ......................................................................................................................12 3.4 FIR数字滤波器概述 .....................................................................................................................13 3.5 FIR数字滤波器和IIR数字滤波器比较 ........................................................................................13 3.6 低通,高通及带通滤波器 ...........................................................................................................14 3.7 设计FIR滤波器 .............................................................................................................................14 3.8 设计IIR滤波器 ..............................................................................................................................15 3.9 双线性变换法和窗函数法 ...........................................................................................................15 3.10 本章小结 .....................................................................................................................................18
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Matlab课程设计报告题目:基于MATLAB有噪声语音信号处理系(院):计算机与信息工程学院专业:通信工程班级:10623102指导教师:学年学期:2011 ~ 2012 学年第2 学期简介:我们通信工程专业在实践中经常碰到需要对已接收信号进行处理的情况,而滤波器设计在数字信号处理中占有极其重要的地位。

本课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪语音信号进行时域、频域分析和滤波。

通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现。

在设计实现的过程中,我们使用双线性变换法设计IIR数字滤波器,对模拟加噪语音信号进行低通滤波、高通滤波及带通滤波,并利用MATLAB作为辅助工具完成设计中的计算与图形的绘制。

1 绪论:数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。

数字滤波器, 是数字信号处理中及其重要的一部分。

本课题采用IIR 滤波器对加噪声音信号进行处理。

IIR滤波器采用递归型结构,即结构上带有反馈环路。

IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。

同时,IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。

2.原始语音信号采集与处理2.1语音信号的采集由于MATLAB只识别格式为.wav的声音文件,我们利用PC机上的声卡和WINDOWS操作系统进行数字信号的采集。

启动录音机进行录音,以文件名“Orisound”保存入原程序所属的文件夹中。

可以看到,文件存储器的后缀默认为.wav ,这是WINDOWS操作系统规定的声音文件存的标准。

程序流程图:2.2语音信号的时频分析利用MATLAB中的“wavread”命令来读入(采集)语音信号,将它赋值给某一向量。

再对其进行采样,记住采样频率和采样点数。

对语音信号Orisound.wav进行采样其程序如下:[y,fs,nbits]=wavread (‘OriSound’); %把语音信号加载入MATLAB仿真软件平台中画出语音信号的时域波形,再对语音信号进行频谱分析。

在本次设计中,我们利用fft函数对语音信号进行快速傅里叶变换,就可以得到信号的频谱特性。

程序如下:[y,fs,nbits]=wavread(‘Orisound’); %语音信号的采集sound(y,fs,nbits); %语音信号的播放n=length(y) ;Y=fft(y,n); %快速傅里叶变换figure;subplot(2,1,1);plot(y);title(‘原始信号波形’,’fontweight’,’bold’);axis([ 78000 80000 -1 1]);grid;subplot(2,1,2);plot(abs(Y));title(‘原始信号频谱’,’fontweight’,’bold’);axis([ 0 150000 0 4000]);grid;程序结果如下图:2.3语音信号加噪与频谱分析利用MATLAB中的随机函数Randn(m,n)产生噪声加入到语音信号中,模仿语音信号被污染,并对其频谱分析。

主要程序如下:[y,fs,nbits]=wavread('OriSound');sound(y,fs,nbits);n = length (y) ;Noise=0.2*randn(n,2);s=y+Noise;sound(s);figure;subplot(2,1,1);plot(s);title('加噪语音信号的时域波形','fontweight','bold');axis([ 78000 80000 -1 1]);grid;S=fft(s);subplot(2,1,2);plot(abs(S));title('加噪语音信号的频域波形','fontweight','bold');axis([ 0 150000 0 4000]);grid;程序结果如下图:3设计数字滤波器3.1数字滤波器设计的基本思路数字滤波器的实现有两个关键步骤:一个从数字域到模拟域间的变换,这个变换实现了数字滤波器技术指标到模拟滤波器技术指标的转换,同样也实现了模拟滤波器系统函数到数字滤波器系统函数的转换;另一个是从模拟滤波器技术指标到满足该指标的模拟滤波器的设计。

3.2 模拟滤波器概述用模拟—数字变换法设计IIR数字滤波器,首先必须设计一个模拟滤波器,它有许多不同的类型,主要有以下两种类型:(1)、巴特沃思(Botterworth简写BW)滤波器。

BW滤波器是根据幅频特性在通带内具有最拼图特性而定义的滤波器,对一个N阶低通滤波器来说,所谓最平ω=处都为零。

BW滤波器的另一个坦特性就是模拟函数的前(2N-1)阶导数在0特性是在通带和阻带内的幅频特性始终是频率的单调下降函数,且其模拟函数随阶次N 的增大而更接近于理想低通滤波器。

(2)、切比雪夫(Chbyshev 简写为CB )滤波器。

CB 低通滤波器的模拟函数由切比雪夫多项式定义,且在通带内的幅频响应是波动的,在阻带则单调变化。

3.3设计IIR 滤波器目前IIR 数字滤波器设计的最通用的方法是借助于模拟滤波器的设计方法。

模拟滤波器设计已经有了一套相当成熟的方法,它不但有完整的设计公式,而且还有较为完整的图表供查询,因此,充分利用这些已有的资源将会给数字滤波器的设计带来很大方便。

IIR 数字滤波器的设计步骤是:(1)、按一定规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标;(2)、根据转换后的技术指标设计模拟低通滤波器()G s ;(3)、再按一定规则将G(s)转换成H(z)。

若设计的数字滤波器是低通的,那么上述设计工作可以结束,若所设计的是高通,带通或带阻滤波器,那么还有步骤(4):(4)、将高通、带通、或带阻数字l 不去的技术指标先转化为低通模拟滤波器的技术指标,然后按照上述步骤(2)设计出低通()G s ,再将()G s 转换为所需的H(z)。

利用模拟滤波器设计IIR 数字低通滤波器的步骤:(1)确定数字低通滤波器的技术指标:通带边界频率、通带最大衰减,阻带截止频率、阻带最小衰减。

(2)将数字低通滤波器的技术指标转换成相应的模拟低通滤波器的技术指标。

(3)按照模拟低通滤波器的技术指标设计及过渡模拟低通滤波器。

(4)用双线性变换法,模拟滤波器系统函数转换成数字低通滤波器系统函数。

程序如下:Ft=8000;Fp=1000;Fs=1200;wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;fp=2*Ft*tan(wp/2);fs=2*Fs*tan(wp/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);figure;plot(w*8000*0.5/pi,abs(h));legend(‘IIR低通滤波器’,’Location’,’NorthWest’);grid;程序结果如下图:3.2验证所设计的滤波器:为了验证滤波器的可使用性,我们用常用的sin函数来进行验证。

其具体程序及运行结果如下:t=[0:1/1023:1];s=sin(2*pi*t);N=length(s);y=s+0.5*rand(1,N);subplot(2,1,1);plot(y);title('加噪语音信号的时域波形','fontweight','bold');S=fft(y);subplot(2,1,2);plot(abs(S));title('加噪语音信号的频域波形','fontweight','bold');Ft=8000;Fp=1000;Fs=1200;wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;[n11,wn11]=buttord(wp,ws,1,50,'s'); %求低通滤波器的阶数和截止频率[b11,a11]=butter(n11,wn11,'s'); %求S域的频率响应的参数[num11,den11]=bilinear(b11,a11,0.5); %利用双线性变换实现频率响应S域到Z域的变换z11=filter(num11,den11,s);sound(z11);m11=fft(z11); %求滤波后的信号figure;subplot(2,2,1);plot(abs(S),'g');title('滤波前信号的频谱','fontweight','bold');grid;subplot(2,2,2);plot(abs(m11),'r');title('滤波后信号的频谱','fontweight','bold');grid;subplot(2,2,3);plot(y);title('滤波前信号的波形','fontweight','bold');grid;subplot(2,2,4);plot(z11);title('滤波后的信号波形','fontweight','bold');grid;程序结果如下图:由所得结果可知,所设计的滤波器符合要求。

4 滤波用设计好的IIR低通滤波器对加噪的语音信号进行滤波,程序如下:[y,fs,nbits]=wavread (‘OriSound’); %IIR低通n = length (y) ; %求出语音信号的长度Noise=0.2*randn(n,2); %随机函数产生噪声s=y+Noise; %语音信号加入噪声S=fft(s);Ft=8000;Fp=1000;Fs=1200;wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;[n11,wn11]=buttord(wp,ws,1,50,’s’);%求低通滤波器的阶数和截止频率[b11,a11]=butter(n11,wn11,’s’); %求S域的频率响应的参数[num11,den11]=bilinear(b11,a11,0.5); %利用双线性变换实现频率响应S域到Z域的变换z11=filter(num11,den11,s);sound(z11);m11=fft(z11); %求滤波后的信号figure;subplot(2,2,1);plot(abs(S),’g’);title(‘滤波前信号的频谱’,’fontweight’,’bold’);axis([ 0 150000 0 4000]);grid;subplot(2,2,2);plot(abs(m11),’r’);title(‘滤波后信号的频谱’,’fontweight’,’bold’);axis([ 0 150000 0 4000]);grid;subplot(2,2,3);plot(s);title(‘滤波前信号的波形’,’fontweight’,’bold’);axis([95000 100000 -1 1]);grid;subplot(2,2,4);plot(z11);title(‘滤波后的信号波形’,’fontweight’,’bold’);axis([95000 100000 -1 1]);grid;程序结果如下图:经过以上的加噪处理后,可在Matlab中用函数sound对声音进行回放。

相关文档
最新文档