1、DSP 实验课程设计实验报告 DSP 实验课程设计实验报告实验课程设计实验报告 姓名:姓名: 学号:学号: 班级:班级: 1.1.课程设计题目:课程设计题目: 基于 MATLAB 的有噪声的语音信号处理的课程设计。 2.2.课程设计的目的:课程设计的目的: 综合运用数字信号处理的理论知识进行频谱分析和滤波器设计, 通过理论推导得出相应 的结论,再利用 MATLAB 做为编程工具进行计算机实现,从而加深对所学知识的理解,建立 概念。 3.3.课程设计的要求:课程设计的要求: (1)熟悉离散信号和系统的时域特性。 (2)掌握序列快速傅里叶变换 FFT 方法。 (3)学会 MATLAB 的使用,掌握
2、 MATLAB 的程序设计方法。 (4)利用 MATLAB 对语音信号进行频谱分析。 (5)掌握 MATLAB 设计各种数字滤波器的方法和对信号进行滤波的方法。 4.4.课程设计的内容:课程设计的内容: 录制一段语音信号,对语音信号进行频谱分析,利用 MATLAB 中的随机函数产生噪声加 入到语音信号中,使语音信号被污染,然后进行频谱分析,设计 FIR 和 IIR 数字滤波器,并 对噪声污染的语音信号进行滤波,分析滤波后的信号的时域和频域特征,回放语音信号。 5.5.课程设计的步骤:课程设计的步骤: (1 1)语音信号的获取语音信号的获取 通过录音软件录制一段语音“数字信号处理” ,命名为“O
3、riSound” ,时长大约 1 到 2 秒,在 MATLAB 中,通过使用 wavread 函数,对语音进行采样: y,fs,nbits=wavread(OriSound); %语音信号的采集 采样值放在向量 y 中,采样频率为 fs,采样位数为 nbits。 DSP 实验课程设计实验报告 (2 2)语音信号的频谱分析)语音信号的频谱分析 画出语音信号的时域波形, 然后对语音信号进行频谱分析, 在 MATLAB 中, 通过使用 fft 函数对信号进行快速傅里叶变换,得到信号的频谱特性。 因此采集语音并绘出波形和频谱的模块程序如下:因此采集语音并绘出波形和频谱的模块程序如下: y,fs,nbi
4、ts=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 1
5、50000 0 4000); %通过尝试确定合适的坐标参数 grid; 结果如下:结果如下: DSP 实验课程设计实验报告 可以看到,语音信号的频率集中在低频部分。 (3 3)产生噪声信号)产生噪声信号 在 MATLAB 中,通过使用 randn 函数产生随机噪声信号,并加到语音信号中得到被污染 的语音信号,回放语音信号。 产生随机噪声: Noise=0.2*randn(n,1); 其中用 0.2 倍乘噪声用来适当削减噪声的作用,便于对语音信号进行处理并比较效果。 (4 4)污染信号频谱分析)污染信号频谱分析 对被污染的加噪信号进行时域和频域分析。 加噪声并分析信号波形频谱的模块程序及说明如下
6、:加噪声并分析信号波形频谱的模块程序及说明如下: DSP 实验课程设计实验报告 y,fs,nbits=wavread(OriSound.wav); %语音信号采集 sound(y,fs,nbits); %回放语音信号便于比较效果 n = length (y) ; %计算语音信号长度 Noise=0.2*randn(n,1); %产生随机噪声信号 Noise s=y+Noise; %将 Noise 添加到原始信号,得到污 染信号 s sound(s); %回放污染信号 s figure; subplot(2,1,1); %绘制加噪信号时域波形 plot(s); title(加噪语音信号的时域波形,fontweight,bold); axis( 00000 80000 -1 1); grid; S=fft(s); %对s进行快速