实验五 双线性变换法设计IIR数字滤波器

合集下载

DSP课程设计报告 双线性变换法设计IIR数字低通滤波器

DSP课程设计报告  双线性变换法设计IIR数字低通滤波器

电子信息工程学院《DSP技术及应用》课程设计报告题目:双线性变换法设计IIR数字低通滤波器专业班级:通信工程专业二〇一三年六月六日目录一、设计目的 (1)二、设计要求 (1)三、设计原理及方案 (1)四、软件流程 (3)五、调试分析 (4)六、设计总结 (5)七、参考文献 (5)一、设计目的通过对信号分析与处理近两学期的学习,对信号分析与处理的理论知识已有一定的自我理解,本课程设计的完成,将原有的理论知识转化为软件进行仿真与制作,这样既可在实际中验证理论知识,也能在实际中更加准确的把握理论。

设计理念:1、通过实验加深双线性变换法设计IIR 滤波器基本方法的了解。

2、了解MATLAB 有关双线性变换法的子函数。

3、掌握用双线性变换法设计数字低通滤波器的方法。

二、设计要求1、熟练掌握信号分析、处理等方面的相关理论知识;2、学会运用Matlab 软件,分别设计巴特沃斯,切比雪夫I 型,切比雪夫II 型滤波器并把它们集中在GUI 平台上,通过这个平台实现数据交互,采集实时音频信号并对该信号进行高频加噪处理,滤波处理,进行时域频域分析。

3、组员之间相互协助,共同完成系统设计。

5、通过对信号分析与处理系统的设计,提高对信号分析与处理课程中所学知识的实际运用能力,以及对软件的操作能力。

三、设计原理及方案1、原理图图1 滤波器设计原理图DF 指标DFAF 指标AF 巴特沃斯 切比雪夫I 型、II 型Ω=2T tan ω2 S =2T1111--+-ZZ信号采集信号分析滤波器设计IIR数字低通滤波器信号处理GUI平台设计,程序连接整合图2 系统整体设计框图2、原理图说明图1是滤波器的设计原理,具体说明如下:(1)将给出的数字滤波器的技术指标转换为模拟滤波器的技术指标(2)根据转换后的技术指标设计模拟低通滤波器H(s)(3)再按一定规则将H(s)转换为H(z)图2是系统的原理框架结构,各模块的具体说明如下:(1)信号采集:利用Windows下的录音机,录制一段自己的话音,时间在5s内,也可使用现有的音频,然后在Matlab件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。

数字信号处理实验matlab版用双线性变换法设计IIR数字滤波器

数字信号处理实验matlab版用双线性变换法设计IIR数字滤波器

实验21用双线性变换法设计IIR 数字滤波器(完美格式版,本人自己完成,所有语句正确,不排除极个别错误,特别适用于山大,勿用冰点等工具下载,否则下载之后的word 格式会让很多部分格式错误,谢谢)XXXX 学号姓名处XXXX一、实验目的1. 加深对双线性变换法设计IIR 数字滤波器基本方法的了解。

2. 掌握用双线性变换法设计数字低通、高通、带通、带阻滤波器的方法。

3. 了解MATLAB 有关双线性变换法的子函数。

二、实验内容1. 双线性变换法的基本知识。

2. 用双线性变换法设计IIR 数字低通滤波器。

3. 用双线性变换法设计IIR 数字高通滤波器。

4. 用双线性变换法设计IIR 数字带通滤波器。

5. 用双线性变换法设计IIR 数字带阻滤波器。

三、实验环境MATLAB7.0四、实验原理1.实验涉及的MATLAB 子函数Bilinear 功能:双线性变换——将s 域(模拟域)映射到z 域(数字域)的标准方法,将模拟滤波器变换成离散等效滤波器。

调用格式:[numd,dend]=bilinear(num,den,Fs);将模拟域传递函数变换为数字域传递函数,Fs 为取样频率。

[numd,dend]=bilinear(num,den,Fs,Fp);将模拟域传递函数变换为数字域传递函数,Fs 为取样频率,Fp 为通带截止频率。

