数字信号处理.docx

上传人:b****3 文档编号:4983362 上传时间:2022-12-12 格式:DOCX 页数:23 大小:370.18KB
下载 相关 举报
数字信号处理.docx_第1页
第1页 / 共23页
数字信号处理.docx_第2页
第2页 / 共23页
数字信号处理.docx_第3页
第3页 / 共23页
数字信号处理.docx_第4页
第4页 / 共23页
数字信号处理.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

数字信号处理.docx

《数字信号处理.docx》由会员分享,可在线阅读,更多相关《数字信号处理.docx(23页珍藏版)》请在冰豆网上搜索。

数字信号处理.docx

数字信号处理

课程设计报告

课程名称数字信号处理

课题名称采用窗函数法设计各型滤波器

专业通信工程

班级通信工程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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1