Bode Plots
El Paisa
Posts: 375
I am really impress with the capabilities of the Propeller.
Looking forward to play with it for long time.
In regard with the thread Bode Plotter, is unfortunate name for the thread.
It should been named Open loop Frequency Analyzer or something similar.
By definition a Bode Plot is· the plotting of system Stability of Servos Systems (constant velocity or constant position) or closed loop systems such as Power Supplies.
It is defined as:
·Gain(freq) = 20 * log10 * [noparse][[/noparse]Vin(freq) / Vout(Freq)]· in Decibels
For more information see http://www.motionvillage.com/training/handbook/resources/1999_03_bode_plots.pdf
Obtaining Bode Plot results is not a trivial matter. It uses sophisticated piece of equipment (see http://www.venable.biz/pr-products.html) and normally is plotted in semi-log paper.
Looking forward to play with it for long time.
In regard with the thread Bode Plotter, is unfortunate name for the thread.
It should been named Open loop Frequency Analyzer or something similar.
By definition a Bode Plot is· the plotting of system Stability of Servos Systems (constant velocity or constant position) or closed loop systems such as Power Supplies.
It is defined as:
·Gain(freq) = 20 * log10 * [noparse][[/noparse]Vin(freq) / Vout(Freq)]· in Decibels
For more information see http://www.motionvillage.com/training/handbook/resources/1999_03_bode_plots.pdf
Obtaining Bode Plot results is not a trivial matter. It uses sophisticated piece of equipment (see http://www.venable.biz/pr-products.html) and normally is plotted in semi-log paper.
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
6+6=10 (Long live the duodecimal system)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
6+6=10 (Long live the duodecimal system)
Is it Bode pronounced like Toad or Roady.· I've heard it both ways.
-Martin
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
6+6=10 (Long live the duodecimal system)
Seriously, Bode plots applies only to closed loop systems.
Of course, what your definition of closed loop is·might dictate if you are correct.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Shawn Lowe
My last words shall be - "NOT YET!!!"
Martin and Paul: I had a controls professor who claimed the correct pronounciation was Bo-duh based on Henrik Bode's dutch ancestry. bo-dee is what I hear most often though.
Russ
El Paisa, I beg to differ, wikipedia defines Bode plot as:
"A Bode plot, named for Hendrik Wade Bode, is usually a combination of a Bode magnitude plot and Bode phase plot:
A Bode magnitude plot is a graph of log magnitude against log frequency often used in signal processing to show the transfer function or frequency response of an LTI system.
...
A Bode phase plot is a graph of phase against log frequency, usually used in conjunction with the magnitude plot, to evaluate how much a frequency will be phase-shifted."
and http://www.swarthmore.edu/NatSci/echeeve1/Ref/Bode/Bode.html·states:
"Bode plots are a very useful way to represent the gain and phase of a system as a function of frequency.· This is referred to as the frequency domain behavior of a system."
and goes on to show for the first example this circuit:
This is the run of the mill 1st order low pass filter, I was taught this is an open loop system, where Vin is the input, Vo is the output and Vo is not in a feedback configuration with Vin (ie the Value at Vo has no effect on the value of Vin).
You are correct that Bode Plots are very useful when determining the stability of a system which employs feedback, but that is not the only purpose of using Bode plots.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
6+6=10 (Long live the duodecimal system)
At least in our technical education, we use the term Bode Plot anytime we show a relationship of frequency and amplitude. It's nice to have learned it's so much more involved and versatile.
-Martin
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Martin Hebel
Southern Illinois University Carbondale - Electronic Systems Technologies
Personal Links with plenty of BASIC Stamp info
StampPlot - Graphical Data Acquisition and Control
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
6+6=10 (Long live the duodecimal system)
·
You are correct...
·
Gain(freq) = 20 * log10 * [noparse][[/noparse]Vin(freq) / Vout(freq)]· in Decibels
·
...And what I displayed is basically...
·
Frequency vs. Magnitude
·
...So this really becomes a scaling issue that my graph is not displayed in Decibels or that the Frequency is linear and not logarithmic.
Trivial for a Bode magnitude plot where the information wealth is in the frequency response.
·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
Post Edited (Beau Schwabe (Parallax)) : 4/5/2006 5:13:57 PM GMT
The Rate of closure (slope) of the system gain crosses the zero gain axis (also called gain margin and corresponding phase margins).
If the slope is equal to 20 db/decade or less, the system is stable, if the slope is more than 20 db/decade, the system will oscillate under certain load conditions.
Some people call this a damped or under-damped system.
This is very important in the design of Power Supplies, constant velocity and constant positions systems.
·
Gain db(freq) = 20 * log10 * [noparse][[/noparse]Vout(freq) / Vin(freq)]
And many times you will see the parameter being "S" used which is the S-domain:
Gain db(s) = 20 * log10 * [noparse][[/noparse]Vout(s) / Vin(s)]
Which is much more flexible than time or frequency, see laplace transform, many times when analyzing complex circuits the output and input is written in terms of the S parameter after a laplace tranform of the function from the time domain, this converts any differential/integral components into algebraic factors of S, thus, a transfer function might look like "1/SC" <-- capacitor's transfer function, which is much better than v(t) = 1/c * integral [noparse][[/noparse]i dt]! Then when you are done, you convert back to the time domain with an inverse laplace.
Also, be careful since technically a bode plot is the result of exciting the system with a single sine wave, not a summation/series of them like a square wave. When you do that, then you get a infinite series response where each term is the indepedently seperarable sine term that makes of the square wave, so the result is a summation of terms, there is no such thing as a square wave bode plot, since every network will attenuate all the harmonics that make up a squarewave related to the fundamental, so you "loose" information in the bode plot if you tried to plot a square, since the "squareness" of the wave would be lost and is not plotted, so transfer functions and bode plots are only good for impulse and pure sine waves, then the total response is a series for every fundamental sine wave that composes the wave forms you plan to excite the system with, since every waveform in the universe can be constructed from sine waves.
Andre'
In what I'm really interested is on the open door for spectrum analyzer, as all of us knows, these kind of DFT calculators needs to have very hard computation capabilities, and i would like to start talking about it.
¿Has enough power to know speech recognition?
¿What kind of future CMU's cam's could be developed with this SX son?
I think that there exists a barrier in wich engineers must take a decision between using DSP or MICROCHIPS, and this new popeller·makes fuzzy the line.
Of course there exists DSP's like texas wich has GHz·internal clocks, used for military applications, but·until now, systems like speech recognition, were using ASICS, and i hope this Propeller to be able to develop the first·non DSP ASIC·Real time systems, like new CMU improvements·and massive data systems.
Thank you very much to whole the people skiping on·singulars, to·looking at these new important questions.
Frequency, phase, magnitude, and·pitch (difficult), are all keys to being able to do amazing things. I hope the Propeller gets applied to these concepts so that we could do things like speech recognition. The DFT/FFT/Goertzel algorithms open up whole new worlds for microcontroller programmers. It's like finally being able to get on top of complex signals and be able to look at them from other perspectives, or maybe 'other dimensions' is more apt. This is what I dream·of doing with the Propeller. The new demo board will·have an electret microphone with 2 resistors and 2 caps, so that it can be digitized by a CTR on a COG.·When I·first·got it running, I made a simple echo, and then started a flanger. I want to make a pitch detector so that we could·map vocal pitch to musical notes (the closest one), and then drive·a synthesizer to make some other noise from that. Also, if we could make a formant detector, we'd be a long ways towards a speech recognizer.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chip Gracey
Parallax, Inc.
SPACE = play buffer (comes up with synthesized singing, product of algorithm)
ENTER = record from PC microphone
LeftClick-Drag-Release = play portion of visible buffer (works forward and reverse)
RightClick = replay what was last played
MiddleClick = toggle magnified/absolute waveform view
MouseWheel = increase display gain
S = save buffer as test.wav
Have fun. This lets you see what your ear 'sees'!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chip Gracey
Parallax, Inc.
Post Edited (Chip Gracey) : 4/13/2006 3:50:32 AM GMT
Recently i have developed a kind of Goertzel Algorithm for touch tone decoding on a texas instruments DSP evaluation board, the goal was to obtain a code on 4 leds, indicating what the phone DTMF key was pressed on phone, using on board mic to sample sound from speaker mobile phone.
Another application was to be able to generate the DTMF codes using IIR Filter, i have had a SX developent system, know that is able to do this, thinking about developing a modem with only one propellet chip, thinking too on installing caller ID function using some COG's, nice modem with caller ID.
For whole the people thinking about how goertzel algorithm works, i will post my matlab development, is like DFT but only calculated in one point.
Very easy to be understood and embedded on a board, can be helpfull on aplications in wich you need spectra analysis but not in whole the spectra, unles only some points.
wait until come back to my country, i have this one on my hard drive there!
it's strongly·recommended to take a look at www.flexipanel.com, modules using bluetooth can be very good friends of Propeller because the voice transmit enable option of bluetooth protocol!!
Continue posting about Digital Signal Processing Issues please, i think it's going to be the great advantage of this kind of DSP and MICROCONTROLLER named Propeller
Thanks!
Post Edited (POLOCERO) : 5/5/2006 1:11:24 PM GMT
This spectograph app was written in Delphi, but the FFT algorithm was coded in 386 assembler for speed.
Yeah, the Goertzel algorith is really simple and not hard to understand. Just keep multiplying and accumulating your incoming samples by advancing SINE and COSINE values and then, at some point, compute the hypotenuse of the SINE and COSINE accumulators. Then, you get the energy. The longer you accumulate for, the tighter the bandwidth, and vice-versa.
I once saw a NASA tech note where rather than using SINE and COSINE, +/-1 was used, resulting in the samples being XOR'd with a bit-per-SINE and bit-per-COSINE quadrature pattern, and these resulting bits drove binary up-down counters to create the accumulators. Very simple. It had ghosting at the third and, lessly-so,·fifth harmonic, since a square wave had effectively been used instead of analog sine and cosine. I thought that was an amazing reduction of the Goertzel algorithm - reduced to XOR's and UP-DOWN counters, but still useful for finding a needle in·a haystack!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chip Gracey
Parallax, Inc.
The use is the following, first of all, generate DTMF tone with the first .m file, and then use the digital sample file generated, to accomplish the Goertzel transform over the sample file generated, note that the Goertzel algorithm is programmed for standard touch tone telephone, and if anyone likes to use it on different frecuencies, code should be changed.
I'll send a PDF with user manual·of this files in matlab, and a multisample algorithm, that for everybody to understand it, is the way of changing the sample frecuency of a sampled wave, without converting to analog...so having the digitalized wave, you can change the sample frecuency used for digitalizing it!!, is useful when using·circuits·having different sample rates, and so on, for vocoder purposes changing pitch.
Now i'm developing internet controlled robot, i will develop new subject forum related to this idea.
Enjoy it!
Post Edited (POLOCERO) : 5/5/2006 1:32:24 PM GMT
Thanks,
Michael
·
Enjoy it!