[zd,pd,kd]=bilinear(z,p,k,Fs);将模拟域零极点增益系数变换到数字域,Fs 为取样频率。

[zd,pd,kd]=bilinear(z,p,k,Fs,Fp);将模拟域零极点增益系数变换到数字域,Fs 为取样频率,Fp 为通带截止频率。

[Ad,Bd,Cd,Dd]=bilinear(A,B,C,D,Fs);将模拟域状态变量系数变换到数字域,Fs 为取样频率。

2. 双线性变换法的基本知识双线性变换法是将整个s 平面映射到整个z 平面,其映射关系为11z 1z 1T 2s --+-=或2sT/12sT/1z -+=双线性变换法克服了脉冲响应不变法从s 平面到z 平面的多值映射的缺点,消除了频谱混叠现象。

用双线性变换法设计BUTTERWORTH低通IIR数字滤波器

用双线性变换法设计BUTTERWORTH低通IIR数字滤波器

用双线性变换法设计BUTTERWORTH低通IIR数字滤波器:wp=0.2*2*pi; %通带边界频率ws=0.3*2*pi; %阻带截止频率rp=1; %通带最大衰减rs=25; %阻带最小衰减fs=1; %采样频率ts=1/fs; %采样周期wp2=2*fs*tan(wp/2*ts); %预畸变校正ws2=2*fs*tan(ws/2*ts); %预畸变校正[n,wn]=buttord(wp2,ws2,rp,rs,'s') %带入经预畸变后获得的归一化模拟频率参数[z,p,k]=buttap(n) %创建归一化的BUTTERWORTH模拟低通原型滤波器[bap,aap]=zp2tf(z,p,k) %把滤波器零极点模型转化为传递函数模型[b,a]=lp2lp(bap,aap,wn) %把模拟滤波器原型转换成截止频率为Wn的模拟低通滤波器[bz,az]=bilinear(b,a,fs); %用双线性变换法实现模拟滤波器到数字滤波器的转换[h,w]=freqz(bz,az); %绘制频率响应曲线subplot(2,1,1);plot(w/pi,abs(h));grid onxlabel('频率');ylabel('幅度');subplot(2,1,2);plot(w/pi,20*log10(abs(h)));grid onxlabel('频率');ylabel('幅度');用窗口法设计一个线性相位FIR低通滤波器,采用汉宁窗设计:wp=0.2*pi; %通带边界频率ws=0.3*pi; %阻带截止频率wdelta=ws-wp; %过渡带宽N=ceil(8*pi/wdelta); %求出N值wc=(0.2+0.3)*pi/2; %求出截止频率r=(N-1)/2;n=0:N-1;hdn=sin(wc*(n-r))./[pi*(n-r)]; %理想的单位冲激响应wn=hanning(N); %求出汉宁窗的表达式h=hdn.*wn'; %滤波器加窗H=fft(h,512);w=2*[0:511]/512plot(w,20*log10(abs(H)));用MATLAB实现时间抽选的基2-FFT算法:function y=myditfft(x) %本程序对输入序列x实现时间抽选的基2-FFT,%点数取大于等于x长度的2的幂次m=nextpow2(x);N=2^m; %求x的长度对应的2的最低幂次mif length(x)<Nx=[x,zeros(1,N-length(x))];endnxd=bin2dec(fliplr(dec2bin([1:N]-1,m)))+1; %1:2^m数列的倒位序y=x(nxd); %将x倒位序排列作为y的初始值for mm=1:m %将DFT作m次基2分解,从左到右Nmr=2^mm;u=1; %旋转因子u初始化wN^0=1WN=exp(-i*2*pi/Nmr); %当前次分解的基本DFT因子wN=exp(-i*2*pi/Nmr) for j=1:Nmr/2 %当前次跨越间隔内的各次蝶形运算for k=j:Nmr:N %当前次蝶形运算的跨越间隔为Nmr=2^mm kp=k+Nmr/2; %确定蝶形运算的对应单元下标t=y(kp)*u; %蝶形运算的乘积项y(kp)=y(k)-t; %蝶形运算的减法项y(k)=y(k)+t; %蝶形运算的加法项endu=u*WN; %修改旋转因子,多乘一个基本DFT因子wN endend。

