matlab实验七 冲激响应不变法IIR数字滤波器设计
- 格式:doc
- 大小:241.00 KB
- 文档页数:7
用脉冲响应不变法设计IIR数字滤波器用脉冲响应不变法设计IIR数字滤波器一、实验目的1、加深对脉冲响应不变法设计IIR数字滤波器基本方法的了解。
2、掌握使用模拟滤波器原型进行脉冲响应变换的方法。
3、了解MATLAB有关脉冲响应变换的子函数。
二、实验涉及的MATLAB子函数Impinvar:用脉冲响应不变法实现模拟到数字的滤波器变换。
三:实验原理1、脉冲响应不变法的基本知识脉冲响应不变法又称为冲击响应不变法,是将系统从s平面到z平面的一种映射方法,使数字滤波器的单位脉冲响应序列h(n)模仿模拟滤波器的冲击响应h s(n)。
其变换关系式为z=e sT。
用MATLAB冲击响应不变法进行IIR数字滤波器设计的步骤如下:输入给定的数字滤波器设计指标;根据公式Ω= /T,将数字滤波器指标转换成模拟滤波器设计指标;确定模拟滤波器的最小阶数和截止频率;计算模拟低通原型滤波器的系统传递函数;利用模拟域频率变换法,求解实际模拟滤波器的系统传递函数;用脉冲响应不变法将模拟滤波器转换为数字滤波器。
2、用脉冲响应不变法设计IIR数字低通滤波器3、用脉冲响应不变法设计IIR数字带通滤波器4、观察脉冲响应不变现象和混叠现象由于脉冲响应不变法只适用于限带的模拟滤波器,因此,高频区幅频特性不等于零的高通和带阻滤波器不能采用脉冲响应不变法。
四、实验内容采用脉冲响应不变法设计一个椭圆数字带通滤波器,要求:ωp1=π,ωp2=π,Rp=1dB;阻带ωs1=π,ωs2=π,A s=15dB,滤波器采样频率Fs=2000Hz。
试显示数字滤波器的幅频特性和零极点分布图,并写出该系统的传递函数。
实验步骤1、打开MATLAB软件,选择“File/New”创建一个新的文件;2、按照以下方式进行编程:将上述程序在MATLAB中运行,并对实验结果进行分析。
六、实验结果实验结果如下图所示:。
课程设计说明书题目:基于Matlab的IIR数字滤波器设计课程设计(论文)任务书院(系)基层教学单位说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。
摘要数字滤波是数字信号处理的重要容,是由乘法器、加法器和单位延时器组成的一种运算过程,其功能是对输人离散信号进行运算处理,以达到改变信号频谱的目的。
数字滤波器根据频域特性可分为低通、高通、带通和带阻四个基本类型。
本文用脉冲响应不变法设计的一个满足指标的巴特沃斯IIR滤波器,利用了一种基于Matlab软件的数字滤波器设计方法,完成了低通,高通,带通,帯阻IIR滤波器的设计, 文中深入分析了该滤波器系统设计的功能特点、实现原理以及技术关键,阐述了使用MATLAB进行带通滤波器设计及仿真的具体方法。
最后把整个设计方案用GUIDE界面制作并演示出来。
文章根据IIR滤波器的设计原理,重点介绍巴特沃斯数字滤波器的设计方法和操作步骤,并以实例形式列出设计程序。
关键词:信号巴特沃斯Matlab IIR滤波器脉冲响应不变法目录摘要 (3)目录 (4)第一章绪论 (5)1.1信号数字现状与数字滤波器意义 (5)1.2 设计平台 (6)1.3数字滤波器概述 (6)第二章 IIR数字滤波器的设计 (7)2.1 IIR滤波器的基本结构 (7)2.2 滤波器的性能指标 (10)2.3 IIR数字滤波器的设计方法 (11)2.4巴特沃斯滤波器。
(13)第三章 IIR频率响应滤波器的实例 (15)3.2 用脉冲响应不变法设计IIR低通数字滤波器实例 (15)3.2 用脉冲响应不变法设计IIR高通数字滤波器实例 (17)3.3 用脉冲响应不变法设计IIR带通数字滤波器实例 (19)3.4 用脉冲响应不变法设计IIR帯阻数字滤波器实例 (21)3.5(附)滤波信号的输入 (24)3.6 滤波的效果........................................................................... (24)第四章界面设计 (25)4.1主界面 (25)4.2 软件功能及使用方法 (26)总结 (27)程序清单 (29)第一章绪论1.1信号数字现状与数字滤波器意义当今,数字信号处理[1] (DSP:Digtal Signal Processing)技术正飞速发展,它不但自成一门学科,更是以不同形式影响和渗透到其他学科:它与国民经济息息相关,与国防建设紧密相连;它影响或改变着我们的生产、生活方式,因此受到人们普遍的关注。
脉冲响应不变法设计iir数字滤波器以脉冲响应不变法设计IIR数字滤波器引言:数字滤波器是数字信号处理中的重要组成部分,用于处理和改变数字信号的频率特性。
脉冲响应不变法(Impulse Invariance Method)是一种常用的IIR数字滤波器设计方法,其基本原理是通过将连续时间域中的模拟滤波器的脉冲响应与采样脉冲响应进行匹配,从而实现滤波器的设计。
一、脉冲响应不变法基本原理脉冲响应不变法的基本原理是将连续时间域中的模拟滤波器的脉冲响应与离散时间域中的数字滤波器的脉冲响应进行匹配。
在这种方法中,首先需要确定模拟滤波器的脉冲响应,然后通过采样得到数字滤波器的脉冲响应,最后将其离散化得到数字滤波器的差分方程。
二、脉冲响应不变法的设计步骤1. 确定模拟滤波器的脉冲响应:选择适当的模拟滤波器类型,并设计其频率响应。
根据滤波器的阶数和截止频率,确定模拟滤波器的差分方程。
2. 采样得到数字滤波器的脉冲响应:通过将连续时间域中的模拟滤波器的脉冲响应与采样脉冲进行卷积,得到数字滤波器的脉冲响应。
3. 离散化得到数字滤波器的差分方程:将数字滤波器的脉冲响应离散化,得到数字滤波器的差分方程。
根据差分方程,可以计算数字滤波器的各个系数。
三、脉冲响应不变法的优缺点脉冲响应不变法具有以下优点:1. 设计方法简单:通过匹配模拟滤波器和数字滤波器的脉冲响应,可以直接得到数字滤波器的差分方程,设计方法相对简单。
2. 精度较高:脉冲响应不变法可以保持模拟滤波器的频率响应特性,因此可以实现较高的滤波器精度。
3. 适用范围广:脉冲响应不变法适用于各种模拟滤波器类型和滤波器规格的设计。
然而,脉冲响应不变法也存在一些缺点:1. 频率响应失真:由于采样过程中的截断和抽样误差,脉冲响应不变法可能导致数字滤波器的频率响应失真。
2. 高阶滤波器设计困难:对于高阶滤波器的设计,脉冲响应不变法可能会导致数字滤波器的稳定性问题和数值计算问题。
四、脉冲响应不变法的应用领域脉冲响应不变法广泛应用于数字信号处理领域,特别是在音频信号处理、图像处理和通信系统中的滤波器设计中。
脉冲响应不变法设计iir数字滤波器以脉冲响应不变法设计IIR数字滤波器引言:数字滤波器在信号处理领域起着重要的作用,而设计滤波器的方法也有很多种。
其中一种常用的方法是脉冲响应不变法(Impulse Invariance Method),它是一种将模拟滤波器转化为数字滤波器的方法。
本文将介绍脉冲响应不变法的基本原理和步骤,并以一个实例进行说明。
一、脉冲响应不变法的基本原理脉冲响应不变法的基本原理是通过保持模拟滤波器和数字滤波器的单位脉冲响应相等,来实现滤波器的转换。
具体而言,将模拟滤波器的单位脉冲响应与采样脉冲序列进行卷积,得到数字滤波器的单位脉冲响应。
这样可以保持滤波器的频率响应特性在一定程度上保持一致。
二、脉冲响应不变法的步骤1. 确定模拟滤波器的传递函数H(s),并将其转化为零极点形式。
2. 对传递函数进行低通化处理,即将其映射到单位圆内部,以避免数字化后的频率混叠。
3. 进行离散化处理,即将连续时间变为离散时间。
这里常用的方法是将模拟滤波器的传递函数中的s替换为z,其中z为复平面上的离散点。
4. 对离散化后的传递函数进行归一化处理,确保单位圆上频率为π的点的模为1。
5. 对归一化后的传递函数进行因子化,消除传递函数中的公共因子。
6. 根据因子化后的传递函数,可以得到数字滤波器的差分方程,即数字滤波器的单位脉冲响应。
三、实例分析为了更好地理解脉冲响应不变法的应用,我们以一个二阶低通滤波器为例进行分析。
假设模拟滤波器的传递函数为H(s),经过前述步骤转化为数字滤波器的差分方程为:y[n] = b0*x[n] + b1*x[n-1] + b2*x[n-2] - a1*y[n-1] - a2*y[n-2]其中,b0、b1、b2为数字滤波器的前馈系数,a1、a2为数字滤波器的反馈系数。
根据传递函数的零极点分解,我们可以得到数字滤波器的差分方程的系数。
具体计算步骤如下:1. 求解传递函数的零点和极点,得到模拟滤波器的零极点分解形式。
iir数字滤波器的设计matlab摘要:1.IIR数字滤波器简介2.MATLAB在IIR数字滤波器设计中的应用3.设计实例与分析4.结论正文:一、IIR数字滤波器简介IIR(无限脉冲响应)数字滤波器是数字信号处理中的重要组成部分,其设计方法与模拟滤波器设计密切相关。
在设计IIR数字滤波器时,需要确定采样间隔或采样频率,将数字滤波器的指标转化为模拟滤波器的指标,然后根据模拟滤波器的指标设计模拟滤波器。
最后,通过冲激响应不变法和双线性变换法,将模拟滤波器的冲激响应转化为数字滤波器的冲激响应。
二、MATLAB在IIR数字滤波器设计中的应用MATLAB以其强大的计算和仿真能力,在数字滤波器设计中得到了广泛的应用。
设计师可以利用MATLAB的函数和工具箱,方便地实现IIR数字滤波器的设计、仿真和分析。
三、设计实例与分析以下是一个基于MATLAB的IIR数字滤波器设计实例:1.确定设计指标:通带截止频率为1kHz,阻带截止频率为2kHz,通带波纹小于1dB,阻带衰减大于40dB。
2.利用MATLAB的函数,如freqz、butter等,设计模拟低通滤波器。
3.将模拟滤波器的参数转化为数字滤波器的参数,如采样频率、阶数等。
4.利用MATLAB的函数,如impulse、bode等,对数字滤波器进行仿真和分析。
四、结论通过以上实例,可以看出MATLAB在IIR数字滤波器设计中的重要作用。
它不仅提供了方便的设计工具,还能实时地展示滤波器的性能,大大提高了设计效率和精度。
此外,IIR数字滤波器的设计方法和MATLAB的应用也可以推广到其他数字信号处理领域,如音频处理、图像处理等。
一、引言Matlab是一款功能强大的工程仿真软件,多用于信号处理,通信系统,控制系统等方面的研究和应用。
在Matlab中,设计IIR(Infinite Impulse Response)滤波器是很常见的任务,其中冲激响应不变法是一种常用的设计方法,特别是针对所需的低通滤波器。
本文将介绍在Matlab中如何利用冲激响应不变法设计IIR低通滤波器。
二、IIR滤波器简介IIR滤波器是指其冲激响应具有无限长度的滤波器。
与FIR(Finite Impulse Response)滤波器相比,IIR滤波器具有更窄的过渡带和更陡峭的截止带,同时能够用更少的参数来达到相似的性能。
在数字信号处理中,IIR滤波器常常用于对信号进行滤波和增强。
三、冲激响应不变法的基本原理冲激响应不变法是一种通用的IIR滤波器设计方法,其基本原理是将所需的模拟滤波器(一般为巴特沃斯或切比雪夫滤波器)的冲激响应与仿真采样进行一一映射,从而得到对应的数字IIR滤波器的参数。
这样设计得到的数字IIR滤波器的频率响应与模拟滤波器的频率响应基本一致。
四、Matlab中的冲激响应不变法设计IIR滤波器在Matlab中,利用signal processing toolbox中的iirdesign函数可以很方便地实现冲激响应不变法设计IIR滤波器。
下面是一个使用iirdesign函数设计低通滤波器并绘制其频率响应的示例代码:```matlabFs = 1000; 采样频率Fpass = 100; 通带截止频率Fstop = 150; 阻带截止频率Apass = 1; 通带最大衰减Astop = 60; 阻带最小衰减designmethod = 'butter'; 巴特沃斯滤波器[b, a] = iirdesign(Fpass/(Fs/2), Fstop/(Fs/2), Apass, Astop, designmethod);freqz(b, a, 1024, Fs); 绘制滤波器频率响应```上述代码中,首先定义了采样频率Fs,通带和阻带的截止频率Fpass 和Fstop,以及通带最大衰减Apass和阻带最小衰减Astop。
iir数字滤波器的设计matlabIIR数字滤波器的设计(Matlab)数字滤波器是一种用于信号处理的重要工具,可以对信号进行滤波、去噪和频率分析等操作。
其中,IIR(Infinite Impulse Response)数字滤波器是一种常见的数字滤波器,具有无限冲激响应的特点。
本文将介绍如何使用Matlab设计IIR数字滤波器。
首先,我们需要明确设计IIR数字滤波器的目标。
通常,设计IIR数字滤波器的目标是在满足一定的频率响应要求的前提下,使得滤波器的阶数尽可能低。
这样可以减少计算量和延迟,提高滤波器的实时性。
在Matlab中,可以使用`designfilt`函数来设计IIR数字滤波器。
该函数提供了多种设计方法和滤波器类型的选择。
常见的设计方法有巴特沃斯(Butterworth)、切比雪夫(Chebyshev)和椭圆(Elliptic)等。
这些方法在满足不同的频率响应要求和阶数限制方面有所不同。
以巴特沃斯滤波器为例,我们可以使用以下代码来设计一个低通滤波器:```matlabfs = 1000; % 采样频率fc = 100; % 截止频率order = 4; % 阶数[b, a] = butter(order, fc/(fs/2), 'low'); % 设计低通滤波器freqz(b, a); % 绘制滤波器的频率响应曲线```在上述代码中,`fs`表示采样频率,`fc`表示截止频率,`order`表示滤波器的阶数。
`b`和`a`分别是滤波器的分子和分母系数。
`butter`函数根据给定的阶数、截止频率和滤波器类型来设计滤波器。
设计完成后,我们可以使用`freqz`函数来绘制滤波器的频率响应曲线。
该函数可以显示滤波器的幅度响应和相位响应。
通过观察频率响应曲线,我们可以了解滤波器的频率特性,以及是否满足设计要求。
除了低通滤波器,我们还可以设计高通、带通和带阻滤波器。
例如,以下代码可以设计一个带通滤波器:```matlabfs = 1000; % 采样频率f1 = 100; % 通带下限频率f2 = 200; % 通带上限频率order = 4; % 阶数[b, a] = butter(order, [f1/(fs/2), f2/(fs/2)], 'bandpass'); % 设计带通滤波器freqz(b, a); % 绘制滤波器的频率响应曲线```在上述代码中,`f1`和`f2`分别表示带通滤波器的通带下限频率和通带上限频率。
基于MATLAB的IIR滤波器的设计一、引言数字滤波是数字信号处理中的重要部分,它用于从输入信号中去除噪声、抑制干扰、改变频谱等。
IIR滤波器(Infinite Impulse Response,无限冲激响应滤波器)是一种数字滤波器,其特点是具有无限长度的冲激响应。
本文将介绍基于MATLAB的IIR滤波器的设计方法及实现。
二、IIR滤波器的基本原理IIR滤波器根据其传递函数的特性可分为低通、高通、带通和带阻滤波器。
其传递函数一般由差分方程表示,即y(n) = b(0)x(n) + b(1)x(n-1) + ... + b(nb)x(n-nb) - a(1)y(n-1) - ... - a(na)y(n-na)其中,y(n)为输出信号,x(n)为输入信号,b(k)和a(k)为滤波器的系数。
根据滤波器的类型和具体设计要求,可以通过选择适当的系数来设计出满足要求的IIR滤波器。
在MATLAB中,可以利用信号处理工具箱中的函数来实现IIR滤波器的设计。
以下是一种基于MATLAB的IIR滤波器设计流程:1.确定滤波器的类型和设计要求。
根据具体应用场景,选择滤波器的类型(低通、高通、带通或带阻),并确定滤波器的截止频率、通带增益、阻带增益等设计要求。
2. 利用信号处理工具箱中的函数进行滤波器设计。
MATLAB提供了多种函数来设计IIR滤波器,其中常用的有butter、cheby1、cheby2、ellip等。
这些函数可以根据设计要求自动生成滤波器的系数。
3. 通过查看滤波器的幅频响应、冲激响应、相位响应等来评估滤波器的性能。
MATLAB提供了freqz、impz、grpdelay等函数来实现对IIR滤波器性能的评估。
4. 利用设计好的滤波器对输入信号进行滤波。
可以利用filter函数对输入信号进行滤波处理,得到输出信号。
四、实例演示下面通过一个实际的例子来展示如何利用MATLAB设计和实现IIR滤波器。
例:设计一个低通IIR滤波器,截止频率为2kHz,阻带增益为40dB。
实验报告姓名:李鹏博 实验名称: IIR 数字滤波器设计 学号:2011300704 课程名称: 数字信号处理 班级:03041102 实验室名称: 航海西楼303 组号: 1 实验日期: 2014.06.20一、实验目的、要求掌握IIR 数字滤波器设计的冲激响应不变法和双线性变换法。
掌握IIR 数字滤波器的计算机编程实现方法,即软件实现。
二、实验原理为了从模拟滤波器设计IIR 数字滤波器,必须先设计一个满足技术指标的模拟滤波器,然后将其数字化,即从s 平面映射到z 平面,得到所需的数字滤波器。
虽然IIR 数字滤波器的设计本质上并不取决于连续时间滤波器的设计,但是因为在许多应用中,数字滤波器就是用来模仿模拟滤波器功能的,所以由模拟滤波器转化为数字滤波器是很自然的。
因此,由模拟滤波器设计数字滤波器的方法准确、简便,是目前最普遍采用的方法。
三、实验环境PC 机,Windows XP ,office 2003,Matlab 软件。
四、实验过程、数据记录、分析及结论实验过程1.编程设计滤波器,用冲激响应不变法设计IIR 数字滤波器。
2.编程设计滤波器,用双线性变换法设计IIR 数字滤波器。
3.求脉冲响应、频率响应以及零极点。
4.编程滤波,求滤波器输出,完成对不同频率的多个正弦信号的滤波。
实验步骤根据所给定的技术指标进行指标转换。
112c c f πΩ=,222c c f πΩ=,112s s f πΩ=,222s s f πΩ=,21p c c B Ω==Ω-Ω,221222s s s s s B Ω-ΩΩΩ=Ω,3,18p s αα=-=-。
根据指标设计Butterworth 模拟低通滤波器。
调用函数[n,wn]=buttord(wp,ws,rp,rs,’s ’)确定阶次。
调用函数[zl,pl,kl]=buttap(n),求低通原型的模型。
调用函数[bl,al]=zp2tf(zl,pl,kl)实现模型转换。
(数字信号处理)实验报告实验名称 实验七 冲激响应不变法IIR 数字滤波器设计 实验时间 年 月 日专业班级 学 号 姓 名成 绩 教师评语:一、实验目的1、掌握构成一个频率响应与给定的滤波特性相接近的模拟滤波器的设计原理。
2、掌握用冲激响应不变法设计IIR 数字滤波器的基本原理和算法。
3、了解数字滤波器和模拟滤波器的频率响应特性,掌握相应的计算方法,分析用冲激响应不变法获得的数字滤波器频率响应特性中出现的混叠现象。
二、实验原理与计算方法1、冲激响应不变法设计IIR 数字滤波器的基本原理和算法采用冲激响应不变法设计数字滤波器,就是使其单位样值响应)(n h 与相应的模拟滤波器的冲激响应)(t h a 在抽样点处的量值相等,即)()()(nT h t h n h a nTt a === (1)其中T 为抽样周期。
因此用冲激响应不变法设计IIR 数字滤波器的基本步骤,就是首先根据设计要求确定相应的模拟滤波器的传递函数)(s H a ,经Laplace 反变换求出冲激响应)(t h a 后,对它进行抽样得到的)(nT h a 等于数字滤波器的单位样值响应)(n h ,再经z 变换所得)(z H 就是数字滤波器的传递函数。
如果模拟滤波器的传递函数)(s H a 的N 个极点i s 都是单极点,则可以将)(s H a 写成部分分式展开的形式∑=-=Ni iia s s A s H 1)( (2) 那么,经Laplace 反变换求出的模拟滤波器的冲激响应)(t h a 为)()(1t u e A t h Ni t s i a i ∑==相对应的数字滤波器的单位样值响应为)()()(1n u eA t h n h Ni nTs i nTt a i ∑====对上式作z 变换,得∑∑∑∑∑=-=∞=-∞==--===ni Ts iN i n nTn s in nTs i Ni n z eA z eA eA zz H i i i 11111)( (3)由上面的推导可见,只要模拟滤波器的传递函数)(s H a 的N 个极点i s 都是单极点,当已经求出各个极点值i s 和部分分式的系数i A 后,则可以从模拟滤波器的传递函数的表达式(2)直接得到数字滤波器的传递函数)(z H 的表达式(3)。
2、Butterworth 和Chebyshev 模拟滤波器的设计方法(1)Butterworh 原型MATLAB 提供了函数[z,p,k]=buttap(N)用来设计N 阶归一化的Butterworth 模拟低通滤波器;函数[b,a]=u_buttap(N,Omegac)给出未归一化的Butterworth 模拟低通滤波器原型;再利用函数[C,B,A]=sdir2cas(b,a)得到级联形式的N阶Butterworth模拟低通滤波器原型。
>>N=3;OmegaC=0.5;>> [b,a]=u_buttap(N,Omegac);>> [C,B,A]=sdir2cas(b,a)(2)按给定技术指标设计Butterworth模拟低通滤波器函数[b,a]=afd_butt(Wp,Ws,Rp,As)用来实现按给定技术指标设计Butterworth模拟低通滤波器;函数[db,mag,pha,w]=freqs_m(b,a,0.5*pi)绘制模拟滤波器频响特性,得出衰减值,幅频特性,相频特性和自变量w;函数[H,w]=freqs(b,a,0.5*pi)绘制模拟滤波器频响特性,给出复函数H,再由abs(H)和angle(H)求出幅频和相频特性;[ha,x,t]=impulse(b,a)求出模拟滤波器冲激响应。
>>Wp=0.2*pi;Ws=0.3*pi;Rp=7;As=16;>> [b,a]=afd_butt(Wp,Ws,Rp,As)>> [db,mag,pha,w]=freqs_m(b,a,0.5*pi)>> [ha,x,t]=impulse(b,a)(3)数字滤波器设计-Butterworth函数[b,a]=imp_incr(c,d,T)用来实现冲激响应不变的映射,c、d分别为模拟滤波器系统函数Ha(s)的分子、分母的系数;T为抽样周期;%数字滤波器技术指标>>wp=0.2*pi;ws=0.3*pi;Rp=1;As=15;%对应的模拟滤波器技术指标>>T=1;Wp=wp/T;Ws=ws/T;>>[cs,cd]=afd_butt(Wp,Ws,Rp,As);>> [b,a]=imp_invr(cs,ds,T)%并联形式的系统函数系数>>[C,B,A]=dir2par(b,a)函数[H,w]=freqz(b,a)绘制数字滤波器频响特性,给出复函数H,再由abs(H)和angle(H)求出幅频和相频特性。
(4)Chebyshev原型MATLAB提供了函数[z,p,k]=cheblap(N,Rp)用来设计N阶通带波动为Rp的归一化Chebyshev模拟低通滤波器;函数[b,a]=u_chb1ap(N,Omegac)给出未归一化的Chebyshev模拟低通滤波器原型。
(5)按给定技术指标设计Chebysheb模拟低通滤波器函数[b,a]=afd_chb1(Wp,Ws,Rp,As)用来实现按给定技术指标设计Chebyshev模拟低通滤波器;函数[db,mag,pha,w]=freqs_m(b,a,0.5*pi)绘制频响特性;[ha,x,t]=impulse(b,a)求出模拟滤波器冲激响应。
>>Wp=0.2*pi;Ws=0.3*pi;Rp=1;As=16;>> [b,a]=afd_chb1(Wp,Ws,Rp,As)>> [db,mag,pha,w]=freqs_m(b,a,0.5*pi)>> [ha,x,t]=impulse(b,a)(6)数字滤波器设计-Chebyshev函数[b,a]=imp_incr(c,d,T)用来实现冲激响应不变的映射,c、d分别为模拟滤波器系统函数Ha(s)的分子、分母的系数;T为抽样周期;%数字滤波器技术指标>>wp=0.2*pi;ws=0.3*pi;Rp=1;As=15;%对应的模拟滤波器技术指标>>T=1;Wp=wp/T;Ws=ws/T;>>[cs,cd]=afd_chb1(Wp,Ws,Rp,As);>> [b,a]=imp_invr(cs,ds,T)%并联形式的系统函数系数>>[C,B,A]=dir2par(b,a)3、数字滤波器和模拟滤波器的频率响应特性当已经求出模拟滤波器的传递函数)(sHa 和数字滤波器的传递函数)(zH后,模拟滤波器的频率响应为ΩΩj s a a s H j H ==)()( (4) 而数字滤波器的频率响应为ωωj e z j z H e H ==)()( (5) 根据连续时间信号的Laplace 变换和抽样后所得的序列的z 变换之间的关系,有 ∑∞-∞==+=n a ez n Tjs H Tz H j )2(1)(πω将(4)和(5)式代入上式,得模拟滤波器和数字滤波器的频率响应之间的关系为 ∑∞-∞=+=n a j TnjH TeH )2(1)(πΩω(6) 上式表明,数字滤波器的频谱是模拟滤波器频谱的周期延拓,其周期为抽样角频率Tπ2。
如果模拟滤波器的频谱带宽不是有限的,数字滤波器的频谱在高频区(二分之一抽样角频率附近)就会造成频谱的混叠,如果频率高时幅度频谱衰减较小,这种混叠现象将相当明显。
由(6)式可以看出,当抽样周期T 很小时,数字滤波器的幅度频谱有极高的增益,为避免这样的问题,可将(3)式改写为∑=--=ni Ts iz eTA z H i 111)( (7)三、实验内容(1)设计一个Butterworth 滤波器,满足如下级数指标:通带边界频率ωp =0.4π,通带衰减函数αp =0.5dB , 阻带边界频率ωs =0.6π,阻带衰减函数αs =50dB ,采用冲激响应不变法,选取T =2,记录所得的模拟滤波器的阶数N ,求出有理函数形式的系统函数,画出模拟滤波器和数字滤波器的频率响应的幅频和相频特性曲线以及单位抽样响应h (n )和冲激响应h a (t )的图像。
a 、模拟Butterworth 滤波器 实验代码为:Wp=0.4.*pi;Ws=0.6.*pi;Rp=0.5;As=50;%对应的模拟滤波器技术指标 [b,a]=afd_butt(Wp,Ws,Rp,As);%实现按给定技术指标设计 [db,mag,pha,w]=freqs_m(b,a,0.5*pi);%绘制模拟滤波器频响特性 [ha,x,t]=impulse(b,a);%求出模拟滤波器冲激响应 [H,w]=freqs(b,a);%绘制模拟滤波器频响特性subplot(3,1,1);plot(abs(H));title('模拟滤波器的幅频特性') subplot(3,1,2);plot(angle(H));title('模拟滤波器的相频特性')subplot(3,1,3);plot(ha);title('模拟滤波器冲激响应')试验截图为:a、数字Butterworth滤波器实验代码为:wp=0.4*pi;ws=0.6*pi;Rp=0.5;As=50;%对应的模拟滤波器技术指标T=2;Wp=wp/T;Ws=ws/T;[cs,cd]=afd_butt(Wp,Ws,Rp,As);[b,a]=imp_invr(cs,cd,T)%并联形式的系统函数系数[C,B,A]=dir2par(b,a)[H,w]=freqz(b,a)%函数[H,w]=freqz(b,a)绘制数字滤波器频响特性, %给出复函数H,再由abs(H)和angle(H)求出幅频和相频特性。
[hn,t]=impz(b,a)subplot(3,1,1);plot(abs(H));title('数字Butterworth幅频特性') subplot(3,1,2);plot(angle(H));title('数字Butterworth相频特性') subplot(3,1,3);plot(hn);title('hn抽样响应')试验截图为14131312111098765432111109876540002.00020.00135.00679.02693.08643.02779.29747.40404.96633.130751.174255.171925.148596.88891.310001.00013.00059.00136.00162.00097.00027.0003.0)(------------------------+-+-+-+-+-+-+-+++++++=z z z z z z z z z z z z z z z z z z z z z z z z H (2)将(1)中所得的模拟滤波器改为Chebyshev 逼近,记录滤波器的阶数N ,描绘出模拟滤波器和数字滤波器的幅频和相频特性曲线以及冲激响应h a (t )和单位抽样响应h (n )的图像。