How to create Bode plot from measured data
115 次查看(过去 30 天)
显示 更早的评论
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.
thanks, windell
2 个评论
回答(1 个)
Star Strider
2016-4-19
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.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!