双线性变换法设计IIR数字滤波器matlab

双线性变换法设计IIR数字滤波器matlab

实验四双线性变换法设计IIR数字滤波器一、实验目的1.掌握利用双线性变换法设计IIR数字滤波器的原理和具体方法。

2.深入理解利用双线性变换法设计IIR数字滤波器的优缺点及使用范围。

二、实验内容1.利用巴特沃思模拟滤波器,通过双线性变换法设计巴特沃思数字滤波器,数字滤波器的技术指标为采样周期为T=1。

程序代码T=2; %设置采样周期为2fs=1/T; %采样频率为周期倒数Wp=0.25*pi/T;Ws=0.35*pi/T; %设置归一化通带和阻带截止频率Ap=20*log10(1/0.9);As=20*log10(1/0.18); %设置通带最大和最小衰减[N,Wc]=buttord(Wp,Ws,Ap,As,'s'); %调用butter函数确定巴特沃斯滤波器阶数[B,A]=butter(N,Wc,'s'); %调用butter函数设计巴特沃斯滤波器W=linspace(0,pi,400*pi); %指定一段频率值hf=freqs(B,A,W); %计算模拟滤波器的幅频响应subplot(2,1,1);plot(W/pi,abs(hf)/abs(hf(1))); %绘出巴特沃斯模拟滤波器的幅频特性曲线grid on;title('巴特沃斯模拟滤波器');xlabel('Frequency/Hz');ylabel('Magnitude');[D,C]= bilinear (B,A,fs); %调用双线性变换法Hz=freqz(D,C,W); %返回频率响应subplot(2,1,2);plot(W/pi,abs(Hz)/abs(Hz(1))); %绘出巴特沃斯数字低通滤波器的幅频特性曲线grid on;title('巴特沃斯数字滤波器');xlabel('Frequency/Hz');ylabel('Magnitude');进行试验输出图像:实验分析通过查workspace 可以得出脉冲响应为:滤波器幅度响应: 滤波器相位响应:2. 利用巴特沃思模拟滤波器,通过双线性变换法设计数字带阻滤波器,数字滤波器的技术指标为00.10.20.30.40.50.60.70.80.910.51巴特沃斯模拟滤波器Frequency/HzM a g n i t u d e00.10.20.30.40.50.60.70.80.910.511.5巴特沃斯数字滤波器Frequency/HzM a g n i t u d e采样周期为T=1。

课程设计基于双线性变换法的IIR数字低通滤波器设计

课程设计基于双线性变换法的IIR数字低通滤波器设计

课程设计---基于双线性变换法的IIR数字低通滤波器设计课程设计题目:基于双线性变换法的IIR数字低通滤波器设计姓名:院系:电气信息工程学院专业班级:电子信息工程11-02学号: 541101030206指导教师:成绩:时间: 2014 年 6 月 9 日至 2014 年 6 月 13 日课程设计任务书题目基于双线性变换法的IIR数字低通滤波器设计专业、班级电子信息工程11级2班学号541101030206姓名冯慧琦主要内容、基本要求、主要参考资料等:主要内容:首先依据给定的性能指标,采用双线性变换法设计IIR数字低通滤波器;然后利用MATLAB软件的wavread函数读取.wav格式的语音信号,并利用所设计的滤波器对音频信号进行滤波处理,画出滤波前后信号的时域波形及频谱;最后回放语音信号,分析滤波前后的语音变化。

基本要求:1、滤波器技术指标为:f p=3000Hz; A p=2dB; f s=4000Hz; A s=45dB2、采用双线性变换法设计IIR数字低通滤波器;3、掌握利用wavread函数读取.wav格式语音信号的方法;4、对语音信号进行滤波,并画出滤波前后信号的时域波形及频谱;5、回放语音信号,分析滤波前后的语音变化。

主要参考资料:1、从玉良.数字信号处理原理及其MATLAB实现[M].北京:电子工业出版社.2009.72、胡广书.数字信号处理理论、算法与实现[M].北京:清华大学出版社.2003,8完成期限:2010.6.24—2010.6.28指导教师签名:课程负责人签名:2013年6月24日摘要根据IIR滤波器的特点,在MATLAB坏境下用双线性变换法设计IIR数字滤波器。

