Ich habe den Schaltplan mit der Freeware Version 4.13 erstellt. Für was brauhst du da eine 3.x Version ? Wenn du Low Current LEDs verwendest, und die Konstantstromquellen auf 50mA auslegst, kommst du auf 1,6A. Dafür reicht dann auch irgendein Darlington Transistor. Allerdings müssten dann Widerstände zwischen Transistor und 4zu16 Dekoder eingebaut werden. Der IRF9530 ist ein P Kanal MOSFET, genauso wie der IRF9531. Am Anfang wollte ich auch einen anderen verwenden, vielleicht hätte ich auch einen Transistor verwendet, aber ich hatte noch ein paar IRF9531 hier rumliegen.
nun ich kann die Packages der Widerstände in deinem Schaltplan nicht ändern da mir anzeigt wird, dass du eine Bibliothek "discrete" verwendet hast, die früher in der Version 3.XX statt der rcl vorkam dann tausche ich alle Bauteile von Hand aus, so dass das Rastermaß passt beim IRF9530 habe ich mich gestern verlesen! es ist ein P-Channel! den nehmen ich auch! ich gebe dir dann bescheid wenn Schaltplan sowie Board fertig sind!
Benedikt - es tut mir leid! bitte vergesse das mit den unterschiedlichen Bibliotheken! es lag an mir! habe nun gemerkt, dass mein Linux Notebook viele andere Bibliotheken enthält als mein großer Rechner :-) unter anderem "discrete.lbr" usw... bitte nochmals um Verzeichung Gruß Matthias
@Matthias Sach mal, gestern 11 Posts in Folge quasi in Abständen von zwei Minuten, muß das sein? Kannst du nicht mal sammeln und alles in einen Post schreiben? Wird so leider etwas unübersichtlich.
habe eine Frage an dich Benedikt mein Terzband ging ja über 28 verschiedene Frequenzen was hast du mit den restlichen 4 Leds gemacht, die übrig bleiben ? (vorne 2 hinten 2 ) hast du die noch kleiner / größer gemacht von den Frequenzen ? dann mein Schaltplan / Layout bildet nun einen 16x32 Kanal Analyzer den man auch mit 12x28 betreiben kann (so wie ich ihn möchte) der Frequenzgang beim 32 wäre 20 hz 25 hz 31,5 hz 40 hz 50 hz 63 80 100 125 160 200 250 315 400 500 635 800 1000 1250 1600 2000 2500 3150 4000 5000 6350 8000 10000 12000 16000 20000 22000 und beim 28 er vorne 2 leds weg und hinten 2 leds weglassen und im display oben 2 und unten 2 weglassen so ist nun mein Layout / Schaltplan variabel bei der 32 Kanal Version lässt sich ja ein anderer Filter ( 22khz statt 16khz ) verwenden und ein anderer Code könntest du mir noch die Herz aufteilung bei deinem Code pro Led nennen ?
Das mit den 25Hz wird nicht funktionieren. Im Moment habe ich folgende Frequenzen eingebaut: Band Bereich Werte Zählerwert 10 10 1 12 20 20 1 11 30 30 1 10 40 40 1 9 50 50 1 8 60 60 1 7 80 70-80 2 6 100 90-100 2 5 120 110-130 3 4 160 140-170 4 3 200 180-220 5 2 250 230-290 7 1 12 Werte 300 300 1 10 400 400 1 9 500 500 1 8 600 600 1 7 800 700-800 2 6 1000 900-1000 2 5 1200 1100-1300 3 4 1600 1400-1700 4 3 2000 1800-2200 5 2 2500 2300-2900 7 1 10 Werte 3000 2666-3333 3 10 4000 3666-4333 3 9 5000 4666-5333 3 8 6000 5666-6333 3 7 8000 6666-8333 6 6 10000 8666-11333 6 5 12000 11666-13666 7 4 16000 14000-20000 19 3 18000 18000 1 2 20000 20000 1 1 10 Werte
perfekt! genau so ist es korrekt! super ! Beschluss: ich kaufe mir nun Eagle da die gepatchten usw... alle nichts taugen und ich endlich mal in Ruhe routen möchte denke das ist eine Anschaffung fürs Leben!
Ich hätte mir Eagle auch schon gekauft, aber wenn ich mir jetzt 4.13 kaufe, und in einem Jahr jeder 4.14 oder sonstwas verwendet, dann kann muss ich doch die Freeware Version verwenden, da man keine neueren Dateien öffnen kann...
das ist eben auch mein Problem.... nun habe ich einen Weg gefunden es zu routen! bin seit 2Std dabei erst einmal Bauteile plazieren sortieren usw.. danach routen!
anbei die FFT Platine 160x100 doppelseitig habe ich gerade a meinen bulgarischen Platinenhersteller weitergeleitet nun route ich das Display
Übel, übel, Deine Platine: a.) Keine Abblockkondensatoren an den Controllern. b.) Quarze von den Controllern einen halben Kilometer entfernt. c.) Versorgungsspannungsleitungen viel zu dünn. d.) Kein Masse-Konzept. e.) Rückkoplungsnetzwerke an Deinen OPV viel zu weit entfernt. f.) Signalleitungen unter den Quarzen. g.) Analog- und Digitalteil nicht räumlich getrennt. Das ist ja noch schlimmer als ein Steckboard-Aufbau. Wenn das Teil halbwegs reproduzierbar funktioniert, grenzt das an ein Wunder. Vielleicht bekommst Du ja von den 10 Bit der Analog-Digitalwandler unterm Strich noch etwa 6 Bit raus, mehr wird es wohl nicht werden, der Rest ist Rauschen und Störungen... Also, kurz zusammengafasst, in harten Worten: Dieses "Layout" ist Schrott und Pfusch.
ja? wer meckern kann kanns auch besser machen :-| ich werde deine Punkte überdenken
Hi a) immer noch keine Abblock-C's b) Versorgungsspannung immer noch über zu dünne Leiterbahnen c) AVcc nicht extra entkoppelt d) Einsatz von SMD-Technik verbessert die elektrischen Eigenschaften drastisch und macht das Layout kleiner. e) Werf den Autorouter weg PS: Eine solche Grafik niemals nicht als JPG sondern als GIF oder besser noch als PNG. Und dann in einer Auflösung so daß man das Ding auch ohne scrollen ankucken kann. Matthias
Wenn jemand einen mega8 im TQFP Gehäuse löten kann, sollte er auch mit SMD Kondensatoren fertig werden... Ich verwende auf vielen Platinen meist nur eine Art SMD Bauteile: Die 100nF Kondensatoren. Das spart viel Platz, und nur so kann man die Kondensatoren wirklich da platzieren, wo sie sein sollen. @matthias asselborn Versuch mal an jedes IC 100nF zu hängen, bei mega8/32 auch an AVcc, wie im Datenblatt. Ansonsten bekommst du ein ziemliches Rauschen. Weiterhin ist vor allem im Analogbereich eine gute Masseführung wichtig. Bei meiner ersten Version hatten immer die untersten 3-4 LEDs geflackert. Bei der überarbeiteten flackert garnichts mehr. An jeden verwendeten ADC Pin ein kleiner Kondensator (so ca. 1nF) nach Masse, und zwar so nah wie möglich am ADC Pin. Das Audiosignal über einen Widerstand (so 1-2k) einspeisen. Dadurch werden vom ADC verursachte Störungen durch die Sample&Hold Schaltung vermieden, und HF Störungen von außen unterdrückt.
Smd wäre kein Problem für mich zu löten nur nehme ich Rücksicht auf Keksohr der den Analyzer auch nachbauen möchte nur mit Eagle noch nicht zurecht kommt und Probleme mit Smd hat wird halt eine Universalplatine für 28-32 Band Analyzer also gut Matthias du hast mir ja schon beim MP3 Projekt geholfen daher befolge ich auch deine Ratschläge deine auch Benedikt finde es nur ein wenig schwach ein Post zu lesen (Michael) das das Layout gleich so abwertet bin nun mal kein gelernter Elektroniker befinde mich erst nach ner Lehre auf dem Weg zum diesjährigen Wintersemester Informatik
.... vielleicht hätte ich schreiben sollen das ich von Haus aus IC Sockel mit Abblock C's verwende.... 100nF
mal ne frage, funzt die software schon ? und kannst du mir eventull noch mal ne avi via mail schicken? falls es schon läuft? meine addy müsstest du ja noch haben... die hier stimmt nicht (spam schuzt) @idf-mod.de !
du bist ja lustig erst mal müssen die Platinen gemacht das Teil aufgebaut werden usw... Benedikt schrieb er testete die Soft am PC da Hardwaremangel.. anbei nochmal n Versuch - Handgeroutet - Spannung Leitung dick genug - Massefeld - Abblock C's durch IC Sockel (den ich drauflöte) - Kondensatoren ganz nah an den ADC's - Widerstände in Reihe des Signals zum ADC - png datei
@matthias: Was ist Dir lieber: Gar kein Kommentar und Du bekommst das Teil nicht zum laufen, oder einen ehrlichen Kommentar der zeigt, wo die Probleme liegen? Kritik ist immer hart, wenn man sie bekommt. Aber man darf da keine falschen Gefühle daraus ziehen, sondern Kritik muss man als Chance zu verstehen versuchen. Sieh's mal so: Hätte ich nicht so einen direkten Kommentar geschrieben, hätten wir jetzt keine Diskussion üder das Layout mit Tips für Dich. Du würdest nichts lernen. Und ich habe noch einen Tip für Dich, bzw. Hinweis: Du kannst mit den AtMegas keine Sockel mit inegrierten Abblockkondensatoren verwenden. Die sind nämlich in den Sockeln an verkehrter Stelle eingebaut. Das funktioniert nicht. Und noch einige Tips zur Spannungsversorgung und Masseflächen: Da Du zweiseitig routest, machst Du folgendes: Die Anschlüsse für die Versorgungsspannung in der Mitte der Längskante der Platine. Unmittelbar nach der Anschlussklemme kommt ein kleiner Elko und ein Keramikvielschichtkondensator (100nf) hin. Von den Anschlüssen der Kondensatoren geht einmal Plus und Masse zur digitalen Platinenhälfte, und einmal zur analogen Platinenhälfte. Als Masse verwendest Du eine Massefläche auf der Lötseite. Allerdings trennst Du die Fläche in zwei Teile auf. Ein Teil der Massefläche nur für die analoge Seite, und der andere Teil nur für die Digitale Seite. Zusammengeführt werden die Masseflächen an einem einzigen Punkt, nämlich am Anschluss des 100nf Kondensators unmittelbar hinter der Versorgungsspannungsklemme. Du musst darauf achten, dass Du zwei getrennte Schleifen für den Strom baust. Eine Schleife für den Digitalteil, und eine Schleife für den Analogteil. Der Versorgungsstrom soll nicht in einer großen Schleife durch Analogteil und Digitalteil fliessen. Und eben die Schleifen am Kondensator an der Anschlussklemme zusammenführen.
Nochmals wegen Sockel: Wenn Du einigermassen löten kannst, lass die IC-Sockel ganz weg. Die machen Dir effektiv mehr Probleme als sie lösen. Und wenn ein IC doch mal elektrisch kaputt gehen sollte, kannst Du es auch mechanisch kaputt machen in dem Du alle Beinchen abzwickst und die Beinchenstummel dann in Ruhe und schonend aus der Platine auslötest.
Hast schon recht! ich baue nun den Schaltplan um danach das Layout! ein Kumpel hilft mir nun.
anbei meine plazierte Platine hab ich nun selber gemacht da scheinbar jeder grad krank ist! bitte um kritik was soll ich verbessern?
anbei die geroutete hab ich nun doch selber gemacht/machen müssen so was ist nun noch sch..... ? das hervorgehobene ist die Masse
Mittlerweile gibt es auch elm-chan.org auch C Routinen, die die FFT verwenden: http://elm-chan.org/docs/avrlib/avrfft.zip
nun hat mir n Elektroniker geholfen --> Danke Sven! anbei Schaltplan und Layout! nun lasse ich das ätzen! Gruß Matthias
hi, wo lässt du solche "Einstück" Leiterkarten machen? Und was kosten die? gruss
20 euro kostete die platte ! + versand natürlich bei einem Freund aus Bulgarien der hat ne Leiterplattenfirma ! icq 259-606-808 www.bilex-lp.com 17 euro ohne Lötstopp Grüßles Matthias
da sind auch schon die oberen platten her ( display usw..) top firma netter kontakt - sprechen deutsch einwandfrei kann ich nur sagen saubere arbeit ! grüßles matthias sorry 17 euro war für eine 160x100 doppelseitig + durchkontaktierung bei 15 euro liegt eine 80x100 doppels + durch kontakt nur meine hab ich noch mit lötstopp lackieren lassen bieten nun auch nikel gold technologie für smd und normale bauteile zum selben preis an !
da sind auch schon die oberen platten her ( display usw..) top firma netter kontakt - sprechen deutsch einwandfrei kann ich nur sagen saubere arbeit ! sorry 17 euro war für eine 160x100 doppelseitig + durchkontaktierung bei 15 euro liegt eine 80x100 doppels + durch kontakt nur meine hab ich noch mit lötstopp lackieren lassen bieten nun auch nikel gold -bleifrei- technologie für smd und normale bauteile zum selben preis an ! grüßles matthias
> (ein vergleichbares C Programm ist um den Faktor 10-100 > langsamer !!!!) Wie hast du das getestet bzw. woher kommt die doch sehr große Spanne (1-100)?
Ich habe diverse FFT Algorithmen ausprobiert. Da die meisten für PCs waren, wurden Fließkommazahlen verwendet. Integer Routinen waren natürlich schneller, aber immer noch um ein Vielfaches langsamer. Im Durchschnitt kam ich auf etwa 1 Ergebnis pro Sekunde !
Hallo, mal eine kleine Frage? Die jeweiligen FFT Methoden, die als Beispiele gepostet worden sind, verlangen jeweils als Übergabeparamter den realen und den imaginären Anteil des Eingangssignal. Kann man davon ausgehen, daß der imaginäre Anteil lediglich auf 0 gesetzt wird. Oder muss das Inputsignal vorher konvertiert werden, bevore die FFT genutzt werden kann? Danke, Peter.
An: Matthias Asselborn Habe mir knappe Stunde Zeit genommen und alles gelesen. Mir fehlt das Happy End. Funktioniert deine Platine und die FFT? Hast du vielleicht ein Bild?
Sorry du... hab die geätzte Platine immer noch bei mir liegen sowie das gesamte Display ect.... hatte in letzer Zeit viel zu lernen Studium ect.... und andere Projekte am laufen ein BassHorn da ein Mitteltonhorn da... die Semesterferien sind natürlich zum arbeiten da g sowie jedes Wochenende... hatte genau 4 Tage in diesem Jahr Urlaub... (wenn man das so nenne kann ....) evtl Ende des Jahres nehme ich mir Zeit und dann kommt schon noch das Happy End !!!!!!!!!
:P hatte 9 tage Urlaub seit nehm jahr... Immerhin über 100% mehr :) @Peter wenn du ein Signal hast dass nur reele Werte liefert, dann wird der imag. Teil der FFT auf 0 gesetzt. Grüße Andreas
Ist es der ganz oben geposteten ASM FFT egal, in welchem Pegel Bereich das Singal liegt? Also den ADC mit 2.54V, VCC oder AREF betreibe bleibt mir überlassen, solange mein Signal kommplett in den Bereich 0V->XV passt?
sach mal Benedikt könntest du mir die 2 Codes für den Atmel 8 und 32 compilieren ? hab leider keinen asm Compiler da ... restliche Platinen sind nun fertig bestückt es fehlt nur noch am Code zu nem Happy End gruss Matthias
les ich da fhk community? na dann studieren wir schon an der selben Schule @Benedikt - oder sag mir einfahc mit was du es getipt hast nen compiler werde ich scho auftreiben - sollte halt zusammen passen gruß Matze
Hallo hab grad versucht die FFT für den Mega32 zu compilieren erhielt aber folgende Meldung: AVRASM: AVR macro assembler 2.1.0 (build 38 Oct 1 2005 03:07:42) Copyright (C) 1995-2005 ATMEL Corporation C:\Dokumente und Einstellungen\Matthias Asselborn\mega32.asm(7): Including file 'C:\Programme\Atmel\AVR Tools\AvrAssembler2\Appnotes\m32def.inc' C:\Dokumente und Einstellungen\Matthias Asselborn\mega32.asm(8): Including file 'C:\Programme\Atmel\AVR Tools\AvrAssembler2\Appnotes\avr.inc' C:\Dokumente und Einstellungen\Matthias Asselborn\mega32.asm(9): Including file 'C:\Programme\Atmel\AVR Tools\AvrAssembler2\Appnotes\akiglcd.inc' C:\Dokumente und Einstellungen\Matthias Asselborn\mega32.asm(16): warning: Register r12 already defined by the .DEF directive C:\Dokumente und Einstellungen\Matthias Asselborn\mega32.asm(17): warning: Register r15 already defined by the .DEF directive C:\Dokumente und Einstellungen\Matthias Asselborn\mega32.asm(18): warning: Register r25 already defined by the .DEF directive C:\Dokumente und Einstellungen\Matthias Asselborn\mega32.asm(586): No EEPROM data, deleting C:\Dokumente und Einstellungen\Matthias Asselborn\mega32.eep ATmega32 memory use summary [bytes]: Segment Begin End Code Data Used Size Use% --------------------------------------------------------------- [.cseg] 0x000000 0x000708 1160 640 1800 32768 5.5% [.dseg] 0x000060 0x000523 0 1219 1219 2048 59.5% [.eseg] 0x000000 0x000000 0 0 0 1024 0.0% Assembly complete, 0 errors. 3 warnings aber er spuckt kein Hex File aus... könntest du Benedikt mir die des Mega 8 und 32 compilieren? Gruss Matthias
habs nun doch hingebracht ... im richtigen Ordner sollte man suchen .... aber beim mega 32 3 warnings beim mega 8 nur 2 g ich brenn se mal Ende der Woche auf die Atmels und teste mal das ganze könntest du Benedikt mir die 2 codes doch nochmal compilieren ? die 2Codes für Mega 8 und 32 der 1/3 octav Version - mit dem Led Display Gruss Matthias
Moin Jungs, hab mich jetzt näher mit dem Code auseinandergesetzt. Möchte eine externe Wave-Datenquelle für eine 128 FFT verwenden. Reicht es so wie ich es vorhabe 128 16Bit Werte hintereinander signed an "CaptBuf" zu schreiben? Und den ADC Interrupt durch meine eigene Routine zu ersetzten?
Hallo, kann mir jemand erklären wie man bei dem ASM code (von ganz oben oder auch in der mitte...) auf die 11,1khz bzw. 22,2 khz sampling rate kommt. Einmal is doch die Taktteilung von 64 und dann von 128 für den ADC da komm ich auf andere werte für 18,432 MHz systemtakt??
Hallo, kann mir jemand erklären wie man den Code richtig compiliert? mit welchem Programm?
den asm code compilier ich immer mit dem avr studio von atmel. den c code am besten mit avr-gcc oder winavr. Jemand ne antwort auf meine frage? :)
hab ihn mit avr studio compiliert nur da kommen pro chip 2-3 warnings.... gruss matthias
was denn für fehler?? also bei asm dürfte die fehlerbehandlung kein problem sein. da du grad am antworten bist, kannst du drei posting hoch scolln und mir das erklärn?
hmm das sind ja nur warnings, deshalb müsste er die hex ausspucken, vielleicht heisst die auch nur anders weil du irgendwo was anderes eingestellt hast, klickst du auch immer auf built? Die warnings mit r15 und r25, liegt daran das die schon vorher in avr.inc deklariert wurden.. Das mit dem eeprom kann daran liegen das du einfach keine eeprom daten im code hast, der compiler aber so eingestellt ist das er welche extrahieren soll. wie ich rechne? also im code wird doch der takt für den ADC eingestellt. und zwar hier: outi ADCSRA, 0b11101111 dabei bedeutet das die bit0 bis bit2 also (111) den cputakt teilt und lautdatenblatt ist das bei 111 durch 128->also 18,432 MHZ durch 128 sind gleich 144KHz und nich 11,1Khz so wie es dasteht??
eine hex spukt er scho raus halt mit den warnings... aber mal testen ! ja ich teilte die 128 auch durch die 18 nochwas wobei die muss anders gehen ...
Kann mir jemand ganz simpel erklären wie die grössen bei der FFT zusammenhangen. Also was ist die Sample Rate, was beudeutet z.b. 128 Punkte FFT,was ist das Spektrum und wieso wird der Frequenzbereich durch den Tiefpassfilter (max297) eingegrenzt und was bedeutet das? Also wie hängen die ganzen grössen zusammen.
Hallo! also : Die Sampling-Rate bestimmt beim Digitalisieren von unserer Signalquelle (Musik), wie oft das analoge Audiosignal pro Sekunde abgetastet werden soll Bei einer Sample-Rate von 44.1 kHz (Sample-Rate einer Audio-CD) wird das Audiosignal 44100 Mal pro Sekunde abgetastet je höher also desto besser! in unserem Fall eine 128 Punkte FFT in eienr 128 point FFT werden 128 Punkte(Frequenzen) herausgezogen vom Frequenzspektrum und diese dann ausgewertet Frequenzspektrum - Frequenzbereich von 0 bis halbe Samplerate Herz je mehr Punkte du hast z.b. 512 oder 1024 desto genauer wird deine Frequenzanalyse! aber auch rechen intensiver! bei uns reichen 128 Punkte und der Atmel komt noch gut mit ! exakter wären 512 wobei du dann "mehr Power" brauchst evtl einen digitalen Signalprozessor! (DSP) nun deine letze Frage wieso er mit einem Tiefpassfilter begrenzt wird - in der Mitte des Threads ist mal n Schaltplan mit 2 Tiefpassfilter da ich den Analyzer im 1/3 Oct Schritt baue der Tiefpass trennt salopp gesagt den Frequenzbereich ab das nur ein geringerer Frequenzbereich in den Atmel kommt so lässt sich eine eine exaktere Auswertung machen - in meinem Fall habe 3 Tiefpassfilter und 2 Atmels mit FFTs somit wird der Frequenzbereich pro Atmel aufgeteilt und diese können dann exakter / schneller arbeiten wenn alles per DSP gelöst werden würde bräuchten wir solch einen Filter nicht kurz gesagt der Filter teilt quasi dem Atmel Frequenzbänder zu die dann schneller bearbeitet werden können ! Gruss Matthias Asselborn
hmm Danke erstmal..aber es tun sich neue fragen auf:) also der ADC tastet das signal 44100 mal pro sekunde ab. Jedesmal wenn er abtastet, liefert der adc eine 8 bit zahl (bei einem adc mit 8 bit auflösung). Das ist doch erstmal richtig oder? Quasi macht er aus einem zeitkontinuierlichen Signal ein zeitdiskretes? So und bei einer 128 point FFT wird jedesmal beim abtasten nich nur 1 8bit wert gespeichert, sondern 128 8bit werte oder? das wären ja dann bei einer sample rate von 44.1khz gleich 441000 mal 128 abtastwerte pro sekunde??
> So und bei einer 128 point FFT wird jedesmal beim abtasten nich nur 1 > 8bit wert gespeichert, sondern 128 8bit werte oder? Zu jedem Abtastzeitpunkt wird ein Wert gespeichert, geht ja auch nicht anders. Wie willst du mehrere Werte pro Zeitpunkt speicher? Zu jedem Zeitpunkt hat das Signal einen ganz bestimmten Wert. Bei einer 128 Punkte FFT nimmt man dann einfach 128 aufeinanderfolgende, gespeicherte Werte (z. B. aus einem Buffer) und führt die Berechnung durch. Bei einer Abtastrate von 44100 Hz bekommst du pro Kanal 44100 Werte pro Sekunde.
achso, jep...hab das ein bissl durcheinander gehaun.... eine grafik wo, man sowas schön sieht wär nich schlecht..
Hi Gang, ich habe Euren thread wegen dessen Länge leider nur kurz überfliegen können. Da wart Ihr wirklich wacker bei der Entwicklung, man kann richtig neidisch werden! Ich bin beim googeln auf Euch gestoßen, denn ich suche eine Spektrumsanalyse für HF. Habt Ihr eigentlich mal konkret dran gedacht, einen DSP zu verwenden, wie Matthias Asselborn? So ein DSP macht eine Spektrumsanalyse hardware-mäßig besser als es ein Algorithmus jemals hinbekommen kann. Was hindert Euch, zu solchen Werkzeugen zu greifen? Ich habe mich mit der Sache noch nicht so sehr befasst, darum mag das für Experten wie Euch etwas unüberlegt klingen. Welche Schwierigkeiten gibt es dabei? Ich frage nur, denn ich denke an Frequenzen von 1 kHz bis 3 GHz, das ist ab 25MHz für jeden PIC zu schnell. viele Grüße aus Singapore Martin
Sicher, für ein DSP ist eine FFT ein Kinderspiel. Der Reiz hier in diesem Thread war ja eigentlich, dass man auch mit so einem "popeligen" AVR eine brauchbare FFT hinbekommt. Und DSPs, die FFT hardwaremäßig beherrschen, sind schwer erhältlich, teuer und aufgrund des Gehäuses oft schlecht zu handhaben. Und für einen einfachen Audio Spectrum-Analyzer braucht man ja keinen 1 GFLOP 32-Bit Fließkomma DSP, oder?
ja genau in diesem Thread ging es darum eine brauchbare FFT mit normalen µC zu erzeugen die DSPs mit FFT sind unbezahlbar...... und die erst mal anzusteuern ... geschweigedenn hobbymässig auf ne Platine zu bringen ?!.... wobei in einem früheren Elector mal ein Vu Meter mit einem DSP vorgestellt wurde hab den Eeprom noch da der den DSP speisst... naja den Ti DSP gibt es mittlerweile auch nicht mehr war einer mit 40Mhz oder sowas ... damals 10-20 DM nun wenn man das ein wenig umbaun würde.. aber ich bin mit der AVR Version zufrieden ! n DSP wird ja auch anders programmiert wie n Atmel ... bis man den erst mal dort hin bringt wie man es möchte... vergeht ne menge Zeit ... gruss Matthias
hi, von ape (weiter oben im thread) gibts doch diese schaltung (siehe Anhang). Muss man bei dei OP's -6 Volt anlegen? GND müsste doch auch reichen, da die negativen amplituden eh nich gebraucht werden oder? Und anstatt +6 Volt müsste doch auch +5 Volt reichen. Weil die unterschiedlichen Spannungen zu generieren macht mir zu schaffen.. Ausserdem weiss ich nich was die zwei potis (r11 und r10) nach der op-schaltung solln. Oder sind das garkeine Poti's? Kann mir da jemand weiterhelfen?
Hi! naja hab meinen Schaltplan etwas anders aufgebaut mit mehreren Tifpassfiltern da ich ja 3 FFTs habe und 1/3 Oct darstellen möchte ....aber die Potis sehen wie ne ?! Lautstärkereglung des eingangsignales ?! aus ... Gruss Matthias
@Matthias Wollte mal den derzeitigen Stand deines Projektes erfahren. Hat dein Comilieren und der Aufbau der Schaltung geklappt?
Platinen sind nun alle geätzt! habe mir nun ein für alle mal das orginal Eagle von CAD Soft gekauft... zwar deftig für nen armen Studenten wie mich aber immerhin kein Ärger mehr mit 80x100 Platten ! habe sogar von CAD Soft bei PCB Pool nen Gutschein für ne doppelseitige 100x160 erhalten! compilieren ging mit dem AVR Studio gut bis auf viele warnings... von dene ich keine Ahnung hqabe.. n Kumpel hat auch schon alle Atmels für mich "gebrannt" nun fehlt das Geld für die Bauteile... ja lacht nur.... hätt auch net gedacht das man als Student dauer Pleite is g mein Studium wird vom Bundesamt für den Zivildienst im Januar zwangsbeendet! bis dahin werde ich mich wohl noch ein wenig gedulden müssen ... mit dem Bauteilekauf ! Gruss Matthias Asselborn
@Matthias Wenn dein Studium schon länger als 3 Semester dauert, hast du eine gute Chance durch Einspruch eine Aufschiebung bis nach dem Studium zu erreichen. Dazu würde ich auf jeden Fall mehrere Stellen anschreiben (Amt für Zivildienst, Petitionsausschuss des Bundestages,... je mehr umso besser). Welche Version von Eagle hast du gekauft? Gabs als Student Bonusrabatt? Hatte überlegt mir Target zuzulegen (oder SprintLayout (billig und mehr als zweiseitig kann man zu Hause eh nicht ätzen)).
leider geht's noch nicht so lange ansonsten wäre ja alles halb so wild (Rückstellungsantrag und gut fertig) und wenn mir da nicht ein Mädchen so gut gefallen würde, welches ich dann nie wieder sehe ... seufz - egal <--- offtopic lol habe mir die No Profit Version für Windows und Linux gekauft für ähm insgesamt 140-150 glaube ich +/- paar Euros... -Schaltplan -Router -Board beschränkt auf 160x100 naja immer noch besser als deie 80x100 wenn ich ehrlich bin! möchte demnächst mal das Projekt abschliessen aber zurzeit fehlts noch an Bauteilen! Gruss Matze
Erst mal n frohes Neues! es fehlt noch die letze Platine (is grad beim ätzen) Bauteie hierfür hab ich schon dann teste ich das ganze mal an sagt mal mit was compiliere ich den Display code? geht das im CodeVision? oder habt Ihr AVR Studio genommen? Gruss Matze
@Benedikt: "Mit einem entsprechend schnellen uC mit viel Rechenleistung und ausreichend RAM (64kB sollten es schon sein) reicht auch eine einzelne FFT. Am PC erreiche ich 1,5Hz Auflösung bei einem Frequenzbereich von 0-48kHz. Allerdings ist mein Athlon 64 dann voll ausgelastet, wenn er das ganze flüssig darstellen soll..." Das hört sich nach 32k Frequenzbändern bei 96kHz Samplerate an. Ist das eine Anwendung? Jedenfalls wäre wohl eine 64k FFT notwendig. Bei FFTs kann jedenfalls immer viel optimiert werden. Ansatzpunkte sind: verw. Algorithmen (Radix-4, Radix-8, Split-Radix, Real-FFT usw.), Tabellen (v.a. Sin/Cos), möglichst keinen "hübschen" objektorientierten Code ;) (hab in einem Projekt eine FFT in Java gebraucht, die vorwiegend OO-Variante war Faktor 8-10 langsamer), notfalls Assembler (Prime95's FFTs sind immernoch ca. Faktor 2-3 schneller als äquivalente FFTs der zu den schnellsten Libs gehörenden FFTW-Library). Zu Prime95: George Woltman hat dort optimierte Assembler-FFT-Makros sowohl für K8 (also Athlon 64, Opteron, X2 usw.) als auch P4 und P3. Insgesamt ist die FFT mit dem Split-Radix-Butterfly nicht mehr so hübsch wie die meist verwendeten Radix-2-Butterflies. Aber <10 ms für eine 64k FFT klingen doch gut, oder? ;) Manchmal hängts auch woanders (z.B. Darstellung). Oder man könnte gleich auf der Grafikkarte rechnen (wurde schon getan).
Hallo, ich soll auf einem ATmega16 euer Programm vom ATmega8 zum laufen bringen. Bekomm es einfach nicht hin. Eigentlich dürfte es doch keine Probleme geben, oder? Worauf muss ich achten? Hat es schon einer ausprobiert? Gruß Heinz
@Heinz: Ich habe hier auf 16MHz Atmega32 gerade eine C-Version fertig mit ASM-Unterstützung (Code etwa 4,7k + Tabellen im Flash-Speicher). Die Variante braucht bei einer 256er FFT (dafür würde auf Atmega16 schon das SRAM nicht reichen) ca. 59ms mit C-Fixed-Point-Multiplikation und 20ms mit der Routine von AVR (welche auch in den Includes hier zu finden ist). Die reine ASM-Version braucht laut Zeiten im ASM-Code so 10 ms (wenn ich mich richtig erinnere). Aber den Code dürfen wir eh nicht verwenden. Er wäre auch etwas schwierig anzupassen. Also den Weg gäbe es auch..
Hi, leider ist die Apetech-Seite down, gibts davon vielleicht ne neue Adresse?
hello, this: http://www.mikrocontroller.net/attachment/9171/IMG_4401.JPG picture is very super, and I please you, send me schematic and software for it. very thank you. P.S. Excuse please my poor English
Hi, ich habe mal zu dem ganzen ein paar Fragen. Ich möchte ebenfalls mit einem AVR eine FFT machen. Allerdings nur im Bereich von 0-500Hz. Die Auflösung sollte dabei schon recht groß sein sprich am besten 1Hz Abstände. Das ganze ist auch nicht unbedingt Zeitkritisch, da ich das Signal nur auswerten und nicht darstellen möchte. Ich hatte dabei an den internen ADC z.B. vom Mega64 oder Mega128 gedacht und für den Speicherbedarf externen Speicher über i2c oder SPI. Das Siganl wollte ich für max 1 Minute loggen und anschließend in kleinen Stücken auswerten. Ist das ganze möglich oder mache ich hier einen Gedankenfehler? Ist es überhaupt realisierbar? Was meint ihr? Vorab schon mal Danke.
Also eine Auflösung von 0-500Hz benötigt 1000Hz Abtastrate. Bei 10 Bit ADC-Auflösung sind das 10Bit * 1000/s * 60s/min / 8Bit/Byte / 1024Byte/KByte = 73,24KByte/min. Problematische ist die Verwurstung der 10Bit, besser man rechnet mit 16Bit. Wenn du eine Auflösung von 1Hz haben möchtest musst du mindestens eine 1000-Punkt DFT/1024-Punkt FFT machen. Das bedeutet, dass du ein 1s-Fenster betrachtest oder ein kürzeres Fenster nimmst und zero-padding machst. Mit genügend Speicher und Zeit ist das machbar. pumpkin
Hallo Sven, es gibt ein Verhältnis zwischen Abtastrate, Auflösung und notwendiger Stützwerte. Ich habe es mal überschlagen... bei 2 kHz Abtastrate und und einer Auflösung von knapp unter 2 Hz komme ich bei mir auf einen Speicherbedarf für die FFT von 6 kB, wenn die vollen 10 Bit A/D-Auflösung in 16-bit-Worte umgelegt werden sollen. Bei nur 8 Bit Auflösung käme ich mit 3 kB hin. Also mindestens ATmega644 oder ATmega128 bei 8 Bit Auflösung, ATmega2560 bei 10 Bit Auflösung, wenn die FFT-Daten nicht mühsam zur Berechnung jedesmal aus der CPU heraus- und in die CPU hereintransportiert werden sollen. Bei 1 kHz Abtastrate und gleichen Randbedingungen zum Speicherbedarf käme eine Auflösung um 1 Hz zu Stande, aber die obere Messfrequenz von 500 Hz ist dann schon kritisch. Mit Abtastraten von 1 oder 2 kHz sollte das Zusammenstellen der Stützwerte die zeitbestimmende Größe sein und es muss nicht unbedingt in Assembler gearbeitet werden. Ohne externes SRAM oder DRAM sprengt eine Erhöhung der Abtastrate sehr schnell die Möglichkeiten des AVR - da sollte also kein Ehrgeiz hinein gesteckt werden. 2 kHz als obere Grenze scheinen angebracht. Bei 1024 Stützwerten mit 16 bit und 2 kHz Abtastrate kommen in einer Minute ca. 120 kB an Daten zusammen. So bescheiden die Forderung "nur 0...500 Hz" klingt, so anspruchsvoll ist der Wunsch nach einer Auflösung von 1 Hz. August Bühne frei für die Besserwisser.
Hallo August, danke für die schnelle Antwort. Sicherlich ist der Bereich von 0-500Hz sehr bescheiden, aber mehr wird eben nicht benötigt. Allerddings ist mein Problem, das ich ein recht unsauberes Signal erwarte, das ich außwerten muß. Im Grund ist in dem Signal eine Bestimmte Frequenz "versteckt", aus der ich die Geschwindigkeit eines Objektes ableiten muß. Von daher brauche ich dann schon die hohe Auflösung um die 1Hz. Ich habe da gerade noch eine andere Frage, wie kommt man denn auf eine Abtastrate von 2kHz? Ich dachte mit dem ADC kann man z.B. Mega16 nur einen Scaler von 128 einstellen und bei 8MHz wären das dann doch 62,5kHz. und selbst wenn man nun sagt das der ADC 13 clk braucht zur Umsetzung, dann wären das doch noch immer 4,8kHz pro Abtastwert. Oder liegt hier ein Gedankenfehler meiner seits? Bezüglich des Speicherbedarfs hatte ich, obwohl ich davon erst Abstand nehmen wollte bezüglich der beschränkten Schreibzyklen, einen EEPROM nehmen mit i2c. Der i2c sollte ja für Daten schnell genug sein, allerdings bin ich nicht sicher, ob der EEPROM da mitkommt. Gibt es denn großen SRAM oder DRAM mit i2c oder SPI?
Hallo Sven, man muss unterscheiden zwischen Abtastrate (= Abstände, in denen A/D-Proben genommen werden) und Umwandlungszeit des A/D selber. Über CPU-Takt und Prescaler definiert sich die Wandlungszeit des A/D. Die sollte natürlich im Idealfall kürzer sein, als Abstände, in denen A/D-Werte benötigt werden. Auf den ersten Blick scheint die Wandlungszeit des A/D ziemlich unwichtig erscheinen, in der Praxis jedoch kann von einer geschickten Wahl des Prescalers und des CPU-Taktes einiges abhängen. 500 Hz als obere Grenze ist absolut in Ordnung - meine Bemerkung "bescheiden" sollte nur unterstreichen, dass ein AVR das in einer FFT leicht bewältigen kann. Der Knackpunkt ist die Forderung nach 1 Hz Auflösung. Die 2 kHz Abtastrate habe ich willkürlich gewählt als ein Vielfaches von der oberen Spektrumfrequenz 500 Hz, um die Überschlagsrechnung anstellen zu können. Die minimale Abtastrate sollte 1 kHz nicht unterschreiten. Soll die Forderung "1 Hz Auflösung" stehen bleiben, würde ich mich von ATmega32 und auch ATmega128 direkt verabschieden und zu einem ATmega2560 mit 8 kB RAM greifen. Damit kann man dann bequem alles im RAM berechnen und vermeidet zahl- lose I/O-Zugriffe auf serielle Datenspeicher. Dann geht das auch in C und muss nicht Assembler sein. Statt EEPROM würde ich FRAM nehmen. Die sind schneller beim Abspeichern, haben praktisch RAM-Eigenschaften und sind auch in brauchbaren Kapazitäten erhältlich. Man bekommt FRAM-Bausteine bei ebay. Es stellt sich natürlich die Frage, warum das überhaupt mit einem Mikrokontroller bewerkstelligt werden muss. In Frage käme auch ein PC/Notebook mit Soundkarte. Oder ein einfacher Datenlogger mit anschließender Ver- arbeitung in einem PC/Notebook. Soweit zu dem Thema - es hat bestimmt noch Leute im Forum, die dazu qualifiziertere Kommentare abgeben können.
Hallo August, das mit dem Mikrokontroller ist eine Vorgabe, an die ich mich halten muß, da es sich um eine Diplomarbeit handelt ;) An Fram hatte ich auch schon gedacht und schon Samples geordert, allerdings weiß ich nicht, ob und wann die ankommen. An ebay hatte ich da noch gar nicht gedacht ist aber ein guter Hinweis. Von "normalen" Speicher wollte ich eigentlich Abstand nehmen, weil die zuviele Pins haben, daher gerne i2c hätte auch den Vorteil, dass sich die Speicheradresse inkrementiert. Wäre also einfacher. So, nochamls zu der Abtastrate. Wenn ich das richtig sehe, ist bei dem ADC eine S&H, d.h. der Wert wird gesampelt, gehalten und ausgegeben. Das bedeutet dann doch, das erst ein neuer Wert "geholt" werden kann, sobald der ADC den alten Wert umgesetzt hat oder? Das mit fa=min 1kHz ist mir durchaus bewußt, aber wenn ich das mit dem Scaler und einer fcore des uC so richtig sehe, komme ich auf minimal fa=4,8kHz und in dem Fall hätte ich auch viel mehr Werte oder nicht. Oder doch nen externen ADC, dann wäre ich unabhängig vom fcore des uC
Hallo Sven, ok - dann weiß ich das schon mal besser einzuordnen und über grundlegende Dinge brauchen wir uns nicht zu verlieren. ;-) Externen A/D-Wandler braucht es nicht, der AVR packt das locker. Nehmen wir eine Abtastrate von 1024 Hz, 1024 Stützpunkte und einen Tiefpass der alles ab 500 Hz vom A/D-Wandler fern hält. Ich betreibe bei mir den A/D-Wandler im "differential Mode", gibt mir gleich das Vorzeichen frei Haus. Mit welcher Auflösung soll die Ausgabe erfolgen? Davon hängt ab, ob man die Dynamik der 10 Bit des A/D überhaupt nutzen muss. Aber nehmen wir mal an, es wären 10 Bit, dann packen wir jeden Messwert, faul wie wir sind, in 16-Bit-Format, also 2 Bytes je Messwert. Gibt einen ersten Puffer von 2 kByte. Dieser Puffer ist nach einer Sekunde voll. So lange die FFT- Berechnung (abzüglich der Rechenzeit für die Interrupts, für die Erbsenzähler) nicht länger als 1 Sekunde braucht, belastet sie den Durchsatz nicht wirklich. In C sollte das zu lösen sein. Mit Assembler wird an einen Faktor 10 optimieren können, auch lassen sich die Messdaten verschachtelt ablegen, damit die X,Y,Z-Pointer-Operationen des AVR so richtig Freude haben. Schön sieht das dann nicht aus, aber flink wird es. ;-) Für die FFT-Berechnung veranschlage ich weitere 4 kByte. Damit wären wir jenseits von ATmega32 und auch ATmega128. Eigentlich etwas für ATmega2560 mit 8 kB RAM, wenn nicht sogar schon etwas für AT91SAM7xxx. Vorsicht beim ATmega256x in Assembler: für Unterprogramme werden nicht 2 sondern 3 Bytes in den Kellerspeicher verschoben! Ich nutze für einen FFT mit LC-Display hier den ATmega644. Der hat die schöne Eigenschaft, dass er den A/D-Wandler aus einem Timer (Compare) heraus anstoßen kann. Ist die Wandlungs- zeit des A/D bekannt, kann der Timer-Interrupt ohne Rechen- zeitverlust noch für die LC-Display-Ausgabe genutzt werden. Aber das ist wieder eine andere Geschichte. So, dann mache ich jetzt Platz für die Besserwisser. August
Kann mir denn jemand sagen wo ich das display das elm-chan verwendet hat beziehen kann oder kann ich auch ein beliebiges anderes display einsetzen? Welche sind kompatibel bzw. wie kann ich den code für andere Displays nutzbar machen? Gruß MaG
Hallo MaG2k, ich habe mal die Routinen von elm-chan mit den S65-Display-Routinen von Christian Kranz verbunden und habe nun ein Spektrum sogar in Farbe! Gruss Hans-Christian
hallo hans-christian, das klingt sehr sehr interessant...kann ich dich mal um den Quellcode bitten, denn ich weiß nicht wie ich das zu machen habe, also die displayansteuerung in des Programm einzubinden! Danke MfG MaG2k
Hallo August, ich habe nochmal eine Frage. Und zwar hast du geschrieben: "Ich betreibe bei mir den A/D-Wandler im "differential Mode", gibt mir gleich das Vorzeichen frei Haus." Wie sieht das Hardwarmäßig aus? Vorab Danke
Hallo hier habt ihr ne 512 Punkt FFT in Gnumeric (Goodbye Windows :). Ich bin gerade dabei diese in einen Mega32 zu programmieren (asm natürlich). Damit ich keine Scheisse programmier hab ich mir dieses Gnumeric-Programm geschrieben. Vieleicht hilft es jemandem, die Mathe hinter der FFT besser zu verstehen (Rechenwege alle nachvollziehbar), ich hatte anfangs Mühe mit den blöden Formeln, aber der Grundgedanke ist einfach... Das Programm sollte soweit stimmen, für eine Gerade und Sinuswerte gibt es das gewünschte Resultat. Wenn jamand Fehler findet, bitte korrigieren. FFT-Input: Funktion die FFT´t werden soll eingeben, BB,BC,BD ist der Output, unten ist noch der Graph der Input und Outputfunktion. Gut Nacht, ich geh jetzt pennen
Hi, kannst du mir deinen Schaltplan etwas erläutern? Wieso liegt das Audiosignal sowohl auf AREF als auch an ADC0. Bekommst du dadurch das du ADC0 und ADC1 verwendest positive und negative Werte? Vorab Danke.
Sorry meine Anfrage bezog sich auf den Schaltplan avrfftmega8.sch von Benedikt
@Patrick Finde Dein gnumeric Sheet sehr interessant. Um das Sheet und die FFT jedoch besser zu verstehen finde ich die Größe von 512 Punkten recht unübersichtlich. Könntest Du das Sheet vielleicht auf 8 oder 16 Punkte abändern, das wäre denke sehr hilfreich. Gruss Mike
@Patrick Da stimme ich Mike zu, das wäre eine feine Sache. MFG Steffan
Nabend, ich habe nun die FFT von Elm auf meinem uC zu laufen bekommen. Ich nutze die Version mit dem C-Modul für WinAVR. Allerdings habe ich ein Problem, das ich mir nciht erklären kann. Mein uC hat einen Takt von 8MHz, der Prescaler ist auf 128 eingestellt also arbeitet der ADC mit 62,5kHz Takt. Ich betriebe den ADC im Freerun. also braucht die S&H 1,5 und die Wandlung des ADC 13 takte, macht zusammen 15 Takte für ein Wandlung. Daraus würde ich schließen, das ich eine Abtastung von 4,16kHz habe. Ich speichere 4096 abgetastete Werte ab. Nun nehme ich aus diesem Array nur jeden vierten Wert und führe eine 1024 Punkte FFT aus. Da ich nur jeden 4. Wert nehme, müßte es doch einer Abtastfrequenz von 1,04kHz entsprechen d.h. die Auflösung der FFT (Auflösung=Abtastfrequenz/Abtastwerte FFT) müßte 1,04Hz betragen. Ich habe noch einen einfach Tiefpass 1. Ordung davor, der eine Grenzfrequenz von 503Hz besitzt. Meine Referenzspannung des ADC beträgt 4,88V und ich habe ein Offset von 2,44V. Wenn ich kein Signal anlege habe ich, so wie es sein soll in dem Array nur Werte zwischen 0 und -64 Wertebereich +-32768 (-64 dürfte der Quantisieurngfehler sein mit 4,88mV). Soviel zu den Daten. Nun zu meinem Problem: wenn ich ein 100Hz Sinus einspeise, wird mir im Spektrum bei 85 die höchste Amplitude angezeigt. Wie kann das sein? In anbetracht der Auflösung müßte das doch bei 104 liegen oder nicht? Hat jemand ne Idee? Bin über jede Hilfe glücklich! MFG Steffan
Hi, kann mir jemand erklären, wozu die folgende Tabelle benötigt und vorallem wie sie errechnet wird? t_desc: ; Descramble table (for 128 point FFT) .dw 0*4, 64*4, 32*4, 96*4, 16*4, 80*4, 48*4, 112*4 .dw 8*4, 72*4, 40*4, 104*4, 24*4, 88*4, 56*4, 120*4 .dw 4*4, 68*4, 36*4, 100*4, 20*4, 84*4, 52*4, 116*4 .dw 12*4, 76*4, 44*4, 108*4, 28*4, 92*4, 60*4, 124*4 .dw 2*4, 66*4, 34*4, 98*4, 18*4, 82*4, 50*4, 114*4 .dw 10*4, 74*4, 42*4, 106*4, 26*4, 90*4, 58*4, 122*4 .dw 6*4, 70*4, 38*4, 102*4, 22*4, 86*4, 54*4, 118*4 .dw 14*4, 78*4, 46*4, 110*4, 30*4, 94*4, 62*4, 126*4 (Code von http://elm-chan.org/works/akilcd/report_e.html, vom Anfang des Threads) MFG Leo
Bin mal gespannt auf die XMegas, haben die überhaupt mehr Dampf oder wieder nur 1MIPS/MHz?
die tabelle brauchst du, um die ergebnisse der fft in die richtige ordnung zu bringen... kenne jetzt den code von elm chang nich genau, aber ich meine der verzichtet auf eine bitreverse sortierung der stützpunkte und darum muss er sie nach der fft wieder mit der descramble tabelle richtig anordnen glg zero
hmmmm... hat denn jemand das Unterprogramm "do_fft" richtig verstanden? Also ich geh jetzt mal von einer 128 Punkt FFT aus. Der Butterflybuffer ist 512 Byte gross und wird im Unterprogramm "do_window" befühlt, wobei jedes zweites word NULL ist! In der FFT Berechnung wird dann Z die Adresse vom Buffer zugeteilt und Y is die Adresse vom gleichen Buffer, allerdings beginnend von der Mitte (Der Buffer wird also in zwei hälften geteilt). Jetzt wird damit gerechnet.... und dabei ist mir aufgefallen, dass einmal mit [y+0] und [z+0] (das sind jeweils 2 Bytes die in "do_window" zugewiesen wurden) und es wird ebenfalls mit [y+2] und [z+2] gerechnet, wobei hier IMMER [y+2] und [z+2] die Werte 0 sind (auch in "do_window" zugewiesen).... WIESO UND WARUM wird das gemacht? es handelt sich doch hierbei um den RADIX-2 Algorithmus von Cooley und Tukey oder is das ein RADIX-4 Algo?? Kann mir da jemand weiterhelfen, ich möchte das gerne verstehen.
Hallo ! Ich habe auf der Internetseite : http://www.youtube.com/results?search_query=Big+Blue+Audio+Spectrum+Analyzer&search_type= ein Sound-Spectrum mit blauen LED'S gesehen , dafür bräuchte ich genau diesen Schaltplan und Stückliste. Wäre das möglich ? Wenn ja meine E-Mail: MartinPersner@msn.com Ich habe versucht mich bei YouTube zu registrieren aber irgendwie gelingt mir das nicht , das herstellen des Account bricht bei mir immer plötzlich ab. Deshab nun die bitte an Euch helfen Sie mir wen es möglich ist. Ich möchte diesen Big Blue Audio Spectrum Analyzer gerne nachbauen. DANKE
zum Thema oled ist es möglich ein analizer mit controller für ein oled display zu bauen das eine höhere auflösung besitzt? ich will es dann an meine aktivmonitore hängen (und ich dachte am besten direkt am eingang). ich möchte die oled displays dann in meine lautsprecher einbauen und erreichen, dass mir die dann in etwa die genaue frequenzlinie anzeigen und das wenns geht zügig und genau. also nicht leicht nachrudernd oder ungenau.......? wäre glücklich, wenn mir einer helfen könnte. wenn es möglich ist will ich es dann in verschiedenen farben darstellen d.h. Tiefbassbereich 0-125 hz z.B. rot bassbereich 125-380 z.B. orange tiefmitten bereich 380-1800 blau hochmittenbereich 1800-6200 grün und Höhenbereich 6200-22000 gelb zum Beispiel muss nicht genau so sein Danke schon mal im voraus für euer interesse mfG Dominik
Eines weckt bei mir doch reges Interesse, wie habt ihr die AGC realisiert oder wurde hier überhaupt eine realisiert. Irgendwie muss ja für eine "konstante" Aussteuerung bei verschiedenen Lautstärken gesorgt werden. Liegt zwar schon ein bisschen zurück das Ganze hier aber würd mich trotzdem über ein paar Antworten freuen. Gruß, der Herr Jo
AGC ist doch vom AD die Ref spannung? einfach auf VCC legen, ich jag zb auch einfach voll wellen drauf, ohne gleichrichtung, nur nen kondensator zumn endkoppeln brauchst du
Hallo zusammen, ich habe eine große Bitte, es geht mir um ein Programm zur Veranschaulichung meiner Technikerarbeit. ich möchte ein Mikrofonsignal verstärken und an den AD- Eingang geben. Die aufgenommenen Töne sollen in 5 Spektren (125, 250, 500, 1000, 2000 Hz) zerlegt werden und je nach Pegelstärke eine Led blinken lassen. Wobei die Impulslänge (led an) immer gleich lang seien soll, nur der Pausenabstand soll immer kürzer werden. Wird z.B ein ton von 500Hz leise ins Mikro geleitet so blinkt die 3. Led mit großen Pausen, wird nun der Ton laut so blinkt die Led sehr schnell. Mit dieser Schaltung möchte ich die Funktionsweise eines CI Implantates und die Umsetzung in Corchlea verständliche Signale veranschaulichen und es wäre schön wenn mir jemand bei dem Programm helfen kann, denn leider habe ich mit dem Kontroller zu wenig Erfahrung.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.