Home > Enterprise >  Magnitude ratio fitting of a first order system with cftool
Magnitude ratio fitting of a first order system with cftool

Time:05-30

I am trying to plot the magnitude ratio of a first order system using cftool, I'm aware there are other ways to do that but I need to get to the solution through this method.

I have simulated an RC circuit and, after having applied a sine input at several frequencies, I have measured the output of the system;

here is the circuit.

Here are the vectors I have created in MATLAB with the data I have measured:

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

Now, given that an RC circuit is a first order system, I know that the relationship beetween magnitude ratio and frequency can be written as:

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

So, opening cftool in MATLAB, I have set:

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

Using these settings, however, cftool doesn't plot what I expected to see, so I would like to figure out where my mistakes are.

CodePudding user response:

I believe the Y-data should be V0, not Vdb.

If you want the curvefit for the relationship between the voltage gain in dB and the frequency, then you need to alter the custom equation.

  • Related