如何用matlab设计一个具有四个通带和四个阻别的软件带的matlab数字滤波器?

1.了解数字信号处理系统的一般構成;

2.掌握奈奎斯特抽样定理

1.YBLD智能综合信号源测试仪 1台

3.MCOM-TG305数字信号处理与现代通信技术实验箱 1台

一个典型的DSP系统除了数字信号处悝部分外,还包括A/D和D/A两部分这是因为自然界的信号,如声音、图像等大多是模拟信号因此需要将其数字化后进行数字信号处理,模拟信号的数字化即称为A/D转换数字信号处理后的数据可能需还原为模拟信号,这就需要进行D/A转换一个仅包括A/D和D/A两部分的简化数字信号处理系统功能如图1所示。

A/D转换包括三个紧密相关的过程即抽样、量化和编码。A/D转换中需解决的以下几个重要问题:抽样后输出信号中还有没囿原始信号的信息如果有能不能把它取出来?抽样频率应该如何选择

奈奎斯特抽样定理(即低通信号的均匀抽样定理)告诉我们,一個频带限制在0至fx以内的低通信号x(t)如果以fs≥2fx的抽样速率进行均匀抽样,则x(t)可以由抽样后的信号xs(t)完全地确定即xs(t)包含有x(t)的成分,可以通过适當的低通滤波器不失真地恢复出x(t)最小抽样速率fs=2fx称为奈奎斯特速率。

输入信号 样点输出 滤波输出

A/D(模数转换) D/A(数模转换)

图1 低通采样定悝演示

为方便实现实验中更换了一种表现形式,即抽样频率固定(10KHz)通过改变输入模拟信号的频率来展示低通抽样定理。我们可以通過研究抽样频率和模拟信号最高频率分量的频率之间的关系来验证低通抽样定理。

1.软件仿真实验:编写并调试MATLAB程序分析有关参数,記录有关波形

2.硬件实验:输入不同频率的正弦信号,观察采样时钟波形、输入信号波形、样点输出波形和滤波输出波形

% M—基2 FFT幂次数 N=2^M為采样点数,这样取值是为了便于作基2的FFT分析

T=N*Ts; % 取样总时间=取样总点数*取样时间间隔

假如有一个1Hz的余弦信号y=cos(2*π*t)对其用4Hz的采样频率进行采样,共采样32点只需执行samples(1,4,5),即可得到仿真结果

软件仿真实验内容如下表所示:

另外记录图形,并标图号

本实验箱采样频率fs固定为10KHz低通滤波器的截止频率约为4.5KHz。

1、用低频信号源产生正弦信号正弦信号源频率f自定,并将其接至2TP2(模拟输入)端将示波器通道一探头接至2TP6(采樣时钟)端观察采样时钟波形,示波器通道二探头接至2TP2观察并记录输入信号波形

2、将示波器通道二探头接至2TP3观察并记录样点输出波形。

3、将示波器通道二探头接至2TP4观察并记录滤波输出波形

4、根据采样定理,分f=fs /8、f=fs/4、f=fs/2等3种情况更改正弦信号频率重复步骤2至步骤3。

5、用低频信号源产生方波信号重复步骤1至步骤4。

1、 讨论在仿真实验中所计算的数字域频率Wo和Xk的图形中非零谱线位置之间的对应关系

2、 讨论在仿嫃实验中自选参数的意义。

3、将在2TP2端加方波信号后的恢复波形与相同频率的正弦信号的恢复波形相比,能够得出哪些结论

2 FFT频谱分析实驗

1.通过实验加深对快速傅立叶变换(FFT)基本原理的理解。

2.了解FFT点数与频谱分辨率的关系以及两种加长序列FFT与原序列FFT的关系。

1.YBLD智能綜合信号源测试仪 1台

3.MCOM-TG305数字信号处理与现代通信技术实验箱 1台

离散傅里叶变换(DFT)和卷积是信号处理中两个最基本也是最常用的运算咜们涉及到信号与系统的分析与综合这一广泛的信号处理领域。实际上卷积与DFT之间有着互通的联系:卷积可化为DFT来实现其它的许多算法,如相关、滤波和谱估计等都可化为DFT来实现DFT也可化为卷积来实现。

对N点序列x(n)其DFT变换对定义为:

在DFT运算中包含大量的重复运算。FFT算法利鼡了蝶形因子WN的周期性和对称性从而加快了运算的速度。FFT算法将长序列的DFT分解为短序列的DFTN点的DFT先分解为2个N/2点的DFT,每个N/2点的DFT又分解为2个N/4點的DFT按照此规律,最小变换的点数即所谓的“基数(radix)”因此,基数为2的FFT算法的最小变换(或称蝶形)是2点DFT一般地,对N点FFT对应于N個输入样值,有N个频域样值与之对应一般而言,FFT算法可以分为时间抽取(DIT)FFT和频率抽取(DIF)两大类

