双线性

模拟-数字滤波器转换的双线性变换方法

说明

[zd公司,pd公司,杜兰特]=双线性(Z,P,K,fs公司)转换S-零极点形式的域传递函数Z,P,K和采样率fs公司一个离散的等价物。

[努姆,丹德]=双线性(号码,兽穴,fs公司)转换S-分子指定的畴转移函数号码和分母兽穴一个离散的等价物。

例子

[公元,屋宇署,光盘,Dd公司]=双线性(A.,B,C,D,fs公司)转换矩阵中的连续时间-状态空间系统A.,B,C,和D离散时间系统。

例子

[___]=双线性(___,计划生育)使用参数计划生育作为“匹配”频率来指定预扭曲。

示例

全部折叠

设计了一个通带纹波为3db的10阶ChebyshevⅠ型带通滤波器的原型。将其转换为状态空间形式。

[z,p,k]=cheb1ap(10,3)[A、 B,C,D]=zp2ss(z,p,k);

使用采样率创建模拟滤波器 F S = 2. 千赫 ,预翘曲带边 U 1. U 2. 以rad/s为单位,带宽 B W = U 2. - U 1. 和中心频率 W o = U 1. U 2. 用于lp2bp型. 将通带边缘频率指定为100 Hz和500 Hz。

Fs=2e3;u1=2*Fs*tan(100*(2*pi/Fs)/2);u2=2*Fs*tan(500*(2*pi/Fs)/2);Bw=u2-u1;Wo=sqrt(u1*u2)[At,Bt,Ct,Dt]=lp2bp(A,B,C,D,Wo,Bw)[b、 a]=ss2tf(At,Bt,Ct,Dt);

使用以下公式计算模拟滤波器的频率响应频率. 绘制幅度响应和预扭曲的频带边缘。

[h,w]=频率(b,a);绘图(w,mag2db(abs(h)))保持ylim([-165 5])[U1,U2]=网格([U1 U2],ylim);绘图(U2)图例(“震级响应”,'低通带边','上通带边')保持xlabel公司('角频率(rad/s)')伊莱贝尔('幅值(dB)')网格

使用双线性使用采样率创建数字带通滤波器 F S 和较低的频带边缘100赫兹。将数字滤波器从状态空间形式转换为传递函数形式ss2tf公司.

[Ad,Bd,Cd,Dd]=双线性(At,Bt,Ct,Dt,Fs)[bz,az]=ss2tf(Ad,Bd,Cd,Dd);

使用fvtool工具绘制数字滤波器的幅度响应。

fvtool(bz、az、,“财务报表”,Fs)

设计了一个六阶椭圆模拟低通滤波器,通带纹波3db,阻带90db。设置截止频率 F C = 20 赫兹 和采样率 F S = 200 赫兹 .

清除Fc=20;Fs=200[z、 p,k]=椭圆(6,3,90,2*pi*Fc,'s'); [num,den]=zp2tf(z,p,k);

计算模拟椭圆滤波器的幅度响应。可视化模拟滤波器。

[h,w]=频率(num,den);绘图(w/(2*pi),mag2db(abs(h)))保持xlim([0 50])[l1,l2]=网格(Fc,[-120 0]);绘图(l1,l2)网格图例(“震级响应”,'通带边缘')xlabel公司('频率(Hz)')伊莱贝尔('幅值(dB)')

使用双线性把它转换成离散时间IIR滤波器。将匹配频率设置为 F P = 20 赫兹 .

[numd,dend]=双线性(num,den,Fs,20);

使用可视化过滤器fvtool工具.

fvtool(numd、dend、,“财务报表”,Fs)

输入参数

全部折叠

零点S-域传递函数,指定为列向量。

世界的两极S-域传递函数,指定为列向量。

增益S-域传递函数,指定为标量。

采样率,指定为正标量。

模拟传递函数的分子系数,用行向量表示。

模拟传递函数的分母系数,用行向量表示。

系统状态矩阵S-域,指定为矩阵。如果系统有P输入和Q输出和描述如下N状态变量,然后A.N-由-N.

数据类型:单一的|双重的

状态矩阵的输入S-域,指定为矩阵。如果系统有P输入和Q输出和描述如下N状态变量,然后BN-由-P.

数据类型:单一的|双重的

状态到输出矩阵S-域,指定为矩阵。如果系统有P输入和Q输出和描述如下N状态变量,然后CQ-由-N.

数据类型:单一的|双重的

网络中的馈通矩阵S-域,指定为矩阵。如果系统有P输入和Q输出和描述如下N状态变量,然后DQ-由-P.

数据类型:单一的|双重的

匹配频率,指定为正标量。

输出参数

全部折叠

零点Z-域传递函数,指定为列向量。

世界的两极Z-域传递函数,指定为列向量。

增益Z-域传递函数,指定为标量。

数字传递函数的分子系数,指定为行向量。

数字传递函数的分母系数,指定为行向量。

系统状态矩阵Z-域,作为矩阵返回。如果系统由N状态变量,然后公元N-由-N.

数据类型:单一的|双重的

状态矩阵的输入Z-域,作为矩阵返回。如果系统由N状态变量,然后屋宇署N-比1。

