Propeller Application DEMO: Spectrum Analyzer (for Audio)
Beau Schwabe
Posts: 6,568
Ok, so this one is just a must read.· I've known about this technique for quite some time, but it was just a matter of making it happen and brining
my head around it enough to understand and explain how it works.· You can't beat results like this with only 5 passive components and a Propeller board.
Ok, so it's not·fast, but it is rather impressive. (I'm excited about it anyway)
Have fun!!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
Post Edited (Beau Schwabe (Parallax)) : 7/27/2007 5:10:45 AM GMT
my head around it enough to understand and explain how it works.· You can't beat results like this with only 5 passive components and a Propeller board.
Ok, so it's not·fast, but it is rather impressive. (I'm excited about it anyway)
Have fun!!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
Post Edited (Beau Schwabe (Parallax)) : 7/27/2007 5:10:45 AM GMT
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
E3 = Thought
http://folding.stanford.edu/·- Donating some CPU/GPU downtime just might lead to a cure for cancer! My team stats.
Regards,
Coley
What mean 'lol' ?
I read that sometimes and I know only that is for to express a smile or a laughter, but I don't know exactly what want to say each letter L, O and L ?
Thank-you.
Best regards,
dro.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
in medio virtus
LOL: Laugh Out Loud
LMAO: Laugh My *** Off
RFLMAO: Roll on floor laughing my a...
IMHO: In my humble opinion
IIRC: If I remember correctly
FWIW: For what its worth
TIA: Thanks in advance
WTF: No comment [noparse]:)[/noparse]
Graham
Took me a while but I got it in the end.....
LOL
You're a genius ...very impressive !!! [noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Regards.
Alberto.
BTW could give me a example of log-log plot?
The plot is actually just a percentage signal purity fro 0% to 100%
The Maximum Signal value is calculated, and compared against the Actual Signal value received to obtain a percentage.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
What I am refering is to the display of the x axis (or frequency) values.
Looking more carefuly your plots seems are linear plots NOT semi-log plots.
It is·common·in engineering to plot frequency as log values not linear values.
If the y axis values is linear and the axis(frequency) is in log values, the plot it is called semi-log plots.
Another common practice is to plot y as log values and x also as log values, then is called log-log plots.
Very cool, and I've a few uses for this.
Appreciated!
If one were interested in a more narrow bandwidth, what would be the best approach?
This is pretty narrow, and not a problem for what I plan to do with it. Just wondering where to do some additional learning, that's all.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Wiki: Share the coolness!
"If one were interested in a more narrow bandwidth, what would be the best approach?" Increase the number of "Poles" that are used.
Doing so though affects the upper frequency limit which btw is somewhere near 500kHz (1/4 of the maximum Bit Sample rate.)
El Paisa,
yes, you are correct, the X dimension is linear, and as potatohead said... most of the hard stuff is already done.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
Very cool app, I plan to try it soon. One question though. How are the external components assembled? On the breadboard of a demoboard? soldered to a protoboard? I just remember a discussion in this thread http://forums.parallax.com/showthread.php?p=576575 about ADC and problems involved in using a breadboard. and the importance of getting the components are close to the input pin as possible for good results. I assume that would be important in this example as well.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Brian
uController.com - home of SpinStudio
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
E3 = Thought
http://folding.stanford.edu/·- Donating some CPU/GPU downtime just might lead to a cure for cancer! My team stats.
I've been evangelizing... and the first question that my new friend had after receiving his Propeller Education Kit was...
"I have this machine at work that they have to pay a guy to baby-sit at night. When the machine goes nuts it makes a lot of noise... can I use the Prop to monitor noise and turn the machine off?"
"Sure"... says me.
BIP (Beau is psychic)
ILMP (I love my Propeller)
Rich
You should team up with Chip on this, when the propeller talks it can now listen! You could get the cogs chatting to each other [noparse]:)[/noparse]
Graham
...not a psychic
Graham,
You could use it to monitor inter-propeller chatter, but with this version, the frequency limit is about 500kHz.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
There is an application that I was toying with that used PSK (Phase Shift Keying) to transmit data. One micro would generate a particular clock frequency, and the other(s) micro(s) would Phase-Lock to that frequency. The "master" could send constellation data by altering the phase. The other micro(s) would in essence "track" the phase change to reconstruct the transmitted data.
Combine this with the Spectrum Analyzer, and you could get a spread spectrum style communication.
Dennis,
Many modems use "PSK" to transmit data. By defining specific constellation symbols, you can dramatically increase your throughput... This is one of the "tricks" used to transmit data over copper
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
Post Edited (Beau Schwabe (Parallax)) : 8/1/2007 9:55:38 PM GMT
When I said talk I meant literally using the speech synthesis stuff
Graham
So how do I hook it up to my memsic accelerometer??!
Oh, and try to dumb it down for me.
Thanks
Thanks for this application.· I just purchased the Propeller Demo Board, with the intent of learning more about this topic using your code.
So, two quick questions:
1) The schematic in the code on hooking up a microphone... This is slightly different than the electret microphone circuit on the Propeller demo board.· Should I be able to use pins 8 and 9 on the demo board for the output and input pins?· Please advise if I need to do something differenet here.· So far,·I am not getting any good data back.
2) Could I expect a 16X speed up if I move to an 80Mz clock?
Thanks again!
For #1, you should be able to use the microphone, but you will need to specify those pins correctly in software.
For #2, If you are using the Demo board, you are already running at 80MHz through the internal PLL
If you are trying to "listen" to an audio signal to determine if there is a specific frequency present, then the audio needs to sustain that frequency during the entire sample period. If it is not present throughout the entire sample period it will average out as noise and become part of the noise floor, or show up as a very small spike.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
Thanks for the reply. I am new the Propeller, and so now I understand the _clkmode parameter.
I also understand that the audio needs to be contant for all the scans. I guess when I looked @ the code I didn't realize the amount of time it would take to do the scans. I'll try this later tonight and see if that was my issue.
Has anyone implemented a similar app using FFT on a single sample using the Propeller?
integer 512 points, in asm of course. I never tested it actually (just partially), i wanted to debug it so I wrote pPropellerSim and later I had to write a paper, sort of progress check for my Ph.D and well got sort of "forgot"... I'll post it, may be someone wants to use it (will be GPL v2, sorry).
** This answer goes here.