给定一因果系统H(z)=(1+根号2/z+1)/(1-0.67/z+0.9/z的平方),求出并绘制H(z)的幅频响应与相频响应
时间: 2024-10-19 07:06:35 浏览: 47
对于给定的因果系统的传递函数 \( H(z) = \frac{1 + \sqrt{2}/z + 1}{1 - 0.67z^{-1} + 0.9z^{-2}} \),我们首先需要分析它的极点和零点,然后计算幅频响应(Magnitude Frequency Response, MFR)和相频响应(Phase Frequency Response, PFR)。
1. **极点和零点**:
- 零点:\( z = 0 \) 和 \( z^2 - 0.9z + 0.9 = (z - 1)(z - 0.9) = 0 \),所以零点有 \( z_1 = 1 \) 和 \( z_2 = 0.9 \)
-1} - ... = 0 \) 确定,这里 \( a_2 = 0.9 \)。这意味着系统有一个简单的极点在无穷远处。
2. **幅频响应**:
- 通过取模来获得幅频响应 \( |H(e^{j\omega})| \),其中 \( \omega \) 是角频率。对于每个 \( \omega \),你需要将复数的极点代入传递函数,并计算其模值。
3. **相频响应**:
- 相频响应 \( \angle H(e^{j\omega}) \) 可以通过取自然对数的实部和虚部之比得到,同样,代入 \( e^{j\omega} \) 并计算角度。
为了实际绘制幅频响应和相频响应图,你会使用MATLAB中的`bode`函数,它会自动处理这些计算并将结果绘制成Bode图。示例如下:
```matlab
% 创建极坐标数据
[wn, magresp, phaseresp] = bode(H);
% 绘制幅频响应图
figure;
plot(wn, magresp, 'b', 'LineWidth', 1.5); % 蓝色线表示幅频响应
title('Bode Plot of Magnitude Response');
xlabel('Angular Frequency (rad/s)');
ylabel('|H(jw)|');
% 绘制相频响应图
figure;
plot(wn, unwrap(angle(magresp)), 'r', 'LineWidth', 1.5); % 红色线表示相频响应
title('Bode Plot of Phase Response');
xlabel('Angular Frequency (rad/s)');
ylabel('\angle H(jw)');
```
这将会分别展示幅频响应和相频响应随角频率的变化情况。
阅读全文