数据类型:单一的|双重的

状态到输出矩阵Z-域,作为矩阵返回。如果系统有Q输出和描述如下N状态变量,然后光盘Q-由-N.

数据类型:单一的|双重的

网络中的馈通矩阵Z-域,作为矩阵返回。如果系统有Q输出,然后Dd公司Q-比1。

数据类型:单一的|双重的

诊断学

双线性要求分子顺序不大于分母顺序。如果不是这样,双线性显示器

分子不能高于分母。

为了双线性为了区分零极点增益和传递函数线性系统格式,在这些情况下,前两个输入参数必须是具有相同方向的向量。如果不是这样,双线性显示器

前两个参数必须具有相同的方向。

算法

全部折叠

这个双线性变换是变量的数学映射。在数字滤波中,它是映射S或模拟平面进入Z或者数码飞机。它将使用经典滤波器设计技术设计的模拟滤波器转换为离散等效滤波器。

双线性变换映射S-飞机进入Z-乘飞机

H ( Z ) = H ( S ) | S = 2. F S Z 1. Z + 1. .

此转换映射JΩ轴(从Ω=–∞ 至+∞) 反复绕单位圆(Ejw公司,来自ω=–π到π)通过

ω = 2. 棕褐色的 1. ( Ω 2. F S ) .

双线性可以接受可选参数计划生育指定预扭曲的。计划生育,以赫兹表示“匹配”频率,即映射前后的频率响应完全匹配的频率。在预扭曲模式下,双线性变换映射S-飞机进入Z-飞机

H ( Z ) = H ( S ) | S = 2. π F P 棕褐色的 ( π F P F S ) Z 1. Z + 1. .

使用预扭曲选项,双线性映射JΩ轴(从Ω=–∞ 至+∞) 反复绕单位圆(E,来自ω= –ππ)由

ω = 2. 棕褐色的 1. ( Ω 棕褐色的 ( π F P F S ) 2. π F P ) .

在预扭曲模式下,双线性匹配频率2πfP(弧度每秒)在S-平面到归一化频率2πfP/FS(弧度每秒)在Z-飞机。

这个双线性函数适用于三种不同的线性系统表示:零极点增益、传递函数和状态空间形式。

双线性根据您提供的输入线性系统的格式,使用两种算法之一。一种是零极点增益格式,另一种是状态空间格式。对于传递函数表示,双线性转换为状态空间形式,执行转换,并将生成的状态空间系统转换回传递函数形式。

零极点增益算法

对于零极点增益形式的系统,双线性执行四个步骤:

  1. 如果计划生育存在时,它会预扭曲:

    fp=2*pi*fp;fs=fp/tan(fp/fs/2)

    否则,fs=2*fs.

  2. 它在±处去掉任何零∞ 使用

    z=z(有限(z));
  3. 它使用

    pd=(1+p/fs)/(1-p/fs);%做双线性变换zd=(1+z/fs)/(1-z/fs);kd=实数(k*prod(fs-z)。/prod(fs-p));
  4. 它在-1处加上额外的零,这样得到的系统具有相等的分子和分母顺序。

状态空间算法

状态空间形式的模拟系统由

˙ = A. + B U Y = C + D U

. 该系统使用如下状态空间方程转换为离散形式:

[ N + 1. ] = A. D [ N ] + B D U [ N ] , Y [ N ] = C D [ N ] + D D U [ N ] .

将模拟系统转换为状态空间形式,双线性执行两个步骤:

  1. 如果计划生育现在,让

    λ = π F P 棕褐色的 ( π F P / F S ) .

    如果计划生育不存在,让λ=fs公司.

  2. 计算公元,屋宇署,光盘,和Dd公司依据A.,B,C,和D使用

    A. D = ( A. 1. 2. λ ) 1. ( + A. 1. 2. λ ) , B D = 1. λ ( A. 1. 2. λ ) 1. B , C D = 1. λ C ( A. 1. 2. λ ) 1. , D D = 1. 2. λ C ( A. 1. 2. λ ) 1. B + D .

传递函数

对于传递函数形式的系统,双线性转换S-域传递函数号码兽穴一个离散的等价物。行向量号码兽穴分别指定分子和分母的系数,以S. 让B(S)是分子多项式A.(S)是分母多项式。传递函数为:

B ( S ) A. ( S ) = B ( 1. ) S N + + B ( N ) S + B ( N + 1. ) A. ( 1. ) S M + + A. ( M ) S + A. ( M + 1. )

fs公司是以赫兹为单位的采样率。双线性返回行向量中的离散等价值努姆丹德降幂Z(上升的力量)Z–1).计划生育是预扭曲的可选匹配频率,单位为赫兹。

工具书类

[1] 奥本海姆,艾伦V.,罗纳德W。谢弗和约翰R。巴克。离散时间信号处理. 新泽西州马鞍河上游:普伦蒂斯大厅,1999年。

[2] 帕克斯、托马斯W.和C。西德尼·伯鲁斯。数字滤波器设计. 纽约:约翰威利父子出版社,1987年。

扩展功能

C/C++代码生成
使用Matlab®编码器生成C和C++代码™.

R2006a之前引入