内容发布更新时间 : 2024/12/26 22:58:04星期一 下面是文章的全部内容请认真阅读。
蒀DSP实验课程设计实验报告
葿姓名:学号:班级:
1.
2.课程设计题目:
袃
薃基于MATLAB的有噪声的语音信号处理的课程设计。
3.
4.课程设计的目的:
袁
羇综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应的结论,再利用
MATLAB做为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。
5.
6.课程设计的要求:
袆
蚂(1)熟悉离散信号和系统的时域特性。
羈(2)掌握序列快速傅里叶变换FFT方法。
虿(3)学会MATLAB的使用,掌握MATLAB的程序设计方法。
蚅(4)利用MATLAB对语音信号进行频谱分析。
螂(5)掌握MATLAB设计各种数字滤波器的方法和对信号进行滤波的方法。
7.
8.课程设计的内容:
荿
膇录制一段语音信号,对语音信号进行频谱分析,利用MATLAB中的随机函数产生噪声加入到语音信号中,使
语音信号被污染,然后进行频谱分析,设计FIR和IIR数字滤波器,并对噪声污染的语音信号进行滤波,分析滤波后的信号的时域和频域特征,回放语音信号。
9.
10.课程设计的步骤:
莄
袂(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([0000080000-11]); grid; subplot(2,1,2); plot(abs(Y));
title('原始信号频谱','fontweight','bold'); axis([015000004000]); grid;
%通过尝试确定合适的坐标参数
%绘出频域频谱
%通过尝试确定合适的坐标参数
膂
葿
袈
袅
羄
蒂
羇
芆
莂结果如下:
可以看到,语音信号的频率集中在低频部分。
芁
肇(3)产生噪声信号
蚇在MATLAB中,通过使用randn函数产生随机噪声信号,并加到语音信号中得到被污染的语音信号,回放语
音信号。
肄产生随机噪声:
肀Noise=0.2*randn(n,1);
膇其中用0.2倍乘噪声用来适当削减噪声的作用,便于对语音信号进行处理并比较效果。
肈(4)污染信号频谱分析
薂对被污染的加噪信号进行时域和频域分析。
肃加噪声并分析信号波形频谱的模块程序及说明如下: