对语音信号进行分析及处理.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、设计目的
1.进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法;使自身对信号的采集、处理、传输、显示和存储等有一个系统的掌握和理解;
2.增强应用Matlab语言编写数字信号处理的应用程序及分析、解决实际问题的能力;
3.培养自我学习的能力和对相关课程的兴趣;
二、设计过程
1、语音信号的采集
采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。
采样位数可以理解为声卡处理声音的解析度。这个数值越大,解析度就越高,录制和回放的声音就越真实
采样定理又称奈奎斯特定理,在进行模拟/数字信号的转换过程中,当采样频率fs不小于信号中最高频率fm的2倍时,采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍。
利用Windows下的录音机,录制了一段发出的声音,内容是“数字信号”,时间在3 s内。接着在D盘保存为WAV格式,然后在Matlab软件平台下.利用函数wavread对语音信号进行采样,并记录下了采样频率和采样点数,在这里我们还通过函数sound引入听到采样后自己所录的一段声音。
[x1,fs,bits]=wavread('E:\数字信号.wav'); %读取语音信号的数据,赋给变量x1,返回频率fs 44100Hz,比特率为16 。
2 、语音信号的频谱分析
(1)首先画出语音信号的时域波形;
程序段:
x=x1(60001:1:120000); %截取原始信号60000个采样点
plot(x) %做截取原始信号的时域图形 title('原始语音采样后时域信号'); xlabel('时间轴 n'); ylabel('幅值 A');
(2)然后用函数fft 对语音号进行快速傅里叶变换,得到信号的频谱特性;
y1=fft(x,6000); %对信号做N=6000点FFT 变换 figure(2)
subplot(2,1,1),plot(k,abs(y1)); title('|X(k)|');
ylabel('幅度谱');
subplot(2,1,2),plot(k,angle(y1)); title('arg|X(k)|'); ylabel('相位谱');
(3)产生高斯白噪声,并且对噪声进行一定的衰减,然后把噪声加到信号中,再次对信号进行频谱特性分析,从而加深对频谱特性的理解;
d=randn(1,60000); %产生高斯白噪声 d=d/100; %对噪声进行衰减 x2=x+d; %加入高斯白噪声
3、设计数字滤波器
(1)IIR 低通滤波器性能指标通带截止频Hz f c 1000=,阻带截止频率
Hz f st 1200=,通带最大衰减dB 11=δ,阻带最小衰减dB 1002=δ。
(2)FIR 低通滤波器性能指标通带截止频率Hz f c 1000=,阻带截止频率
Hz f st 1200=, 通带衰减
1δ≤1dB ,阻带衰减2δ≥100dB 。
(3)IIR 高通滤波器的设计指标,Hz f z 1000=,Hz f p 2000=,阻带最小衰减dB A s 30=,通带最大衰减dB A P 1=。
(4)(4)FIR 高通滤波器的设计指标,Hz f z 1000=,Hz f p 2000=,阻带最小衰减dB A s 50=,通带最大衰减dB A P 1=。
(5)用自己设计的各滤波器分别对采集的信号进行滤波,在Matlab 中,FIR 滤波器利用函数fftfilt 对信号进行滤波,IIR 滤波器利用函数filter 对信号进行滤波。比较滤波前后语音信号的波形及频谱,在一个窗口同时画出滤波前后
的波形及频谱。
在Matlab中,函数sound可以对声音进行回放。其调用格式:sound(x,fs,bits);可以感觉滤波前后的声音有变化。
三、结果分析
1、原始语音信号采样后的时域波形及FFT变换后频谱
图 1.原始信号时域图
图 2.原始信号的频谱图
2、加入噪声后信号的时域波形及FFT变换后频谱
图 3.加入噪声后的时域信号
分析:由图可以看出加入噪声后有明显的不一样,运行sound(x2 ,fs);播放加入高斯噪声后的语音,可以明显听出兹兹的噪声
图 4.加入噪声后的频谱图
3、IIR滤波器及原始信号通过IIR后的时域波形频谱变化
图 5. IIR低通滤波器
图 6. IIR低通滤波器滤波前后时域波形分析:经过滤波器后的信号和原始信号很近似
图7. IIR低通滤波器滤波前后的频谱
分析:从图7可以看出,经过IIR低通滤波器滤波后将高频部分滤除了。
4、FIR滤波器及原始信号通过FIR后的时域波形频谱变化
图8. FIR低通滤波器
图9.FIR低通滤波器滤波前后时域波形
图10.FIR低通滤波器滤波前后频谱
分析:从图10可以看出,经过FIR低通滤波器滤波后将高频部分滤除了。
5、IIR高通滤波器的设计
图11. IIR高通滤波器
图12. IIR高通滤波器滤波前后时域波形
图13. IIR高通滤波器滤波前后频谱6、FIR高通滤波器的设计
图14. FIR高通滤波器
图15. FIR高通滤波器滤波前后时域波形
图16.FIR高通滤波器滤波前后频谱
四、结束语
这次的数字信号处理大作业的题目是应用Matlab对语音信号进行频谱分析及滤波,首先通过网络和书籍查找有关本次作业所需的资料,编写相关程序,并通过Matlab软件运行得到相关波形频谱图。在做作业的过程中,我将上课所学的理论知识运用到实践中。通过这次应用Matlab对语音信号进行频谱分析及滤波,让我对Matlab的应用以及数字滤波器的设计有了更深层次的理解,每个程序中的语句表示什么意思也有了很清楚的了解。在实践中增强了我的动手能力,并提高了我的综合能力,使自身得到了很大的锻炼。
另外,在设计滤波器的过程中由于个人知识学得不到位,后面的仿真结果不是很理想,我希望以后多查阅资料,多积累,多思考,只有这样,才能取得更大的进步,才能学有所用,学有所长。