基于dsp的iir滤波器设计内容摘要:
sHLth aa 1 式中, sHLa1表示对 sHa的 Laplace 逆变换。 Laplace 变换内容请参考高等数学的积分变换或信号处理教材。 求模拟滤波器单位冲激响应 tha的采样值,即数字滤波器冲激响应序列 h(n)。 第 8 页 对数字滤波器的冲激响应 h(n)进行 z变换,得到传递函数 H(z)。 由上述方法推论出更直接地由模拟滤波器系统函数 sHa求出数字滤波器系统函数 H(z)的步骤是: 利用部分分式展开将模拟滤波器的传递函数 H(s)展开成: Nk kka ps RsH1)( 在 MATLAB 中这步可通过 residue 函数实现。 若调用 residue 函数的形式为 [R,P,K]=residue(a,b) 形式,则将下式(传递函数形式): )1()()2()1( )1()()2()1()( )()( 11 naasnaasasa nbbsnbbsbsbsa sbsH nanbnbnba 变换为: )1()2()1()( 11 MKsKsKps RsH MMNk kka 这种形式为极点留数商向量形式,对于本节所讲的特定情况, K 为空矩阵。 若为 [b,a]=residue(R,P,K)则为上面调用形式的反过程。 将模拟极点 pk 变换为数字极点 Tpke 即得到数字系统的传递函数 Nk Tpk zeRzHk1 11)( 其中 T 为采样间隔。 (3)将 Nk Tpk zeRzHk1 11)(转换为传递函数形式,在该步骤中,可采用[R,P,K]=residue(b,a). MATLAB 中已经提供了冲激响应不变法设计数字滤波器的函数,调用格式为: [bz,az]=impinvar(b,a[[,Fs[, Fp]) 式中, b,a 为模拟滤波器分子和分母多项式系数向量; Fs 为采样频率(所滤波数据),单位 Hz,缺省时为 1Hz。 Fp 为预畸变频率( Prewarped frequency) ,是一个 “匹配 ”频率 ,在该频率上,频率响应在变换前后和模拟频率可精确匹配。 一般设计中可以不考虑。 bz,az 分别为数字滤波器分子和分母多项式系数向量。 前面已提到过,函数输 入变量中的 []表示可添加也可略去的内容。 下面我们用例 第 9 页 子说明如何使用这个函数。 ( 1)脉冲响应不变法将模拟滤波器132 23)( 2 ss ssH a变换为数字滤波器H(z),采样周期为 T=。 %Samp6_1 b=[3 2]。 a=[2 3 1]。 T=。 %模拟滤波器分子和分母多项式系数及采样间隔 [bz1,az1]=impinvar(b,a,1/T) 程序输出为: bz1 = az1 = 在应用冲激响应不变法设计数字滤波器时要注意它的特点。 脉冲响应不变法由sTez 这一基本关系得到数字角频率 和模拟角频率 满足 T 线性变换关系, T 为采样间隔。 这使得 j 轴上每隔 T2 便映射到 z域中的单位圆一周。 如果模拟滤波器频率响应是有限带宽的话,通过变换得到的数字滤波器的频率响应非常接近于模拟滤波器的频率响应。 由于数字滤波器的频率响应是模拟滤波器频率响应的周期延拓,因此对于高通和带阻滤波器存在混叠效应,会造成频率响应失真,因此这种方法原则上只适用于有限带宽滤波器。 对于高通、带阻等滤波器,由于它们高频成分不衰减,势必产生严重的混迭失真。 双线性变换法可以弥补这方面的不足。 双线性变换法将 s 平面的整个频率轴映射到 z域的一个频率周期中。 因此 s 平面到 z平面的映射是非线性的,其单值双线性映射关系为: sTsTzzzTs2121,11211 式中, T 为采样周期。 因此若已知模拟滤波器的传递函数 sHa,将( 614)式的第一式代入 sHa即可得到数字滤波器的传递函数: 第 10 页 11112)()( zzTsa sHzH 在双线性变换中,模拟角频率和数字角频率存在下面关系: 2a rc t a n2,2tan2 TT 可见,模拟角频率 和数字角频率 之间的关 系是非线性的。 在 MATLAB 中,函数 bilinear 采用双线性变换法实现模拟 s 域至数字 z域的映射,直接用于模拟滤波器变换为数字滤波器。 其调用方式为: [zd,pd,kd]=bilinear(z,p,k,Fs) [numd,dend]=bilinear(num,den,Fs) 式中, z,p 分别为模拟滤波器零点、极点列向量; k为模拟滤波器的增益; Fs为采样频率,单位 Hz。 zd,pd,kd 为数字滤波器的零极点和增益。 num,den分别为模拟滤波器传递函数分子和分母多项式系数向量,模拟滤波器传 递函数具有下面的形式: )1()()1( )1()()1()( )()( ndde nsndde nsde n nnnumsnnnumsnumsde n snumsH ndnn numd 和 dend 分别为数字滤波器传递函数分子和分母多项式系数向量。 ( 2)用双线性变换法将模拟滤波器132 23)( 2 ss ssH a变换为数字滤波器H(z),采样周期(间隔) T=。 %Samp6_2 b=[3 2]。 a=[2 3 1]。 T=。 %模拟滤波器分子和分母多项式的系数,采样间隔 [bz1,az1]=bilinear(b,a,1/T) %将模拟滤波器传递函数转换为数字滤波器传递函数 程序输出为: bz1 = az1 = 双线性变换法克服了脉冲响应不变法的频谱混迭问题,其幅值逼近程度好,可适用于高通、带阻等各种类型滤波器的设计。 s 域和 z域对应关系也简单。 缺点是频率变换的非线性导致数字滤波器与模拟滤波器在幅度和频率的对应关系上发生畸变。 但一般滤波器的幅频响应具有分段常数的特点,即滤波器允许某一频段信号通过,而不允许另外频段的信号通过的特点,故变换后这一特点仍保留,影响不大。 由数字边界频率计算模拟边界频率时,不是按线性关系进行的,这就 第 11 页 是所谓的 “预畸变 ”。 但如果 给定预畸变频率为边界频率,经预畸变频率校正则可以保证所要设计的模拟边界频率精确映射在所要求的数字边界频率上。 freqz 对于模拟滤波器,可以用 freqs 求解滤波器的频率响应。 与之对应的函数 freqz用于求数字滤波器的频率响应,其调用格式为: [[h,w]=]freqz(b,a,n[,’whole’])。 或 [h,f]=freqz(b,a,n[,’whole’],Fs)。 式中, b,a 为数字滤波器分子和分母多项式的系数, n为复数频率的响应点数,为整数,最好为 2 的幂,缺省时为 512; Fs 为采样频率,单位 Hz。 如果给定该值,则 f 位置输出为频率 Hz,若没有给定,则按角频率( Angular frequency)给定 f 的频率矢量; ’whole’表示返回的频率 f 或 w 值包含 z平面整个单位圆频率矢量,即 0~2 ;缺省时,频率 f 或 w 值包含 z平面上半单位圆( 0~ )之间等间距 n 个点频率矢量。 h 为复频率响应; w 为 n 点频率向量(单位 rad); f 为 n 点频率向量 (Hz)。 函数返回值缺省时,绘制幅频响应和相频响应图。 该函数适用于下面形式的数字滤波器: nanbznaazaa znbbzbbzA zBzH )1()2()1( )1()2()1()( )()( 11 函数 freqz输出的频率向量在 0~。 为了获得一个滤波器真正的相频特性图,要对相位角进行解缠绕。 为此 MATLAB 提供了一个函数 unwrap 来解决这个问题, P=unwrap(angle(H))。 impz impz用于产生数字滤波器的脉冲响应。 调用格式为: [[h,t]=]impz(b,a[,n,Fs]) 式中, b,a 分别为滤波器分子和分母多项式系数向量; n 为采样点数; Fs 为采样频率,缺省值为 1; h为滤波器单位脉冲响应向量; t 为和 h对应的时间向量。 当函数输出缺省时,绘制滤波器脉冲响应图;当 n缺省时,函数自动选择 n值。 (3)零极点图 滤 波器的零极点位置决定了滤波器稳定性和性能,因此考察滤波器的零极点的位置是分析滤波器特性的重要方面之一。 MTALAB 信号处理工具箱提供绘制数字滤波器零极点位置图的工具 zplane,调用格式为: 第 12 页 zplane(z,p)或 zplane(b,a) 式中, z,p 为零极点向量 (为复数 ), b,a 为滤波器分子和分母多项式的系数(为实数)。 函数在 z平面绘出零点和极点。 极点用 ’’表示,零点用 ’o’表示。 (4)群延迟 信号传输的不失真条件之一为:滤波器相频特性是一条经过原点的直线,即 dt , dt 为常数。 但一般滤波器不满足这个条件 ,衡量实际滤波器相位平均延迟的物理量是群延迟。 群延迟定义为信号通过滤波器的延迟随频率变化的函数,即滤波器相频特性图上切线的负斜率: ddg MATLAB 信号处理工具箱提供计算群延迟函数 grpdelay,调用格式为: [gd,w]=grpdelay(b,a,n[,’whole’]) [gd,f]=grpdelay(b,a,n[,’whole’],Fs) gd=grpdelay(b,a,w) gd=grpdelay(b,a,f,Fs) grpdelay 其中, gd 为群延迟;其他各项意义同函数 freqz,函数输出项缺省时,绘制群延迟图。 ’whole’参数表示绘制包括大于 Nyquist 频率的一个周期的群延迟。 ( 5) filter 函数用来实现数字滤波器对数据的滤波,函数的调用格式为: y=filter(b,a,x) 其中, b,a 分别为滤波器传递函数 H(z)的分子和分母多项式系数。 x为滤波器的输入。 y为滤波器的输出。 y为与 x具有相同大小的向量。 ( 6) filtfilt 函数实现零相位前向 与后向结合的滤波。 调用格式为: y=filtfilt(b,a,x) 式中, b,a 分别为滤波器传递函数 H(z)的分子和分母多项式系数。 x为滤波器的输入,为值向量。 y为滤波器的输出。 该函数对序列 x进行正常的正向滤波后,将滤波后的输出翻转重新用该滤波器进行滤波,第二次滤波后的输出序列的翻转即得到零相位的滤波输出。 这样就可以把延迟后的相位校正至零。 但该函数只能用于数字滤波器, FIR 滤波器或 IIR 滤波器均能使用。 第 13 页 3 DSP芯片概述 芯片定义 DSP 芯片,也称说数字信号处理器,是一种具有特殊结构的微处 理器。 DSP 芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的 DSP 指令,可以用来快速的实现各种数字信号处理算法。 芯片主要特点 根据数字信号处理的要求, DSP 芯片一般具有如下的一些主要特点: ( 1) 在一个指令周期内可完成一次乘法和一次加法。 ( 2) 程序和数据空间分开,可以同时访问指令和数据。 ( 3) 片内具有快速 RAM,通常可通过独立的数据总线在两块中同时访问。 ( 4) 具有低开销或无开销循环及跳转的硬件支持。 ( 5) 快速的中断处理和硬件 I/O 支持。 ( 6) 具有在单周期内操作的多个硬件地址产生器。 ( 7) 可以并行执行多个操作。 ( 8) 支持流水线操作,使取指、译码和执行等操作可以重叠执行。 与通用微处理器相比, DSP 芯片的其他通用功能相对较弱些。 芯片的优缺点 优点: 大规模集成性 稳定性好,精度高 可编程性 高速性能 可嵌入性 接口和集成方便。基于dsp的iir滤波器设计
相关推荐
择 可以利用定时器 /计数器配合光电编码器的输出脉冲信号来测量电机的转速。 具体的测速方法有 M 法、 T 法和 M/T 法 3种。 M 法又称之为测频法,其测速原理是在规定的检测时间 Tc 内,对光电编码器输出的脉冲信号计数的测速方法,如图 2 所示,例如光电编码器是 N线的,则每旋转一周可以有 4N个脉冲,因为两路 6 脉冲的上升沿与下降沿正好使编码器 信号 4 倍频。 现在假设检测时间是
、实验步骤与内容 MATLAB辅助 DSP 实现 FIR ,其总体过程为在 DSP 中编写处理程序 , 在 MATLAB中利用滤波器设计、分析工具 ( FDATOOL) ,根据指定的滤波器性能快速设计一个FIR ,然后把滤波器系数以头文件形式导入 CCS 中 ,头文件中 MATLAB 辅助 DSP 实现 FIR 数字滤波器含滤波器阶数和系数数组 ,在 MATLAB中调试、运行 DSP 程序并显示
”。 二者相差的程度用转差率 s 来表示 : 00n nns (25) 一般交流电动机在额定负 载时的转差率约为 1%9%。 n + 基于 DSP 交流变频调速系统的设计 第 8 页 共 43 页 8 交流电机的调速方式 根据电机学原理知识,可以得到交流电机的转速公式为 : spfsnn 116010 (26) 由式 (26)可以看出,交流电机调速方法主要有三大类
集到的数据,并将处理后的数据送至视频 解码 器,视频 解码 器对其 解码 后再送至视频输出设备监视器。 此硬件电路板的主要特点包括 : (1)一块 TI 公司 600MHz 的 TMS320DM642 DSP 芯片 ; (2)两路视频端口 —PAL/NTSC 制式或 S 端子 ; (3) 4M 64bit 同步动态存储器 (SDRAM),存储多达 32 帧图像 ; (4)4M 8 位 Flash
/或者硬件来实现滤波器。 这五个步骤不是必需相互独立的,它们也不是总要按照上面给出的顺序执行。 实际上经常把第二步、第三步和第四步组合在一起进行。 脉冲响应不变法 所谓脉冲响应不变法就是使数 字滤波器的脉冲响应序列 h(n)等于模拟滤波器的脉冲响应 ha(t)的采样值,即 nThthnh anTta 式中, T 为采样周期。 因此数字滤波器的系统函数
( 1) 行列式键盘 与单片机接口技术 14 ( 2) 行列式键盘结构 ( 3) 行列式键盘工作原理 尽管构成行列式键盘结构形式不一样,但它们的工作原理是相同的,现以图 为例来说明:行线 P1. 4P1. 7 为输 出,列线 P1. 0P1. 3 为输入。 CPU 先使第一行 ( P1. 4) 为“ 0”,其余行为“ 1”。 然后读输入口 P1. 0P1. 3 的状态,若输入缓冲器的状态全部为“