数字信号处理滤波器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
课程名称数字信号处理课程设计
课题名称数字滤波器设计及在语音信号分析中的应用
专业通信工程
班级1001
学号
姓名
指导教师彭祯张鏖烽郭芳
2012年9 月10日
湖南工程学院
课程设计任务书
课程名称数字信号处理课程设计
课题名称数字滤波器设计及在语音信号分析中的应用
专业通信工程
班级
学号
姓名
指导教师彭祯张鏖烽郭芳
审批
任务书下达日期2012 年9月 1 日
任务完成日期2012 年9月10日
《数字信号处理》课程设计指导
一、课程设计的性质与目的
《数字信号处理》课程是通信专业的一门重要专业基础课,是信息的数字化处理、存储和应用的基础。
通过该课程的课程设计实践,使学生对信号与信息的采集、处理、传输、显示、存储、分析和应用等有一个系统的掌握和理解;巩固和运用在《数字信号处理》课程中所学的理论知识和实验技能,掌握数字信号处理的基础理论和处理方法,提高分析和解决信号与信息处理相关问题的能力,为以后的工作和学习打下基础。
数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。
根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。
二、课程设计题目
课程设计题目分为2个方向,每班选做方向一的同学约占2/3,选做方向二的约占1/3。
(填写你自己所选课题的内容,如你在所选的是第二个方向,其内容如下:)方向一:数字滤波器设计及在语音信号分析中的应用。
方向二:数字滤波器设计及在心电信号滤波中的应用。
步骤:
1、语音信号采集
录制一段课程设计学生的语音信号并保存为文件,要求长度不小于10秒,并对录制的信号进行采样;录制时可以使用Windows自带的录音机,或者使用其它专业的录音软件,录制时需要配备录音硬件(如麦克风),为便于比较,需要在安静、干扰小的环境下录音。
2、语音信号分析
使用MATLAB绘出采样后的语音信号的时域波形和频谱图。
根据频谱图求出其
带宽,并说明语音信号的采样频率不能低于多少赫兹。
3、含噪语音信号合成
在MATLAB软件平台下,给原始的语音信号叠加上噪声,噪声类型分为如下几种:(1)白噪声;(2)单频噪色(正弦干扰);(3)多频噪声(多正弦干扰);(4)其它干扰,可设置为低频、高频、带限噪声,或Chirp干扰、冲激干扰。
绘出叠加噪声后的语音信号时域和频谱图,在视觉上与原始语音信号图形对比,也可通过Windows播放软件从听觉上进行对比,分析并体会含噪语音信号频谱和时域波形的改变。
4、数字滤波器设计及滤波,完成以下题目中的一个
给定滤波器的规一化性能指标(参考指标,实际中依据每个同学所叠加噪声情况而定)例如:通带截止频率wp=0.25*pi, 阻通带截止频率ws=0.3*pi; 通带最大衰减Rp=1 dB; 阻带最小衰减Rs=15 dB,每个题目至少设计出5个用不同方法的不同类型滤波器。
题目(1):采用窗函数法与等波纹法分别设计各型FIR滤波器(低通、高通、带通、带阻中的至少3种类型)来对叠加噪声前后的语音信号进行滤波处理,绘出滤波器的频域响应,绘出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;在相同的性能指标下比较各方法的滤波效果,并从理论上进行分析(或解释)。
5、回放语音信号
对滤波后的语音信号进行回放,感觉滤波前后语音信号的变化。
6、设计一个语音信号分析与处理系统界面(选作)
利用MATLAB的界面设计功能,设计一个MATLAB环境下的人机交互界面,完成上述滤波器的设计及滤波过程,要求能够接收输入的设计参数,查看设计结果及滤波结果。
三、课程设计要求
1、在一周内学生须上机16小时以上,程序调试完后,须由指导老师在机器上检查运行结果,经教师认可后的源程序可通过打印机输出,并请教师在程序清单上签字。
2、课程设计报告内容和格式:设计题目,设计的详细步骤,设计过程中的结果、图形等,设计总结。
3、每组每人必须独立完成,成绩的考核按设计结果、答辩成绩及课程设计报告来综合评定。
成绩分为优、良、中、及格、不及格五级分评定。
4、指导教师:彭祯,张鏖烽,郭芳。
四、设计进度安排
通信工程1001/1002:
1周周一上午,E-412, 任务讲解与布置,学生分组选题,查找相关资料,准备课程设计,学生上机,按任务要求进行课程设计;分组选题;
1周周二上午,E-412,学生上机,按任务要求进行课程设计;分组选题;
1周周三上午,E-412,学生上机,按任务要求进行课程设计;分组选题;
1周周四上午,E-412,学生任务完成,答辩并提交课程设计报告。
附:
课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。
正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
正文的内容:一、课题的主要功能;二、课题的功能模块的划分;三、主要功能的实现;四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。
目录
1 课程设计的目的 (1)
2 课程设计的原理 (1)
2.1.......................................................................................... 错误!未定义书签。
2.2.......................................................................................... 错误!未定义书签。
3 课程设计设计步骤及结果分析 (2)
3.1.......................................................................................... 错误!未定义书签。
3.2.......................................................................................... 错误!未定义书签。
3.3.......................................................................................... 错误!未定义书签。
3.4.......................................................................................... 错误!未定义书签。
3.5.......................................................................................... 错误!未定义书签。
4 心得体会 (15)
一课程设计的目的
《数字信号处理》课程是通信专业的一门重要专业基础课,是信息的数字化处理、存储和应用的基础。
通过该课程的课程设计实践,使学生对信号与信息的采集、处理、传输、显示、存储、分析和应用等有一个系统的掌握和理解;巩固和运用在《数字信号处理》课程中所学的理论知识和实验技能,掌握数字信号处理的基础理论和处理方法,提高分析和解决信号与信息处理相关问题的能力,为以后的工作和学习打下基础。
数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。
根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。
熟悉Matlab语言环境,掌握Matlab语言的编程规则,利用Flattopwin窗函数设计法来设计符合要求的FIR滤波器来实现语音信号的滤波去噪。
并绘制滤波前后的时域波形和频谱图。
根据图形分析判断滤波器设计的正确性。
通过本次课程设计熟悉利用 Flattopwin窗函数法设计FIR滤波器的过程。
增强自己独立解决问题的能力,提高自己的动手能力。
加深对理论知识联系实际问题的理解。
二课程设计的原理
2.1 FIR滤波器
FIR滤波器:有限长单位冲激响应滤波器,是数字信号系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。
因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。
在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。
在很多实际应用中,数字滤波器常常被用来实现选频操作。
因此,指标的形式一般在频域中给出幅度和相位响应。
幅度指标主要以两种方式给出。
第一种是绝对指标。
它提供对幅度响应函数的要求,一般应用于FIR滤波器的设计。
第二种指标是相对指标。
它以分贝值的形式给出要求。
确定了技术指标后,就可以建立一个目标的数字滤波器模型。
通常用理想的数字
滤波器模型。
之后,利用数字滤波器的设计方法,设计出一个实际滤波器模型来逼近给定的目标。
根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。
FIR 滤波器的设计问题实际上是确定能满足所要求的转移序列或脉冲响应的常数的问题,设计方法主要有窗函数、频率响应法和等波纹最佳逼近法等。
2.2 窗函数设计法
窗函数设计法是一种通过截断和计权的方法使无限长非因果序列成为有限长脉冲响应序列的设计方法。
通常在设计滤波器之前,应该先根据具体的工程应用确定滤波器的技术指标。
在大多数实际应用中,数字滤波器常常被用来实现选频操作,所以指标的形式一般为在频域中以分贝值给出的相对幅度响应和相位响应。
窗函数设计法步骤如下:
(1)根据过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口长度N 。
窗函数的类型可根据最小阻带衰减AS 独立选择。
(2)根据待求滤波器的理想频率响应求出理想单位脉冲响应hd(n)。
(3)由性能指标确定窗函数W(n)和长度N 。
(4)求得实际滤波器的单位脉冲响应h(n), h(n)即为所设计FIR 滤波器系数向量b(n)。
()().()d h n h n W n
三 课程设计步骤及结果分析
3.1 设计流程图
根据设计的要求,首先自己录制一段语音信号,对语音信号加入噪声干扰,再利用Flattopwin 窗设计合理的FIR 滤波器。
最后用滤波器对干扰后的语音信号进行滤波去噪。
具体设计流程图如图所示:
开始
录制段语音信号,命名为“录
音.wav”,绘制出其时域波形
和频谱图。
加入噪声干扰,绘制干扰后的
时域波形和频谱图。
利用Flattopwin窗设计合理的
FIR滤波器。
将干扰后的语音信号通过自己
设计的滤波器,进行滤波去噪。
回放语音信号,验证是否达到去
噪效果。
否
是否达到去噪
效果?
是
结束
3.2语音信号的采样录音
录制一段课程设计自身的语音信号并保存为文件,要求长度不小于10秒,并对录制的信号进行采样;录制时可以使用Windows自带的录音机,或者使用其它专业的录音软件,录制时需要配备录音硬件(如麦克风),为便于比较,需要在安静、干扰小的环境下录音。
3.3对原始信号进行时域和频域的分析
[x,fs,bits]=wavread('d:\text.wav');
%sound(x,fs);
n=length(x);
dt=10.00/n;
t=dt:dt:10.00;
figure(1);
subplot(211);plot(t,x,'r');
title('原始语音信号域波形');
xlabel('时间 s');ylabel('幅值 y(t)');
X=fft(x,n);magY=abs(X);
f=0:fs/n:fs*(n-1)/n;
subplot(212);plot(f,magY,'r');
%axis([0 200 0 100]);
title('原始语音信号频谱图');
xlabel('频率 Hz');ylabel('幅值 magY');
0123456
78910
-0.50
0.5
1
原始语音信号域波形
时间 s
幅值 y (t )00.51 1.52 2.5
3 3.5
4 4.5x 104
0500
1000
原始语音信号频谱图频率 Hz 幅值 m a g Y
3.4含噪语音信号的合成
1) 加白噪音代码如下:
d1=0.05*randn(1,n)'; %白噪声信号的函数
x1=x(:,1)+d1; %噪音信号叠加 %sound(x1,fs); figure(2);
subplot(211);plot(t,x1,'r');
xlabel('时间 s');ylabel('幅值 y(t)'); title('加白噪音的语音信号时域波形'); D1=fft(x1,n);magD1=abs(D1); f=0:fs/n:fs*(n-1)/n;
subplot(212);plot(f,magD1,'r'); %axis([0 200 0 100]);
xlabel('频率 Hz');ylabel('幅值 magY'); title('加白噪音的语音信号噪声信号频谱图'); 结果如下图所示:
1
2
3
4
56789
10
-1-0.500.5
1时间 s
幅值 y (t )
加白噪音的语音信号时域波形
00.51 1.5
2 2.5
3 3.5
4 4.5x 10
4
500
1000频率 Hz
幅值 m a g Y
加白噪音的语音信号噪声信号频谱图
2)加单频正弦噪音代码如下:
d2=[0.08*sin(2*pi*5000*t)]';%加单频正弦信号信号 X2=x(:,1)+d2;%噪音信号叠加 %sound(X2,fs);
figure(3)
subplot(211);plot(t,X2);
xlabel('时间 s');ylabel('幅值 y(t)'); title('加单频正弦信号的语音信号时域波形') y2=fft(X2);magT=abs(y2); subplot(212);plot(f,magT); %axis([0 200 0 100]);
xlabel('频率 Hz');ylabel('幅值 magY'); title('加单频正弦信号的语音信号号频谱'); 结果如下图所示:
012
345678910
-1-0.500.5
1时间 s
幅值 y (t )
加单频正弦信号的语音信号时域波形
0.5
1
1.5
2 2.53
3.5
4
4.5x 10
4
00.511.52
x 10
4
频率 Hz
幅值 m a g Y
加单频正弦信号的语音信号号频谱
3)加多频正弦噪音代码如下:
d3=[0.08*sin(2*pi*20*t)]';%加多频正弦信号信号 X3=x(:,1)+d2+d3;%噪音信号叠加 %sound(X3,fs); figure(4)
subplot(211);plot(t,X3);
xlabel('时间 s');ylabel('幅值 y(t)');
title('加多频正弦信号的语音信号时域波形') y3=fft(X3);magZ=abs(y3); subplot(212);plot(f,magZ); %axis([0 200 0 100]);
xlabel('频率 Hz');ylabel('幅值 magY'); title('加多频正弦信号的语音信号频谱');
012
345678910
-1-0.500.5
1时间 s
幅值 y (t )
加多频正弦信号的语音信号时域波形
0.5
1
1.5
2 2.53
3.5
4
4.5x 10
4
00.511.52
x 10
4
频率 Hz
幅值 m a g Y
加多频正弦信号的语音信号频谱
3.5数字滤波器的设计及滤波
1)海明窗函数设计FIR 低通滤波器设计方法 %海明窗低通滤波器
%[x,fs,bits]=wavread('d:/text.wav'); %n=length(x); %dt=10.00/n; %t=dt:dt:10.00;
%d3=0.05*randn(1,n);%噪声信号的函数 %x3=x(:,1)+d1;%噪音信号叠加 %sound(x3,fs);
wp=0.25*pi;ws=0.3*pi;%性能指标
wdelta=ws-wp;%过度带宽度
M=ceil(3.32*pi/wdelta);%滤波器长度
N=2*M+1;%窗口长度
wc=(ws+wp)/2;% 截止频率
%win=hanming(N);%衰减不小于50dB,选择海明窗b=fir1(N-1,wc/pi);
n1=0:1:N;
[hi t]=impz(b,1,n1);%得到脉冲响应
[hf w]=freqz(b,1,512);%得到频率响应
X=fft(x);
figure(6);
freqz(b,1);
figure(7);
subplot(221);plot(x,'r');
xlabel('时间 s');ylabel('幅值 y(t)');
title('海明窗滤波器滤波前的信号波形'); subplot(222);plot(abs(X),'r');
xlabel('频率 Hz');ylabel('幅值 magY'); title('海明窗滤波器滤波前信号的频谱');
%axis([0 1000 0 500]);
x4=fftfilt(b,x);
%sound(x4,fs);
X4=fft(x4);
subplot(223);plot(x4);
xlabel('时间 s');ylabel('幅值 y(t)');
title('海明窗滤波器滤波后信号的波形'); subplot(224);plot(abs(X4));
xlabel('频率 Hz');ylabel('幅值 magY'); title('海明窗滤波器滤波后信号的频谱');
%axis([0 1000 0 500]);
结果显示如下:
0.1
0.2
0.30.40.50.60.70.80.9
1
-4000
-3000-2000-1000
Normalized Frequency (⨯π rad/sample)
P h a s e (d e g r e e s )
0.1
0.2
0.30.40.50.60.70.80.9
1
-150
-100-500
50Normalized Frequency (⨯π rad/sample)
M a g n i t u d e (d B )
0246
x 10
5
-0.5
00.5
1时间 s
幅值 y (t )
海明窗滤波器滤波前的信号波形0
246
x 10
5
500
1000
频率 Hz
幅值 m a g Y
海明窗滤波器滤波前信号的频谱024
6
x 10
5
-0.5
00.5
1时间 s
幅值 y (t )
海明窗滤波器滤波后信号的波形0
246x 10
5
500
1000
频率 Hz
幅值 m a g Y
海明窗滤波器滤波后信号的频谱
2)凯塞窗函数设计FIR 低通滤波器设计 %凯塞窗函数设计FIR 低通滤波器
%[x,fs,bits]=wavread('d:/text.wav');
%n=length(x);
%x5=x(1:n);
%dt=10.00/n;t=dt:dt:10.00;
%d3=0.05*randn(1,n)';%噪声信号的函数
%x5=x(:,1)+d1;%噪音信号叠加
X5=fft(x);
fp=1000;fc=1200;As=100;Ap=1;Fs=8000;
wc=2*pi*fc/Fs;wp=2*pi*fp/Fs;wdel=wc-wp; beta=0.112*(As-8.7);
N=ceil((As-8)/2.285/wdel);
wn=kaiser(N+1,beta);ws=(wp+wc)/2/pi;
b=fir1(N,ws,wn);
figure(8);
freqz(b,1);
y5=fftfilt(b,x);
%sound(y5,fs);
Y5=fft(x,n);
figure(9)
subplot(221);plot(x,'r');
xlabel('时间 s');ylabel('幅值 y(t)'); title('原语音信号滤波前的信号波形'); subplot(222);plot(abs(X5),'r');
xlabel('频率 Hz');ylabel('幅值 magY'); %anxis([0 1000 0 1.0]);
title('原语音信号滤波前的信号频谱'); subplot(223);plot(y5);
title('原语音信号滤波后的信号波形'); xlabel('时间 s');ylabel('幅值 y(t)'); subplot(224);plot(abs(Y5));
xlabel('频率 Hz');ylabel('幅值 magY');
%anxis([0 1000 0 1.0]);
title('原语音信号滤波后的信号频谱'); 结果显示如下:
0.1
0.2
0.30.40.50.60.70.80.9
1
-8000
-6000-4000-2000
Normalized Frequency (⨯π rad/sample)
P h a s e (d e g r e e s )
00.10.2
0.30.40.50.60.70.80.91
-200
-100
100Normalized Frequency (⨯π rad/sample)
M a g n i t u d e (d B )
0246
x 10
5
-0.5
00.5
1时间 s
幅值 y (t )
原语音信号滤波前的信号波形0
246
x 10
5
500
1000
频率 Hz
幅值 m a g Y
原语音信号滤波前的信号频谱024
6
x 10
5
-0.5
00.5
1原语音信号滤波后的信号波形时间 s
幅值 y (t )
024
6
x 10
5
500
1000
原语音信号滤波后的信号频谱
3)FIR 带通滤波器设计 %带通滤波器设计
%[x fs bits]=wavread('d:/text.wav');
%n=length(x);
%dt=10.00/n;t=dt:dt:10.00;
y7=x(1:n);
Y7=fft(y7);
fp1=300;fp2=1000;fc1=283;fc2=1200;As=15;Ap=1;Fs=8000; wp1=2*pi*fp1/Fs;wc1=2*pi*fc1/Fs;
wp2=2*pi*fp2/Fs;wc2=2*pi*fc2/Fs;
wdel=wp1-wc1;
beta=0.112*(As-8.7);
N1=ceil((As-8)/2.285/wdel);
ws=[(wp1+wc1)/2/pi,(wp2+wc2)/2/pi];
wn=kaiser(N1+1,beta);
b=fir1(N1,ws,wn);
figure(10)
freqz(b,1);
x7=fftfilt(b,x);
X7=fft(x);
figure(11)
subplot(221);plot(x);
title('滤波前信号波形');
xlabel('时间 s');ylabel('幅值 y(t)');
subplot(222);plot(abs(Y7));
xlabel('频率 Hz');ylabel('幅值 magY');
title('滤波前信号频谱');
subplot(223);plot(x7);
xlabel('时间 s');ylabel('幅值 y(t)');
title('滤波后信号波形');
subplot(224);plot(abs(X7));
xlabel('频率 Hz');ylabel('幅值 magY');
title('滤波后信号频谱');
%sound(x7,fs,bits);
0.1
0.2
0.30.40.50.60.70.80.9
1
-6000
-4000-20000
2000Normalized Frequency (⨯π rad/sample)
P h a s e (d e g r e e s )
00.10.2
0.30.40.50.60.70.80.91
-100
-50
50Normalized Frequency (⨯π rad/sample)
M a g n i t u d e (d B )
024
6
x 10
5
-0.5
00.5
1滤波前信号波形
时间 s
幅值 y (t )
246x 10
5
500
1000
频率 Hz 幅值 m a g Y
滤波前信号频谱
24
6
x 10
5
-0.4
-0.200.2
0.4
时间 s
幅值 y (t )
滤波后信号波形
246x 10
5
500
1000
频率 Hz
幅值 m a g Y
滤波后信号频谱
3.6回放语音信号
经过以上的加噪音信号滤波处理后,可在Matlab中用函数sound对声音进行回放,可以感觉滤波前、滤波后的语音有变化。
代码如下:
sound(x,fs);
sound(x1,fs);
sound(X2,fs);
sound(X3,fs);
sound(k,fs,bits);
sound(x4,fs);
sound(y5,fs);
sound(x7,fs,bits);
四心得体会
从拿到任务书到现在,自己差不多花了一个多星期才弄完。
通过这次课程设计,让我了解到了自己的很多不足。
之前认为已经掌握的书本知识,运用起来才发现并没有真正弄懂,很多地方都存在漏洞,而且掌握的也只仅仅是理论知识,动手操作时就不知道怎么去运用了。
这让我明白了在以后的学习中,不能只顾理论知识,而忘了实践。
要将理论与实践相结合,才能做得更好。
在这次课设中,前前后后遇到了不少问题。
其中还查阅了不少参考书,毕竟自己实践能力很差,不可能会从头到尾的程序都是自己写出来的。
但是查阅参考书只是为了更好的弄懂怎么去运用,并不是照参考书上的全抄。
每次做课设都很头痛,以后要更加努力啊。
通过这次数字信号课程设计,让我在多方面都有所提高,还让我看到了自己的不足,自己对本专业的相关知识掌握的还很少,还有很多知识都没掌握,还让我认识到解决问题的方法、途径很多,做事要开阔自己的思维,看待问题要从多个角度看。
希望自己以后会更加努力做好。
附录:
[x,fs,bits]=wavread('d:\text.wav');
%sound(x,fs);
n=length(x);%求语音信号的长度
dt=10.00/n;%语音信号的时间为11s
t=dt:dt:10.00;%将所加噪声信号的点数调整到与原始信号相同figure(1);
subplot(211);plot(t,x,'b');
title('原始语音信号时域波形');
xlabel('时间 s');ylabel('幅值 y(t)');
X=fft(x,n);magY=abs(X);
f=0:fs/n:fs*(n-1)/n;
subplot(212);plot(f,magY,'b')
%axis([0 200 0 100]);
title('原始语音信号频谱图');
xlabel('频率 Hz');ylabel('幅值 magY');
[x,fs,bits]=wavread('d:\text.wav');
n=length(x);dt=10.00/n;t=dt:dt:10.00;
d3=0.2*randn(1,n)'; %噪声信号的函数
x3=x(:,1)+d3; %噪音信号叠加
%sound(x3,fs);
figure(2)
subplot(211);plot(t,x3);
xlabel('时间 s');ylabel('幅值 y(t)');
title('加白噪音的语音信号时域波形');
D1=fft(x3,n);magD1=abs(D1);f=0:fs/n:fs*(n-1)/n; subplot(212);plot(f,magD1);
%axis([0 200 0 100]);
xlabel('频率 Hz');ylabel('幅值 magY');
title('加白噪音的语音信号频谱图');
[x,fs,bits]=wavread('d:/text.wav');
n=length(x);dt=10.00/n;t=dt:dt:10.00;
d=[0.08*sin(2*pi*5000*t)]';
X2=x(:,1)+d;
%sound(X2,fs);
figure(3)
subplot(211);plot(t,X2);
xlabel('时间 s');ylabel('幅值 y(t)');
title('加单频正弦信号的语音信号时域波形')
y2=fft(X2);magT=abs(y2);
f=0:fs/n:fs*(n-1)/n;
subplot(212);plot(f,magT);
%axis([0 200 0 100]);
xlabel('频率 Hz');ylabel('幅值 magY');
title('加单频正弦语音信号频谱');
[x,fs,bits]=wavread('d:/text.wav');
n=length(x);dt=10.00/n;t=dt:dt:10.00;
d=[0.08*sin(2*pi*5000*t)]';d1=[0.08*sin(2*pi*20*t)]'; X3=x(:,1)+d+d1;
%sound(X2,fs);
figure(4)
subplot(211);plot(t,X3);
xlabel('时间 s');ylabel('幅值 y(t)');
title('加多频正弦信号的语音信号时域波形')
y3=fft(X3);magZ=abs(y3);f=0:fs/n:fs*(n-1)/n;
subplot(212);plot(f,magZ);
%axis([0 200 0 100]);
xlabel('频率 Hz');ylabel('幅值 magY');
title('加多频正弦语音信号频谱');
%海明窗低通滤波器
[x,fs,bits]=wavread('d:/text.wav');
n=length(x);dt=10.00/n;t=dt:dt:10.00;d3=0.2*randn(1,n);%噪声信号的函数
x3=x(:,1)+d3';%噪音信号叠加
wp=0.2*pi;ws=0.3*pi;wdelta=ws-wp;
M=ceil(3.32*pi/wdelta);N=2*M+1;wc=(ws+wp)/2;win=hamming(N);
b=fir1(N-1,wc/pi,win);n=0:1:N;
[hi t]=impz(b,1,n);[hf w]=freqz(b,1,512);
figure(6)
subplot(311);stem(n,hi);xlabel('n');ylabel('Magnitude');
title('impluse response');
subplot(312);plot(w/pi,20*log10(abs(hf)));xlabel('Frequency(Hz)');yla bel('Magnitude');
title('Frequency response');
subplot(313);;plot(w/pi,180/pi*unwrap(angle(hf)));
xlabel('Frequency(Hz)');ylabel('Phase(degrees)');title('Frequency response');
figure(7)
X=fft(x,n);wp=0.25*pi;ws=0.3*pi;%性能指标
wdelta=ws-wp;%过度带宽度
M=ceil(3.32*pi/wdelta);%滤波器长度
N=2*M+1;%窗口长度
wc=(ws+wp)/2;% 截止频率
win=hamming(N);%衰减不小于50dB,选择海明窗
b=fir1(N-1,wc/pi,win);n1=0:1:N;
[hi t]=impz(b,1,n1);%得到脉冲响应
[hf w]=freqz(b,1,512);%得到频率响应
X3=fft(x);subplot(221);plot(x,'r');xlabel('时间/t');ylabel('幅度/Hz');
title('滤波器滤波后信号的波形');
subplot(222);plot(abs(X3),'r');xlabel('频率 Hz');ylabel('幅值 magY');
title('滤波器滤波后信号的频谱');
%axis([0 1000 0 500]);
x4=fftfilt(b,x3); X4=fft(x4);
%sound(x4,fs);
subplot(223);plot(x4);xlabel('时间/t');ylabel('幅度/Hz');
title('滤波器滤波后信号的波形');
subplot(224);plot(abs(X4));xlabel('频率 Hz');ylabel('幅值 magY');
title('滤波器滤波后信号的频谱');
%axis([0 1000 0 500]);
%FIR 凯塞高通滤波器设计
[x,fs,bits]=wavread('d:/text.wav');
n=length(x);y1=x(1:n);Y1=fft(y1);
fp=2800;fc=3000;As=100;Ap=1;Fs=8000;
wc=2*pi*fc/Fs;wp=2*pi*fp/Fs;wdel=wc-wp;beta=0.112*(As-8.7);
N=ceil((As-8)/2.285/wdel);wn=kaiser(N,beta);ws=(wp+wc)/2/pi;
b=fir1(N-1,ws,'high',wn);
figure(8);
freqz(b,1);y5=fftfilt(b,x);
%sound(y5,fs);
Y5=fft(x,n);
figure(9);
subplot(221);plot(x,'r');xlabel('时间 s');ylabel('幅值 y(t)');
%axis([0,1000,0,1.0]);
title('原语音信号滤波前的信号波形');
subplot(222);plot(abs(Y1),'r');xlabel('频率 Hz');ylabel('幅值 magY'); %anxis([0 1000 0 1.0]);
title('原语音信号滤波前的信号频谱');
subplot(223);plot(y5,'b');title('原语音信号滤波后的信号波形');
xlabel('时间 s');ylabel('幅值 y(t)');
subplot(224);plot(abs(Y5),'b');xlabel('频率 Hz');ylabel('幅值 magY');
%anxis([0 1000 0 1.0]);
title('原语音信号滤波后的信号频谱');
%FIR凯塞窗带通滤波器
[x fs bits]=wavread('d:/text.wav');
n=length(x);y7=x(1:n);Y7=fft(y7);
fp1=300;fp2=1000;fc1=283;fc2=1200;As=15;Ap=1;Fs=8000;
wp1=2*pi*fp1/Fs;wc1=2*pi*fc1/Fs;wp2=2*pi*fp2/Fs;wc2=2*pi*fc2/Fs; wdel=wp1-wc1;beta=0.112*(As-8.7);N1=ceil((As-8)/2.285/wdel);
ws=[(wp1+wc1)/2/pi,(wp2+wc2)/2/pi];wn=kaiser(N1+1,beta);
b=fir1(N1,ws,wn);
figure(10)
freqz(b,1);x7=fftfilt(b,x);X7=fft(x,n);
figure(11)
subplot(221);plot(x,'r');title('滤波前信号波形');
xlabel('时间 s');ylabel('幅值 y(t)');
subplot(222);plot(abs(Y7),'b');
xlabel('频率 Hz');ylabel('幅值 magY');
title('滤波前信号频谱');
subplot(223);plot(x7,'b');
xlabel('时间 s');ylabel('幅值 y(t)');
title('滤波后信号波形');
subplot(224);plot(abs(X7),'b');
xlabel('频率 Hz');ylabel('幅值 magY');
title('滤波后信号频谱');
%sound(x7,fs,bits);
五评分表
课题名称:
项目评价设计方案的合理性与创造性
设计与调试结果
设计说明书的质量
答辩陈述与回答问题情况
课程设计周表现情况
综合成绩
教师签名:
日期:。