利用MATLAB设计滤波器,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量,有利于滤波器设计的最优化。

关键词:双线性变换法,数字滤波器,MATLAB ,IIR目录1.概述 --------------------------------------- 12.系统总体设计方案------------------------------- 22.1设计原理与步骤 ----------------------------- 22.1.1设计原理 ---------------------- 22.2设计方案--------------------------------- 32.3设计步骤--------------------------------- 72.3.1设计步骤 ---------------------- 72.3.2程序流程框图 ------------------ 82.3.3运行结果及分析 ---------------- 8 结论与展望------------------------------------ 11 参考文献------------------------------------- 12 附录---------------------------------------- 131.概述数字滤波器对信号滤波的方法是:用数字计算机对数字信号进行处理,处理就是按照预先编制的程序进行计算。

数字信号处理课程设计用双线性变换法设计IIR滤波器

数字信号处理课程设计用双线性变换法设计IIR滤波器

目录一、摘要 (3)二、设计思想 (3)2.1 IIR数字滤波器设计思路 (3)2.2设计IIR数字滤波器的两种方法 (4)2.3双线性变换法的基本原理 (5)2.4用双线性变换法设计IIR数字滤波器的步骤 (6)三、程序源代码和运行结果 (6)3.1低通滤波器 (6)3.2高通滤波器 (9)3.3带通滤波器 (12)3.4带阻滤波器 (14)四、网络结构图 (17)五、心得体会 (19)参考文献 (19)一、摘要数字滤波器是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。

它的基本工作原理是利用离散系统特性对系统输入信号进行加工和变换,改变输入序列的频谱或信号波形,让有用频率的信号分量通过,抑制无用的信号分量输出。

数字滤波器和模拟滤波器有着相同的滤波概念,根据其频率响应特性可分为低通、高通、带通、带阻等类型,与模拟滤波器相比,数字滤波器除了具有数字信号处理的固有优点外,还有滤波精度高(与系统字长有关)、稳定性好(仅运行在0与l两个电平状态)、灵活性强等优点。

数字滤波器按单位脉冲响应的性质可分为无限长单位脉冲响应滤波器IIR和有限长单位脉冲响应滤波器(FIR)两种。

本文介绍IIR数字滤波器的设计。

二、设计思想2.1 IIR数字滤波器设计思路IIR 数字滤波器可用一个n阶差分方程表示y(n)=Σb r x(n-r)+Σa k y(n-k)或用它的Z域系统函数:对照模拟滤波器的传递函数:不难看出,数字滤波器与模拟滤波器的设计思路相仿,其设计实质也是寻找一组系数{b,a},去逼近所要求的频率响应,使其在性能上满足预定的技术要求;不同的是模拟滤波器的设计是在S平面上用数学逼近法去寻找近似的所需特性H(S),而数字滤波器则是在Z平面寻找合适的H(z)。

IIR数字滤波器的单位响应是无限长的,而模拟滤波器一般都具有无限长的单位脉冲响应,因此与模拟滤波器相匹配。

实验:用双线性变换法设计IIR数字滤波器

实验:用双线性变换法设计IIR数字滤波器

(设计性 4学时)一.实验目的:(1)熟悉用双线性变换法设计IIR 数字滤波器的原理与方法。

(2)掌握数字滤波器的计算机仿真方法。

(3)通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。

二.实验内容及步骤:(1) 用双线性变换法设计一个巴特沃斯低通IIR 数字滤波器,设计指标参数为:在通带内频率低于时,最大衰减小于1dB;在阻带内[ , pi] 频率区间上,,最小衰减大于15dB ;(2) 以 为采样间隔,打印出数字滤波器在频率区间[ 0, ]上的幅频响应特性曲线;(3) 用所设计的滤波器对实际心电图信号采样序列(在本实验后面给出)进行仿真滤波处理,并分别打印出滤波前后的心电图波形图,观察总结滤波作用与效果。

(4)采用不同阶数的Butterworth 低通滤波器,比较滤波效果。

