Entwerfen eines Audiospektrumanalysators

Ich möchte einen einfachen LED-Audio-Spektrumanalysator so entwerfen .

Welche Methode wäre kostengünstiger:

  • Verwenden Sie viele Filter für jedes Frequenzband, je nachdem, wie viele Bänder und LEDs ich verwenden möchte
  • Verwenden Sie einen Mikroprozessor, um FFTs durchzuführen

Natürlich wird die Durchführung von FFTs eine gewisse Verzögerung haben, aber wäre diese Verzögerung signifikant genug, um die Kosten der vielen Filter der ersten Kugel zu überwinden? Welche Methode wäre am energieeffizientesten? Oder ist das extrem abhängig von der Hardware? Jeder Input wird sehr geschätzt. Dies ist das erste Mal, dass ich ein solches Projekt annehme, und ich möchte so viel Feedback wie möglich bekommen. Danke schön!!

Das Googeln von AVR FFT zeigt einige vielversprechende Ergebnisse. Die LEDs ziehen weit mehr Strom als Ihre Spektrumanalyse.
Denken Sie daran, dass FFT eine lineare Frequenzachse verwendet, während ein Spektrumanalysator normalerweise eine logarithmische Frequenzachse hat.
@Stevenvh Richtig. Kann immer noch durchgeführt werden, benötigt nur eine längere FFT und eine gewisse Mittelung von Bins, um es in eine Art Log-Skala umzuwandeln.

Antworten (3)

Nun, die meisten Leute sind gut in analogen Schaltungen oder MCU/DSP-Sachen. Nicht viele Menschen sind in beidem gut genug. Also... Tu, was du besser kannst.

Der DSP-Ansatz ist flexibler und ermöglicht Ihnen coole Dinge wie: Ändern der Abklingzeit, gleichzeitiges Messen von Spitzenwert und RMS usw. Die Reaktionszeit ist langsamer als bei einem analogen Ansatz, aber immer noch schneller als das, was Ihr Auge wahrnehmen könnte.

Wie Ben Jackson betonte, ziehen die LEDs mehr Strom als der Rest der Schaltung. Angenommen, Sie treiben jede LED mit 20 mA an und haben 31 Bänder mit einer LED für jedes Band, dann ziehen Sie 620 mA nur für die LEDs.

Welcher Ansatz günstiger wäre, hängt ganz davon ab. Wenn dies ein kommerzielles Produkt wäre, dann ist der DSP-basierte Ansatz bei weitem der billigere. Aber die Wirtschaftlichkeit der Arbeit in Ihrem Keller ändert die ganze Gleichung. Wenn Sie beispielsweise 100 bis 500 US-Dollar für DSP/MCU-Entwicklungstools ausgeben müssen, ist das ein Problem. Am Ende können wir also nicht sagen, was billiger ist – nur Sie können es.

Das bringt mich also zurück zu meinem ursprünglichen Punkt: Mach, was immer du besser kannst. Tun Sie, was für Sie sinnvoll ist – und seien Sie sich bewusst, dass dies für andere möglicherweise nicht sinnvoll ist.

Da die Frequenz von FFT linear ist und Sie höchstwahrscheinlich eine logarithmische Anzeige wünschen, können Sie auch den Goertzel-Filteralgorithmus überprüfen . Es kann schneller sein, wenn Sie nur die Werte mehrerer Frequenzbins benötigen.

Ich habe noch nie vom Goertzel-Filteralgorithmus gehört, aber es sieht sehr lohnenswert aus, es sich anzusehen. Danke für den Link!
Es ist nicht sehr bekannt, funktioniert aber sehr gut und ist schnell, sogar auf dem AVR.

Microchip liefert eine FFT-Bibliothek mit seinem C-Compiler für die digitalen 16-Bit-Signalcontroller dsPIC. Die kostenlose Version des Compilers ist geeignet, und die Chips sind recht günstig. Der On-Chip-ADC könnte für diese Anwendung verwendet werden, es müssen lediglich die Treiber für das LED-Array hinzugefügt werden. Das Microchip Explorer 16-Board verfügt über einen Audio-Spektrumanalysator, der das LCD-Display verwendet und als Teil der Demo-Software geliefert wird. Sie sollten dafür den kostengünstigen Microstick verwenden können; der damit verwendbare dsPIC33FJ128 sollte über genügend Speicher verfügen.

Wenn Sie keine DSP-Erfahrung haben, werden Sie dies jedoch wahrscheinlich als ein herausforderndes Projekt empfinden.