数字示波器毕业设计.docx
- 文档编号:24541819
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:21
- 大小:175.72KB
数字示波器毕业设计.docx
《数字示波器毕业设计.docx》由会员分享,可在线阅读,更多相关《数字示波器毕业设计.docx(21页珍藏版)》请在冰豆网上搜索。
数字示波器毕业设计
目录
1.引言1
2.窗函数法1
2.1窗函数法的设计原理1
2.2截断效应2
2.3典型窗函数的介绍2
2.4用窗函数法设计FIR数字滤波器的步骤5
3.频率采样法5
3.1频率采样法设计FIR滤波器的基本思想5
3.2频率采样法的误差分析6
3.3用频率采样法设计FIR滤波器的步骤6
4.等波纹最佳逼近法7
5.实例设计及仿真7
5.1函数介绍7
5.2程序及仿真8
6.总结13
参考文献14
致谢16
1.引言
数字滤波器可以过滤时间离散信号,通过对抽样数据进行数值处理来达到频域滤波的目的,目前已经广泛应用在高保真的信号处理,如数字音频、图像处理、数据传输、生物医学等领域。
由于计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现。
借助MATLAB强大的数据处理能力,灵活使用模块集和工具箱,可以按照需求编写程序来实现多种滤波器设计。
伴随MATLAB的不断发展以及工具箱的不断开发,工作平台的改善,使用MATLAB的编程工作量会大大减少。
MATLAB提供了完整的联机查询、帮助系统,提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析[1]。
而这也使得基于MATLAB的设计变得方便易于使用。
FIR(FiniteImpulseResponse)数字滤波器由于设计灵活,滤波效果好以及过渡带宽易控制,因此在数字信号处理领域得到了广泛的应用。
FIR数字滤波器的典型设计方法包括窗函数法、频率采样法、等波纹最佳逼近法、最小二乘约束设计法、非线性相位滤波器设计法和升余弦设计法等。
其中,窗函数法、频率采样法和等波纹最佳逼近设计发是实际工作中最常用的几种设计方法,正确理解和掌握这几种设计方法是学习FIR数字滤波器的一个重要环节。
本文介绍了窗函数法、频率采样法以及等波纹最佳逼近法设计FIR数字滤波器的基本原理、逼近误差和设计步骤,并用MATLAB编程实现了FIR数字滤波器的设计。
2.窗函数法
2.1窗函数法的设计原理
设要逼近的理想滤波器的频率响应函数为
,其单位脉冲响应是
,则
(1)
(2)
如果能够由已知的
求出
,经过Z变换可得到滤波器的系统函数。
但通常以理想滤波器作为
,其幅度特性逐段恒定,在边界频率处有不连续点,因而
是无限时宽的,且是非因果序列。
例如,线性相位理想低通滤波器的频率响应函数
为
(3)
其单位脉冲响应
为
=
(4)
由式(3)看到,理想低通滤波器的单位脉冲响应
是无限长,且是非因果序列。
为了构造一个长度为N的第一类线性相位FIR滤波器,只有将
截取一段,并保证截取的一段关于n=(N-1)/2偶对称。
设截取的一段用h(n)表示,即h(n)=
式中,
是一个矩形序列,长度为N,则α取值为(N-1)/2时,截取的一段关于n=(N-1)/2偶对称,保证所设计的滤波器具有线性相位。
以上就是窗函数法设计FIR滤波器的思路。
2.2截断效应
在窗函数法设计滤波器的过程中,用一个有限长的序列h(n)去代替理想滤波器的单位脉冲响应
,肯定会引起误差,表现在频域就是通常所说的吉布斯效应。
该效应引起过渡带加宽及通带和阻带内的波动,尤其是使阻带的衰减减小,从而可能满足不了技术上的要求。
这种吉布斯效应是由于将
直接截断引起的,因此,也称为截断效应[2]。
另外,
是一个以2π为周期的函数,可以展开为傅里叶级数,即
(5)
傅里叶级数的系数为
,当然就是
对应的单位脉冲响应。
设计FIR滤波器就是根据要求找到N个傅里叶级数系数h(n),n=0,1,2,……,N-1,以N项傅氏级数去近似代替无限项傅氏级数,这样在一些频率不连续点附近会引起较大误差,这种误差就是前面说的截断效应。
因此,从这一角度来说,窗函数法也称为傅氏级数法。
显然,选取傅氏级数的项数越多,引起的误差就越小,但项数多即h(n)长度增加,也使成本和滤波计算量加大,应在满足级数要求的条件下,尽量减少h(n)的长度[3]。
2.3典型窗函数的介绍
(1)矩形窗
矩形窗的窗函数为
(6)
其幅度函数为
(7)
(2)三角形窗
三角形窗的窗函数为
(8)
其频谱函数为
(9)
其幅度函数为
(10)
(3)汉宁窗——升余弦窗
汉宁窗的窗函数为
(11)
其频谱的幅度函数为
(12)
当N>>1时,
,则上式成为
(13)
(4)哈明窗——改进的升余弦窗
哈明窗的窗函数为
(14)
其频谱函数
为
(15)
其幅度函数
为
(16)
当
时,上式可近似表示为
(17)
这种改进的升余弦窗,是一种高效窗函数,能量更加集中在主瓣中,主瓣的能量约占99.96%,瓣峰值幅度为40dB,其主瓣宽度和汉宁窗相同,仍为8π/N。
可见哈明窗是一种高效窗函数,所以MATLAB窗函数设计函数的默认窗函数就是哈明窗[4]。
除了上面介绍的四种窗函数,常用的窗函数还有布莱克曼窗和凯塞-贝塞尔窗。
表1归纳了几种常用窗函数的基本参数,可供设计时参考。
表1几种窗函数的基本参数
窗函数类型
旁瓣峰值衰(dB)
过渡带宽Bt
阻带最小衰(dB)
矩形窗
-13
4π/N
-21
三角形窗
-25
8π/N
-25
汉宁窗
-31
8π/N
-44
哈明窗
-41
8π/N
-53
布莱克曼窗
-57
12π/N
-74
凯塞窗(β=7.865)
-57
10π/N
-80
2.4用窗函数法设计FIR数字滤波器的步骤
用窗函数法设计FIR数字滤波器的步骤如下:
(1)根据技术要求确定单位取样响应
,如果已知
则可由下式确定单位取样响应:
(18)
(2)根据对过渡带和阻带衰减的要求,选择窗函数的形式,并估计窗口长度N。
选择窗函数的时候,原则上在保证阻带衰减的情况下,尽量选择主瓣窄的窗函数,减小带宽[5]。
(3)由选择好的窗函数形式w(n)确定单位取样响应h(n),公式如下:
h(n)=hd(n)*w(n)(19)
如果要求线性相位,则同时要保证hd(n)对(N-1)/2对称。
(4)重复上述步骤反复验证技术指标是否达到。
可用FFT快速算法计算设计出的滤波器频率响应,公式如下:
(20)
3.频率采样法
3.1频率采样法设计FIR滤波器的基本思想
设希望逼近的滤波器的频响函数用
表示,对
在ω=0到2π之间等间隔采样N点,得到
:
k=0,1,2,3,…,N-1(21)
再对
进行N点IDFT,得到h(n):
n=0,1,2,3,…,N-1(22)
将h(n)作为所设计的FIR滤波器的单位脉冲响应,其系统函数H(z)为
(23)
另外根据频率域采样理论,利用频率域采样值恢复原信号Z变换H(z)的内插表示形式:
(24)
此式就是直接利用频率采样值
形成滤波器的系统函数,(23)式适合FIR直接型网络结构,(24)式适合频率采样结构。
3.2频率采样法的误差分析
下面,我们主要从时域分析其设计误差的来源。
如果待逼近的滤波器为
,对应的单位脉冲响应为
,则由频率域采样定理知道,在频域0~2π范围等间隔采样N点,利用IDFT得到的h(n)应是
以N为周期的周期延拓的主值区序列,即
h(n)=
(25)
如果
有间断点,那么相应的单位脉冲响应
应是无限长的。
这样,由于时域混叠及截断,使h(n)与
有偏差。
所以,频域的采样点数N愈大,时域混叠愈小,设计出的滤波器频响特性愈逼近
。
3.3用频率采样法设计FIR滤波器的步骤
针对频率采样法的FIR滤波器设计方式多种多样,但总的设计原则应遵循如下步骤:
(1)根据阻带最小衰减
选择过渡带采样点的个数m。
(2)确定过渡带宽度
,估算频域采样点数(即滤波长度)N。
如果增加m个过渡带采样点,则过渡带宽度近似变成
。
当N确定时,m越大,过渡带越宽。
如果给定过渡带宽度
则要求
,滤波器长度N必须满足如下估算公式:
N
(26)
(3)构造一个希望逼近的频率响应函数:
(27)
设计标准型片断常数特性的FIR数字滤波器时,一般构造幅度特性函数
为相应的理想频响特性[6]。
(4)进行频率采样:
H(k)=
k=0,1,2,3...,N-1(28)
k=0,1,2,3...,N-1(29)
并加入过渡带采样。
过渡带采样值可以设置为经验值,或用累试法确定,也可以采用最优化算法估算。
(5)对
进行N点IDFT,得到第一类线性相位FIR数字滤波器的单位脉冲响应:
h(n)=IDFT[H(k)]=
k=0,1,2,3...,N-1(30)
(6)检验设计结果。
如果阻带最小衰减未达到指标要求,则要改变过渡带采样值,直到满足指标要求为止。
如果滤波器边界频率未达到指标要求,则要微调
的边界频率[7]。
4.等波纹最佳逼近法
切比雪夫逼近法是一种等波纹逼近法,其优点在于能够使误差在整个频带中均匀分布,从而获得优良的滤波特性。
在设计指标相同的情况下,用切比雪夫逼近法设计的滤波器具有较小的阶数。
在阶数相同的情况下,切比雪夫逼近法的最大误差最小。
在过渡带宽度相同的前提下,用切比雪夫逼近法设计的滤波器比用窗函数法或频率采样法设计的滤波器具有更平稳的通带和更大的阻带衰减。
因此,这种方法在数字信号处理中占有十分重要的地位,是一种比较理想的数字滤波器设计方法,但其原理比较复杂。
5.实例设计及仿真
5.1函数介绍
fir1是用窗函数法设计线性相位FIR数字滤波器的工具箱函数,实现线性相位FIR数字滤波器的标准窗函数法设计。
所谓标准,即指在设计低通、高通、带通和带阻FIR滤波器时,
分别表示相应的线性相位理想低通、高通、带通和带阻滤波器的频率响应函数。
因而将所设计的滤波器的频率响应称为标准频率响应[8]。
fir1的调用格式及功能:
hn=fir1(M,wc),返回6dB截止频率为wc的M阶(单位脉冲响应h(n)长度N=M+1)FIR低通(wc为标量)滤波器系数向量hn,默认选用海明窗[9]。
滤波器单位脉冲响应h(n)与向量hn的关系为:
h(n)=hn(n+1)n=0,1,2,…M(31)
而且满足线性相位条件:
h(n)=h(N-1-n)。
其中wc为对π归一化的数字频率,0≤wc≤1。
当wc=[wcl,wcu]时,得到的是带通滤波器,其-6dB通带为wc≤ω≤wcu。
hn=fir1(M,wc,‘ftype‘),可设计高通和带阻FIR滤波器。
当ftype=high时,设计高通FIR滤波器;
当ftype=stop,且wc=[wcl,wcu]时,设计带阻FIR滤波器。
应当注意,在设计高通和带阻FIR滤波器时,阶数M只能取偶数(h(n)长度N=M+1为奇数)。
不过,当用户将M设置为奇数时,firl会自动对M加1。
例如:
hn=firl(M,wc,window),可以指定函数向量window,如果缺省window参数,则firl默认为哈明窗;
hn=firl(M,wc,bartlett(M+1)),使用三角形窗(BartlettWindow)设计;
hn=firl(M,wc,blackman(M+1)),使用布莱克曼(blackman)窗设计;
hn=firl(M,wc,’ftype’,window),通过选择wc,ftype和window参数(含义同上),可以设计各种加窗滤波器[11]。
Remez以及remezord函数介绍:
Remez函数实现线性相位FIR数字滤波器的等波纹最佳逼近设计。
其调用格式为
Hn=remez(M,f,m,w)(32)
调用结果返回单位脉冲响应向量hn。
其中f为边界频率单增向量;M为数字滤波器的阶数;w为误差加权向量。
采用remezord函数,可根据逼近指标估算等波纹最佳逼近FIR数字滤波器的最低阶数M、误差加权向量w和归一化边界频率向量f,使滤波器在满足指标的前提下造价最低[12]。
其返回参数作为remez函数的调用参数。
其调用格式为
[M,fo,mo,w]=remezord(f,m,rip.Fs)(33)
其中fo为归一化频率边界;mo为频带内幅值。
5.2程序及仿真
(1)窗函数法设计FIR数字滤波器
在MATLAB中,对各种滤波器的设计都有相应的计算振幅响应函数,可做滤波器的程序设计。
为满足设计要求,需选用特定的窗进行设计。
例:
要求设计一个低通数字滤波器,要求阻带截止频率fc为100Hz,采样频率Fs为2000Hz,滤波器阶数为31阶。
经对比,决定选用海明窗对此低通滤波器进行设计。
设计的主要程序如下:
fc=100;%截止频率
fs=2000;%采样频率
c=31;%定义滤波器阶数
w1=2*pi*fc/fs;%将模拟滤波器的技术指标转为数字滤波器的技术指标
window=hamming(c+1);%使用哈明(hamming)窗函数
h=fir1(c,w1/pi,window);%使用标准响应的加窗设计函数fir1
freqz(h,1,512);%数字滤波器频率响应
在MATLAB环境下运行该程序即可得到滤波器幅频、相频响应曲线如图1所示。
图1滤波器幅频、相频响应曲线
(2)频率采样法设计FIR数字滤波器
调用fir2函数逼近截止频率
的理想高通的30阶FIR数字滤波器。
频率采样法设计FIR数字滤波器的程序如下:
clear;closeall
f=[0,0.6,0.6,1];m=[0,0,1,1];%预期设定幅频响应
b=fir2(30,f,m);n=0:
30;%设计FIR数字滤波器系数
subplot(2,1,1);stem(n,b,'.')
xlabel('n');ylabel('h(n)');
axis([0,30,-0.4,0.5]),line([0,30],[0,0])
[h,w]=freqz(b,1,256);
subplot(2,1,1);plot(w/pi,20*log10(abs(h)));grid
axis([0,1,-80,0]);xlabel('w/pi');ylabel('幅度(dB)');
在MATLAB环境下运行该程序,得到理想高通的30阶FIR数字滤波器如图2所示。
图2一个理想高通的30阶FIR数字滤波器设计结果
(3)等波纹最佳逼近法设计FIR数字滤波器
设计一个线性相位低通FIR数字滤波器,其指标为:
通带边界频率fc=800Hz,阻带边界fr=1000Hz,通带波动阻带最小衰减At=40dB,采样频率fs=4000Hz,并对含噪信号进行滤波处理。
以下为等波纹最佳逼近法设计的降噪程序:
clear;closeall;
fedge=[8001000];
mval=[10];
dev=[0.05590.01];
f=4000;
fc=800;
f0=40;
N=4000
T=1/f;Tp=N*T;
t=0:
T:
(N-1)*T;
mt=cos(2*pi*f0*t);%产生单频正弦波调制信号mt,频率为f0
ct=1
xt=mt.*ct;%相乘产生单频调制信号xt
nt=cos(2*pi*1000*t);%噪声干扰信号
yt=xt+nt%信号加上噪声干扰得到的总的传输信号
subplot(4,1,1);plot(t,xt);grid;%输出要传输的信号的波形
subplot(413);plot(t,yt);grid;%输出加上噪声之后的信号的波形
[N,f0,m0,W]=remezord(fedge,mval,dev,f);%利用remez公式进行迭代交换计算
hn=remez(N,f0,m0,W);%得到hn
hw=fft(hn,512);%进行FFT变换转换至频域上
w=[0:
511]*2/512;
subplot(412);plot(w,20*log10(abs(hw)));grid;
et=filter(hn,1,yt);
subplot(414);plot(t,et);grid;
N=1024;
YT=fft(yt,N);
magx=abs(YT(1:
1:
N/2+1));
k=[0:
1:
N/2];
w=2*pi/N*k;
figure;
subplot(211);%画出通过滤波器后的频谱图
plot(w/pi,magx);
N=1024;
ET=fft(et,N);
magx=abs(ET(1:
1:
N/2+1));%画出通过滤波器前的频谱图
k=[0:
1:
N/2];
w=2*pi/N*k;
subplot(212);
plot(w/pi,magx);
在MATLAB环境下运行该程序,仿真结果如图3和图4所示。
图3是分别是信号的波形,滤波器的幅频特性图,信号加噪声后的波形和滤波之后的信号波形。
图4分别是滤波之前和之后的信号频谱图。
图3滤波器幅频特性
图4滤波信号频谱对比图
(4)三种设计方法的比较
通过对MATLAB中三种设计方法实现的过程和设计结果进行比较,我们发现:
①窗函数法的最大优势为简单、实用性强,因为其设计出的FIR滤波器的频域特性很容易满足设计需求。
缺点是设计出的滤波器的频率响应的边界频率条件往往不能严格控制,另外与等波纹最佳设计法相比,使用窗函数法设计出的滤波器长度较长。
②频率采样法是比较简单直接的方法,该方法可以直接从信号频域出发进行设计,简单明确,频率采样法最适合设计FIR窄带滤波器。
③等波纹最佳逼近法在性能上能够很好的克服窗函数法在性能上的缺陷,即作为滤波器的h(n),其频率响应有一定的误差,并且由于吉布斯效应,使得过渡带附近的通带内具有较大的上冲,而阻带衰减过小。
6.总结
本文通过设计实例,介绍了利用MATLAB实现数字信号处理中的FIR数字滤波器的设计,从结果可以看出它们均可以达到技术指标要求,而且方法简单、快捷,大大减轻了工作量。
滤波器的设计工作完成后,可以借助MATLAB的export操作导出所设计的滤波器的系统函数H(z)。
由于MATLAB具有强大的接口功能,仿真后的结果可以很方便的移植到DSP、CPLD或FPGA等器件中。
在实际应用中,只需按要求修改滤波器参数,并对程序作较少的改动,即可实现不同的滤波器,实用性较强。
参考文献
[1]陈怀琛,吴大正,高西全.MATLAB及在电子信息课程中的应用[M].北京:
电子工业出版社,2006,3,217-225.
[2]高西全,丁玉美.数字信号处理[M].西安:
西安电子科技大学出版社,2008,8,221-237.
[3]马月红,马彦恒,王雪飞.基于MATLAB的FIR数字滤波器设计与仿真[J].电子测量技术,2010,33(11):
2-3.
[4]王赟松.FIR数字滤波器设计[D].西安:
西安电子科技大学,2012,35-39.
[5]李茂清,王洁,何强等.基于MATLAB程序的FIR滤波器设计实现[J],2008,23
(2):
2-4.
[6]冉茂华.基于DSP的FIR数字滤波器的设计[D].武汉:
武汉理工大学,2006,19-25.
[7]梁广颖.基于MATLAB的64阶FIR滤波器的设计[J].科技信息报(IT论坛版),2011
(1):
1-2.
[8]黄华.基于MATLAB的FIR数字滤波器的设计[J],中国科技信息报,2010,(17):
1-3.
[9]何小河.基于窗函数的FIR数字滤波器的设计[J].四川理工学院学报(自然科学版),2010,21(3):
2-3.
[10]王易炜,张金鹏,王龙.基于MATLAB的数字滤波器设计及其在数据处理中的应用[J],航空兵器报,2011(4):
3-5.
[11]刘万松.基于DSP的FIR数字滤波器的设计[D].贵州:
贵州大学,2008,13-17.
[12]林爱英.用频率采样法设计FIR滤波器[J].现代电子技术,2010,(328):
1-2.
DesignofFIRDigitalFilterBasedonMATLAB
Abstract:
Thewindowfunctionmethod,frequencysamplingmethod,theoptimalapproximationcorrugatedarethreeofthemostcommonlyusedmethodfordesigningFIRdigitalfilters.Thispaperelaboratesthebasicprinciple,erroranddesignprocedureofthewindowfunctionmethodandfrequencysamplingmethodforFIRdigitalfilterdesign,introducestherippleofbestapproximationdesignmethod,andintheMATLABenvironmenttoachievetheFIRdigitalfilterdesignbasedonthreemethods,andthedesignedfilterthenoisysignalthefilteringprocessing.Thesimulationresultsshowthat,threekindsofmethodsdesignedfiltercanmeetthetechnicalrequirements.
Keywords:
Thewindowfunctionmethod;Frequencysamplingmethod;Theoptimalapproximationcorrugated;FIRfilter;MATLAB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 示波器 毕业设计
![提示](https://static.bdocx.com/images/bang_tan.gif)