matlab 双线性法预畸变,双线性变换法1 - 光子的日志 - 网易博客

冲击响应不变法是使数字滤波器在时域上模仿模拟滤波器的冲击响应,但是它的缺点是产生频响的混叠失真,这是因为从s平面到z平面不是一一映射关系。为了克服这个缺点,可以采用双线性变换法。既然冲击响应不变法是将一条横带变换到整个z平面上去,可以将s平面压缩变换到某一中介s1平面的一条横带里,再通过标准变换关系z=exp(s1*T)将此带变换到整个z平面上去,这样就使s平面与z平面之间建立一一对应的单值关系,消除了多值变换性。为了将s平面的jΩ轴压缩到s1平面的jΩ1轴上的-pi/T到pi/T一段上,可以通过以下的正切变换来实现:

Ω=c*tan(Ω1*T/2)

这里c是任意常数。这样当Ω1由-pi/T经0变化到pi/T时,Ω由-∞经过0变化到+∞,也映射到了整个jΩ轴。将这个关系延拓到整个s平面和s1平面,则可以得到

s=c*tanh(s1*T/2)=c*[1-exp(-s1*T)] / [1+exp(-s1*T)]

再将s1平面通过标准变换关系映射到z平面,即令z=exp(s1*T),并且,通常取c=2/T,得到

s=(2/T) * [1-z^(-1)] / [1+z^(-1)]

同样对z求解,得到

z=[1+((2/T)*s] / [1-((2/T)*s]

这样的变换叫做双线性变换。为了验证这种映射具有s平面的虚轴映射到z平面单位圆上的特性,考虑z=exp(j*ω),得

s=(2/T) * [1-exp(-j*ω)] / [1+exp(-j*ω)]

=(2/T) * j*[sin(ω/2)]/ cos(ω/2)]

=(2/T) * j * tan(ω/2)=jΩ

除了使s平面的虚轴映射到单位圆上之外,s平面的左半部分映射到单位圆的内部,s平面的右半部分映射到单位圆的外部。观察式子  z=[1+((2/T)*s] / [1-((2/T)*s],发现s的实部为负时,因子[1+((2/T)*s] / [1-((2/T)*s]的幅度小于1,相当于单位圆的内部。反之,当s的实部为负时,该比值的幅度大于1,相当于单位圆的外部。这样就可以看出使用双线性变换可从稳定的模拟滤波器得到稳定的数字滤波器。双线性变换法还避免了使用脉冲响应不变法所遇到的混叠问题,因为它把s平面的这个虚轴映射到z平面的单位圆上。然而,付出的代价是在频率轴上引入了失真。因此,只有当能容忍或补偿这种失真时,使用双线性变换法设计数字滤波器的方法才是实用的。仅在零频率附近时Ω与ω之间的频率变换关系接近于线性关系,所产生的

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
双线性变换是一种数字滤波器设计方,可以用于设计IIR数字滤波器。下面是使用双线性变换设计切比雪夫1型带通滤波器的步骤: 1. 确定滤波器的通带边界和阻带边界,以及通带和阻带的最大衰减量和最小衰减量。 2. 将通带和阻带的边界归一化到数字滤波器的采样频率上,得到归一化通带截止频率和归一化阻带截止频率。 3. 根据归一化通带截止频率和归一化阻带截止频率,计算出模拟滤波器的通带截止频率和阻带截止频率。 4. 根据最大衰减量和最小衰减量,计算出模拟滤波器的通带衰减量和阻带衰减量。 5. 根据通带截止频率、阻带截止频率、通带衰减量和阻带衰减量,使用切比雪夫1型滤波器设计公式计算出模拟滤波器的传递函数。 6. 使用双线性变换将模拟滤波器的传递函数转换为数字滤波器的传递函数。 7. 根据数字滤波器的传递函数,设计数字滤波器的差分方程。 下面是使用MATLAB实现双线性变换设计切比雪夫1型带通滤波器的代码: ```matlab % 设计切比雪夫1型带通滤波器 wp = 0.2*pi; % 通带截止频率 ws = 0.3*pi; % 阻带截止频率 Rp = 1; % 通带最大衰减量 Rs = 40; % 阻带最小衰减量 % 计算阶数和截止频率 [N, Wc] = cheb1ord(wp, ws, Rp, Rs, 's'); % 计算传递函数 [num, den] = cheby1(N, Rp, Wc, 's'); % 双线性变换 Fs = 1000; % 采样频率 [b, a] = bilinear(num, den, Fs); % 频率响应 w = 0:pi/1000:pi; [h, w] = freqz(b, a, w); H = 20*log10(abs(h)); plot(w/pi, H); xlabel('归一化频率'); ylabel('幅度(dB)'); title('切比雪夫1型带通滤波器的频率响应'); ``` 执行上述代码后,将得到一个切比雪夫1型带通滤波器的频率响应图像。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值