How to create Bode plot from measured data
99 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Windell am 19 Apr. 2016
Bearbeitet: Windell am 23 Mai 2016
Aloha, I have a *.csv file containing three columuns, time, input signal and output signal. The input signal is a sine wave with a continuously increasing frequency and the output signal is the open loop response for my system. I would like to create a bode plot of the data. How would I do this? I know that I need to fit the data somehow so that I can extract the magnitudes and phase, but i'm not sure where to start.
Star Strider am 19 Apr. 2016
If you already have a state-space or transfer function representation of your system, then just cut to the chase, use the transfer function representation (or the ss2tf function if necessary), and use the numerator and denominator polynomials with the bode, bodeplot, freqs or freqz functions to create the Bode plot.
Otherwise, if your input is a sine of increasing frequency (and that frequency spans the frequency response of your system, essentially a ‘chirp’ signal), you have the magnitude response of your system, so the magnitude part of a Bode plot.
Getting the phase might be a bit more challenging. Taking a wild guess as to your data, I would use the invfreqz function to create a transfer function representation of your system, and then use the bode, bodeplot, or freqz functions to create the Bode plot.
Find more on Plot Customization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!