基于MATLAB的加噪语音信号的滤波
一.滤波器的简述
在MATLAB环境下IIR数字滤波器和FIR数字滤波器的设计方 法即实现方法,并进行图形用户界面设计,以显示所介绍迷你滤波器的设计特性。
在无线脉冲响应(IIR)数字滤波器设计中,先进行模拟滤波器的设计,然后进行模拟-数字滤波器转换,即采用脉冲响应不变法及双线性Z变化法设计数字滤波器,最后进行滤波器的频带转换。在有限脉冲响应(FIR)数字滤波器设计中,讨论了FIR线性相位滤波的特点和用窗口函数设计FIR数字滤波器两个问题。两类滤波器整个过程都是按照理论分析、编程设计、集体实现的步骤进行的。 为方便分析直观者直观、形象、方便的分析滤波器的特性,创新的设计出图形用户界面---滤波器分析系统。整个系统分为两个界面,其内容主要包括四个部分:System(系统)、Analysis(分析)、Tool(工具)、Help(帮助)。
数字滤波在DSP中占有重要地位。数字滤波器按实现的网络结构或者从单位脉冲响应,分为IIR(无限脉冲响应)和FIR(有限脉冲响应)滤波器。如果IRR滤波器和FIR滤波器具有相同的性能,那么通常IIR滤波器可以用较低的阶数获得高的选择性,执行速度更快,所有的存储单元更少,所以既经济又高效。
二.设计要求
1.在matlab平台上录制一段语音信号;
2.完成语音信号的谱分析;
3.对语音信号进行加噪以及加噪后信号的谱分析;
4.选择合适的滤波器进行滤波,确定相关指标;
5.实现滤波过程,显示滤波后的结果,并进行谱分析。
三.实验内容与步骤
- 语音信号的录入
打开matlab平台,先使用R=audiorecorder(44100,16,2)函数创建一个保存音频信息的对象,其中44100表示采样频率为44100Hz,16表示用16位存储,2表示两通道。再使用record(R)开始录音,对着电脑麦克风采集声音,录入的音频内容为“MATLAB的课程大作业”。stop(R)语句停止录入。然后将音频信息以数字矩阵存储。最后使用wavwrite函数保存这段音频。
原始语音
R=audiorecorder(44100,16,2);
record(R);
stop(R);
myword=getaudiodata(R);
plot(myspeech)
wavwrite(myspeech,44100,16,'myword');
四.语音信号图
原始语音
加噪后
减噪后