mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Wiener-Khintchine-Theorem Grundfrequenz


Autor: Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag,

ich habe eine Frage, bevor ich mich eifrig an die Programmierung mache.

Mein Problem, ich habe ein Audiosignal in wav Form(Gitarrennoten). Jetzt 
will ich die Grundfrequenzen der einzelnen Noten ermitteln.

Hilft mir dabei das Wiener-Khintchine-Theorem?

Oder kann ich auch ohne FFT, nur mit einer reinen 
Autokorrelationsfunktion die Grundfrequenz errechnen? Wenn ja wie?

Das Programm stellt keinerlei Ansprüche an die Schnelligkeit des 
Problems.

Mit freundlichen Grüßen

Michi

: Verschoben durch Admin
Autor: Michael O. (mischu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, ich glaube nicht dass Wiener-Khintchi dir wirklich hilft.
Die Oberwellen deiner Grundtöne sind ja kein statistisch verteiltes 
Rauschen sondern elementarer Bestandteil deines Klangs.

Hast Du mal an Wavelets gedacht.
Im Prinzip eine Kurzzeit FFT mit der Möglichkeit zwischen Frequenz- und 
zeitlicher Genauigkeit zu wählen.
Die Oberwellen zu dem jeweiligen Grundton sind in einem starren 
Verhältnis zueinander. Dass wirst Du im Spektrum genau so wiederfinden. 
Zudem ist der Grundton immer lauter als die Obertöne (es sei denn, du 
hättest eine Querflöte und würdest gezielt überblasen).

Schwierig wird es erst, wenn mehrere Saiten gleichzeitig gespielt 
werden. Vielleicht hilt dir da das Verhältnis der Obertöne um die 
einzelnen Grundtöne zu separieren.

Autor: Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay ich werde dies mal näher anschauen! Jedoch leiferte die WKT schon 
gute Ergebnisse. Die Werte waren im Vergleich zur reinen FFT klarere 
Ergebnisse.

Warum das so ist versteh ich noch  nicht ganz!

Kann ich aus der reinen AKF die Grundfrequenz filtern?

Ich baue für Akkorde eine Reihe Filtern, die dann nur die 
Grundfrequenzen durchlassen, die die am Stärksten ist, ist dann die 
Grundfrequenz, danach rechne ich sie aus dem Signal raus und filtere es 
erneut! Könnte dies so funktionieren?

Autor: Michael O. (mischu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1. Fenstern (mit geeigneter Funktion)
2. FFT deiner Samples
3. Maximum suchen

Warum Du eine AKF nimmst, verstehe ich nicht.


Könntest natürlcih auch eine Reihe schmalbandiger IIR-Filter aufbauen 
die auf die exakten Notenwerte abgestimmt sind :)

Autor: Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja mir wurde in etlichen Foren empfohlen die AKF zu nehmen! Aber ich 
versteh bis jetzt noch nicht ganz warum!

Also mein Plan ist es echt diese Filter zu bauen! Weil da bekomme ich 
dann die exakten Noten heraus.

Aber wie rechne ich eine Schwingung aus einem Signal hearus?

Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michi schrieb:
> Aber wie rechne ich eine Schwingung aus einem Signal hearus?

Indem Du im Frequenzbereich den entsprechenden Peak weghaust? ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.