用MATLAB设计低通带通高通和带阻FIR数字滤波器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.4 实验内容
1.软件仿真实验:编写并调试MATLAB程序,分析有关参数,记录有 关波形。
2.硬件实验:输入不同频率的正弦信号,观察采样时钟波形、输入信 号波形、样点输出波形和滤波输出波形。
1.5 MATLAB参考程序和仿真内容
%*******************************************************************%
3 IIR滤波器设计实验
在实际计算中,可以采用在原来序列后面补0的加长方法来提高FFT的 分辨率;可以采用在原来序列后面重复的加长方法来增加FFT的幅度。
2.4 实验内容
1.软件仿真实验:分别观察并记录正弦序列、方波序列及改变FFT的 点数后的频谱;分别观察并记录正弦序列、方波序列及2种加长序列等 信号的频谱。
2.硬件实验:分别观察并记录正弦信号、方波信号及改变FFT的点数 后的频谱。
2.掌握奈奎斯特抽样定理。
1.2 实验仪器
1.YBLD智能综合信号源测试仪
1台
2.双踪示波器
1台
3.MCOM-TG305数字信号处理与现代通信技术实验箱
1台
4.PC机(装有MATLAB、MCOM-TG305配套实验软件) 1台
1.3 实验原理
一个典型的DSP系统除了数字信号处理部分外,还包括A/D和D/A两部 分。这是因为自然界的信号,如声音、图像等大多是模拟信号,因此需 要将其数字化后进行数字信号处理,模拟信号的数字化即称为A/D转 换。数字信号处理后的数据可能需还原为模拟信号,这就需要进行D/A 转换。一个仅包括A/D和D/A两部分的简化数字信号处理系统功能如图1 所示。
(2,8,6)
自选
1.6 硬件实验步骤 本实验箱采样频率fs固定为10KHz,低通滤波器的截止频率约为 4.5KHz。 1、用低频信号源产生正弦信号,正弦信号源频率f自定,并将其接至 2TP2(模拟输入)端,将示波器通道一探头接至2TP6(采样时钟)端 观察采样时钟波形,示波器通道二探头接至2TP2观察并记录输入信号 波形。
这个滤波器100Hz、400Hz处衰减在-30db以上。
可以通过增大n增加衰减。
用MATLAB设计低通带通高通和带阻FIR数字滤波器
(1)低通滤波器的技术指标: H(ejw)=1,0<w<0.3pi; H(ejw)=0,0.3pi<w<pi. (2)带通滤波器的技术指标:H(ejw=0,0<w<0.4pi; H(ejw)=1;0.4pi<w<0.6pi;H(ejw)=0,0.6<w<pi;
5.改信号源频率,观察并记录频谱图的变化。
6.选择FFT的点数为128点,观察并记录频谱图的变化。
7.更改正弦信号的频率,重复步骤4 ~步骤6。
8.用低频信号产生器产生一个1KHz的方波信号,重复步骤4 ~步骤7。 注意:应根据实验箱采样频率fs为10KHz和方波信号的频带宽度选择方 波信号的频率。
抽样频率为f 为1KHZ的数字带通滤波器,性能要求为:通带范围从 200HZ到250HZ,在此两频率处衰减不大于3dB,在100HZ和400HZ频 率处频率衰减不得小于20dB,采用巴特沃斯滤波器
4阶Butterworth滤波器源代码
n = 2; Wn = [200 250]/500; [b,a] = butter(n,Wn); freqz(b,a,512,1000);
2、将示波器通道二探头接至2TP3观察并记录样点输出波形。 3、将示波器通道二探头接至2TP4观察并记录滤波输出波形。 4、根据采样定理,分f=fs /8、f=fs/4、f=fs/2等3种情况更改正弦信号频 率,重复步骤2至步骤3。 5、用低频信号源产生方波信号,重复步骤1至步骤4。
1.7 思考题 1、 讨论在仿真实验中所计算的数字域频率Wo和Xk的图形中非零谱线 位置之间的对应关系。
if mode= =5 for n=0:Nfft-1 x(n+1)=square(2*pi*n/Nfft); end
end
if mode= =6 for n=0:Nfft/2-1 x(n+1)=square(4*pi*n/Nfft); end
eຫໍສະໝຸດ Baidud
n=0:Nfft-1;
subplot(2,1,1);
(3)高通滤波器的技术指标:H(ejw)=0,0<w<0.7pi; H(ejw)=1,0.7pi<w<pi. (4)带阻滤波器的技术指标:H(ejw)=1,0<w<0.3pi; H(ejw)=0;0.3pi<w<0.7pi;H(ejw)=1,0.7<w<pi;
低通采样定理实验
1.1 实验目的
1.了解数字信号处理系统的一般构成;
2、 讨论在仿真实验中自选参数的意义。 3、将在2TP2端加方波信号后的恢复波形,与相同频率的正弦信号的恢 复波形相比,能够得出哪些结论?
2 FFT频谱分析实验
2.1 实验目的
1.通过实验加深对快速傅立叶变换(FFT)基本原理的理解。
2.了解FFT点数与频谱分辨率的关系,以及两种加长序列FFT与原序 列FFT的关系。
假如有一个1Hz的余弦信号y=cos(2*π*t),对其用4Hz的采样频率进行采 样,共采样32点,只需执行samples(1,4,5),即可得到仿真结果。
软件仿真实验内容如下表所示:
仿真参数 f Fs Wo(计算) Xn(图形) Xk(图形) (1,4,5)
另外记录图形,并标图号 (1,8,5)
if mode= =1 for n=0:Nfft-1 x(n+1)=sin(2*pi*n/Nfft); end
end
%定义一个长度为Nfft的单周期正弦序列
if mode= =2 for n=0:Nfft-1 x(n+1)=sin(4*pi*n/Nfft); end
end
%定义一个长度为Nfft的双周期正弦序列
本硬件实验要进行两种信号,每个信号两种频率,每个信号两种点数等 共8次具体实验内容,性质能够体现实验要求的4个以上的例子进行记 录。
2.7 思考题
1.对同一个信号,不同点数FFT观察到的频谱图有何区别?
2.序列加长后FFT与原序列FFT的关系是什么,试推导其中一种关 系。
3.用傅立叶级数理论,试说明正弦信号频谱和方波信号频谱之间的关 系。
2.2 实验仪器
1.YBLD智能综合信号源测试仪
1台
2.双踪示波器
1台
3.MCOM-TG305数字信号处理与现代通信技术实验箱
1台
4.PC机(装有MATLAB、MCOM-TG305配套实验软件) 1台
2.3 实验原理
离散傅里叶变换(DFT)和卷积是信号处理中两个最基本也是最常用的 运算,它们涉及到信号与系统的分析与综合这一广泛的信号处理领域。 实际上卷积与DFT之间有着互通的联系:卷积可化为DFT来实现,其它 的许多算法,如相关、滤波和谱估计等都可化为DFT来实现,DFT也可 化为卷积来实现。
2.在保证实验箱正确加电且串口电缆连接正常的情况下,运行数字信 号处理与DSP应用实验开发软件,在“数字信号处理实验”菜单下选 择“FFT频谱分析”子菜单,出现显示FFT频谱分析功能提示信息的窗 口。
3.用低频信号产生器产生一个1KHz的正弦信号。
4.选择FFT频谱分析与显示的点数为64点,开始进行FFT运算。此 后,计算机将周期性地取回DSP运算后的FFT数据并绘图显示
N=2^M;
% fft点数=取样总点数
Ts=1/Fs;
% 取样时间间隔
T=N*Ts;
% 取样总时间=取样总点数*取样时间间隔
n=0:N-1;
t=n*Ts;
Xn=cos(2*f*pi*t);
subplot(2,1,1);
stem(t,Xn);
axis([0 T 1.1*min(Xn) 1.1*max(Xn)]);
对N点序列x(n),其DFT变换对定义为:
在DFT运算中包含大量的重复运算。FFT算法利用了蝶形因子WN的周 期性和对称性,从而加快了运算的速度。FFT算法将长序列的DFT分解 为短序列的DFT。N点的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)两大类。
if mode= =3 for n=0:Nfft/2-1 x(n+1)=sin(4*pi*n/Nfft); end
end
%定义一个长度为Nfft/2的正弦序列,后面一半为0序列。
if mode= =4 for n=0:Nfft-1 x(n+1)=square(2*pi*n/Nfft); end
end
stem(n,x);
axis([0 Nfft-1 1.1*min(x) 1.1*max(x)]);
xlabel('Points-->');
ylabel('x(n)');
X=abs(fft(x,Nfft));
subplot(2,1,2);
stem(n,X);
axis([0 Nfft-1 1.1*min(X) 1.1*max(X)]);
xlabel('t -->');
ylabel('Xn');
Xk=abs(fft(Xn,N));
subplot(2,1,2);
stem(n,Xk);
axis([0 N 1.1*min(Xk) 1.1*max(Xk)]);
xlabel('frequency -->');
ylabel('!Xk!');
%*******************************************************************%
A/D转换包括三个紧密相关的过程,即抽样、量化和编码。A/D转换中 需解决的以下几个重要问题:抽样后输出信号中还有没有原始信号的信 息?如果有能不能把它取出来?抽样频率应该如何选择?
奈奎斯特抽样定理(即低通信号的均匀抽样定理)告诉我们,一个频带
限制在0至fx以内的低通信号x(t),如果以fs≥2fx的抽样速率进行均匀抽 样,则x(t)可以由抽样后的信号xs(t)完全地确定,即xs(t)包含有x(t)的成 分,可以通过适当的低通滤波器不失真地恢复出x(t)。最小抽样速率 fs=2fx称为奈奎斯特速率。
%f—余弦信号的频率
% M—基2 FFT幂次数 N=2^M为采样点数,这样取值是为了便于作基2 的FFT分析
%2. 采样频率Fs
%*******************************************************************%
function samples(f,Fs,M)
低通 译码 编码 量化 抽样
输入信号
样点输出 滤波输出
A/D(模数转换)
D/A(数模转换)
图1 低通采样定理演示
为方便实现,实验中更换了一种表现形式,即抽样频率固定 (10KHz),通过改变输入模拟信号的频率来展示低通抽样定理。我们 可以通过研究抽样频率和模拟信号最高频率分量的频率之间的关系,来 验证低通抽样定理。
2.5 MATLAB参考程序和仿真内容
%*******************************************************************%
function[x]=ffts(mode,M)
Nfft=2^M;
x=zeros(1,Nfft); %定义一个长度为Nfft的一维全0数组
关于软件仿真实验内容,建议在完成大量仿真例子的基础上,选择能够 体现实验要求的4个以上的例子进行记录。例如要观察后面补0的加长方 法来提高FFT的分辨率的现象,可以仿真ffts(4,5)和ffts(6,6)两个例子。
2.6 硬件实验步骤
1.将低频信号源输出加到实验箱模拟通道1输入端,将示波器探头接至 模拟通道1输出端。
xlabel('frequency-->');
ylabel('!X(k)!');
%*******************************************************************%
假设需观察方波信号的频谱,对一个周期的方波信号作32点的FFT,则 只需在MATLAB的命令窗口下键入:[x]=ffts(21,5) ,程序进行模拟,并 且输出FFT的结果。