使用 cftool 拟合一阶系统的量级比

Magnitude ratio fitting of a first order system with cftool

我正在尝试使用 cftool 绘制一阶系统的幅度比,我知道还有其他方法可以做到这一点,但我需要通过这种方法找到解决方案。

我模拟了一个 RC 电路,并在施加了几个频率的正弦输入后,测量了系统的输出;

这是我在 MATLAB 中使用我测量的数据创建的向量:

f = [1 10 100 120 130 150 160 170 1000 2000 3000 10000];
Vi = zeros(1,12);
Vi(1,:) = 1; %amplitude
Vo = [0.99 0.99 0.85 0.79 0.77 0.73 0.7 0.68 0.16 0.08 0.05 0.02]; %amplitudes
Vdb = 20*log10(Vo./Vi); %Vo converted to dB

现在,鉴于 RC 电路是一阶系统,我知道幅度比和频率之间的关系可以写成:

M(omega) = 1/(sqrt(1 + (omega * tau)^2))

所以,在 MATLAB 中打开 cftool,我设置了:

X data: f
Y data: Vdb
Custom Equation: 1/sqrt(1 + (2*pi*a*x)^2) %omega = 2*pi*f

然而,使用这些设置,cftool 并没有绘制出我期望看到的内容,所以我想找出我的错误所在。

我认为 Y-data 应该是 V0,而不是 Vdb

如果您想要曲线拟合以 dB 为单位的电压增益与频率之间的关系,则需要更改自定义方程式。