跳转到内容

数字信号处理/双线性变换

来自维基教科书,自由的教科书

双线性变换

[编辑 | 编辑源代码]

双线性变换是一种数学关系,可以用来将特定滤波器在复拉普拉斯域中的传递函数转换为z域,反之亦然。生成的滤波器将具有与原始滤波器相同的特性,但可以使用不同的技术来实现。拉普拉斯域更适合设计模拟滤波器组件,而Z变换更适合设计数字滤波器组件。

双线性变换是将模拟传递函数数值积分到数字域的结果。我们可以将双线性变换定义为

双线性变换可以用来生成一个分段常数幅度响应,它近似于等效模拟滤波器的幅度响应。然而,双线性变换不能忠实地再现模拟滤波器的相位响应。

例如,下图显示了使用 40 rad/sec 的采样频率,双线性变换等效于模拟系统的相位响应。比较图中的相位响应,意识到限制是 Ws/2=20 rad/s - 很明显地出现了发散。

  • num = [1 11.21 116.242 372.601 561.589 363.528 ];
  • den= [1 26.489 340.47 2461.61 10433.1 23363.9 19049. 4981.82 ];
  • C=tf(num,den); % GNU Octave 命令
  • D=c2d(C,2*pi/40,'bi');  % A/D 通过 Octave


注意,为了使零点和极点计数匹配,添加了两个零点。

双线性变换是一种一对一映射,也就是说,在一个域中的唯一点将被变换为另一个域中的唯一点。但是,变换不是线性变换,并且不是拉普拉斯域和 Z域 之间的完全等效性。如果设计一个数字滤波器并将其转换为模拟滤波器,生成的极点和零点不会位于s平面,而是位于具有相似属性的 w平面,但具有非线性对应关系。

在双线性变换中,s域中的正虚轴被变换为z域中的上半单位圆。同样,s域中的负虚轴被变换为z域中的下半单位圆。但是,这种映射是高度非线性的,导致了称为“频率扭曲”的现象。

预失真

[编辑 | 编辑源代码]

频率扭曲遵循已知模式,并且扭曲频率和已知频率之间存在已知关系。我们可以使用称为预失真的技术来解决非线性问题,并生成更忠实的映射。

p 下标表示相同频率的预失真版本。注意,在极限 ,连续解是 .

双线性变换不保留模拟滤波器的相位特性,并且没有办法校正相位响应以匹配。

滤波器设计步骤

[编辑 | 编辑源代码]

当使用模拟近似和双线性变换设计数字滤波器时,我们遵循以下步骤。

  1. 预扭曲截止频率。
  2. 设计必要的模拟滤波器。
  3. 将双线性变换应用于传递函数。
  4. 将所得传递函数归一化为单调且具有单位通带增益(0dB)。

或者,如果我们有**逆双线性变换**,我们可以遵循以下步骤。

  1. 使用逆双线性变换对数字域中的滤波器规格进行转换,以产生模拟域中的等效规格。
  2. 构建模拟滤波器传递函数以满足这些规格。
  3. 使用双线性变换将所得模拟滤波器转换为数字滤波器。

逆双线性变换

[编辑 | 编辑源代码]

逆双线性变换可以这样指定。

其中是采样率

这也写成

这与双线性变换非常相似。

华夏公益教科书