三.实验步骤:(1)复习有关巴特沃斯模拟滤波器设计和用双线性变换法设计IIR 数字滤波器的内容,按照教材例6.4.2,用双线性变换法设计数字滤波器系统函数H (z )。

方法一:教材例6.4.2种已求出满足本实验要求的数字滤波器系统函数:方法二:根据设计指标,调用MATLAB 信号处理工具箱函数buttord 和butter ,也可得到H (z )。

(2)编写滤波器仿真程序,计算H(z)对心电图信号采样序列x(n)的相应序列y(n)。

(3)在通过计算机上运行仿真滤波程序,并调用通用绘图子程序,完成实验内容(2)和(3)。

本实验要用的MATLAB 绘图函数参阅教材。

四.,思考题:用双线性变换法设计数字滤波器过程中,变换公式: s=11z1z 1T 2--+-中T 的取值,对设计结果有无影响? 为什么? 五.实验报告要求(1)简述实验目的及原理;(2)由所打印的特性曲线及设计过程简述双线性变换法的特点;(3)对比滤波前后的心电图信号波形,说明数字滤波器的滤波过程与滤波作用;(4) 简要回答思考题.六:心电图信号采样序列 x(n):人体心电图信号在测量过程中往往受到工业高频干扰,所以必须经过低通滤波处理后,才能作为判断心脏功能的有用信息。

实验五IIR数字滤波器设计与滤波(附思考题程序)教学文案

实验五IIR数字滤波器设计与滤波(附思考题程序)教学文案

实验五I I R 数字滤波器设计与滤波(附思考题程序)实验五IIR数字滤波器设计与滤波1.实验目的(1) 加深对信号采样的理解, (2) 掌握滤波器设计的方法; (3) 复习低通滤波器的设计。

2 •实验原理目前,设计IIR 数字滤波器的通用方法是先设计相应的低通滤波器,然后再 通过双线性变换法和频率变换得到所需要的数字滤波器。

