1. 实验目的
(1) 熟悉用双线性变换法设计IIR数字滤波器的原理与方法;
(2) 学会调用MATLAB信号处理工具箱中滤波器设计函数(或滤波器设计分析工具FDATool)设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。
(3) 掌握IIR数字滤波器的MATLAB实现方法。
(4) 通过观察滤波器输入、输出信号的时域波形及其频谱,建立数字滤波的概念。
2. 实验原理
设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛的是双线性变换法。基本设计过程是: ① 将给定的数字滤波器的指标转换成过渡模拟滤波器的指标; ② 设计过渡模拟滤波器;③ 将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。MATLAB信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。第6章介绍的滤波器设计函数butter、cheby1 、cheby2 和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2以及椭圆模拟与数字滤波器。本实验要求读者调用如上函数直接设计IIR数字滤波器。
主程序
% IIR数字滤波器设计及软件实现
clear all;close all
Fs=10000;T=1/Fs; %采样频率
%调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,并绘图
st=mstg;
%低通滤波器设计与实现==============================================================
fp=280;fs=450;
wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60; %DF指标(低通滤波器的通、阻带边界频)
[N,wp]=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆DF阶数N和通带截止频率wp
[B,A]=ellip(N,rp,rs,wp); %调用ellip计算椭圆带通DF系统函数系数向量B和A
y1t=filter(B,A,st); %滤波器软件实现
% 低通滤波器设计与实现绘图部分
figure(2);subplot(2,1,1);
myplot(B,A); %调用绘图函数myplot绘制损耗函数曲线
yt='y_1(t)';
subplot(2,1,2);tplot(y1t,T,yt); %调用绘图函数tplot绘制滤波器输出波形
%带通滤波器设计与实现========

该实验旨在熟悉双线性变换法设计IIR数字滤波器,学习MATLAB信号处理工具箱中的滤波器设计,掌握滤波器的MATLAB实现,并通过观察输入输出信号理解数字滤波概念。主要涉及MATLAB函数mstg和myplot的使用。
最低0.47元/天 解锁文章
4504





