实验四IIR数字滤波器设计及软件实现
- 格式:doc
- 大小:127.50 KB
- 文档页数:6
实验四I I R数字滤波器的设计实验报告Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】数字信号处理实验报告实验四 IIR数字滤波器的设计学生姓名张志翔班级电子信息工程1203班学号指导教师实验四 IIR数字滤波器的设计一、实验目的:1. 掌握双线性变换法及脉冲响应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR数字滤波器的MATLAB编程。
2. 观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法及脉冲响应不变法的特点。
3. 熟悉Butterworth滤波器、切比雪夫滤波器和椭圆滤波器的频率特性。
二、实验原理:1.脉冲响应不变法用数字滤波器的单位脉冲响应序列模仿模拟滤波器的冲激响应 ,让正好等于的采样值,即,其中为采样间隔,如果以及分别表示的拉式变换及的Z变换,则2.双线性变换法S平面与z平面之间满足以下映射关系:s平面的虚轴单值地映射于z平面的单位圆上,s平面的左半平面完全映射到z平面的单位圆内。
双线性变换不存在混叠问题。
双线性变换是一种非线性变换,这种非线性引起的幅频特性畸变可通过预畸而得到校正。
三、实验内容及步骤:实验中有关变量的定义:fc 通带边界频率; fr阻带边界频率;δ通带波动;At 最小阻带衰减; fs采样频率; T采样周期(1) =, δ=, =, At =20Db,T=1ms;设计一个切比雪夫高通滤波器,观察其通带损耗和阻带衰减是否满足要求。
MATLAB源程序:wp=2*1000*tan(2*pi*300/(2*1000));ws=2*1000*tan(2*pi*200/(2*1000));[N,wn]=cheb1ord(wp,ws,,20,'s'); %给定通带(wp)和阻带(ws)边界角频率,通带波动波动,阻带最小衰减20dB,求出最低阶数和通带滤波器的通带边界频率Wn[B,A]=cheby1(N,,wn,'high','s');%给定通带(wp)和阻带(ws)边界角频率,通带波动[num,den]=bilinear(B,A,1000);[h,w]=freqz(num,den);f=w/(2*pi)*1000;plot(f,20*log10(abs(h)));axis([0,500,-80,10]);grid;xlabel('频率');ylabel('幅度/dB')程序结果num =den = 1系统函数:123412340.0304 -0.1218z 0.1827z-0.1218z0.0304z H(z)=1.0000+1.3834z+1.4721z+ 0.8012z+0.2286z--------++幅频响应图:分析:由图可知,切比雪夫滤波器幅频响应是通带波纹,阻带单调衰减的。
实验四IIR数字滤波器设计实验报告
为了实现信号的滤波处理,IIR(或称为滤波器)数字滤波器是一种常用的信号处理
技术。
本次实验就是探究IIR数字滤波器的设计和分析。
在实验开始前,对于IIR数字滤波器有所了解,它是一种无限级别功能的数字滤波器,其功能强大,可以实现任意自定义系数的滤波器。
在预处理实验中,便首先采用Matlab
工具搭建了IIR数字滤波器的框架,考虑到本次滤波处理内容,本次采用的是Chebyshev
类型的等离子体,其滤波效果要求超过50dB,进一步完善了对于设计工作的要求。
经过Chebyshev Type I等离子体的设计,确定了系统的结构,并设定了15个滤波器,接着从设定的各项参量入手,从而确定系统各项参量,运用梯形图确定根位置,并使用MATLAB中的filter函数进行系统模拟,得到经历处理后系统输出信号与未经处理时对比,结果显示滤波效果达到了相应预期要求。
在实验中,IIR数字滤波器的设计让我深刻体会到了系统滤波的重要性以及十分强大
的功能。
而它的实现,又显示了精确的数字处理技术在信号处理中的重要作用,使得研究
信号处理时,得以有效和准确地对信号进行分辨和滤波处理。
IIR数字滤波器设计及软件实现[1]IIR数字滤波器是一种常见的数字滤波器类型,它利用数字信号处理技术对信号进行滤波,广泛应用于信号处理、音频处理、图像处理等领域。
本文将介绍IIR数字滤波器的设计方法和软件实现。
一、IIR数字滤波器的基本原理IIR数字滤波器是一种基于递归算法的数字滤波器,它可以用于对离散时间信号进行滤波。
具体而言,IIR数字滤波器是由一组差分方程组成的,其中包括有限冲激响应(FIR)和无限冲激响应(IIR)数字滤波器两种类型。
与FIR数字滤波器不同的是,IIR数字滤波器是具有无限冲激响应的性质,因此可以实现更高阶的滤波效果。
IIR数字滤波器可以用如下的一阶滤波器来进行递归实现:y(n) = a1 * y(n-1) + a0 * x(n) - b1 * x(n-1)其中,x(n)表示输入信号,y(n)表示输出信号,a0、a1、b1是滤波器的系数。
这种一阶滤波器可以通过级联组合来构成更高阶的滤波器,形成一系列级联的一阶滤波器。
1.滤波器类型的选择在开始设计IIR数字滤波器之前,需要先确定所需的滤波器类型,即低通滤波器、高通滤波器、带通滤波器或带阻滤波器等。
各种类型的滤波器的特点及应用范围不同,需要根据具体需求进行选择。
2.设计滤波器参数确定了滤波器类型之后,需要根据要求的滤波器截止频率、带宽、通带衰减等参数来确定滤波器的系数。
一般可以采用Butterworth滤波器设计方法、Chebyshev滤波器设计方法或Elliptic滤波器设计方法等常见方法来进行设计。
3.验证设计结果设计出的IIR数字滤波器需要进行验证,可以采用MATLAB等数字信号处理软件进行仿真测试,进行频率响应、相位响应、群延迟等分析,以确保设计结果满足要求。
IIR数字滤波器的实现可以采用MATLAB、Python等数字信号处理工具,也可以使用C 语言来进行程序设计。
下面以MATLAB为例,介绍IIR数字滤波器的实现。
数字信号处理实验报告四IIR数字滤波器设计及软件实现实验目的:本实验的目的是了解IIR数字滤波器的设计原理和实现方法,通过MATLAB软件进行数字滤波器设计和信号处理实验。
一、实验原理IIR数字滤波器是一种使用有限数量的输入样本和前一次输出值的滤波器。
它通常由差分方程和差分方程的系数表示。
IIR滤波器的特点是递归结构,故其频率响应是无限长的,也就是说它的频率响应在整个频率范围内都是存在的,而不像FIR滤波器那样只有在截止频率处才有响应。
根据设计要求选择合适的滤波器类型和滤波器结构,然后通过对滤波器的模型进行参数化,设计出满足滤波要求的IIR滤波器。
常见的IIR滤波器设计方法有模拟滤波器设计方法和数字滤波器设计方法。
在本实验中,我们主要使用数字滤波器设计方法,即离散时间滤波器设计方法。
二、实验内容(一)设计IIR数字滤波器的步骤:1.确定滤波器类型:根据滤波要求选择合适的滤波器类型,如低通滤波器、高通滤波器、带通滤波器、带阻滤波器等。
2.确定滤波器的阶数:根据滤波要求确定滤波器的阶数。
阶数越高,滤波器的频率响应越陡峭,但计算复杂度也越高。
3. 设计滤波器原型:根据滤波要求,设计滤波器的原型。
可以选择Butterworth滤波器、Chebyshev滤波器、Elliptic滤波器等作为原型。
4.选择滤波器结构:根据计算机实现条件和算法复杂度,选择合适的滤波器结构。
常见的滤波器结构有直接形式I、直接形式II、级联形式等。
5.参数化滤波器模型:根据原型滤波器的差分方程,选择合适的参数化方法。
常见的参数化方法有差分方程法、极点/零点法、增益法等。
6.根据参数化的滤波器模型,计算出所有的滤波器系数。
(二)用MATLAB软件实现IIR数字滤波器设计:1.打开MATLAB软件,并创建新的脚本文件。
2. 在脚本文件中,使用MATLAB提供的滤波器设计函数,如butter、cheby1、ellip等,选择合适的滤波器类型进行设计。
大学实验IIR数字滤波器设计及软件实现实验目的(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法;(2)学会调用MATLAB信号处理工具箱中滤波器设计函数(或滤波器设计分析工具fdatool)设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。
(3)掌握IIR数字滤波器的MATLAB实现方法。
(4)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。
实验原理设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛的是双线性变换法。
基本设计过程是:①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标;②设计过渡模拟滤波器;③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。
MATLAB信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。
第六章介绍的滤波器设计函数butter、cheby1、cheby2和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。
本实验要求读者调用如上函数直接设计IIR数字滤波器。
本实验的数字滤波器的MATLAB实现是指调用MATLAB信号处理工具箱函数filter 对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n )。
3.滤波器参数及实验程序清单 (1)滤波器参数选取三路调幅信号的载波频率分别为250Hz 、500Hz 、1000Hz 。
带宽(也可以由信号产生函数mstg 清单看出)分别为50Hz 、100Hz 、200Hz 。
所以,分离混合信号st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的指标参数选取如下:对载波频率为250Hz 的条幅信号,可以用低通滤波器分离,其指标为带截止频率Hz ,通带最大衰减dB ;阻带截止频率Hz ,阻带最小衰减dB 。
对载波频率为500Hz 的条幅信号,可以用带通滤波器分离,其指标为通带截止频率Hz ,Hz ,通带最大衰减dB ;阻带截止频率Hz ,Hz ,Hz ,阻带最小衰减dB 。
实验四IIR数字滤波器的设计实验四IIR数字滤波器的设计⼀.实验⽬的(1)掌握双线性变换法及脉冲相应不变法设计IIR数字滤波器的具体设计⽅法及其原理,熟悉⽤双线性变换法及脉冲响应不变法设计低通、⾼通和带通IIR数字滤波器的计算机编程。
(2)观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法及脉冲响应不变法的特点。
(3)熟悉巴特沃思滤波器、切⽐雪夫滤波器和椭圆滤波器的频率特性。
⼆.实验内容(1)f c=0.3kHz,δ=0.8dB,f r=0.2kHz,At=20dB,T=1ms;设计⼀切⽐雪夫⾼通滤波器,观察其通带损耗和阻带衰减是否满⾜要求。
clear all;wc=2*pi*300;wr=2*pi*200;rp=0.8;rs=20;[N,wn]=cheb1ord(wc,wr,rp,rs,'s');[num,den]=cheby1(N,rp,wn,'high','s');omega=[0:200:2000*pi];h=freqs(num,den,omega);gain=20*log10(abs(h));plot(omega/(2*pi),gain);axis([0,800,-80,10]);grid;xlabel('Frequency in Hz');ylabel('Gain in dB');title('切⽐雪夫模拟⾼通滤波器');分析:(2)f c=0.2kHz,δ=1dB,f r=0.3kHz,At=25dB,T=1ms;分别⽤脉冲响应不变法及双线性变换法设计⼀巴特沃思数字低通滤波器,观察所设计数字滤波器的幅频特性曲线,记录带宽和衰减量,检查是否满⾜要求。
⽐较这两种⽅法的优缺点。
clear all;wc=2*pi*200;wr=2*pi*300;rp=1;rs=25;fs=1000;[N,wn]=buttord(wc,wr,rp,rs,'s');[B,A]=butter(N,wn,'s');[num1,den1]=impinvar(B,A,fs);%脉冲相应不变法[h1,w]=freqz(num1,den1);w1=2*fs*tan(wc/(2*fs));w2=2*fs*tan(wr/(2*fs));[N,wn]=buttord(w1,w2,rp,rs,'s')[B,A]=butter(N,wn,'s');[num2,den2]=bilinear(B,A,fs);%双线性变换法[h2,w]=freqz(num2,den2);f=w/pi*500;plot(f,20*log10(abs(h1)),'-.',f,20*log10(abs(h2)),'-');axis([0,500,-80,10]);grid;xlabel('Frequency in Hz');ylabel('Gain in dB');title('巴特沃思数字低通滤波器');legend('脉冲相应不变法','双线性变换法',1);分析:(3)利⽤双线性变换法分别设计满⾜下列指标的巴特沃思型、切⽐雪夫型和椭圆型数字低通滤波器,并作图验证设计结果:f c=1.2kHz,δ≤0.5dB,f r=2kHz,,At≥40dB,f s=8kHz。
实验四 IIR 滤波器设计一、教学目的和任务1.熟悉用双线性变换法设计IIR 数字滤波器的原理和方法; 2.了解用脉冲响应不变法设计IIR 数字滤波器的原理和方法;3.掌握双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法及脉冲响应不变法的特点;4.掌握数字滤波器的计算机仿真方法。
二、实验原理介绍IIR 数字滤波器的系统函数为1z -的有理分式:1011()1Nk k N k k b zH z a z -=-==+∑∑设计IIR 滤波器的系统函数,就是要确定()H z 的阶数N 及分子分母多项式的系数k a 和k b ,使其()()j j z e H e H z ωω==满足指定的频率特性。
由于模拟滤波器的设计有许多简单而严谨的设计公式和大量的图表可以利用,因此IIR 滤波器设计的方法之一是:先设计一个合适的模拟滤波器,然后将模拟滤波器通过适当的变换转换成满足给定指标的数字滤波器。
1、Butterworth 模拟低通滤波器幅度平方函数: 221()1a Nc H j Ω=⎛⎫Ω+ ⎪Ω⎝⎭其中,N 为滤波器的阶数,c Ω为通带截止频率。
2.Chebyshev 模拟低通滤波器2221()1()a NcH j C εΩ=Ω+Ω幅度平方函数:3、脉冲响应不变法原理用数字滤波器的单位脉冲响应序列h(n)逼近模拟滤波器的冲激响应()a h t ,让h(n)正好等于()a h t 的采样值,即:()()a h n h nT = 其中,T 为采样间隔。
如果以()a H s 和H(z)分别表示()a h t 的拉氏变换及h(n)的Z 变换,则:12ˆ()()sTa a z e k H z H s H s j k T T π∞==-∞⎛⎫==- ⎪⎝⎭∑4、双线性变换法原理双线性变换法是通过两次映射采用非线性频率压缩的方法,将整个频率轴上的频率范围压缩到 ±π/T 之间,再用sTz e =转换到z 平面上,从而使数字滤波器的频率响应与模拟滤波器的频率响应相似。
IIR 数字滤波器的设计及软件实现一.实验目的(1)熟悉用双线性变换法设计IIR 数字滤波器的原理与方法; (2)学会用MATLAB 信号处理工具箱中的滤波器设计函数(或滤波器设计分析工具FDAtool )设计各种滤波器,学会根据滤波需求确定滤波器指标参数; (3)掌握IIR 数字滤波器的MATLAB 实现方法;(4)通过观察滤波器输入、输出信号的时域波形及其频谱,建立数字滤波的概念。
二.实验原理设计IIR 数字滤波器一般采用间接法(脉冲响应不变法和双线性不变法),应用最广泛的是双线性变换法。
基本的设计过程是:①将给定的数字滤波器指标转换成模拟滤波器的指标; ②涉及模拟滤波器;③将模拟滤波器的系统函数转换成数字滤波器的系统函数。
MATLAB 信号处理工具箱中的各种IIR 数字滤波器设计函数都是采用双线性变换法。
本实验的数字滤波器的MATLAB 实验是调用MATLAB 信号处理工具箱的函数filter 对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n). 三.实验内容及步骤1.信号处产生函数mstg 产生由三路抑制载波调幅信号相加构成的复合信号st ,该函数还会自动回图显示st 的时域波形和幅频特性曲线,由后图可见,三路信号时域混叠无法在时域分离。
但频域是分离的,所以可通过滤波的方法在频域分离。
2.将st 中三路调幅信号分离,通过观察st 的幅频特性曲线,分别确定可以分离st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。
且滤波器的通带最大衰减为0.1dB ,阻带最小衰减为60bB 。
提示:抑制载波单频调幅信号的数学表示式为()()()()()()[]tt t t t s f f f f f f c c c 0002cos 2cos 212cos 2cos )(++-==ππππ 其中,()t fc2cos π称为载波,fc为载波频率,()t f2cos π称为单频调制信号,f 0为调制正弦波信号频率,且满足fc>f 0。
实验报告实验四:IIR数字滤波器设计及软件实现1.实验目的(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法;(2)学会调用MATLAB信号处理工具箱中滤波器设计函数(或滤波器设计分析丄具fdatool)设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。
(3)掌握IIR数字滤波器的MATLAB实现方法。
(3)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。
2.实验原理T SIT IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛的是双线性变换法。
基本设计过程是:①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标;②设计过渡模拟滤波器;③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。
MATLAB信号处理工具箱中的各种IIR 数字滤波器设计函数都是釆用双线性变换法。
第六章介绍的滤波器设计函数butter、chebyl、cheby2和ellip 可以分别被调用来直接设计巴特沃斯.切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。
本实验要求读者调用如上函数直接设计IIR数字滤波器。
本实验的数字滤波器的MATLAB实现是指调用MATLAB信号处理工具箱函数filter 对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n)o3.实验内容及步骤(1)调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线,如图1041 所示。
山图可见,三路信号时域混叠无法在时域分离。
但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的口的。
(b) s(t)的频谱d L厶;亠亠;••I -------------------------------- ♦ -. —--I-------------------------------- —♦---—a a a a a0 200 400 600 800 1000 1200 U00 1600 1800 2000f7Hz图10.4.1三路调幅信号st的时域波形和幅频特性曲线(2)要求将st中三路调幅信号分离,通过观察st的幅频特性曲线,分别确定可以分离st中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。
数字信号处理实验报告实验四 IIR数字滤波器的设计学生姓名张志翔班级电子信息工程1203班学号***********指导教师2015.4.29实验四 IIR 数字滤波器的设计一、实验目的:1. 掌握双线性变换法及脉冲响应不变法设计IIR 数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR 数字滤波器的MATLAB 编程。
2. 观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法及脉冲响应不变法的特点。
3. 熟悉Butterworth 滤波器、切比雪夫滤波器和椭圆滤波器的频率特性。
二、实验原理:1. 脉冲响应不变法用数字滤波器的单位脉冲响应序列 模仿模拟滤波器的冲激响应 ,让 正好等于 的采样值,即 ,其中 为采样间隔,如果以 及 分别表示 的拉式变换及 的Z 变换,则)2(1)(m T j s H T z H m a e z sT ∑∞-∞==+=π2.双线性变换法S 平面与z 平面之间满足以下映射关系:);(,2121,11211ωωσj re z j s s T s T z z z T s =+=-+=+-⋅=-- s 平面的虚轴单值地映射于z 平面的单位圆上,s 平面的左半平面完全映射到z 平面的单位圆内。
双线性变换不存在混叠问题。
双线性变换是一种非线性变换,这种非线性引起的幅频特性畸变可通过预畸而得到校正。
三、实验内容及步骤:实验中有关变量的定义:fc 通带边界频率; fr阻带边界频率;δ通带波动;At 最小阻带衰减; fs采样频率; T采样周期(1) =0.3KHz, δ=0.8Db, =0.2KHz, At =20Db,T=1ms;设计一个切比雪夫高通滤波器,观察其通带损耗和阻带衰减是否满足要求。
MATLAB源程序:wp=2*1000*tan(2*pi*300/(2*1000));ws=2*1000*tan(2*pi*200/(2*1000));[N,wn]=cheb1ord(wp,ws,0.8,20,'s'); %给定通带(wp)和阻带(ws)边界角频率,通带波动波动0.8,阻带最小衰减20dB,求出最低阶数和通带滤波器的通带边界频率Wn[B,A]=cheby1(N,0.5,wn,'high','s');%给定通带(wp)和阻带(ws)边界角频率,通带波动[num,den]=bilinear(B,A,1000);[h,w]=freqz(num,den);f=w/(2*pi)*1000;plot(f,20*log10(abs(h)));axis([0,500,-80,10]);grid;xlabel('频率');ylabel('幅度/dB')程序结果num = 0.0304 -0.1218 0.1827 -0.1218 0.0304 den = 1 1.3834 1.4721 0.8012 0.2286系统函数:123412340.0304 -0.1218z 0.1827z-0.1218z0.0304z H(z)=1.0000+1.3834z+1.4721z+ 0.8012z+0.2286z--------++幅频响应图:分析:由图可知,切比雪夫滤波器幅频响应是通带波纹,阻带单调衰减的。
实验四IIR数字滤波器设计及软件实现
1.实验目的
(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法;
(2)学会调用MATLAB信号处理工具箱中滤波器设计函数(或滤波器设计分析工具fdatool)设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。
(3)掌握IIR数字滤波器的MATLAB实现方法。
(4)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。
2.实验原理
设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛的是双线性变换法。
基本设计过程是:①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标;②设计过渡模拟滤波器;③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。
MATLAB信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。
第六章介绍的滤波器设计函数butter、cheby1 、cheby2 和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。
本实验要求读者调用如上函数直接设计IIR数字滤波器。
本实验的数字滤波器的MATLAB实现是指调用MATLAB信号处理工具箱函数filter对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n)。
3.实验内容及步骤
(1)调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线。
三路信号时域混叠无法在时域分离。
但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的目的。
(2)要求将st中三路调幅信号分离,通过观察st的幅频特性曲线,分别确定可以分离st中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。
要求滤波器的通带最大衰减为0.1dB,阻带最小衰减为60dB。
(3)编程序调用MATLAB滤波器设计函数ellipord和ellip分别设计这三个椭圆滤波器,并绘图显示其幅频响应特性曲线。
(4)调用滤波器实现函数filter,用三个滤波器分别对信号产生函数mstg产生的信号st进行滤波,分离出st中的三路不同载波频率的调幅信号y1(n)、y2(n)和y3(n),并绘图显示y1(n)、y2(n)和y3(n)的时域波形,观察分离效果。
4.实验程序
%低通滤波器
fp=280;
fs=450;
Fs=10000;
wp=2*fp/Fs;ws=2*fs/Fs;
rp=0.1;rs=60;
st=mstg;
N=800;T=1/Fs;Tp=N*T;
t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;
[N1,wp1]=ellipord(wp,ws,rp,rs);
[B,A]=ellip(N1,rp,rs,wp1);
y=filter(B,A,st);
fyt=fft(y,N);
subplot(3,1,1),plot(t,y),grid,xlabel('t/y'),ylabel('y(t)'),
axis([0,Tp,min(y),max(y)]),title('(a) y(t)波形')
subplot(3,1,2);
stem(f,abs(fyt)/max(abs(fyt)),'.');grid;title('(b) y(t)频谱')
axis([0,Fs/5,0,1.2]);
xlabel('f/Hz');ylabel('幅度')
subplot(3,1,3);
[H,W]=freqz(B,A,1000);
m=abs(H);
plot(W/pi,20*log10(m/max(m)));grid on;
xlabel('\omega/\pi');ylabel('幅度(db)');
axis([0,1,-80,5]);title('损耗函数曲线');
%带通滤波器
fpl=450;fpu=550;fsl=275;fsu=900;Fs=10000;
wp=[2*fpl/Fs,2*fpu/Fs];ws=[2*fsl/Fs,2*fsu/Fs];
rp=0.1;rs=60;
N=800;st=mstg;
T=1/Fs;Tp=N*T;
t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;
[N1,wpo]=ellipord(wp,ws,rp,rs);
[B,A]=ellip(N1,rp,rs,wpo);
fyt=fft(y,N);
subplot(3,1,1),plot(t,y),grid,xlabel('t/y'),ylabel('y(t)'), axis([0,Tp,min(y),max(y)]),title('(a) y(t)波形')
subplot(3,1,2);
y=filter(B,A,st);
stem(f,abs(fyt)/max(abs(fyt)),'.');grid;title('(b) y(t)频谱') axis([0,Fs/5,0,1.2]);
xlabel('f/Hz');ylabel('?幅度')
subplot(3,1,3);
[H,W]=freqz(B,A,1000);
m=abs(H);
plot(W/pi,20*log10(m/max(m)));grid on; xlabel('\omega/\pi');ylabel('幅度(db)'); axis([0,1,-80,5]);title('损耗函数曲线');
%高通滤波器设计
fp=890;
fs=700;
Fs=10000;
wp=2*fp/Fs;ws=2*fs/Fs;
rp=0.1;rs=60;
N=800;st=mstg;
T=1/Fs;Tp=N*T;
t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;
[N1,wpo]=ellipord(wp,ws,rp,rs);
[B,A]=ellip(N1,rp,rs,wpo,'high');
y=filter(B,A,st);
fyt=fft(y,N);
subplot(3,1,1),plot(t,y),grid,xlabel('t/y'),ylabel('y(t)'), axis([0,Tp/2,min(y),max(y)]),title('(a) y(t)波形')
subplot(3,1,2);
stem(f,abs(fyt)/max(abs(fyt)),'.');grid;title('(b) y(t)频谱') axis([0,Fs/5,0,1.2]);
xlabel('f/Hz');ylabel('幅度')
subplot(3,1,3);
[H,W]=freqz(B,A,1000);
m=abs(H);
plot(W/pi,20*log10(m/max(m)));grid on;
xlabel('\omega/\pi');ylabel('幅度(db)');
axis([0,1,-80,5]);title('损耗函数曲线');。