最小相位系统的相位延迟大于非最小相位系统的例子

import numpy as np
from scipy.signal import freqs_zpk,freqs,tf2zpk
import matplotlib.pyplot as plt
y = 1j*10

z,p,k = ([-1+y],[-3,-7],1)
w, h = freqs_zpk(z, p, k, worN=np.logspace(-3, 5, 1000))

z1,p1,k1 = ([1+y],[-3,-7],1)
w1, h1 = freqs_zpk(z1, p1, k1, worN=np.logspace(-3, 5, 1000))

fig = plt.figure(figsize=(14,7))
ax1 = fig.add_subplot(1, 1, 1)
ax1.set_title('Analog filter frequency response')
ax1.semilogx(w, 20 * np.log10(abs(h)), 'b')
ax1.semilogx(w1, 20 * np.log10(abs(h1)), 'b-.')
ax1.set_ylabel('Amplitude [dB]', color='b')
ax1.set_xlabel('Frequency [Hz]')
ax1.grid(True)

ax2 = ax1.twinx()
angles = np.unwrap(np.angle(h,deg=True),period=360)
angles1 = np.unwrap(np.angle(h1,deg=True),period=360)
ax2.semilogx(w, angles, 'g')
ax2.semilogx(w1, angles1, 'g-.')
ax2.set_ylabel('Angle [degree]', color='g')

plt.axis('tight')
plt.show()


在这里插入图片描述

图中,蓝色的实线和虚线重叠,是幅频响应。
绿色的是相频响应,实线是最小相位系统(零点为-1+10j),虚线是最小相位系统(零点为1+10j)。最小相位系统的相位延迟小,相位波动小。

修改零点的虚部为0,即实线最小相位系统(零点为-1+0j),虚线是最小相位系统(零点为1+0j),得到下图,发现相频响应两线的上线位置发生改变,即最小相位系统的相位延迟更大,但仍是最小相位系统的波动小。
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值