模拟滤波器从功能上 分有低通、高通、带通及带阻四种,从类型上分有巴特沃兹(Butterworth )滤波器、切比雪夫(Chebyshev I 型滤波器、切比雪夫II 型滤波器、椭圆 (Elliptic )滤波器以及贝塞尔(Besse )滤波器等。

典型的模拟低通滤波器的指标如下:P , S分别为通带频率和阻带频率,P , S分别为通带和阻带容限(峰波纹值)。

在通带内要求1 P |H a (J ) 1,有时指标由通带最大衰减p和阻带最小衰减s 给出,定义如下:P20lg(1 p )和 s 20lg( s )第二种常用指标是用参数 和A 表示通带和阻带要求,如图所示:者之间的关系为:[(1p) 2 1]1/2和s 1/A ,根据这几个参数可导出另外两个参数d,k,分别称为判别因子和选择性因子。

系,所以称为预畸变。

3. 实验内容及其步骤 实验的步骤:(1) 给定数字滤波器的幅度相应参数。

(2) 用预畸变公式将数字滤波器参数变换为相应的等效模拟滤波器参数。

(3) 采用模拟滤波器设计方法设计等效模拟滤波器 H a (s)(4) 采用双线性变换公式把等效模拟滤波器映射为所期望的数字滤波器。

BUTTERWOR 低通滤波器:幅度平方函数定义为H / I \21Ha( J )2N,1 ( / )N 为滤波器阶数,c 为截止频率。

当c时,有H a (J ) 1/、、2,为 3DB 带宽。

BUTTERWOR 低通滤波器系统函数有以下形式:H a (S )N c N~Nsa 1s(s Sjk 11・・・aN 1sa由模拟滤波器设计IIR 数字滤波器,必须建立好s 平面和z 平面的映射关 系。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验五 IIR 数字滤波器设计一、实验目的(1)熟悉用双线性变换法设计IIR 数字滤波器的原理与方法;(2)学会调用MATLAB 信号处理工具箱中滤波器设计函数设计各种IIR 数字滤波器,学会根据滤波需求确定滤波器指标参数。

(3)掌握IIR 数字滤波器的MATLAB 实现方法。

(4)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。

二、实验原理设计IIR 数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛的是双线性变换法。

基本设计过程是:①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标; ②设计过渡模拟滤波器;③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。

MATLAB 信号处理工具箱中的各种IIR 数字滤波器设计函数都是采用双线性变换法。

第六章介绍的滤波器设计函数butter 、cheby1 、cheby2 和ellip 可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。

本实验要求读者调用如上函数直接设计IIR 数字滤波器。

本实验的数字滤波器的MATLAB 实现是指调用MATLAB 信号处理工具箱函数filter 对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n )。

三、实验内容及步骤(1)调用信号产生函数mstg 产生由三路抑制载波调幅信号相加构成的复合信号st ,该函数还会自动绘图显示st 的时域波形和幅频特性曲线,如图5.1所示。

容易看出,图5.1中三路调幅信号的载波频率分别为250Hz 、500Hz 、1000Hz 。

抑制载波单频调幅信号的数学表示式为0001()cos(2)cos(2)[cos(2())cos(2())]2c c c s t f t f t f f t f f t ππππ==-++ 其中,cos(2)c f t π称为载波,f c 为载波频率,0cos(2)f t π称为单频调制信号,f 0为调制正弦波信号频率,且满足0c f f >。

由上式可见,所谓抑制载波单频调幅信号,就是2个正弦信号相乘,它有2个频率成分:和频0c f f +和差频0c f f -,这2个频率成分关于载波频率f c 对称。

所以,1路抑制载波单频调幅信号的频谱图是关于载波频率f c 对称的2根谱线,其中没有载频成分,故取名为抑制载波单频调幅信号。

如果调制信号m(t)具有带限连续频谱,无直流成分,则()()cos(2)c s t m t f t π=就是一般的抑制载波调幅信号。

其频谱图是关于载波频率f c 对称的2个边带(上下边带),在专业课通信原理中称为双边带抑制载波(DSB-SC) 调幅信号,简称双边带 (DSB) 信号。

如果调制信号m(t)有直流成分,则()()cos(2)c s t m t f t π=就是一般的双边带调幅信号。

其频谱图是关于载波频率f c 对称的2个边带(上下边带),并包含载频成分。

图5.1 三路调幅信号st 的时域波形和幅频特性曲线(2)要求将st 中三路调幅信号分离,通过观察st 的幅频特性曲线,分别确定可以分离st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。

要求滤波器的通带最大衰减为0.1dB,阻带最小衰减为60dB 。

观察图5.1可知,三路调幅信号的载波频率分别为250Hz 、500Hz 、1000Hz 。

带宽(也可以由信号产生函数mstg 清单看出)分别为50Hz 、100Hz 、200Hz 。

所以,分离混合信号st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的指标参数选取如下:对载波频率为250Hz 的条幅信号,可以用低通滤波器分离,其指标为 通带截止频率280p f =Hz ,通带最大衰减0.1dB p α=;阻带截止频率450s f =Hz ,阻带最小衰减60dB s α=,对载波频率为500Hz 的条幅信号,可以用带通滤波器分离,其指标为 带截止频率440pl f =Hz ,560pu f =Hz ,通带最大衰减0.1dB p α=;阻带截止频率275sl f =Hz ,900su f =Hz ,Hz ,阻带最小衰减60dB s α=,对载波频率为1000Hz 的条幅信号,可以用高通滤波器分离,其指标为 带截止频率890p f =Hz ,通带最大衰减0.1dB p α=;阻带截止频率550s f =Hz ,阻带最小衰减60dB s α=,说明:a.为了使滤波器阶数尽可能低,每个滤波器的边界频率选择原则是尽量使滤波器过渡带宽尽可能宽。

b.与信号产生函数mstg 相同,采样频率Fs=10kHz 。

c.为了滤波器阶数最低,选用椭圆滤波器。

按照图10.4.2 所示的程序框图编写的实验程序为exp4.m 。

(3)编程序调用MATLAB 滤波器设计函数ellipord 和ellip 分别设计这三个椭圆滤波器,并绘图显示其幅频响应特性曲线。

(4)调用滤波器实现函数filter ,用三个滤波器分别对信号产生函数mstg 产生的信号st 进行滤波,分离出st 中的三路不同载波频率的调幅信号y 1(n)、y 2(n)和y 3(n), 并绘图显示y1(n)、y2(n)和y3(n)的时域波形,观察分离效果。

四、信号产生函数mstg 清单function st=mstg%产生信号序列向量st,并显示st 的时域波形和频谱%st=mstg 返回三路调幅信号相加形成的混合信号,长度N=1600N=1600 %N 为信号st 的长度。

Fs=10000;T=1/Fs;Tp=N*T; %采样频率Fs=10kHz ,Tp 为采样时间t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;fc1=1000; %第1路调幅信号的载波频率fc1=1000Hz,fm1=100; %第1路调幅信号的调制信号频率fm1=100Hzfc2=500; %第2路调幅信号的载波频率fc2=500Hzfm2=50; %第2路调幅信号的调制信号频率fm2=50Hzfc3=250; %第3路调幅信号的载波频率fc3=250Hz,fm3=25; %第3路调幅信号的调制信号频率fm3=25Hzxt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t); %产生第1路调幅信号xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t); %产生第2路调幅信号xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t); %产生第3路调幅信号st=xt1+xt2+xt3; %三路调幅信号相加fxt=fft(st,N); %计算信号st的频谱%====以下为绘图部分,绘制st的时域波形和幅频特性曲线==================== subplot(3,1,1)plot(t,st);grid;xlabel('t/s');ylabel('s(t)');axis([0,Tp/8,min(st),max(st)]);title('(a) s(t)的波形')subplot(3,1,2)stem(f,abs(fxt)/max(abs(fxt)),'.');grid;title('(b) s(t)的频谱')axis([0,Fs/5,0,1.2]);xlabel('f/Hz');ylabel('幅度')五、实验程序框图如图5.2所示,供读者参考。

