预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共21页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

课程设计报告 目:语音信号处理与滤波 专业:信息与计算科学 学号: 姓名:张凤 指导教师:胡振华 成绩: 二〇一〇年一月八日 综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推 导得出相应结论,再利用MATLAB作为编程工具进行计算机实现,从而加深对 所学知识的理解。 二、课程设计基本要求及分组 1、对知识点的掌握要求: (1)熟悉离散信号和系统的时域特性。 (2)掌握序列快速傅里叶变换FFT方法。 (3)学会MATLAB的使用,掌握MATLAB的程序设计方法。 (4)利用MATLAB对语音信号进行频谱分析。 (5)掌握MATLAB设计FIR和IIR数字滤波器的方法。 2、分组情况: 组长:张凤 组员:张凤、张志广、李云、黄生涯、曾胜、沈呈洁 分工情况: 张凤:设计全过程的监督及协助、部分源程序代码的编写和整个源程序代码的整 理。 张志广:语音信号的录制以及对语音信号的采样,FIR低通滤波器的设计。 李云:FIR高通滤波器、FIR带通滤波器的设计以及用此两种滤波器对语音信号 进行滤波。 黄生涯:IIR低通滤波器、IIR高通滤波器的设计。 曾胜:IIR带通滤波器的设计和用此滤波器对语音信号进行滤波。 沈呈洁:系统界面设置和用FIR低通滤波器对语音信号进行滤波。 1、问题描述:录制一段自己的语音信号,取不同的数据点对语音信号进行频谱 分析;对所有数据进行插值和抽取处理,改变抽样率再对信号进行频谱分析;设 计FIR和IIR数字滤波器,并对被抽样后的语音信号进行滤波,分析滤波后信号 的时域和频域特征,回放语音信号。 2、详细操作步骤和部分运行结果 ) 利用Windows下的录音机,录制一段自己的话音,时间控制在1s左右;然后在 MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率 和采样点数。通过使用wavread函数,理解采样频率、采样位数等概念。 wavread函数调用格式如下: y=wavread(file),读取file所规定的wav文件,返回采样值放在向量y中。 [y,fs,nbits]=wavread(file),采样值放在向量y中,fs表示采样频率(Hz), nbits表示采样位数。 y=wavread(file,N),读取前N点的采样值放在向量y中。 y=wavread(file,[N1,N2]),读取从N1点到N2点的采样值放在向量y中。 采集语音的程序代码: [x1,fs,nbits]=wavread(’); sound(x1,fs,bits); y=fft(x1,1024); subplot(2,1,1);plot(x1);title(‘原始采样后时域信号’); 原始语音采样后的的时域信号波形图: (2)对语音信号进行频谱分析: MATLAB中,利用函数fft对信号进行快速傅里叶变换,得到信号的频谱特 性。首先画出语音信号的时域波形,然后对语音信号进行频谱分析。 程序代码: yy.wav’); y1=fft(x1,1024); f=fs*(0:511)/1024; figure(1) subplot(2,1,1);plot(f,abs(1:512)));title(’原始语音信号频谱’); xlabel('频率/Hz'); ylabel('幅值'); subplot(2,1,2);plot(abs(y1(1:1024)));title(‘原始语音信号FFT频谱’); xlabel('点数N'); ylabel('幅值'); 原始语音信号的频率响应图: 原始语音信号频谱和FFT转换后的频谱图 3)设计数字滤波器和画出频率响应: 根据语音信号的特点给出有关滤波器的性能指标: ①低通滤波器性能指标:fp=1000Hz,fc=1200Hz,As=100dB,Ap=1dB; ②高通滤波器性能指标:fc=4800Hz,fp=5000Hz,As=100dB,Ap=1dB; ③带通滤波器性能指标:fp1=1200Hz,fp2=3000Hz,fc1=1000Hz, fc2=3200Hz,As=100dB,Ap=1dB。 首先用窗函数法(矩形窗(Rectangularwindow)、三角窗(Triangularwindow)、汉 宁窗(Hanningwindow)、海明窗(Hammingwindow)、布拉克曼窗(Blackman window)、切比雪夫窗(Chebyshevwindow)、巴特里特窗(Bartlettwindow)及凯塞 窗(Kaiserwindow)。)设计上面要求的三种滤波器。在MATLAB中,利用函数fir1 设计FIR滤波器;然后再用双线性