1、 matlab音频降噪课程设计报告 18 2020年4月19日 文档仅供参考 燕山大学 医学软件课程设计说明书 题目:基于MATLAB巴特沃斯滤波器的音频去噪的GUI设计 学院(系): 电气工程学院 年级专业: 13级生物医学工程 2 班 学 号: 1 学生姓名: 魏鑫 指导教师: 许全盛 院(系):电气工程学院 基层教学单
2、位:生物医学工程系 学 号 1 学生姓名 魏鑫 专业(班级) 13级生物医学工程2班 设计题目 基于MATLAB音频去噪的GUI设计 设 计 技 术 参 数 通带截止频率fp=2700;阻带截止频率fs=3000;采样频率FS=48000; 通带衰减不大于1dB;阻带衰减不小于10dB; 设 计 要 求 1. 实现用MATLAB导入音频; 2. 对音频进行频谱分析; 3. 设计滤波器去噪并对含噪信号进行滤波并进行功率谱分析; 4. 设计能实现上述功能的GUI; 工 作 量 1.完成音频录入及频谱分析相关程序的编写与调试;
3、2.设计滤波器去噪; 3.用MATLAB软件做GUI界面的设计; 工 作 计 划 11.21-11.24 MATLAB软件中GUIDE工具箱的使用 11.25-11.29 各处理算法模块的编程实现 11.30-12.1 整体程序联调 12.2 撰写课程设计说明书,答辩 参 考 资 料 1. 陈怀琛 吴大正 MATLAB及在电子信息课程中的应用[M] 北京 电子工业出版社 . 章节2.4; 2. 陈亚勇 MATLAB信号处理详解[M] 北京:人民邮电出版社 . 第十章; 3.张康 刘雅 基
4、于Matlab的巴特沃斯数字低通滤波器的设计[J] 计算机与现代化 12期 98-100页 指导教师签字 许全盛 基层教学单位主任签字 彭勇 目录 一、 设计目的意义..................................1 1.1 绪论......................................1 1.2 设计目的.................................1 1.3 意义......................................1 二、设计内容..................
5、2 2.1 设计原理...................................2 2.2 设计内容...................................2 三、设计过程及结果分析.............................3 3.1 设计步骤...................................3 3.2 MATLAB程序及结果.........................3 3.3 结果分析...................................8 四、总
6、结..............................................9 五、参考文献.........................................10 一、设计目的意义 1.1 绪论 语音是语言的声学表现,是人类交流信息最自然、最有效、最方便的手段。随着社会文化的进步和科学技术的发展,人类开始进入了信息化时代,用现代手段研究语音处理技术,使人们能更加有效地产生、传输、存储、和获取语音信息,这对于促进社会的发展具有十分重要的意义,因此,语音信号处理正越来越受到人们的关注和广泛的研究。 1.2 设计目的 (1)掌握数字信号处理
7、的基本概念,基本理论和基本方法。 (2)熟悉离散信号和系统的时域特性。 (3)掌握序列快速傅里叶变换方法。 (4)学会MATLAB的使用,掌握MATLAB的程序设计方法。 (5)掌握利用MATLAB对语音信号进行频谱分析。 (6)掌握滤波器的网络结构。 (7)掌握MATLAB设计IIR、FIR数字滤波器的方法和对信号进行滤波的方法。 1.3 意义 语音信号处理是一门比较实用的电子工程的专业课程,语音是人类获取信息的重要来源和利用信息的重要手段。经过语言相互传递信息是人类最重要的基本功能之一。语言是人类特有的功能,它是创造和记载几千年人类文明史的根本手段,没有语言就没有今天的人
8、类文明。语音是语言的声学表现,是相互传递信息的最重要的手段,是人类最重要、最有效、最常见和最方便的交换信息的形式。 语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科,它是一门新兴的学科,同时又是综合性的多学科领域和涉及面很广的交叉学科。 二、设计内容 2.1 设计原理 (1)截取视频片段声音作为语音信号 (2)生成余弦噪声信号加到语音信号中,得到被污染的语音信号。 (3)设计巴特沃思滤波器(低通、带通、高通)对被污染的语音信号滤波,滤掉相应的噪音信号,得到符合要求的语音信号。 语音信号的频谱范围主要为700HZ左右,因此,在设计低通滤波器时,
9、应把噪声频谱设定在5000HZ以上,这样,经过低通滤波器,即可滤除噪声信号从而还原语音信号。 2.2 设计内容 设计IIR数字滤波器的基本思想 设计IIR数字滤波器的方法主要有基于冲激响应不变法的IIR数字滤波器设计,基于双线性Z变换法的IIR数字滤波器设计,数字高通、带通及带阻IIR滤波器设计,基于MATLAB函数直接设计IIR数字滤波器。本实验中采用双线性变换法变换的巴特沃思数字滤波器 2.2.1巴特沃思低通数字滤波器 (1)选择准备好的声音片段作为语音信号(用如下语句调用[x,FS]=audioread('voice.wav'))。 (2)给信号加一个大频率的噪声(取噪声
10、频率远大于语音信号的最大频率),产生污染信号。 (3)设计一个巴特沃思低通滤波器,通带范围包括语音信号,阻带频率设定为小于噪声信号频率。 (4)将设计好的巴特沃思低通滤波器滤除被噪声污染后的语音信号。还原语音信号。 2.2.2巴特沃思高通数字滤波器 (1) 选择准备好的声音片段作为语音信号(用如下语句调用[x,FS]=audioread('voice.wav'))。 (2)给信号加一个大频率的噪声(取噪声频率远大于语音信号的最大频率),产生污染信号。 (3)设计一个巴特沃思高通滤波器,通带范围包括语音信号,阻带频率设定为小于噪声信号频率。 (4)将设计好的巴特沃思低通滤波器滤
11、除语音信号,保留噪声信号。 2.2.3巴特沃思带通数字滤波器 (1) 选择准备好的声音片段作为语音信号(用如下语句调用[x,FS]=audioread('voice.wav'))。 (2)给信号加一个小频率或大频率的噪声(取噪声频率远小于语音信号的最小频率或大于语音信号的最大频率),产生污染信号。本实验取小频率的噪声信号。 (3)设计一个巴特沃思带通滤波器,通带范围包括语音信号,阻带频率设定为不包括噪声信号频率。 (4)将设计好的巴特沃思带通滤波器滤除被噪声污染后的语音信号。还原语音信号。 三、设计过程及结果分析 3.1 设计步骤 (1)语音信号的采集 从视频截取
12、一段语音片段。然后在MATLAB软件平台下,利用函数audioread对语音信号进行采样,记住采样频率和采样点数。经过audioread函数的使用,要求理解采样频率、采样位数等概念。 audioread函数调用格式: x=audioread(file),读取file所规定的wav文件,返回采样值放在向量y中。 [x,FS]=audioread(file),采样值放在向量x中,FS表示采样频率(Hz)。 x=audioread(file,[N1,N2]),读取从N1点到N2点的采样值放在向量x中。 (2)语音信号的频谱分析 要求首先画出语音信号的时域波形;然后对语音信号进行频谱分
13、析,在MATLAB中,能够利用函数fft对信号进行快速付立叶变换,得到信号的频谱特性;从而加深对频谱特性的理解。 (3)设计数字滤波器和画出频率响应 根据语音信号的特点给出有关滤波器的性能指标,例如:1)低通滤波器性能指标,fp=3200 Hz,fc=3500 Hz, As=10dB,Ap=1dB;2)高通滤波器性能指标,fp=5400 Hz, fc=5700 Hz,As=10dB,Ap=1dB;3)带通滤波器性能指标,fp1=1200 Hz,fp2=2500 Hz,fc1=800 Hz,fc2=2900 Hz,As=10dB,Ap=1dB。 (4)回放语音信号 在MATLAB
14、中,函数sound能够对声音进行回放。其调用格式:sound(x,FS);能够感觉滤波前后的声音有变化。 3.2 Matlab程序及结果 3.2.1语音信号的采集与频谱分析 将声音文件导入MATLAB软件中,绘出采样后的语音信号的时域波形和频谱图。 MATLAB程序如下: clc; [x,FS]=audioread(‘voice.wav’); x=x(:,1); N=length(x);n=0:N-1; t=n/FS; figure(1); subplot(211);plot(x); %sound(x,FS,bits); title('语音信号时域波形图') y=ff
15、t(x,N); f=(FS/N)*(1:N); subplot(212); plot(f(1:105000),abs(y(1:105000))); title('语音信号频谱图'); 运行程序得到语音信号时域和频谱图形如图一所示: 图一 原始信号时域和频谱图 3.2.2 IIR数字滤波器的设计 下面分别用巴特沃思数字滤波器(低通、带通、高通)对被噪声污染后的信号进行滤波。 3.2.2.1巴特沃思低通滤波器 添加高频的噪声信号zs=0.05*cos(2*pi*6000*t),MATLAB程序如下。加噪信号的时域及幅频图如图二所示。 %噪声信号
16、 zs=0.05*cos(2*pi*6000*t); x1=x+zs’; subplot(2,1,1); plot(x1); grid on; y1=fft(x1,N); subplot(2,1,2); plot(f(1:105000),abs(y1(1:105000)); grid; 图二 加噪信号时域和频谱图 设计巴特沃思低通滤波器,MATLAB程序如下。滤波器图如图三所示。 %低通滤波 fp=3200;fs=3500; rp=1;rs=10; wp=2*pi*fp/FS; ws=2*pi*fs/FS; Fs1=1; wap=2*ta
17、n(wp/2); was=2*tan(ws/2); [N,wc]=buttord(wap,was,rp,rs,'s'); [B,A]=butter(N,wc,'s'); [Bz,Az]=bilinear(B,A,Fs1); figure(4); [h,w]=freqz(Bz,Az,512,Fs1*FS); plot(w,abs(h)); title('巴特沃斯低通滤波器'); xlabel('频率(HZ)');ylabel('耗损(dB)'); grid on; 图三 低通滤波器 3.2.2.2 巴特沃斯高通滤波器 滤波器图如图四所示。 %高通滤波
18、 fp=5400;fs=5700; rp=1;rs=10; wp=2*pi*fp/FS; ws=2*pi*fs/FS; T=1;Fs1=1; wap=2*tan(wp/2); was=2*tan(ws/2); [N,wc]=buttord(wap,was,rp,rs,'s'); [B,A]=butter(N,wc,'high','s'); [Bz,Az]=bilinear(B,A,Fs1); [h,w]=freqz(Bz,Az,512,Fs1*FS); plot(w,abs(h)); title('巴特沃斯高通滤波器'); xlabel('频率(HZ)');ylabe
19、l('耗损(dB)'); grid on; 图四 高通滤波器 3.2.2.3 巴特沃斯带通滤波器 滤波器图如图五所示。 %带通滤波 fp=[1200,2500];fs=[800,2900]; rp=1;rs=10; wp=2*pi*fp/FS; ws=2*pi*fs/FS; T=1;Fs1=1; wap=2*tan(wp/2); was=2*tan(ws/2); [N,wc]=buttord(wap,was,rp,rs,'s'); [B,A]=butter(N,wc,'s'); [Bz,Az]=bilinear(B,A,Fs1); [h,w]=f
20、reqz(Bz,Az,512,Fs1*FS); plot(w,abs(h)); title('巴特沃斯带通滤波器'); xlabel('频率(HZ)');ylabel('耗损(dB)'); grid on; 图五 带通滤波器 3.3 结果分析 采用功率谱分析,利用Welch法。功率谱图像如图六。 仅以低通为例。程序如下: Nfft=2048; window=hanning(1024); noverlap=512; Pxx=pwelch(yd,window,noverlap,Nfft,FS,'onesided','ms'); f=(0:Nfft/2)*FS/
21、Nfft; plot(f,10*log10(Pxx)); title('Welch法'); grid on; 图六 低通滤波后功率谱估计 四、总结 随着科学技术的迅猛发展,人类与计算机的信息交流量也越来越多。人们已经不满足于与计算机交流的传统方法,已经尝试用更简单方便的方式实现人机交流。人机对话将会是未来人机交流的主要方式。当前为止,人们对计算机语音识别系统的研究已经有了一定的成果,并研发出计算机语音识别系统,为了保证语音识别系统的准确性,语音信号的噪声消除便十分重要。本文就语音信号的噪声消除问题展开讨论,介绍了语音增强技术的诞生、发展以及现状。并根据噪声的产生机制介绍了几种相
22、对应的背景噪声消除方法,如谱减法、维纳滤波法、小波变换法、自适应性滤波法等等。 虽然谱减法诞生的时间比较早,可是由于谱减法语音增强的计算量小,效果显著和适用范围广泛等特点,直到现在谱减法在众多语音增强算法中还是具有旺盛的生命力,而且衍生有很多基本谱减法的改进算法,是迄今为止应用最为广泛的语音增强算法。本文重点介绍了基本谱减法语音增强及其改进算法的理论,而且在基于MATLAB平台上进行试验探究,更加深刻的理解了谱减法语音增强的原理及实现方法。 相信在不久的将来,更加完善的谱减法语音增强理论将会解决更多的噪声消除问题,经过谱减法和各种语音增强技术相结合,采纳各种语音增强技术的优点,实现一种新的
23、能够适应各种噪声背景情况下的语音增强算法,这样就能更好的抑制不同类型的噪声干扰,得到较为纯净的语音信号。 五、参考文献 [1]《数字信号处理(第二版)》,丁玉美等,西安电子科技大学出版社 [2]《数字信号处理试验指导书》王创新、文卉编 长沙理工大学印刷(内部使用) [3]《数字信号处理及其MATLAB实现》,陈怀琛等译,电子工业出版社 [4]《MATLAB及在电子信息课程中的应用》,陈怀琛等,电子工业出版社 [5]《数字信号处理》A.V.奥本海姆,R.W.谢弗著,北京:科学出版社 [6]《数字信号处理——理论、算法与实现(第二版)》胡广书编著,北京:电子工业出版社
24、 燕山大学课程设计评审意见表 指导教师评语: ①该生学习态度 (认真 较认真 不认真) ②该生迟到、早退现象 (有 无) ③该生依赖她人进行设计情况 (有 无) 平时成绩: 指导教师签字: 年 12月 2 日 图面及其它成绩: 答辩小组评语: ①设计巧妙,实现设计要求,并有所创新。
25、 ②设计合理,实现设计要求。 ③实现了大部分设计要求。 ④没有完成设计要求,或者只实现了一小部分的设计要求。 答辩成绩: 组长签字: 年12月2 日 课程设计综合成绩: 答辩小组成员签字: 12 月 2 日