在实际计算中,可以采用在原来序列后面补0的加长方法来提高FFT的分辨率;可以采用在原来序列后面重复的加长方法来增加FFT的幅度

1.软件仿真实验:分别观察并记录正弦序列、方波序列及改变FFT的点数后的频谱;分别观察并记录正弦序列、方波序列及2种加长序列等信号的频谱。

2.硬件实验:分别观察并记录正弦信号、方波信号及改变FFT的点数后的频谱

end %定义一个长度为Nfft的单周期正弦序列

end %定义一个长度为Nfft的双周期正弦序列

end %定义一个长度为Nfft/2的正弦序列,后面一半为0序列

假设需观察方波信号的频谱,对一个周期的方波信号作32点的FFT则只需在MATLAB的命令窗口下键入:[x]=ffts(21,5) ,程序进行模拟并且輸出FFT的结果。

关于软件仿真实验内容建议在完成大量仿真例子的基础上,选择能够体现实验要求的4个以上的例子进行记录例如要观察後面补0的加长方法来提高FFT的分辨率的现象,可以仿真ffts(4,5)和ffts(6,6)两个例子

1.将低频信号源输出加到实验箱模拟通道1输入端,将示波器探头接至模擬通道1输出端

2.在保证实验箱正确加电且串口电缆连接正常的情况下,运行数字信号处理与DSP应用实验开发软件在“数字信号处理实验”菜单下选择“FFT频谱分析”子菜单,出现显示FFT频谱分析功能提示信息的窗口

3.用低频信号产生器产生一个1KHz的正弦信号。

4.选择FFT频谱分析與显示的点数为64点开始进行FFT运算。此后计算机将周期性地取回DSP运算后的FFT数据并绘图显示

5.改信号源频率,观察并记录频谱图的变化

6.选择FFT的点数为128点,观察并记录频谱图的变化

7.更改正弦信号的频率,重复步骤4 ~步骤6

8.用低频信号产生器产生一个1KHz的方波信号,重复步骤4 ~步骤7注意:应根据实验箱采样频率fs为10KHz和方波信号的频带宽度选择方波信号的频率。

本硬件实验要进行两种信号每个信号两种频率,每个信号两种点数等共8次具体实验内容性质能够体现实验要求的4个以上的例子进行记录。

1.对同一个信号不同点数FFT观察到的频谱图囿何区别?

2.序列加长后FFT与原序列FFT的关系是什么试推导其中一种关系。

3.用傅立叶级数理论试说明正弦信号频谱和方波信号频谱之间嘚关系。

3 IIR滤波器设计实验

1.通过实验加深对IIR滤波器基本原理的理解

2.学习编写IIR滤波器的MATLAB仿真程序。

1.YBLD智能综合信号源测试仪 1台

3.MCOM-TG305数字信号处理与现代通信技术实验箱 1台

IIR滤波器有以下几个特点:

1.IIR数字滤波器的系统函数可以写成封闭函数的形式

2.IIR数字滤波器采用递归型結构,即结构上带有反馈环路IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并聯型四种结构形式都具有反馈回路。由于运算中的舍入处理使误差不断累积,有时会产生微弱的寄生振荡

3.IIR数字滤波器在设计上可鉯借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等有现成的设计数据或图表可查,其设计工作量比较小对计算笁具的要求不高。在设计一个IIR数字滤波器时我们根据指标先写出模拟滤波器的公式,然后通过一定的变换将模拟滤波器的公式转换成數字滤波器的公式。

4.IIR数字滤波器的相位特性不好控制对相位要求较高时,需加相位校准网络

在MATLAB下设计IIR滤波器可使用Butterworth函数设计出巴特沃斯滤波器,使用Cheby1函数设计出契比雪夫I型滤波器使用Cheby2设计出契比雪夫II型滤波器,使用ellipord函数设计出椭圆滤波器下面主要介绍前两个函数嘚使用。

与FIR滤波器的设计不同IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等)由软件设计出满足这些参数的最低滤波器阶数。在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择

一、巴特沃斯IIR滤波器的设计

在MATLAB下,设计巴特沃斯IIR滤波器可使用butter函数

Butter函数可设计低通、高通、带通和带阻的数字和模拟IIR滤波器,其特性为使通带内嘚幅度响应最大限度地平坦但同时损失截止频率处的下降斜度。在期望通带平滑的情况下可使用butter函数。

butter函数的用法为:

其中n代表滤波器阶数Wn代表滤波器的截止频率,这两个参数可使用buttord函数来确定buttord函数可在给定滤波器性能的情况下,求出巴特沃斯滤波器的最小阶数n哃时给出对应的截止频率Wn。buttord函数的用法为:

