首先,利用Z变换将系统的差分方程或状态方程转换为系统函数H(z)。这一步是绘制特性的基础,务必确保转换准确无误。
python复制代码# 假设有差分方程,先转换为系统函数H(z) # 这里仅为示意,具体需根据题目给出 from scipy import signal B = np.array([...]) # 分子系数 A = np.array([...]) # 分母系数 z, p, k = signal.tf2zpk(B, A)2. 替换z为e^(jw) 🔄为了得到频率响应,我们需要将H(z)中的z替换为e^(jw)。这一操作将Z域的分析转换到了频率域,让我们能够直接观察系统对不同频率信号的响应。
python复制代码# 替换z为e^(jw) w = np.linspace(0, 2*np.pi, 400) # 频率范围 H_jw = np.exp(1j * w) # e^(jw) # 注意:实际计算时,需要根据H(z)的表达式进行替换3. 计算幅频和相频 📏替换后,我们得到的H(e^(jw))是一个复数函数。通过计算该函数的模和辐角,我们可以分别得到系统的幅频特性和相频特性。
python复制代码# 计算幅频和相频 hf = np.abs(H_jw) # 幅频特性 hg = np.angle(H_jw) # 相频特性4. 绘制特性曲线 🎨最后,利用MATLAB、Python等工具绘制出系统的幅频特性曲线和相频特性曲线。这两条曲线将直观地展示系统对不同频率信号的响应情况。
python复制代码# 绘制曲线 import matplotlib.pyplot as plt plt.figure(figsize=(10, 5)) plt.subplot(1, 2, 1) plt.plot(w, hf) plt.title('Amplitude Frequency Response') plt.grid(True) plt.subplot(1, 2, 2) plt.plot(w, hg) plt.title('Phase Frequency Response') plt.grid(True) plt.show()#考研[话题]# #考研信号与系统[话题]# #考研良哥[话题]# #考研信号与系统网课[话题]# #2025考研[话题]# #复习大全[话题]# #研究生初试[话题]# #北京邮电大学考研[话题]#