图5.2 实验5程序框图实验程序清单%实验5程序exp4.m% IIR数字滤波器设计及软件直接实现clear all;close allFs=10000;T=1/Fs; %采样频率%调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号stst=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 和Ay1t=filter(B,A,st); %滤波器软件实现% 低通滤波器设计与实现绘图部分figure(2);subplot(3,1,1);myplot(B,A); %调用绘图函数myplot绘制损耗函数曲线yt='y_1(t)';subplot(3,1,2);tplot(y1t,T,yt); %调用绘图函数tplot绘制滤波器输出波形%带通滤波器设计与实现==================================================== fpl=440;fpu=560;fsl=275;fsu=900;wp=[2*fpl/Fs,2*fpu/Fs];ws=[2*fsl/Fs,2*fsu/Fs];rp=0.1;rs=60;[N,wp]=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆DF阶数N和通带截止频率wp[B,A]=ellip(N,rp,rs,wp); %调用ellip计算椭圆带通DF系统函数系数向量B和A y2t=filter(B,A,st); %滤波器软件实现% 带通滤波器设计与实现绘图部分figure(3);subplot(3,1,1);myplot(B,A); %调用绘图函数myplot绘制损耗函数曲线yt='y_2(t)';subplot(3,1,2);tplot(y2t,T,yt);%高通滤波器设计与实现================================================fp=890;fs=600;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,'high'); %调用ellip计算椭圆带通DF系统函数系数向量B 和Ay3t=filter(B,A,st); %滤波器软件实现% 高低通滤波器设计与实现绘图部分figure(4);subplot(3,1,1)myplot(B,A) %调用绘图函数myplot绘制损耗函数曲线y3t=filter(B,A,st);yt='y_3(t)';subplot(3,1,2);tplot(y3t,T,yt);myplot绘图函数:绘制系统幅频响应的衰减曲线function myplot(B,A)[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('损耗函数曲线')tplot绘图函数:绘制时域波形图function tplot(xn,T,yn)n=0:length(xn)-1;t=n*T;plot(t,xn);xlabel('1/s');ylabel('yn');axis([0,t(end),min(xn),1.2*max(xn)])六、实验程序运行结果实验5程序exp4.m运行结果如图5.2所示。

相关文档
最新文档