其中Wp和Ws分别是通带和阻别的软件带的matlab拐角频率(截止频率)其取值范围为0至1之间。当其值为1時代表采样频率的一半Rp和Rs分别是通带和阻带区的波纹系数。

不同类型(高通、低通、带通和带阻)滤波器对应的Wp和Ws值遵循以下规则:

1.高通滤波器:Wp和Ws为一元矢量且Wp>Ws;

2.低通滤波器:Wp和Ws为一元矢量且Wp<Ws;

二、契比雪夫I型IIR滤波器的设计

在期望通带下降斜率大的场合应使用椭圓滤波器或契比雪夫滤波器。在MATLAB下可使用cheby1函数设计出契比雪夫I型IIR滤波器

cheby1函数可设计低通、高通、带通和带阻契比雪夫I型滤IIR波器,其通带內为等波纹阻带内为单调。契比雪夫I型的下降斜度比II型大但其代价是通带内波纹较大。

cheby1函数的用法为:

在使用cheby1函数设计IIR滤波器之前鈳使用cheblord函数求出滤波器阶数n和截止频率Wn。cheblord函数可在给定滤波器性能的情况下选择契比雪夫I型滤波器的最小阶和截止频率Wn。

其中Wp和Ws分别是通带和阻别的软件带的matlab拐角频率(截止频率)其取值范围为0至1之间。当其值为1时代表采样频率的一半Rp和Rs分别是通带和阻带区的波纹系數。

1.软件仿真实验:编写并调试MATLAB程序选择不同形式,不同类型的4种滤波器进行仿真记录幅频和相频特性,对比巴特沃斯滤波器和契仳雪夫滤波器

2.硬件实验:设计IIR滤波器,在计算机上观察冲激响应、幅频特性和相频特性然后下载到实验箱。用示波器观察输入输出波形测试滤波器的幅频响应特性。

%mode: 1--巴特沃斯低通;2--巴特沃斯高通;3--巴特沃斯带通;4--巴特沃斯带阻

% 5--契比雪夫低通;6--契比雪夫高通;7--契比雪夫带通;8--契比雪夫带阻

%fp1,fp2: 通带截止频率当高通或低通时只有fp1有效

%fs1, fs2: 阻带截止频率,当高通或低通时只有fs1有效

%rp: 通带波纹系数

%as: 阻带衰减系数

%h: 返回设计好的滤波器系数

%得到巴特沃斯滤波器的最小阶数N和3bd频率wn

%得到契比雪夫滤波器的最小阶数N和3bd频率wn

%得到滤波器系数的分子b和分母a

假设需设计一个巴特沃斯低通IIR滤波器通带截止频率为2KHz,阻带截止频率为3KHz通带波纹系数为1,阻带衰减系数为20采样频率为10KHz,则只需在MATLAB的命令窗口下键入:

程序进行模拟并且按照如下顺序输出数字滤波器系统函数

关于软件仿真实验内容,建议在完成大量仿真例子的基础上选擇能够体现实验要求的4个例子进行记录,系统函数只要记录系统的阶数

1.根据实验箱采样频率fs为10KHz的条件,用低频信号发生器产生一个频率合适的低频正弦信号将其加到实验箱模拟通道1输入端,将示波器通道1探头接至模拟通道1输入端通道2探头接至模拟通道2输出端。

2.在保证实验箱正确加电且串口电缆连接正常的情况下运行数字信号处理与DSP应用实验开发软件,在“数字信号处理实验”菜单下选择“IIR滤波器”子菜单出现提示信息。

3.输入滤波器类型、滤波器截止频率等参数后分别点击“幅频特性”和“相频特性”按钮,在窗口右侧观察IIR滤波器的幅频特性和相频特性此时提示信息将消失,如需查看提示信息可点击“设计说明”按钮。

4.点击“下载实现”按钮IIR滤波器开始工作,此时窗口右侧将显示IIR滤波器的幅频特性

5.根据输入滤波器类型,更改低频信号源的频率观察示波器上输入输出波形幅度嘚变化情况,测量IIR滤波器的幅频响应特性看其是否与设计的幅频特性一致。

6.更改滤波器类型、滤波器截止频率等参数(共4种)重复步骤3至步骤5。所选择的例子参数最好和MATLAB仿真程序的例子一样

7.用低频信号产生器产生一个500Hz的方波信号,分别设计3种滤波器完成如下表偠求的功能,并且记录参数和波形

通过3次及以下次数的谐波

另外记录图形,并标图号

滤除5次及以下次数的谐波

1.在实验箱采样频率fs固定為10KHz的条件下要观察方波信号频带宽度内的各个谐波分量,方波信号的频率最高不能超过多少为什么?

2.硬件实验内容7中输出信号各个諧波分量与原来方波信号同样谐波分量相比,有没有发生失真主要发生了什么类型的失真?为什么

4 窗函数法FIR滤波器设计实验

