《数字信号处理课程设计2.doc》由会员分享,可在线阅读,更多相关《数字信号处理课程设计2.doc(16页珍藏版)》请在三一办公上搜索。
1、长 沙 学 院数字信号处理课程设计课程设计说明书 系 (部) 电子与通信工程系 专业(班级) 姓 名 学 号 指导教师 起止日期 目录I.摘 要21、任务与要求32.实验基本步骤52.1语音信号的采集52.2语音信号的频谱分析52.3设计数字滤波器和画出其频率响应52.4用滤波器对信号进行滤波52.5回放语音信号53、程序的设计与实验仿真图63.1原始语音信号的频谱的程序63.2加噪声的程序:73.3高通滤波器设计程序:73.4低通滤波器设计的程序93.5带通滤波器设计的程序114工作原理及仿真结果分析134.1理论原理134.2滤波器设计原理135.结论与心得146参考文献15摘 要数字信号
2、处理课程设计与数字信号处理课程配套,是电子、通信等专业的重要实践环节。数字信号处理是每一个电子信息科学工作者必须掌握的重要知识。它采用计算机仿真软件,以数值计算的方法对信号进行分析、变换、滤波、检测、估计与识别等加工处理,以达到提取信息便于使用的目的。本文介绍了Matlab 软件对信号进行基本分析和处理以及滤波器的设计与实现。Matlab语言是一种广泛应用于工程计算及数值分析领域的新型高级语言,Matlab功能强大、简单易学、编程效率高,深受广大科技工作者得喜爱。特别是Matlab还具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行语音信号的分析、处理和设计。数字信号处理课程在现代
3、科学中具有很大重要性及自身特点,理解与掌握课程中的基本概念、基本原理、基本分析方法,对用Matlab进行数字信号处理课程设计的思路、具有很大的帮助。语音信号的处理与滤波的设计主要是用Matlab作为工具平台,设计中涉及到声音的录制、播放、存储和读取,语音信号的抽样、频谱分析、滤波分析,滤波器的设计及语音信号的滤波,通过数字信号处理课程的理论知识的综合运用。从实践上初步实现对数字信号的处理。关键字:Matlab,滤波器,频谱分析,语音信号1、任务与要求 课题名称数字信号处理课程设计设计内容及要求1用windows自带的录音机录制一段语音信号,时间控制在2秒左右。2对采集的语音信号的进行频谱分析,
4、画出频谱图;3设计数字滤波器,画出频率响应;4用滤波器对信号进行滤波;5比较滤波前后语音信号的波形及频谱;6回放语音信号,感觉滤波前后的声音的变化。考核要求(1)课程考核成绩构成课程设计报告,考查报告撰写规范、资料齐备,侧重点是代码是否整齐,规范、调试与测试结果、创新点、总结内容。包括学生学习态度,纪律情况。(2) 评分办法和评分标准分为优、良、中、及格和不及格五个等级。优秀:能得到正确的实验结果,独立分析、解决实际问题,能熟练调试实验,分析实验结果,课程设计期间无违纪行为,圆满完成所规定的任务;良好:能较好地完成课程设计任务,能正确回答问题,课程设计态度端正,期间无违纪行为;中等:能完成基本
5、功能和一半以上的扩展功能,考核时能正确回答主要问题,课程设计期间无违纪行为;及格:能完成基本功能,内容基本正确,但任务不够完整、系统。课程设计期间无违纪行为;不及格:不能实现基本任务的一半以上。进度安排起止日期(或时间)设计内容(或预期目标)备注11.4.1811.4.29教研室意见年 月 日系(部)主管领导意见年 月 日长沙学院课程设计鉴定表姓名学号专业班级设计题目指导教师指导教师意见:评定等级: 教师签名: 日期: 答辩小组意见:评定等级:答辩小组长签名:日期:教研室意见:教研室主任签名: 日期: 系(部)意见:系主任签名:日期:说明课程设计成绩分“优秀”、“良好”、“中”、“及格”、“不
6、及格”五类;2.实验基本步骤2.1语音信号的采集要求学生利用Windows下的录音机,录制一段自己的话音,时间在1 s内。然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。通过wavread函数的使用,学生很快理解了采样频率、采样位数等概念。2.2语音信号的频谱分析要求学生首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,从而加深学生对频谱特性的理解。其程序如下:2.3设计数字滤波器和画出其频率响应给出各滤波器的性能指标:(1)低通滤波器性能指标fb1 000 Hz,fc1 200 Hz,As100 dB,Ap1 dB
7、。(2)高通滤波器性能指标fc4 800 Hz,fb5 000 Hz As100 dB,Ap1 dB。(3)带通滤波器性能指标fb11 200 Hz,fb23 000 Hz,fc11 000 Hz,fc23 200 Hz,As100 dB,Ap1 dB。要求学生用窗函数法和双线性变换法设计上面要求的3种滤波器。在Matlab中,可以利用函数fir1设计FIR滤波器,可以利用函数butte, cheby1和ellip设计IIR滤波器;利用Matlab中的函数freqz画出各滤波器的频率响应。2.4用滤波器对信号进行滤波要求学生用自己设计的各滤波器分别对采集的信号进行滤波,在Matlab中,FIR
8、滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。2.5回放语音信号在Matlab中,函数sound可以对声音进行回放。其调用格式:sound(x,fs,bits);可以感觉滤波前后的声音有变化。3、程序的设计与实验仿真图3.1原始语音信号的频谱的程序1. x1,fs,bits=wavread(5.wav);sound(x1,fs,bits);figure(1);plot(x1);%做原始语音信号的时域图形title(原始语音信号);xlabel(时间 t);ylabel(音量 n);figure(2);y1=fft(x1);%做length(x1)点
9、的FFTy1=fftshift(y1); %平移,是频率中心为0derta_fs = fs/length(x1); %设置频谱的间隔,分辨率plot(-fs/2:derta_fs: fs/2-derta_fs,abs(y1);%画出原始语音信号的频谱图title(原始语音信号的频谱);gridon; 仿真频谱图如下: 图3-1原始语音信号与原始信号的频谱图 3.2加噪声的程序:fs=22050;x1=wavread(1.wav);t=(0:length(x1)-1)/22050;f=fs*(0:1023)/2048;Au=0.05;d=Au*cos(2*pi*3800*t); %噪声为3.8k
10、Hz的余弦信号x2=x1+d;y1=fft(x1,2048);y2=fft(x2,2048);figure(1)plot(t,x2)grid on;axis tight;title(加噪后的信号);xlabel(time(s);ylabel(幅度);figure(2)subplot(2,1,1);plot(f,abs(y1(1:1024);grid on;axis tight;title(原始语音信号频谱);图3-2加噪后的信号图3.3高通滤波器设计程序:x1=wavread(1.wav);t=(0:length(x1)-1)/22050;f=fs*(0:1023)/2048;Au=0.05;
11、fs=22050;d=Au*cos(2*pi*3800*t); %噪声为3.8kHz的余弦信号x2=x1+d;Y=fft(x2,4096); %对信号做4096点FFT变换fp=3000;fc=2800;As=100;Ap=1;fs=6500; %采样频率wc=2*fc/fs; %阻带截止频率 wp=2*fp/fs; %通带截止频率N,wn=buttord(wc,wp,Ap,As); %估计滤波器最小阶数b,a=butter(N,wn,high); %设计滤波器figure(1);freqz(b,a,512,fs);title(高通滤波); x=filter(b,a,x2); %滤波X=fft
12、(x,4096);figure(2);subplot(2,1,1);plot(abs(Y); %滤波前信号频谱axis(0,4000,0,3);title(滤波前信号频谱);subplot(2,1,2);plot(abs(X); %滤波前信号频谱axis(0,4000,0,3);title(滤波后信号频谱);figure(3);plot(x);title(还原语音);sound(x); %播放语音信号 图3-3滤波前信号频谱与高通滤波图3.4低通滤波器设计的程序x1,fs,bits=wavread(g:5.wav);sound(x1);figure(1);plot(x1);%做原始语音信号的时
13、域图形title(原始语音信号);xlabel(时间 t);ylabel(音量 n);figure(2);y1=fft(x1);%做length(x1)点的FFTy1=fftshift(y1); %平移,是频率中心为0derta_fs = fs/length(x1); %设置频谱的间隔,分辨率plot(-fs/2:derta_fs: fs/2-derta_fs,abs(y1);%画出原始语音号的频谱title(原始语音信号的频谱);grid on;h=0:1/8000:2 zeros(1,n-16001);%取语音信号的采样矩阵t=h;%转置noise=0.04*sin(10000*pi*t)
14、;%sin函数产生噪声x2=x1+noise;%加噪声y2=fft(x2,1024);%对加噪信号做谱分析figure(2);subplot(2,1,1);plot(x2);title(加噪语音信号波形);%做加噪音信号波形时域图subplot(2,1,2);plot(abs(y2(1:512);axis(0 250 0 30);title(加噪语音信号波形频谱);%做加噪语音信号波形时域图fp=1000;fc=1200;As=100;Ap=1;wp=2*pi*fp/fs;ws=2*pi*fc/fs;N,wn=buttord(ws,wp,Ap,As);b,a=butter(N,wn);figu
15、re(3); h,w=freqz(b,a); plot(w*8000*0.5/pi,abs(h);title(低通滤波器频率响应);z=filter(b,a,x2); %直接滤波实现Z=fft(z,1024); %对滤波信号分析频谱figure(4);subplot(2,1,1);plot(z);title(加噪信号滤波后信号波形);%做加噪语音信号滤波后形时域图subplot(2,1,2);plot(abs(Z(1:512);title(加噪信号滤波后频谱);%做加噪语音信号滤波后频谱图仿真图如下:图3-4原始语音信号图与频谱图3.5带通滤波器设计的程序Ft=8000; Fp1=1200;
16、Fs1=1000;Fp2=3000;Fs2=3200;As=100;Ap=1;wp1=tan(pi*Fp1/Ft); wp2=tan(pi*Fp2/Ft);ws1=tan(pi*Fs1/Ft);ws2=tan(pi*Fs2/Ft);2w=wp1*wp2/ws2;bw=wp2-wp1;wp=1;ws=(wp1*wp2-w.2)/(bw*w);n12,wn12=buttord(wp,ws,Ap,As,s); b12,a12=butter(n12,wn12,s); num2,den2=lp2bp(b12,a12,sqrt(wp1*wp2),bw);num12,den12=bilinear(num2,
17、den2,0.5);h,w=freqz(num12,den12); plot(w*8000*0.5/pi,abs(h);axis(0 4000 0 1.5);y,fs,nbits=wavread (yes.wav);n = length (y) ;t=0:1/8000:zeros(1,194431);noise=0.04*sin(10000*pi*t); s=y+noise ; S=fft(s); z12=filter(num12,den12,s);sound(z12);m12=fft(z12); subplot(2,2,1);plot(abs(S);title(滤波前信号的频谱);subpl
18、ot(2,2,2);plot(abs(m12);title(滤波后信号的频谱);subplot(2,2,3);plot(s);title(滤波前信号的波形);subplot(2,2,4);plot(z12);title(滤波后的信号波形);仿真图如下: 图3-5带通滤波器滤波后的频谱图4工作原理及仿真结果分析4.1理论原理本次课程设计牵扯的面很广从信号的表示、运算及变换、系统的表示、运算及变换重点在于DFT变换和滤波器的设计。利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的
19、滤波器滤除噪声,恢复原信号。语音信号的“ 短时谱”对于非平稳信号, 它是非周期的, 频谱随时间连续变化, 因此由傅里叶变换得到的频谱无法获知其在各个时刻的频谱特性。如果利用加窗的方法从语音流中取出其中一个短断, 再进行傅里叶变换, 就可以得到该语音的短时谱。4.2滤波器设计原理本次课程设计的重点是滤波器的设计。数字滤波器可分为无限长单位冲激响应(IIR)滤波器与有限长单位冲激响应(FIR)滤波器。滤波器的系统函数可以表示为 本次试验只设计了IIR巴特沃斯滤波器,对于数字低通、高通、带通滤波器的设计,因为脉冲响应不变法的主要缺点是会产生频谱混叠现象,使数字滤波器的频响偏离模拟滤波器的频响特性,通
20、用方法为双线性变换法。IIR的特点:(1)h(n)是无限长的。(2)结构上存在输出到输入的反馈,也就是结构上是递归型的,他的基本网络结构有直接型、直接型、级联型和并联型四种。常用的IIR滤波器有巴特沃思滤波器、切贝雪夫滤波器。在低通滤波器的设计基础上,可以得到数字高通、带通、带阻滤波器的设计流程如下: (1) 给定数字滤波器的设计要求(高通、带阻、带通) ; (2) 转换为模拟(高通、带阻、带通)滤波器的技术指标; (3) 转换为模拟低通滤波器的指标; (4) 设计得到满足第三步要求的低通滤波器传递函数; (5) 通过频率转换得到模拟(高通、带阻、带通)滤波器; (6) 变换为数字(高通、带阻
21、、带通)滤波器。5.结论与心得本次数字信号处理课程设计的时间比较长,给了我们充分的思考和独立操作的空间。听完老师对本次试验的分析后,就积极的跑到图书馆借了一些相关的书籍,仔细翻阅了很多启示。信号的录制有很多种方法。特别是matlab自带的录音函数,还有很多细致的功能,而我们只用了其中的一点点。对各种信号的调制和解调,开始觉的简单,但做的时候并非如此。在这次的课程设计中,让我重新认识了数字信号处理这门课程的地位,它是通信系统的基础,是我们专业很重要的一门课程。此次设计的滤波器的设计让对通信系统有了一定的了解,不仅锻炼了我独立思考问题解决问题的能力,而且提高了我对所学知识的综合应用能力。通过这次课程设计,我对matlab的操作又熟练了许多,而且还提高了我的编程能力。、参考文献1 现代数字信号处理及其应用.北京:清华大学出版社出版,何子述.20102 现代数字信号处理. 华中科技大学出版社,姚天任.20