语音信号处理课程设计.docx
- 文档编号:5706055
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:12
- 大小:236.65KB
语音信号处理课程设计.docx
《语音信号处理课程设计.docx》由会员分享,可在线阅读,更多相关《语音信号处理课程设计.docx(12页珍藏版)》请在冰豆网上搜索。
语音信号处理课程设计
摘要:
这次课程设计我们总共分为三个阶段,如下:
第一阶段:
领任务书,开始理解题目,利用各种资源搜集资料,做好前期准备工作;
第二阶段:
开始设计的内容,录音、采样、时域、频域分析及傅里叶变换分析,最主要的还有滤波器的设计和滤波个结果的得出。
不管是IIR还是FIR滤波器的设计都包括以下三个步骤:
1)给出所需要的滤波器的技术指标;2)设计一个H(z)使其逼近所需要的技术指标;3)实现所设计的H(z)。
在这个过程中,我们进行一系列程序的编写与运行,并且还有不少的修改,最终得到了正确的结果。
第三阶段:
对于实验后的结果进行总结。
说明自己的心得感受,整理出完整的报告。
课程设计任务书
1.设计目的:
通过本课程设计,主要训练和培养学生综合应用所学过的信号及信息处理等课程的相关知识,独立完成信号仿真以及信号处理的能力。
包括:
查阅资料、合理性的设计、分析和解决实际问题的能力,数学仿真软件Matlab和C语言程序设计的学习与应用,培养规范化书写说明书的能力。
2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等):
对加噪的语言信号进行频谱分析,找出噪声所在频段,设计滤波器滤除噪声。
具体步骤如下:
1、每位同学用Windows系统录下一段声音,用Matlab将其读出,并显示其时域波形
2、对所录声音做傅立叶分析,观看其频谱
3、变换朗读声音的大小,再次用windows系统录下一段音,做傅立叶分析,观看其频谱有无变化
4、再次录音,并加上噪声,分析频谱,并设计合理的滤波器将噪声去掉,并将去噪前后的语音信号回放,观察噪声效果
题目要求:
(1)熟悉有关频谱分析的有关指示,对语音信号做频谱分析
(2)熟悉有关滤波器设计理论知识,选择合适的滤波器技术指标和类型,设计滤波器,得到滤波器参数
(3)实现信号频谱分析和滤波等有关Matlab函数
(4)写好总结报告,写出基本原理,有关程序,得到的图表,结果分析,总结。
3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕:
1程序代码.
2仿真结果.
3课程设计说明书.
课程设计任务书
4.主要参考文献:
[1]程佩青.数字信号处理教程[M].北京:
清华大学出版社,2002.
[2]刘敏,魏玲.Matlab通信仿真与应用[M].北京:
国防工业出版社,2001
[3]桂志国.数字信号处理.科学出版社,2010年
5.设计成果形式及要求:
1仿真结果.
2课程设计说明书.
6.工作计划及进度:
2010年6月14日~6月18日了解设计题目及熟悉资料;
6月19日~6月20日确定各题目要求计算相关参数;
6月21日~6月22日结合各题目确定具体设计方案;
6月23日~6月24日结合要求具体设计并仿真、整理报告;
6月25日答辩。
系主任审查意见:
签字:
年月日
一、基本设计原理
1.语音信号的采集
要求学生利用Windows下的录音机,录制一段自己的话音,时间在1s内。
然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。
通过wavread函数的使用,学生很快理解了采样频率、采样位数等概念。
2. 语音信号的频谱分析
要求学生首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,从而加深学生对频谱特性的理解。
其程序如下:
3. 设计数字滤波器和画出其频率响应
给出各滤波器的性能指标:
(1)低通滤波器性能指标 fb=1000Hz,fc=1200Hz,As=100dB,Ap=1dB。
(2)高通滤波器性能指标 fc=4800Hz,fb=5000HzAs=100dB,Ap=1dB。
(3)带通滤波器性能指标 fb1=1200Hz,fb2=3000Hz,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB。
要求学生用窗函数法和双线性变换法设计上面要求的3种滤波器。
在Matlab中,可以利用函数fir1设计FIR滤波器,可以利用函数butte,cheby1和ellip设计IIR滤波器;利用Matlab中的函数freqz画出各滤波器的频率响应。
程序如下:
4. 用滤波器对信号进行滤波
要求学生用自己设计的各滤波器分别对采集的信号进行滤波,在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。
5.比较滤波前后语音信号的波形及频谱
在一个窗口同时画出滤波前后的波形及频谱。
其程序如下:
6.回放语音信号
在Matlab中,函数sound可以对声音进行回放。
其调用格式:
sound(x,fs,bits);可以感觉滤波前后的声音有变化。
二、编程思想及程序代码
1.显示原信号的时域波形和频谱。
[x1,fs,bits]=wavread('GDGvoice8000.wav');
figure
(1);
plot(x1);
xlabel('时间轴');
ylabel('幅值');
figure
(2);
freqz(x1);
[x1,fs,bits]=wavread('GDGvoice8000.wav');
sound(x1,fs);
2.绘制FIR高通滤波器的幅频相频曲线以及对信号滤波前后的时域波形和频谱。
fs=60000;
X1=wavread('GDGvoice8000.wav');
Wp=2*pi*5000/fs;
Ws=2*pi*4800/fs;
Rp=1;
Rs=100;
Wdelta=wp-ws;
N=ceil(8*pi/wdelta);
wn=[wp+ws]/2;
[b,a]=fir1(N,wn/pi,'high');
figure
(1)
freqz(b,a,512);
title('FIR高通滤波器');
f2=filter(b,a,x1)
figure
(2);
subplot(2,1,1);
plot(x1);
title('FIR高通滤波器滤波前的时域波形');
subplot(2,1,2);
plot(f2);
title('FIR高通滤波器滤波后的时域波形');
Sound(f2,44100);
F0=fft(f2,1024);
F=fs*(0:
511)/1024;
figure(3);
Y2=fft(x1,1024);
Subplot(2,1,1);
plot(f,abs(y2(1:
512)));
title('FIR高通滤波器滤波前的频谱');
xlabel('频率/Hz');
ylabel('幅值');
subplot(2,1,2);
plot(f,abs(F0(1:
512)));
title('FIR高通滤波器滤波后的频谱');
xlabel('频率/Hz');
ylabel('幅值');
3.绘制FIR带通滤波器的幅频相频曲线以及对信号滤波前后的时域波形和频谱。
fs=16000
[X2]=wavread('GDGvoice8000.wav');
Ts=1/fs;r1=10;
wp=2*pi*5000/fs;
ws=2*pi*4800/fs;
Rp=2;
R1=100;
wp1=2/Ts*tan(wp/2);
ws1=2/Ts*tan(ws/2);
[N,Wn]=cheb2ord(wp1,ws1,Rp,R1,'s');
[Z,P,K]=cheb2ap(N,R1);
[Bap,Aap]=zp2tf(Z,P,K);
[b,a]=lp2hp(Bap,Aap,Wn);
[bz,az]=bilinear(b,a,fs);
[H,W]=freqz(bz,az);
figure
(1)
plot(W*fs/(2*pi),abs(H));
grid
xlabel('频率/Hz');
ylabel('频率响应幅度');
title('IIR高通滤波器')
f1=filter(bz,az,x1);
figure
(2);
subplot(2,1,1);
plot(x1);
title('IIR高通滤波器滤波前的时域波形');
subplot(2,1,2);
plot(f1);
title('IIR高通滤波器滤波后的时域波形');
sound(f1,44100)
F0=fft(f1,1024);
f=fs*(0:
511)/1024;
figure(3);
y2=fft(x1,1024);
subplot(2,1,1);
plot(f,abs(y2(1:
512)));
title('IIR高通滤波器滤波前的频谱');
xlabel('频率/Hz');
ylabel('幅值');
subplot(2,1,2);
F1=plot(f,abs(F0(1:
512)));
title('IIR高通滤波器滤波后的频谱');
xlabel('频率/Hz');
ylabel('幅值');
三、仿真结果
1.显示原信号的时域波形和频谱。
(1).原信号的时域波形图。
(2).原信号的频谱图。
2.绘制FIR高通滤波器的幅频相频曲线以及对信号滤波前后的时域波形和频谱。
(1).FIR高通滤波器的幅频相频曲线。
(2).FIR高通滤波器对信号滤波前后的时域波形。
(3).FIR高通滤波器的频谱。
3.绘制IIR高通滤波器的幅频曲线以及对信号滤波前后的时域波形和频谱。
(1).IIR高通滤波器的幅频曲线。
(2).IIR高通滤波器对信号滤波前后的时域波形。
(3).IIR高通滤波器对信号滤波前后的频谱。
四、课程设计心得
这次的课程设计主要是跟随了课堂学习的内容。
我们的题目是语音信号的处理,虽然原来已经学习了信号与系统,对于这方面有了一些基础的知识,也学了数字信号处理,但是刚开始面对这个题目却也不知从何下手了。
首先一个录音就为难我们半天,在老师的指导下终于迈出了这艰难的第一步,并且得到了原信号的波形图和频谱图。
于是我们斗志高昂,继续进行下去。
没有学过MATLAB软件,我们到图书馆借了专门学习该软件的比较易懂的《应用MATLAB实现信号分析和处理》这本书。
通过大致对这本书的翻阅和有目的性的查找,我们对于这次实验中要求的很多函数有了进一步的了解。
由于实验结果主要要求就是图形了,因而对于图形函数的运用很多,最熟悉的就是figure函数了,然后还有画图函数plot,在IIR滤波器的设计中还使用了grid网格线命令,同时还有xlabel和ylabel以及title等命令,应该说是收获颇丰吧。
而对于滤波器的设计也认识不少函数,像buttap,cheb1ap等等。
在实验的时候我们做了FIR和IIR的高通,带通和低通的滤波,由于三种滤波函数其本质相近,所以最后选用了高通的来作为示例。
在做的过程中,我们分工合作,经过一系列的修改补正最终得出了图形,虽然在电脑前坐到有点头昏,但当时的那种成就感让我们快乐不已。
在做的过程中,我们组虽然没有男生的帮忙,但是自己动手更让我们感受和享受着这种做的过程,虽然结果才是最终需要的,但是能力却是通过经历来积累的,完成时的喜悦也只有亲身经历才懂。
也许以后很少再有课程设计,但是我们相信对于软件的学习和探索却是刚刚开始,我们会在未来更努力的学习,充实自己。
五、参考文献
(1).程佩青。
数字信号处理教程[M]。
北京:
清华大学出版社,2002。
(2).刘敏,魏玲。
Matlab通信仿真与应用[M].北京:
国防工业出版社,2001。
(3).桂志国。
数字信号处理。
科学出版社,2010年。
(4).张明照,刘政波,刘斌等。
应用MATLAB实现信号分析和处理。
北京:
科学出版社,2005。
(5).互联网资料。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语音 信号 处理 课程设计