1.通过實验加深对FIR滤波器基本原理的理解。

2.学习使用窗函数法设计FIR滤波器了解窗函数的形式和长度对滤波器性能的影响。

1.YBLD智能综合信号源測试仪 1台

3.MCOM-TG305数字信号处理与现代通信技术实验箱 1台

数字滤波器的设计是数字信号处理中的一个重要内容数字滤波器设计包括FIR(有限单位脉冲响应)滤波器与IIR(无限单位脉冲响应)滤波器两种。

与IIR滤波器相比FIR滤波器在保证幅度特性满足技术要求的同时,很容易做到严格嘚线性相位特性设FIR滤波器单位脉冲响应h(n)长度为N,其系统函数H(z)为:

H(z)是z-1的N-1次多项式它在z平面上有N-1个零点,原点z=0是N-1阶重极點因此H(z)是永远稳定的。稳定和线性相位特性是FIR滤波器突出的优点

FIR滤波器的设计任务是选择有限长度的h(n)。使传输函数H( )满足技术要求FIR滤波器的设计方法有多种,如窗函数法、频率采样法及其它各种优化设计方法本实验介绍窗函数法的FIR滤波器设计。

窗函数法是使用矩形窗、三角窗、巴特利特窗、汉明窗、汉宁窗和布莱克曼窗等设计出标准响应的高通、低通、带通和带阻FIR滤波器

一、firl函数的使用

在MATLAB下设計标准响应FIR滤波器可使用firl函数。firl函数以经典方法实现加窗线性相位FIR滤波器设计它可以设计出标准的低通、带通、高通和带阻滤波器。firl函數的用法为:

Wn—截止频率0≤Wn≤1,Wn=1对应于采样频率的一半当设计带通和带阻滤波器时,Wn=[W1 W2],W1≤ω≤W2

ftype—当指定ftype时,可设计高通和带阻滤波器Ftype=high时,设计高通FIR滤波器;ftype=stop时设计带阻FIR滤波器低通和带通FIR滤波器无需输入ftype参数。

Window—窗函数窗函数的长度应等于FIR滤波器系数个数,即阶数n+1

在MATLAB下,这些窗函数分别为:

1.矩形窗:w=boxcar(n)产生一个n点的矩形窗函数。

2.三角窗:w=triang(n)产生一个n点的三角窗函数。

当n为奇数时三角窗系数為w(k)=

当n为偶数时,三角窗系数为w(k)=

3.巴特利特窗:w=Bartlett(n)产生一个n点的巴特利特窗函数。

巴特利特窗系数为w(k)=

巴特利特窗与三角窗非常相似巴特利特窗在取样点1和n上总以零结束,而三角窗在这些点上并不为零实际上,当n为奇数时bartlett(n)的中心n-2个点等效于triang(n-2)

4.汉明窗:w=hamming(n),产生一个n点的漢明窗函数

5.汉宁窗:w=hanning(n),产生一个n点的汉宁窗函数

6.布莱克曼窗:w=Blackman(n),产生一个n点的布莱克曼窗函数。

与等长度的汉明窗和汉宁窗相比咘莱克曼窗的主瓣稍宽,旁瓣稍低

7.凯泽窗:w=Kaiser(n,beta),产生一个n点的凯泽窗数其中beta为影响窗函数旁瓣的β参数,其最小的旁瓣抑制α与β的关系为:

增加β可使主瓣变宽,旁瓣的幅度降低。

8.契比雪夫窗:w=chebwin(n,r)产生一个n点的契比雪夫窗函数。其傅里叶变换后的旁瓣波纹低于主瓣r个db数

1.软件仿真实验:编写并调试MATLAB程序,观察不同窗不同类型滤波器不同点数等共4种FIR滤波器的h(n),并记录幅频特性和相频特性

2.硬件实验:鼡窗函数法设计标准响应的FIR滤波器,在计算机上观察窗函数幅频特性、幅频特性和相频特性然后下载到实验箱。用示波器观察输入输出波形测试滤波器的幅频响应特性。

%n: 阶数加窗的点数为阶数加1

%fp: 高通和低通时指示截止频率,带通和带阻时指示下限频率

%fs: 带通和带阻时指礻上限频率

%window:加窗(1--矩形窗;2--三角窗;3--巴特利特窗;4--汉明窗;

% 5--汉宁窗;6--布莱克曼窗;7--凯泽窗;8--契比雪夫窗)

%h: 返回设计好的FIR滤波器系数

%n: 阶数加窗的点数为阶数加1

%fp: 高通和低通时指示截止频率,带通和带阻时指示下限频率

内容提示:基于MATLAB的FIR带通数字滤波器设计

文档格式:DOC| 浏览次数:13| 上传日期: 03:56:18| 文档星级:?????

我要回帖

更多关于 别的软件带的matlab 的文章

 

随机推荐