Frequenzanalyse von Aufnahme. Welchen Mikrocontroller?

OP #3522632
Lesenswert?

Hallo Forum,
habe mit LabView ein kleines Programm „gezeichnet“, mit welchem ich 
kurze Aufnahmen (5 sec ) mittels FT analysieren lassen kann. Beim 
Programmstart wird das Signal aufgenommen. Nach abgelaufener Zeit wird 
die Frequenz mit der höchsten Amplitude ausgegeben.
Mein Ziel ist es nun das Ganze auf ein unabhängiges Gerät zum Laufen zu 
bringen.
Meine Fragen:
1.)  Ist dies mit Mikrocontrollern realisierbar? (Geschwindigkeit, 
Speicher)
2.)  Wenn ja, welche würdet ihr mir raten? (ev. mit LabView 
programmierbar, oder Mikrocontroller für Einsteiger (Arduino?))


Vielen Dank
#3522850
Lesenswert?

Thomas Ma schrieb:
> 1.)  Ist dies mit Mikrocontrollern realisierbar? (Geschwindigkeit,
> Speicher)

Kommt drauf an... Geht's um Abtastraten im kHz oder GHz-Bereich...
Welche Genauigkeit (reichen Integer, Floats, Double, muss es eine 
komplexe FFT sein...)
Wie lange kann auf das Ergebnis gewartet werden, Mikrosekunden, Minuten?

> 2.)  Wenn ja, welche würdet ihr mir raten? (ev. mit LabView
> programmierbar, oder Mikrocontroller für Einsteiger (Arduino?))

Irgendein Cortex-M4 oder Renesas RX600...
OP #3523440
Lesenswert?

Hallo, danke für die Antworten!
Bezüglich Genauigkeit, wäre eine Stelle nach dem Komma ausreichend. 
Bezüglich Geschwindigkeit.. ich würde sagen, wenn der Controller 
zwischen sofort und 1,5sec nach der Aufnahme benötigt, ist das ok.Leider 
hab ich keine Ahnung wie komliziert die FFT sein soll, damit ich das 
gewünschte Ergebnis (Frequenz mit höchster Amplitude) heraus bekomme. 
Zur Abtastrate: es sollen Frequenzen von 50 bis max 1000Hz analysiert 
werden. Weiß nicht wie hoch diese sein muss, sodass das Ergebnis auf 
eine Kommastelle korrekt berechnet werden kann?

Danke
#3525179
Lesenswert?

Thomas Ma schrieb:
> Hallo, danke für die Antworten!
> Bezüglich Genauigkeit, wäre eine Stelle nach dem Komma ausreichend.

Auflösung der FFT soll 0.1 Hz sein d.h. laut Nyquist mit einer 
Abtastfrequenz von minimal 2000 Hz (höchste Frequenz 1000 Hz).
1000 Hz / Anzahl Bins = 0.1 -> Anzahl Bins = 10000
10000 Bins * 2 = 20000 Samples

Bei der gewünschten Antwortzeit reicht eigentlich jeder Cortex-M3 mit 
genügend Speicher
OP #3533322
Lesenswert?

Hallo vielen Dank für eure Beiträge!!
Also generell ist es mir wichtig, wenig Leistung zu benötigen und je 
kleiner das Board desto besser. Echtzeitanalyse soll gar nicht sein, 
sondern „einfach“ von den 5 sec Aufnahme die Frequenz mit der größten 
Amplitude ausgeben. Aber kann man nicht davon ausgehen, dass wenn ein 
Arduino die Echtzeitanalyse schafft,
>Arduino FFT: http://forum.arduino.cc/index.php/topic,8559.0.html
er auch eine Analyse des aufgenommenen Signals, sofort (bis 1,5sec) nach 
der Aufnahme schafft?
Zur Rechnung:
Mich würde noch interessieren wie genau man aus dieser Rechnung auf die 
Rechenfrequenz des Mikrocontrollers schließen kann und wie man daraus 
den benötigten Speicher eruiert?

Stimmt das wie folgt?:
2.000Hz (Abtastfrequenz) x 4  (Anzahl der bit)
= 8.000 bit/s
x 5 sec (Länge der Aufnahme)
= 40.000bit
40.000bit/8 = 5.000Bytes
Also 5KB Speicher?

(Quelle: 
http://www.peter-junglas.de/fh/vorlesungen/praktinfMB1/html/kap4-2.html)

Danke :)
Gast #3533330
Lesenswert?

5KB für die Aufnahme, zuzüglich Stack, Variablen, usw. Ich würde lieber 
mit 8 bit arbeiten, weil der Controller sonst die zwischen 4 bit und 
seiner Speicherbreite von 8 bit konvertieren muss. Außerdem ist 4 bit 
sehr wenig. Da hast du ja nur 8 Werte unter Null und 7 über Null.
OP #3538811
Lesenswert?

Hallo Forum,
Danke für eure Tipps!!
Jetzt weiß ich was ich hardwaretechnisch benötigen würde, um das 
Programmierte umzusetzen.
Bin für Anregungen natürlich offen. Nach dem ich mich kurz eingelesen 
habe, glaube ich auch, dass das mit dem Schmidt-Trigger nicht 
funktionieren wird. Es soll ja genau ausgewertet werden, welche Frequenz 
in der Aufnahme die höchste Amplitude hat. Also für Frequenz den genauen 
Wert (eine Kommastelle, wie gesagt). Der genaue Wert der Amplitude ist 
egal. Da ein Schmidt-Trigger an einer bestimmten Schwelle schaltet, wird 
mir dies nicht viel weiter helfen. Aber danke trotzdem für die Idee. 
Wenn jemand andere, einfachere Lösungen (auch analog) wüsste, nur her 
damit!! :)

Danke nochmals!
Ciao ciao

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren