课程设计任务书文档格式.docx
《课程设计任务书文档格式.docx》由会员分享,可在线阅读,更多相关《课程设计任务书文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
![课程设计任务书文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/3/cacfd72e-d791-4c9f-8729-fe5d5f9c2a29/cacfd72e-d791-4c9f-8729-fe5d5f9c2a291.gif)
通带边界频率
,阻带边界频率
,阻带衰减不小于40dB,通带波纹不大于3dB。
要求选择汉宁窗。
B.利用凯泽窗函数设计一个带通滤波器,上截止频率2500Hz,下截止频率1000Hz,过渡带宽200Hz,通带波纹允许差0.1,阻带波纹不大于允差0.02dB,通带幅值为1。
C.用窗函数设计一个线性相位FIR低通滤波器,通带截止频率
,
,通带衰减不大于3dB,阻带衰减不低于40dB。
要求采用汉宁窗和布莱克慢窗。
D.用海明窗设计一个低通FIR滤波器,其中
,通带衰减不大于0.25dB,阻带衰减不小于50dB。
要求:
∙在IIR数字滤波器中任选两题,FIR数字滤波器中任选两题。
∙独立完成课程设计;
3)课程设计说明书要求打印或黑色水笔书写。
二、对课程设计成果的要求(包括课程设计说明书(论文)、图纸、实物样品等)
1.课程设计要求符合《课程设计说明书规范》
2.图表格式要规范。
3.上机运行结果,应满足课程设计任务书的基本要求,并有明确的结论。
三、主要参考文献
(1)数字信号处理教程程佩青清华大学出版社
(2)MATLAB信号处理详解陈亚勇人民邮电出版社
(3)应用MATLAB实现信号分析和处理
张明照
科学出版社
(4)数字信号处理及MATLAB实现
余成波
清华大学出版社
(5)MATLAB7.0在数字信号处理中的应用
罗军辉
机械工业出版社
(6)MATLAB信号处理
刘波
电子工业出版社
(7)Matlab信号处理与应用
董长虹
国防工业出版社
(8)数字信号处理原理及其MATLAB实现
从玉良
电子工业出版社
(9)数字信号处理基础及MATLAB实现
周辉
中国林业出版社
四、课程设计进度计划
1)知识回顾和课程设计安排,集中进行,半天
2)查阅文献,分散进行,半天
3)数字信号处理设计并实施两天天
4)整理文档,编写课程设计说明书,两天
系(教研室)主任审查意见
系主任(签字):
年月日
一、课程设计的目的…………………………………………………………………………………….1
二、数字滤波器的设计步骤…………………………………………………………………………3
三、IIR数字滤波器………………………………………………………………………………………..3
3.1、IIR数字滤波器的特点3
3.2、用双线性法设计IIR数字滤波器3
3.3、巴特沃斯低通滤波器的设计3
3.4、巴特沃斯高通滤波器的设计3
3.4.1、巴特沃斯高通滤波器各参数图形3
3.4.2、巴特沃斯高通滤波器滤波效果图3
四、FIR数字滤波器……………………………………………………………………………………….3
4.1、FIR滤波器的特点3
4.2、窗函数法设计FIR数字滤波器3
五、程序实例源码…………………………………………………………………………………………3
一、课程设计的目的
数字滤波是数字信号分析中最重要的组成部分之一,与模拟滤波相比,它具有精度和稳定性高、系统函数容易改变、灵活性强、便于大规模集成和可实现多维滤波等优点。
在信号的过滤、检测和参数的估计等方面,经典数字滤波器是使用最广泛的一种线性系统。
本次课程设计是通过对常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法;
熟悉用双线性变换法设计IIR数字滤波器和用窗函数法设计FIR数字滤波器的原理与方法,掌握利用数字滤波器对信号进行滤波的方法,掌握数字滤波器的计算机仿真方法,并能够对设计结果加以分析。
二、数字滤波器的设计步骤
2.1、不论是IIR滤波器还是FIR滤波器的设计都包括三个步骤:
∙按照实际任务的要求,确定滤波器的性能指标。
∙用一个因果、稳定的离散线性时不变系统的系统函数去逼近这一性能指标。
根据不同的要求可以用IIR系统函数,也可以用FIR系统函数去逼近。
∙利用有限精度算法实现系统函数,包括结构选择,字长选择等。
2.2、IIR数字滤波器与FIR数字滤波器的区别
2.2.1、单位响应
IIR数字滤波器单位响应为无限脉冲序列,而FIR数字滤波器单位响应为有限的;
FIR滤波器,也就是“非递归滤波器”,没有引入反馈。
这种滤波器的脉冲响应是有限的。
2.2.2、幅频特性
IIR数字滤波器幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音频信号上;
FIR数字滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位,就是不同频率分量的信号经过fir滤波器后他们的时间差不变,这是很好的性质。
2.2.3、实时信号处理
FIR数字滤波器是有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。
三、IIR数字滤波器
3.1、IIR数字滤波器的特点
IIR滤波器有以下几个特点:
3.1.1、封闭函数
IIR数字滤波器的系统函数可以写成封闭函数的形式。
3.1.2、IIR数字滤波器采用递归型结构
IIR数字滤波器采用递归型结构,即结构上带有反馈环路。
IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。
由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。
3.1.3、借助成熟的模拟滤波器的成果
IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。
在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。
3.1.4、需加相位校准网络
IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。
3.2、用双线性法设计IIR数字滤波器
脉冲响应不变法的主要缺点是产生频率响应的混叠失真。
这是因为从S平面到Z平面是多值的映射关系所造成的。
为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-π/T~π/T之间,再用z=esT转换到Z平面上。
也就是说,第一步先将整个S平面压缩映射到S1平面的-π/T~π/T一条横带里;
第二步再通过标准变换关系z=es1T将此横带变换到整个Z平面上去。
这样就使S平面与Z平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象,映射关系如图1所示。
双线性变换的映射关系
3.3、巴特沃斯低通滤波器的设计
为了便于观察滤波的效果,本次课程设计中我选用的信号只包括一高一低两个频率值,这样在DFT频谱分析图中便可以清楚地观察到频率的分布及经过各类滤波器后的效果。
所用信号:
t=0:
0.001:
2;
y=100*sin(2*pi*2*t)+100*sin(2*pi*20*t);
f=80;
n=0:
1/f:
yn=100*sin(2*pi*2*n)+100*sin(2*pi*20*n);
由信号经过DFT频谱分析之后的图中我们可以读出归一化之后的频率值,这样便可以取出适当的参数设计滤波器了,由128点的DFT频谱分析图中可以看出,设计低通滤波器时应取wp=0.2*pi,ws=0.4*pi,和设计好的低通滤波器一起便可以对原信号进行滤波了。
3.4、巴特沃斯高通滤波器的设计
3.4.1、巴特沃斯高通滤波器各参数图形
3.4.2、巴特沃斯高通滤波器滤波效果图
四、FIR数字滤波器
4.1、FIR滤波器的特点
有限长单位冲激响应(FIR)滤波器有以下特点:
(1)系统的单位冲激响应h(n)在有限个n值处不为零;
(2)系统函数H(z)在|z|>
0处收敛,极点全部在z=0处(因果系统);
(3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。
设FIR滤波器的单位冲激响应h(n)为一个N点序列,0≤n≤N—1,则滤波器的系统函数为
H(z)=∑h(n)*z^-n
4.2、窗函数法设计FIR数字滤波器
用于产生窗函数的MATLAB文件有如下8个:
(1)bartlett.m(三角窗)
(2)blackman.m(布莱克曼窗)
(3)boxcar.m(矩形窗)
(4)hamming.m(海明窗)
(5)hanning.m(汉宁窗)
(6)triang.m(三角窗)
(7)chebwin.m(切比雪夫窗)
(8)kaiser.m(凯泽窗)
2.FIR数字滤波器的文件
以下MATLAB文件是用于FIR数字滤波器的文件:
(1)fir1.m
本文件采用窗函数法设计FIR数字滤波器,其调用格式是
1)b=fir1(N,Wn)
2)b=fir1(N,Wn,’high’)
3)b=fir1(N,Wn,’stop’)
式中N为滤波器的阶次,因此滤波器的长度为N+1;
Wn是通带截止频率,其值在0~1之间,1对应抽样频率的一半;
b是设计好的滤波器系数
。
对于格式
(1),若Wn是一标量,则可用来设计低通滤波器;
若Wn是
的向量,则用来设计带通滤波器;
的向量,则可用来设计
带滤波器,此时,格式将变为:
b=fir1(N,Wn,’DC-1’)或b=fir1(N,Wn,’DC-0’)
其中,前者保证第一个带为通带,后者保证第一个带为阻带。
格式
(2)用来设计高通滤波器;
格式(3)用来设计带阻滤波器。
值得注意是:
在上述所有格式中,若不指定窗函数的类型,则fir1自动选择汉明窗。
(2)fir2.m
本文件采用窗函数法设计具有任意幅频特性的FIR数字滤波器。
其调用格式是
b=fir1(N,F,M)
其中F是频率向量,其值在0~1之间,M是与F相对应的所希望的幅频响应。
不指定窗函数的类型,则自动选择汉明窗。
(3)remez.m
本文件用来设计采用切比雪夫最佳一致逼近FIR数字滤波器。
同时,还可以用来设计希尔伯特变换器和差分器。
1)b=remez(N,F,A)
2)b=remez(N,F,A,W)
3)b=remez(N,F,A,W,’hilbert’)
4)b=remez(N,F,A,W,’differentiator’)
其中,N是给定的滤波器的阶次;
b是设计的滤波器的系数,其长度为N+1;
F是频率向量,其值在0~1之间;
A是对应F的各频段上的理想幅频响应;
W是各频段上的加权向量。
若b的长度为偶数,设计高通和带阻滤波器时有可能出现错误,因此最好保证b的长度为奇数,即N应为偶数。
(4)remexord.m
本文件采用切比雪夫一致逼近设计FIR数字滤波器时所需要的滤波器阶次。
[N,Fo,Ao,W]=remexord(F,A,DEV,Fs)
式中,F、A的含义同文件(3),是通带和阻带上的偏差;
该文件输出的是符合要求的滤波器阶次N、频率向量Fo、幅度向量Ao和加权向量W。
若设计者事先不能确定自己要设计的滤波器的阶次,那么,调用remexord后,就可利用这一族参数再调用remez,即b=remez(N,Fo,Ao,W),从而设计出所需要的滤波器。
因此,通常remez和remexord结合使用。
值得说明是:
remexord给出的阶次N有可能偏低,这时适当增加N即可;
另外,若N为奇数,就可令其加1,使其变为偶数,这样b的长度为奇数。
(5)sgolay.m
本文件用来设计Savitzky-Golay平滑滤波器。
b=sgolay(k,f)
式中k是多项式的阶次,f是拟合的双边点数。
要求
,且f为奇数。
(6)firls.m
本文件用最小平方法设计线性相位FIR数字滤波器。
可设计任意给定的理想幅频特性。
(7)fircls.m
用带约束的最小平方法设计线性相位FIR数字滤波器。
(8)fircls1.m
用带约束最小平方法设计线性相位FIR低通和高通滤波器。
(9)firrcos.m
用来设计低通线性相位FIR数字滤波器,其过渡带为余弦函数形状。
五、程序实例源码
1、题目:
A.试用MATLAB设计一巴特沃斯低通数字滤波器,要求通带截止频率Wp=30Hz,阻带截止频率Ws=35Hz,通带衰减不大于0.5dB,阻带衰减不小于40dB,抽样频率Fs=100Hz
fp=30;
fs=35;
Fs=100;
wp=2*pi*fp/Fs;
ws=2*pi*fs/Fs;
wp=tan(wp/2);
ws=tan(ws/2);
[N,wn]=buttord(wp,ws,0.5,40,'
s'
);
[z,p,k]=buttap(N);
[b,a]=zp2tf(z,p,k);
[B,A]=lp2lp(b,a,wp);
[bz,az]=bilinear(B,A,.5);
[h,w]=freqz(bz,az,256,Fs);
figure
plot(w,abs(h))
gridon
运行结果:
2、题目:
wp=0.5*pi;
ws=0.66*pi;
wdelta=ws-wp;
N=ceil(8*pi/wdelta)
ifrem(N,2)==0
N=N+1;
end
Nw=N;
wc=(wp+ws)/2;
n=0:
N-1;
alpha=(N-1)/2;
m=n-alpha+0.00001;
hd=sin(wc*m)./(pi*m);
win=hanning(Nw)'
;
h=hd.*win;
b=h;
freqz(b,1,512)
3、题目:
用双线性变换
法设计一个数字巴特沃夫低通滤波器,在频带截止频率0.2pi处的衰减不大于1dB,在阻带截止频率0.3pi处的衰减不小于15dB。
symsz;
H=1/10*(1+2/z+4/z^2+2/z^3+1/z^4)
h=iztrans(H)
w=-2*pi:
0.1:
2*pi;
hf=1/10*(1+2./(exp(j*w))+4./(exp(j*w).^2)+2./(exp(j*w).^3)+1./(exp(j*w).^4));
subplot(131)
plot(w,abs(hf))
subplot(132)
plot(w,angle(hf))
subplot(133)
h=[0.10.20.40.20.1]
stem(h)
4、设某FIR数字滤波器的系统函数为
,试求h(n)的表达式、
的幅频响应和相频响应的表达式,并画出对应表达式的波形。
wp=0.2*pi;
ws=0.3*pi;
Fs=4000;
T=1/Fs;
OmegaP=(2/T)*tan(wp/2);
OmegaS=(2/T)*tan(ws/2);
rp=1;
rs=15;
as=15;
ripple=10^(-rp/20);
attn=10^(-rs/20);
[n,wn]=buttord(OmegaP,OmegaS,rp,rs,'
[z,p,k]=Buttap(n);
[b,a]=zp2tf(z,p,k);
[bt,at]=lp2lp(b,a,wn);
[b,a]=bilinear(bt,at,Fs);
[db,mag,pha,grd,w]=freqz_m(b,a);
%下面绘出各条曲线
subplot(2,2,1);
plot(w/pi,mag);
title('
MagnitudeFrequency幅频特性'
xlabel('
w(/pi)'
ylabel('
|H(jw)|'
axis([0,1,0,1.1]);
set(gca,'
XTickMode'
'
manual'
XTick'
[00.20.31]);
YTickMode'
YTick'
[0attnripple1]);
grid
subplot(2,2,2);
plot(w/pi,db);
MagnitudeFrequency幅频特性(db)'
dB'
axis([0,1,-30,5]);
[-60-as-rp0]);
subplot(2,2,3);
plot(w/pi,pha/pi);
PhaseFrequency相频特性'
pha(/pi)'
axis([0,1,-1,1]);
subplot(2,2,4);
plot(w/pi,grd);
GroupDelay群延时'
Sample'
axis([0,1,0,15]);
freqz_m.m文件
function[db,mag,pha,grd,w]=freqz_m(b,a);
[H,w]=freqz(b,a,1000,'
whole'
H=(H(1:
501))'
w=(w(1:
mag=abs(H);
db=20*log10((mag+eps)/max(mag));
pha=angle(H);
grd=grpdelay(b,a,w);