I want to use a practical method/way where I can obtain roughly the Bode plot of a system especially a filter. This of course can be done by using complex math or implementing the circuit in a SPICE simulator. But these requires knowing the circuit diagram and exact parameters of each component.
But imagine we don't know the circuit diagram of a filter in a black box, and we don't have time or possibility to obtain the circuit model as well. Which means we have the filter and we only have access to its inputs and outputs.(I also exclude the idea of obtaining filter's transfer function by applying an impulse to its input, I guess this is impractical(?))
But if we have a two channel oscilloscope and a function generator, we can see the input and output of the filter for a particular sinusoidal input.
By using a function generator, we for example can set the input as a 1Hz sinusoidal with 10mV pk-pk or call it Vin. In this case we can have an output of V1 pk-pk with a phase shift ϕ1. We repeat the same thing by setting the input this time as a 10Hz sinusoidal with again Vin pk-pk. In this case we can have an output of V2 pk-pk with a phase shift ϕ2. So by keeping Vin same amplitude and increasing the frequency equally we can obtain some points as:
Vin f1 ---> V1, f1, ϕ1
Vin f2 ---> V2, f2, ϕ2
Vin f3 ---> V3, f3, ϕ3
...
Vin fn ---> Vn, fn, ϕn
This means we can plot Vn/Vin with respect to fn; and we can also plot ϕn with respect to fn. Thus we might obtain Bode plots roughly.
But this method has some weaknesses. First of all since it will be recorded with pen and paper I cannot increase fn with small intervals. This is too much time taking. Another most important problem here is reading the amplitudes and phase shifts accurately in the oscilloscope screen.
My question is: Assuming we also have a PC based data-acquisition system, is there a practical and faster way to obtain Bode plot points for both amplitude and phase shifts roughly?(Points can be obtained as amplitude and phase shifts or a single complex number as well)