华东交通大学理工学院
课 程 设 计 报 告 书
所属课程名称 数字信号处理 题 目 应用Matlab对信号进行频谱分析及滤波 分 院 电 信 分 院 专业班级 电子信息工程 学 号 200902 学生姓名 指导教师 李 杰
20 12 年 6 月 6 日
华东交通大学理工学院
课 程 设 计( 论 文 )任 务 书
专 业 电子信息工程 班 级 0姓名
一、课程设计(论文)题目 应用Matlab对信号进行频谱分析及滤波
二、课程设计(论文)工作:自 2012 年 6 月 4 日起至 2012 年 6 月 6 日止。 三、课程设计(论文)的内容要求:
1、理解设计基本要求
1) 熟悉离散信号和系统的时域特性。 2) 熟悉线性卷积和相关的计算编程方法。 3) 掌握序列傅里叶变换的计算机实现方法,利用序列傅里叶变换对离散
信号、系统和系统的响应进行频域分析。 4) 学会MATLAB的使用,掌握MATLAB的程序设计方法。 5) 利用MATLAB对wav文件进行频谱分析。 6)分别用不同的滤波器对加噪语音信号进行滤波,选择最佳滤波器。
2、课程设计内容
利用Windows下的录音机,录制了一段声音,时间在1-10s内。接着
在C盘保存为WAV格式,然后在Matlab软件平台下对信号进行频谱分析及滤波。
学生签名:
年 月 日
课程设计(论文)评阅意见
序1 2 3 4 5 6 7 8 项 目 课程设计态度评价 出勤情况评价 任务难度评价 工作量饱满评价 任务难度评价 设计中创新性评价 论文书写规范化评价 综合应用能力评价 等 级 优秀 良好 中等 及格 不及格 综合评定等级
评阅人 职称
20 年 月 日
目 录
第1章 课程设计内容及要求..............................................() 第2章 设计过程步骤..................................................................()
2.1 语音信号的采集......................................() 2.2 语音信号的频谱分析..................................() 2.3 设计数字滤波器和画出其频谱响应......................() 2.4 用滤波器对信号进行滤波...............................() 2.5滤波器分析后的语音信号的波形及频谱....................()
第3章 心得体会.................................() 第4章 参考文献及鸣谢....................................................()
设计过程步骤
2.1 语音信号的采集
我们利用Windows下的录音机,录制了一段开枪发出的声音,时间在10 s内。接着在C盘保存为WAV格式,然后在Matlab软件平台下.利用函数wavread对语音信号进行采样,并记录下了采样频率和采样点数,在这里我们还通过函数sound引入听到采样后自己所录的一段声音。通过wavread函数和sound的使用,我们完成了本次课程设计的第一步。 其程序如下:
[x,fs,bite]=wavread('c:\\ Windows XP 关机.wav',[1000 20000]); sound(x,fs,bite);
2.2 语音信号的频谱分析
首先我们画出语音信号的时域波形;然后对语音信号进行频谱分析,在Matlab中,我们利用函数fft对信号进行快速傅里叶变换,得到信号的频谱特性性。到此,我们完成了课程实际的第二部。 其程序如下: n=1024; subplot(2,1,1);
y=plot(x(50:n/4)); grid on ; title('时域信号') X=fft(x,256); subplot(2,1,2); plot(abs(fft(X))); grid on ; title('频域信号'); 运行程序得到的图形:
2.3 设计数字滤波器和画出其频谱响应
紧接着着我们做了一个数字滤波器:
采样频率10Hz,通带截止频率fp=3Hz,阻带截止频率fs=4Hz通带衰减小于1dB,阻带衰减大于20dB,我们主要使用双线性变换法由模拟滤波器原型设计数字滤波器 。程序最后我们还利用Matlab中的函数freqz画出了该滤波器的频率响应。 其程序如下:
%采样频率10Hz,通带截止频率fp=3Hz,阻带截止频率fs=4Hz %通带衰减小于1dB,阻带衰减大于20dB
%使用双线性变换法由模拟滤波器原型设计数字滤波器 T=0.1; FS=1/T; fp=3;fs=4; wp=fp/FS*2*pi; ws=fs/FS*2*pi; Rp = 1; % 通带衰减 As = 20; % 阻带衰减 % 频率预畸
OmegaP = (2/T)*tan(wp/2); % Prewarp Prototype Passband
freq
OmegaS = (2/T)*tan(ws/2); % Prewarp Prototype Stopband freq
%设计butterworth低通滤波器原型 N
=
ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(OmegaP/OmegaS)));
OmegaC = OmegaP/((10^(Rp/10)-1)^(1/(2*N))); [z,p,k] = buttap(N); %获取零极点参数 p = p*OmegaC; k = k*OmegaC^N; B = real(poly(z)); b0 = k; cs = k*B; ds = real(poly(p)); % 双线性变换 [b,a] = bilinear(cs,ds,FS); % 绘制结果 freqz(b,a,512,FS);
运行程序得到的图形:
2.4 用滤波器对信号进行滤波
我们做的是IIR滤波器,所以我们利用函数filter对信号进行滤波。 其程序如下: z=filter(b,a,x); subplot(2,1,1); plot(z);
title('滤波后信号波形'); Z=fft(z,256);
subplot(2,1,2); plot(abs(Z));
title('滤波后信号频谱');
2.5滤波器分析后的语音信号的波形及频谱
运行2.4程序得到滤波后的语音信号的波形及频谱图如下:
课程设计心得体会
本设计采用了高效快捷的开发工具——MATLAB,实现了语音信号的采集,对语音信号加噪声及设计滤波器滤除噪声的一系列工作。从频率响应图中可以看出:巴特沃斯滤波器具有单调下降的幅频特性,通带内是平滑的。海明窗设计的FIR滤波器的频率特性几乎在任何频带上都比巴特沃斯滤波器的频率特性好,过渡带也比较小,只是海明窗设计的滤波器下降斜度较小对语言的过渡失真进行了补偿。
我们小组初步完成了设计任务,由于个人能力有限以及团队合作不够默契等诸多问题,还存在许多不足的地方,比如滤波器的设计种类还比较单一,没有做更多的滤波效果比较等。在以后的工作和学习中会更加努力来完善设计任务。
参考文献(资料)
[1]周辉,董正宏,数字信号处理及MATLAB实现,北京希望出版社,2006 [2]王树勋.数字信号处理处理基础及试验.北京:机械工业出版社,1992 [3]井上伸雄.数字信号处理的应用.北京:科学出版社,1991 [4]郑君里,杨为理.信号与系统(第二版),高等教育出版社,1981
致 谢
因篇幅问题不能全部显示,请点此查看更多更全内容