matlab求出某二阶系统的截止频率 ,并在绘制的幅频响应曲线中标出截止频率的位置。
时间: 2024-02-03 15:14:06 浏览: 87
用matlab求频率响应
4星 · 用户满意度95%
假设该二阶系统的传递函数为:
$$H(s)=\frac{\omega_n^2}{s^2+2\zeta\omega_ns+\omega_n^2}$$
其中,$\omega_n$ 是系统的固有频率,$\zeta$ 是系统的阻尼比。根据定义,截止频率 $\omega_c$ 满足 $|H(j\omega_c)|=\frac{1}{\sqrt{2}}$。
为了求解截止频率,我们需要将传递函数按照标准形式进行化简:
$$H(s)=\frac{\omega_n^2}{\omega_n^2}\cdot\frac{1}{\left(\frac{s}{\omega_n}\right)^2+2\zeta\frac{s}{\omega_n}+1}=\frac{1}{\left(\frac{s}{\omega_n}\right)^2+2\zeta\frac{s}{\omega_n}+1}$$
令 $s=j\omega$,则有:
$$H(j\omega)=\frac{1}{\left(\frac{j\omega}{\omega_n}\right)^2+2\zeta\frac{j\omega}{\omega_n}+1}=\frac{1}{1-\left(\frac{\omega}{\omega_n}\right)^2+2\zeta\frac{j\omega}{\omega_n}}$$
将分母分离实部和虚部,可得:
$$|H(j\omega)|=\frac{1}{\sqrt{\left(1-\left(\frac{\omega}{\omega_n}\right)^2\right)^2+4\zeta^2\left(\frac{\omega}{\omega_n}\right)^2}}$$
令 $|H(j\omega_c)|=\frac{1}{\sqrt{2}}$,则可得:
$$\omega_c=\omega_n\sqrt{1-2\zeta^2+\sqrt{4\zeta^4-4\zeta^2+2}}$$
接下来我们可以使用 MATLAB 中的 `bode` 函数绘制幅频响应曲线,并在图中标出截止频率的位置。以下是一段示例代码:
```matlab
% 定义系统参数
omega_n = 10;
zeta = 0.5;
% 计算截止频率
omega_c = omega_n * sqrt(1 - 2 * zeta^2 + sqrt(4 * zeta^4 - 4 * zeta^2 + 2));
% 绘制幅频响应曲线
sys = tf([omega_n^2], [1, 2*zeta*omega_n, omega_n^2]);
bode(sys);
hold on;
plot([omega_c, omega_c], [-50, 0], '--r');
```
在绘制的幅频响应曲线中,截止频率的位置用红色虚线标出。
阅读全文