fft, dsp und Co.

OP #4421849
Lesenswert?
• ▲
▼
Hallo

Um eins gleich klarzustellen:
Ich hab keine Ahnung davon.

Und deswegen lese ich u.a. das:

http://www.sprut.de/electronic/pic/16bit/dsp/fft/f...

An einer Stelle hör ich aber auf und frage mich,
wie kann man ein Sample in der Phase schieben?
Vielleicht einfach dem Sample einen anderen Zeitpunkt zuweisen?

Wie bekommt man die relevanten Teile einer Welle in die Filter, da
zumindest nach meiner Vermutung die Positionen in der Nähe des
Nulldurchgangs nicht oder nur schlecht verwertet werden können.
Oder werden Differenzen in den samples ausgewertet anstatt absoluter
Werte, ähnlich einer Beschleunigung von Masse, bzw, einer Steilheit in
der Kurve?
Dann müsste es auch eine Normalisierung geben, wegen Rundungsfehlern.

Was ist eine ganze relevante Welle?
Wird ein Bruchteil einer Welle vielleicht als kleinerer Ausschlag
gewertet?

Ich fände es klasse, wenn ich eines Tages etwas in Assembler machen
könnte, um FFT's von Audiospektren zu erstellen.

Das man irgendwo C-Routinen kopieren kann, ist jetzt nicht von
Interesse.

Vielen Dank für erläuternde Hinweise ohne höhere Mathematik.

MfG
Matthias
Persönliche Seite #4421895
Lesenswert?
• ▲
▼
Richtiger Link:
http://www.sprut.de/electronic/pic/16bit/dsp/fft/fft.htm

Matthias K. schrieb:
> wie kann man ein Sample in der Phase schieben?
> Vielleicht einfach dem Sample einen anderen Zeitpunkt zuweisen?

Richtig! Jedem Zeitpunkt ist ein Abtastwert (sample) zugeordnet.
Die Samples werden höchstens mit einem konstanten Faktor multipliziert 
(Skalierung).
Das abtastende System kann nur zufällig Maxima, Minima oder 
Nulldurchgänge erfassen. Diese später zu rekonstruieren, erfolgt durch 
trigonometrische Funktionen und Mathematik...

Im Prinzip wird die Eingangsspannung in zeitlich gleichmäßigen Abständen 
gemessen, und diese Messwerte in n Speichern festgehalten. Nach n 
Messungen erfolgt die Berechnung, es entstehen neue Werte. Dabei finden 
(meist) nur Multiplikationen und Additionen statt.

Die neuen Werte repräsentieren das auszugebende Signal.
Dann beginnt das Spiel erneut.
#4422388
Lesenswert?
• ▲
▼
Matthias K. schrieb:
> Ich fände es klasse, wenn ich eines Tages etwas in Assembler machen
> könnte, um FFT's von Audiospektren zu erstellen.
>
> Das man irgendwo C-Routinen kopieren kann, ist jetzt nicht von
> Interesse.

FFT Routinen in Assembler gibt es natürlich ebenfalls schon lange. Die 
Entscheidung ob man etwas Fertiges nimmt oder selbst programmiert ist 
bei so essenziellen Dingen wie einer FFT vollkommen unabhängig von der 
Programmiersprache.
Gast #4424478
Lesenswert?
• ▲
▼
Matthias K. schrieb:
> wie kann man ein Sample in der Phase schieben?
> Vielleicht einfach dem Sample einen anderen Zeitpunkt zuweisen?

Falsch.

Ein Verschieben in der Zeit schafft nur einen konstanten Versatz. Das 
Verschieben in der Phase ist was anderes, denn es betrifft ja de Phase 
und nicht eine konkrete Zeit.

So rein theoretisch (macht ja keiner..) könnte man ein Signal ja nicht 
kartesisch mit X und  Y (X=Zeit, Y=Elongation) beschreiben, sondern mit 
Phase und Amplitude. Dann könnte man einfach auf die Phase was addieren 
und dann das Ergebnis wieder in X und Y zurückwandeln. ist aber nur ein 
Gedankenspiel zur guten Nacht...

W.S.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.