数字信号处理.docx
- 文档编号:4983362
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:23
- 大小:370.18KB
数字信号处理.docx
《数字信号处理.docx》由会员分享,可在线阅读,更多相关《数字信号处理.docx(23页珍藏版)》请在冰豆网上搜索。
数字信号处理
课程设计报告
课程名称数字信号处理
课题名称采用窗函数法设计各型滤波器
专业通信工程
班级通信工程0801
学号200803020131
姓名杨瑞檀
指导教师胡瑛彭祯
2010年9月13日
湖南工程学院
课程设计任务书
课程名称数字信号处理
课题采用窗函数法设计各型滤波器
专业班级通信工程0801
学生姓名杨瑞檀
学号200803020131
指导老师胡瑛彭祯
审批
任务书下达日期2010年9月6日
任务完成日期2010年9月13日
《数字信号处理》课程设计任务书
一、设计目的
综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。
二、设计要求
1、MATLAB的使用,掌握MATLAB的程序设计方法。
2、Windows环境下语音信号采集的方法。
3、数字信号处理的基本概念、基本理论和基本方法。
4、TLAB设计FIR和nR数字滤波器的方法。
5、用MATLAB对信号进行分析和处理
6、计报告4000以上,含程序设计说明,用户使用说明,源程序清单及程序框图。
7、机演示。
8、有详细的文档。
文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。
三、进度安排
第一周星期一:
课题讲解,查阅资料
星期二:
总体设计,详细设计
星期三:
编程,上机调试、修改程序
星期四:
上机调试、完善程序
星期五:
答辩
星期六-星期天:
撰写课程设计报告
附:
课程设计报告装订顺序:
封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。
正文的格式:
一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
正文的内容:
一、课题的主要功能;二、课题的功能模块的划分;三、主要功能的实现;四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。
目录
一、课题的主要功能5
(一).问题描述5
(二).功能要求6
(三).算法提示6
二、课题的功能模块7
(一)、采集的原始信号时域波形和频谱图7
(二)、加白噪声语音信号的时域波形和频谱图8
(三)、加单频余弦信号的语音信号时域波形和频谱图9
(四)、哈名窗设计的带通滤波器对白噪声进行滤波9
(五)、用哈名窗设计的高通滤波器对单频干扰进行滤波10
(六)、用哈名窗设计的低通滤波器对白噪声进行滤波10
(七)、用凯撒窗设计的高通滤波器对单频干扰进行滤波11
(八)用凯撒窗设计的低通滤波器对单频干扰进行滤波12
三、课题主要功能的实现13
(一)、采集的声音信号的时域波形和频谱图的绘制13
(二)、加入噪声信号13
(三)、用窗函数设计数字滤波器(部分)14
四、总结15
五、附件16
七、评分表23
一、课题的主要功能
(一).问题描述
要求录制一段声音信号并保存为文件(长度不不小于10秒),对录制的信号进行采样。
使用MATLAB软件绘出采样后信号的时域波形和频谱图。
并对采样信号进行加噪,绘出加噪后的语音信号时域波形和频谱图,进行直观比较。
给定滤波器的归一化性能指标(视个人情况而定)。
采用窗函数法设计各型FIR滤波器(低通、高通、带通、带阻中的至少三种类型)对叠加噪声前后的语音信号进行滤波处理,绘出滤波器的频率响应以及滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;在相同的性能指标下比较各发放的滤波效果,并从理论上进行分析。
(二).功能要求
用设计出的三种滤波器对加噪后的语音信号进行滤波处理,加入的噪声有三种:
白噪声、单频噪声、多频噪声。
滤波要求尽可能的保留正常的语音信号,滤除加入的各种噪音,以达到恢复原始信号的目的。
(三).算法提示
加入噪声的程序:
白噪声:
x2=awgn(x1,10);
sound(x2,fs,bits)
y2=fft(x2,32768);
figure
(2)
subplot(2,1,1)
plot(x2);
title('加高斯白噪声语音信号的时域波形')
subplot(2,1,2)
plot(abs(y2));
title('加高斯白噪声语音信号的频谱')
单频干扰:
N=length(x1)-1;
t=0:
1/fs:
N/fs;
d=[0.8*cos(2*pi*5000*t)]';
x3=x1+d;
sound(x3,fs,bits);
figure(3)
subplot(2,1,1)
plot(x3)
title('加单频余弦信号的语音信号时域波形')
y3=fft(x3,32768);
subplot(2,1,2)
plot(abs(y3));
title('加单频余弦信号的语音信号频谱')
二、课题的功能模块
(一)、采集的原始信号时域波形和频谱图
(二)、加白噪声语音信号的时域波形和频谱图
(三)、加单频余弦信号的语音信号时域波形和频谱图
(四)、哈名窗设计的带通滤波器对白噪声进行滤波
(五)、用哈名窗设计的高通滤波器对单频干扰进行滤波
(六)、用哈名窗设计的低通滤波器对白噪声进行滤波
(七)、用凯撒窗设计的高通滤波器对单频干扰进行滤波
(八)用凯撒窗设计的低通滤波器对单频干扰进行滤波
三、课题主要功能的实现
(一)、采集的声音信号的时域波形和频谱图的绘制
[xn,Fs,Nbits]=wavread('F:
\del.wav');
%sound(xn,Fs,Nbits);
yn=fft(xn,32768);
figure
(1);
subplot(2,1,1);
plot(xn);
title('原始语音信号时域波形');
subplot(2,1,2)
plot(abs(yn));
title('原始语音信号频谱');
(二)、加入噪声信号
白噪声:
xn2=awgn(xn,20);
sound(xn2,Fs,Nbits);
yn2=fft(xn2,32768);
figure
(2);
subplot(2,1,1);
plot(xn2);
title('加白噪声语音信号的时域波形');
subplot(2,1,2);
plot(abs(yn2));
title('加白噪声语音信号的频谱');
单频干扰:
N=length(xn)-1;
t=0:
1/Fs:
N/Fs;
d2=[0.01*cos(2*pi*20*t)]';
xn2=xn+d2;
sound(xn2,Fs,Nbits);
yn2=fft(xn2,32768);
figure
(2);
subplot(2,1,1);
plot(xn2)
title('加单频余弦信号的语音信号时域波形');
subplot(2,1,2);
plot(abs(yn2));
title('加单频余弦信号的语音信号频谱');
(三)、用窗函数设计数字滤波器(部分)
哈名窗:
fp=1200;fs=1600;As=50;Ap=0.25;
Wp=2*fp/Fs;Ws=2*fs/Fs;
Wc=(Wp+Ws)/2;N=ceil(6.6/(Ws-Wp));
bn=fir1(N,Wc);
[hn,wn]=freqz(bn,1,Fs);
figure(3);subplot(3,1,1);plot(wn/pi,abs(hn));
xlabel('归一化频率(wn/pirad/sample');ylabel('幅度');
title('哈名窗低通幅频响应');
yn3=filter(bn,1,xn2);
subplot(3,1,2);plot(yn3);grid;xlabel('n');ylabel('幅度');
title('滤波后的波形');
ynk=fft(yn3,Fs);
subplot(3,1,3);plot(wn,abs(ynk));grid;
set(gca,'XTick',0:
500:
Fs);xlabel('f/Hz');ylabel('幅度');
title('滤波后的频谱');
sound(yn3,Fs);
凯撒窗:
fp=1800;fs=2100;As=40;Ap=0.25;
wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;
Bt=ws-wp;
alph=0.5842*(As-21)^0.4+0.07886*(As-21);
M=ceil((As-8)/2.285/Bt);
wc=(wp+ws)/2/pi;
hn=fir1(M,wc,kaiser(M+1,alph));
hk=fft(hn);
hk=freqz(hn,1,Fs);
xn3=fftfilt(hn,xn2);
yn3=fft(xn3);
figure(3);
subplot(2,1,1);
plot(xn3);
title('滤波后信号波形');
subplot(2,1,2);
plot(abs(yn3));
title('滤波后信号频谱');
figure(4);
subplot(2,1,1);
stem(hn);
title('凯撒窗hn波形');
subplot(2,1,2);
plot(abs(hk));
title('凯撒窗hn信号频谱');sound(xn3,Fs,bits);
四、总结
曾经觉得数字信号处理是很难学的一门课程,一段时间我甚至放弃了学习它。
还记得老师上课讲授滤波器的知识时,我开了好几节课的小车,什么也没学到,很后悔。
这次因为要参加补考,看了一个假期的书,到学校来之后又赶着课程设计需要设计数字滤波器,让我尽可能的弥补了曾经的一念之差而造成的严重后果,还不迟。
看了几遍书,大致了解了数字滤波器的设计流程。
确实也只能说大致,虽然原理明白了,但是真的到自己设计的时候,却又总有摸不到头绪,思索良久我总结了几点原因。
第一,这次课程设计使用MATLAB软件,而对于这款软件,我真的是知之甚少。
本来接触时间不长,接触的机会也不多,以前的几次上机实际操作机会我都没当回事,敷衍了事。
第二,理论联系实际的能力不行。
何谓学到了知识,掌握了一个技术?
那就得应用到实际中去。
第三,我发觉了制约我的一个缺点就是动手操作的能力不强,不敢尝试,懒于尝试。
自己的想法总没有写进软件中进行验证,让我觉得这次的收获有了大幅的打折。
当然也有客观原因,就是为了准备补考,没有好好投入。
不过说白了,这个结果也是我的主观原因造成的,没什么可怨谁的。
谈一谈收获,说真的我觉得我收获真的不大。
因为首先对数字滤波器了解就不透彻,还有应用MATLAB真的是两眼一摸黑,很多东西都是在网上查找和请教老师、同学的,只能先自己死记硬背了,没有真正的消化。
不过我突然发觉找回了一些学习的兴趣了,自己真的差了好多好多,得换一种活法了,不想在浑浑噩噩的下去。
课程设计快结束了,这只是一个驿站,而我需要学习的东西还太多,还得好好走下去。
五、附件
[xn,Fs,Nbits]=wavread('F:
\del.wav');
%sound(xn,Fs,Nbits);
yn=fft(xn,32768);
figure
(1);
subplot(2,1,1);
plot(xn);
title('原始语音信号时域波形');
subplot(2,1,2)
plot(abs(yn));
title('原始语音信号频谱');
xn2=awgn(xn,20);
%sound(xn2,Fs,Nbits);
yn2=fft(xn2,32768);
figure
(2);
subplot(2,1,1);
plot(xn2);
title('加白噪声语音信号的时域波形');
subplot(2,1,2);
plot(abs(yn2));
title('加白噪声语音信号的频谱');
fs1=30;fp1=50;fs2=2100;fp2=2000;
ws1=2*pi*fs1/Fs;wp1=2*pi*fp1/Fs;ws2=2*pi*fs2/Fs;wp2=2*pi*fp2/Fs;
As=60;
wd=min((wp1-ws1),(ws2-wp2));
alph=0.112*(As-8.7);
N=ceil((As-8)/2.285/wd);
wc1=(ws1+wp1)/2;wc2=(wp2+ws2)/2;
bn=fir1(N,[wc1wc2]/pi,kaiser(N+1,alph));
[hn,wn]=freqz(bn,1,Fs);
yn3=filter(bn,1,xn2);
figure(3);
subplot(3,1,1);
plot(wn/pi,abs(hn));
xlabel('归一化频率(wn/pirad/sample');ylabel('幅度hn');
title('哈名窗带通幅频响应');
subplot(3,1,2);plot(yn3);grid;xlabel('n');ylabel('幅度');
title('滤波后的波形');
ynk=fft(yn3,Fs);
subplot(3,1,3);plot(wn,abs(ynk));grid;
set(gca,'XTick',0:
500:
Fs);
xlabel('f/Hz');ylabel('幅度');
[xn,Fs,Nbits]=wavread('F:
\del.wav');
%sound(xn,Fs,Nbits);
yn=fft(xn,32768);
figure
(1);
subplot(2,1,1);
plot(xn);
title('原始语音信号时域波形');
subplot(2,1,2)
plot(abs(yn));
title('原始语音信号频谱');
N=length(xn)-1;
t=0:
1/Fs:
N/Fs;
d2=[0.01*cos(2*pi*20*t)]';
xn2=xn+d2;
%sound(xn2,Fs,Nbits);
figure
(2);
subplot(2,1,1);
plot(xn2)
title('加单频余弦信号的语音信号时域波形');
yn2=fft(xn2,32768);
subplot(2,1,2);
plot(abs(yn2));
title('加单频余弦信号的语音信号频谱');
fp=60;fs=50;Ap=0.25;As=60;
wp=2*pi*fp/Fs;
ws=2*pi*fs/Fs;
wd=wp-ws;
N0=ceil(6.6*pi/wd);
N=N0+mod(N0+1,2);
wc=(wp+ws)/2;
bn=fir1(N-1,wc,'high',hamming(N));
[hn,wn]=freqz(bn,1,Fs);
figure(3);subplot(3,1,1);plot(wn/pi,abs(hn));
xlabel('归一化频率(wn/pirad/sample');ylabel('幅度');
title('哈名窗高通幅频响应');
yn3=filter(bn,1,xn2);
subplot(3,1,2);plot(yn3);grid;xlabel('n');ylabel('幅度');
title('滤波后的波形');
ynk=fft(yn3,Fs);
subplot(3,1,3);plot(wn,abs(ynk));grid;
set(gca,'XTick',0:
500:
Fs);
xlabel('f/Hz');ylabel('幅度');
title('滤波后的频谱');
%sound(yn3,Fs);
[xn,Fs,Nbits]=wavread('F:
\del.wav');
%sound(xn,Fs,Nbits);
yn=fft(xn,32768);
figure
(1);
subplot(2,1,1);
plot(xn);
title('原始语音信号时域波形');
subplot(2,1,2)
plot(abs(yn));
title('原始语音信号频谱');
N=length(xn)-1;
t=0:
1/Fs:
N/Fs;
d2=[0.01*cos(2*pi*20*t)]';
xn2=xn+d2;
%sound(xn2,Fs,Nbits);
yn2=fft(xn2,32768);
figure
(2);
subplot(2,1,1);
plot(xn2)
title('加单频余弦信号的语音信号时域波形');
subplot(2,1,2);
plot(abs(yn2));
title('加单频余弦信号的语音信号频谱');
fp=60;fs=40;Ap=0.25;As=40;
wp=2*pi*fp/Fs;
ws=2*pi*fs/Fs;
Bt=wp-ws;
alph=0.5842*(As-21)^0.4+0.07886*(As-21);
M0=ceil((As-8)/2.285/Bt);
M=M0+mod(M0,2);
wc=(wp+ws)/2/pi;
hn=fir1(M,wc,'high',kaiser(M+1,alph));
%hk=fft(hn);
hk=freqz(hn,1,Fs);
xn3=fftfilt(hn,xn2);
yn3=fft(xn3);
figure(3);
subplot(2,1,1);
plot(xn3);
title('滤波后信号波形');
subplot(2,1,2);
plot(abs(yn3));
title('滤波后信号频谱');
figure(4);
subplot(2,1,1);
stem(hn);
title('凯撒窗hn波形');
subplot(2,1,2);
plot(abs(hk));
title('凯撒窗hn信号频谱');
%sound(xn3,Fs,Nbits);
[xn,Fs,Nbits]=wavread('F:
\del.wav');
%sound(xn,Fs,Nbits);
yn=fft(xn,32768);
figure
(1);
subplot(2,1,1);
plot(xn);
title('原始语音信号时域波形');
subplot(2,1,2)
plot(abs(yn));
title('原始语音信号频谱');
xn2=awgn(xn,20);
%sound(xn2,Fs,Nbits);
yn2=fft(xn2,32768);
figure
(2);
subplot(2,1,1);
plot(xn2);
title('加白噪声语音信号的时域波形');
subplot(2,1,2);
plot(abs(yn2));
title('加白噪声语音信号的频谱');
fp=1500;fs=2000;As=40;Ap=0.25;
wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;
Bt=ws-wp;
alph=0.5842*(As-21)^0.4+0.07886*(As-21);
M=ceil((As-8)/2.285/Bt);
wc=(wp+ws)/2/pi;
hn=fir1(M,wc,kaiser(M+1,alph));
%hk=fft(hn);
hk=freqz(hn,1,Fs);
xn3=fftfilt(hn,xn2);
yn3=fft(xn3);
figure(3);
subplot(2,1,1);
plot(xn3);
title('滤波后信号波形');
subplot(2,1,2);
plot(abs(yn3));
title('滤波后信号频谱');
figure(4);
subplot(2,1,1);
stem(hn);
title('凯撒窗hn波形');
subplot(2,1,2);
plot(abs(hk));
title('凯撒窗hn信号频谱');
%sound(xn3,Fs,Nbits);
[xn,Fs,Nbits]=wavread('F:
\del.wav');
%sound(xn,Fs,Nbits);
yn=fft(xn,32768);
figure
(1);
subplot(2,1,1);
plot(xn);
title('原始语音信号时域波形');
subplot(2,1,2)
plot(abs(yn));
title('原始语音信号频谱');
xn2=awgn(xn,20);
sound(xn2,Fs,Nbits);
yn2=fft(xn2,32768);
figure
(2);
subplot(2,1,1);
plot(xn2);
title('加白噪声语音信号的时域波形');
subplot(2,1,2);
plot(abs(yn2));
title('加白噪声语音信号的频谱');
fp=1000;fs=1500;As=50;Ap=0.25;
Wp=2*fp/Fs;Ws=2*fs/Fs;
Wc=(Wp+Ws)/2;N=ceil(6.6/(Ws-Wp));
bn=fir1(N,Wc);
[hn,wn]=freqz(bn,1,Fs);
figure(3);subplot(3,1,1);plot(wn/pi,abs(hn));
xlabel('归一化频率(wn/pirad/sample');ylabel('幅度');
title('哈名窗低通幅频响应');
yn3=filter(bn,1,xn2);
subplot(3,1,2);plot(yn3);grid;xlabel('n');ylabel('幅度');
title('滤波后的波形');
ynk=fft(yn3,Fs);
subplot(3,1,3);plot(wn,abs(ynk));grid;
set(gca,'XTick',0:
500:
Fs);xlabel('f/Hz');ylabel('幅度');
title('滤波后的频谱');
%sound(yn3,Fs);
[xn,Fs,Nbits]=wavread('F:
\del.wav');
%sound(xn,Fs,Nbits);
yn=fft(xn,32768);
figure
(1);
subplot(2,1,1);
plot(xn);
title('原始语音信号时域波形');
subplot(2,1,2)
plot(abs(yn));
title('原始语音信号频谱');
xn2=awgn(xn,20);
%sound(xn2,Fs,Nbits);
yn2=fft(xn2,32768);
figure
(2);
subplot(2,1,1);
plot(xn2);
title('加白噪声语音信号的时域波形');
subplot(2,1,2);
plot(abs(yn2));
title('加白噪声语音信号的频谱');
fs1=20;fp1=50;fs2=1600;fp2=1500;
ws1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理