基于matlab的IIR数字滤波器课程设计报告.doc
文本预览下载声明
数字信号处理
课程设计报告
姓 名:韩 斌
学 号:200712130
专 业:通信工程
院 系:信息工程学院
指导教师:陈黎霞 王玲
一、课题名称 基于matlab的IIR滤波器设计
二、课题意义
数字滤波器是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。它的基本工作原理是利用离散系统特性对系统输入信号进行加工和变换,改变输入序列的频谱或信号波形,让有用频率的信号分量通过,抑制无用的信号分量输出。数字滤波器和模拟滤波器有着相同的滤波概念,根据其频率响应特性可分为低通、高通、带通、带阻等类型,与模拟滤波器相比,数字滤波器除了具有数字信号处理的固有优点外,还有滤波精度高(与系统字长有关)、稳定性好(仅运行在0与l两个电平状态)、灵活性强等优点。
三、数字滤波器原理
在数字滤波中,我们主要讨论离散时间序列。如图1所示。设输入序列为,离散或数字滤波器对单位抽样序列的响应为。因在时域离散信号和系统中所起的作用相当于单位冲激函数在时域连续信号和系统中所起的作用。
图1 数字滤波器原理
数字滤波器的序列将是这两个序列的离散卷积,即
(1)
同样,两个序列卷积的z变换等于个自z变换的乘积,即
(2)
用代入上式,其中T为抽样周期,则得到
(3)
式中和 分别为数字滤波器输入序列和输出序列的频谱,而为单位抽样序列响应的频谱。由此可见,输入序列的频谱经过滤波后,变为 ,按照的特点和我们处理信号的目的,选取适当的使的滤波后的符合我们的要求。
四、软件设计过程
采集声音信号
语音信号的采样及频谱分析
添加噪声
设计滤波器
语音信号滤波
对滤波前后信号的波形和频谱进行比较
GUI界面(选做)
五、各部分源程序及相应结果
原始信号的采集及分析
源程序:
[y1,fs,bits]=wavread(d:\q.wav);
sound(y1,44000); %播放语音信号
y=fft(y1); %对信号做FFT变换
f=fs*(0:511)/1024;
figure(1)
subplot(2,1,1);
plot(abs(y(1:512))) %做原始语音信号的FFT频谱图
title(原始语音信号FFT频谱)
subplot(2,1,2);%做原始语音信号的时域图形
plot(y1)
title(原始语音信号波形);
xlabel(时间 n);
label(幅值 n);
信号加燥及相关分析
源程序:
[y,Fs,bits]=wavread(D:\q.wav);%读出信号,采样率和采样位数。
y=y(:,1);%取单声道作分析
yl=length(y)%求语音信号长度
yy=fft(y,yl);%傅里叶变换
t=[0:1/8000:4 zeros(1,yl-32001)];
m=0.07*sin(10000*pi*t);%产生噪声
n=y+m;%加入噪声
nl=length(n)%求语音信号长度
nn=fft(n,nl);%傅里叶变换
figure(1);
subplot(2,1,1);plot(n);title(噪声信号波形)
subplot(2,1,2);plot(y);title(原信号波形)
figure(2);
subplot(2,1,1);plot(abs(nn));title(噪声信号频谱);
subplot(2,1,2);plot(abs(yy));title(原信号频谱);
sound(n,fs)
滤波器的设计及相关分析
源程序:
[y,Fs,bits]=wavread(D:\q.wav);%读出信号,采样率和采样位数。
y=y(:,1);%取单声道作分析
yl=length(y)%求语音信号长度
yy=fft(y,yl);%傅里叶变换
t=[0:1/8000:4 zeros(1,yl-32001)];
m=0.07*sin(10000*pi*t);%产生噪声
k=y+m;%加入噪声
kl=length(k)%求语音信号长度
K=fft(k,kl);%傅里叶变换
fb=00;fc=1000;As=100;Ap=1;fs=44000;
wc=2*fc/fs; wb=2*fb/fs;
[n,wn]=ellipord(wc,wb,Ap,As);
[b,a]=ellip(n,Ap,As
显示全部