Autor Nachricht
Holly
BeitragVerfasst am: 19. Jan 2006 12:44    Titel:

Hallo dermarkus Wink !

Der Link ist echt genial und brauchbar!


Danke


Holly Gott
dermarkus
BeitragVerfasst am: 19. Jan 2006 02:21    Titel:

Hallo Sascha,

einer Deiner Wünsche erinnert mich an etwas, das ich in DITON gesehen habe, und was auch sicher in dem superkomfortablen Shareware-Programm CoolEdit
http://www.pctipp.ch/downloads/dl/14320.asp integriert ist:

Eine Darstellung mit der y-Achse als Frequenzachse und der x-Achse als in Echtzeit durchlaufende Zeitachse, bei der man das, was man in ein Mikrophon spricht oder hineinmusiziert (das an den Computer angeschlossen ist), in Echtzeit fouriertransformiert und dargestellt wird. Natürlich abspeicherbar und wiederholt abspielbar.

Gruß, dermarkus
Gast
BeitragVerfasst am: 18. Jan 2006 22:43    Titel:

Jetzt krieg ich sowas raus...
Ich hab ein Intervall kopiert und aneinandergereiht. Die Grundfrequenz ist 200Hz. Dass ich noch eine "Grundfrequenz von 50Hz habe, liegt wahrscheinlich daran dass ich nicht 100% das Intervall getroffen hab.
Was optimal für mich wäre, ist wenn ich in einem Programm ein Intervall auswählen kann und dieses Programm dann eine FFT durchführt, indem es so tut als würde sich dieses Intervall ewig wiederholen (Dann hat es auch genug Messpunkte). Das Ergebnis dieser Analyse wird dann in einem Diagramm angezeigt, in dem man angeben kann bis zu welcher Frequenz das Diagramm angegeben wird. Ich würde nämlich gerne eine lineare Anzeige verwenden, wenn aber das Diagramm bis 11000Hz oder 21000Hz geht, dann wird eine Grundfrequenz von ~ 150Hz leicht unübersichtlich.
Die Krönung des ganzen Wäre, wenn dieses Programm direkt hinter dem ausgewählten Diagramm ein weiter der gleichen Länge hernimmt um eine weiter FFT durchzuführen und dann ein weiteres Intervall hernimmt usw. Die Frequenzspektren werden dann zu einem Wasserfalldiagramm aneinandergereiht. Ich brauch nämlich Bilder für meine Facharbeit und in einem solchen Wasserfalldiagramm kann man schön zeigen, dass die Oberschwingungen relativ schnell abklingen.
Außerdem möchte ich die Effekt des Flageolet-tons zeigen und den Einfluss des Ortes an dem man die Saite der Gitarre anzupft und den Einfuss des Zupfens selber (Plektron/Fingernagel/Finger // Auch hierführ wäre das Wasserfalldiagramm hilfreich).
Danke Sascha
dachdecker2
BeitragVerfasst am: 18. Jan 2006 10:39    Titel:

Scharfe Peaks kannst du nur erhalten, wenn die betreffenden Schwingungen genau n (eine Ganze Zahl) mal in die Analyseperiode passen. Wenn es nicht genau aufgeht, zeigt sich das durch ein "Breitlaufen" des Spectrums. Das von mir angesprochene "Fenster" könnte auch ein bisschen Abhilfe schaffen.
Bobo
BeitragVerfasst am: 18. Jan 2006 01:37    Titel: Linienspektrum

Mach ich irgendwas falsch??? Ich krieg einfach kein Linienspektrum hin. Man müsste ehr von Schalldruckmaxima bei bestimmten Frequenzen reden... nicht umbedingtdas was ich wollte.
Liegt es 1) daran dass man an den Einstellung rumschrauben muss oder 2) dass es nicht geht.
Wenn 1) der Fall ist, dann sagt mir bitte wie es hinbekomm.
Bei 2) wäre ich schon neugierig warum es nicht geht.
Danke

edit: Natürlich muss noch erwähnt sein, dass die Wave-Datei ein Gitarrenklang ist.
dachdecker2
BeitragVerfasst am: 17. Jan 2006 00:04    Titel:

Eine Wave-Datei und ihre Fouriertransformation sind identisch, nur in verschiedenen Bereichen dargestellt. Was sich nicht rekonstruieren lässt, ist der von Quantisierung und Abtastung verursachte Informationsverlust - und wenn man FFT anwenden will, kommt man um Abtastung und Quantisierung nicht herum.


Das Problem bei der Abtastung ist, dass dem Signal nachher nicht mehr anzusehen ist, welche Frequenz abgetastet wurde. Um dieses Problem zu beherrschen, muss festgehalten werden, in welchem Bereich das Quellsignal lag. Im Normalfall ist das der Bereich 0 bis halbe Samplefrequenz, man kann sich je nach Anwendung aber auch für Bereiche außerhalb der Samplefrequenz entscheiden, muss aber statt dem Tiefpass einen Bandpass in dem Entsprechendem Bereich der Abtastung vorschalten und bei der Rekonstruktion den Umstand berücksichtigen, dass das Signal unterabgetastet ist, und demnach nicht so einfach in einen Digital-Analogwandler geschickt werden kann.

Aliasing bedeutet, dass Frequenzen, die größer als die halbe Samplefrequenz sind, beim Rekonstruieren (Abspielen) in dem Frequenzbereich 0 bis Samplerate/2 hinein verschoben werden. Den Antialiasingfilter, den man zur Einhaltung des Abtasttheorems (auch Shannontheorem genannt) vor die Abtastung schaltet, hängt nicht mit der Fouriertransformation zusammen, sondern mit der Abtastung. Das Aliasing muss vor der Abtastung durch Unterdrückung hoher Frequenzen (z.B. mit einen Tiefpass) ausgeschlossen werden.
schnudl
BeitragVerfasst am: 16. Jan 2006 11:45    Titel:

Zitat:
Aus dem Grun bekommt man das ursprüngliche Signal nie wieder aus dem agetasteten Signal zurück und deswegen ist auch der Rechenaufwand zur FFT deutlich kleiner als der für FT


Ist zwar schon einige Jährchen her seit ich das in der Schule gelernt habe, aber ist dies nicht doch der Fall wenn das abzutastende Signal auf f/2 bandbegrenzt ist , wobei f die Abtastfrequenz ist ?
Es ist glaube ich so, dass das Frequenzspektrum eines abgetasteten Signals mit der Abtastfrequenz periodisch ist. Daher muss ein Anti-Aliasing Filter vorgespannt werden, um Artifakte zu vermeiden. Zb. kann man durch Abtasten einer Sinzusschwingung mit einer zu langsamen Frequenz ohne weiteres die Frequenz der n-fachen Grundfrequenz bekommen. Daher ist die Bandbegrenzung praktisch enorm wichtig.

Frage: Ist dies gegeben, so sollte die Rücktransformation für die diskreten Zeiten aber wieder die ursprünglichen Werte ergeben - oder ?
dermarkus
BeitragVerfasst am: 16. Jan 2006 11:45    Titel:

Zum Namen: FFT heißt "fast fourier transformation" und ist für die meisten praktischen Anwendungen nichts anderes als ein effizienter Algorithmus, um die Fouriertransformation durchzuführen.

@as_string: Wenn man sich sowas selber programmiert, wird man sich zu dem Zweck wohl aus den Bibliiotheken eben so einen FFT-Algorithmus suchen.
--------------------------------------

@Bobo: Dein Programm hat also eine echte Fourier-Analyse.

Falls Dir die Benutzeroberfläche dieses Programms nicht komfortabel genug ist, kommt vielleicht auch DITON infrage: LINK (runterscrollen auf ca. Seitenmitte).
Dies dürfte allerdings keine freeware, sondern shareware sein, die du 1 Woche lang (gemessen ab Installationszeitpunkt) kostenlos benutzen kannst. Vielleicht genügt das für die Zwecke deiner Facharbeit.

Falls dir dein Programm nicht schnell genug sein sollte, hilft es vielleicht, deine wav-Dateien in kleinere Stücke zu schneiden. Mindestens das ist mit audacity (siehe bishop) sicher kein Problem.
dachdecker2
BeitragVerfasst am: 16. Jan 2006 11:27    Titel:

Bei der Fourieranalyse muss man einstellen, wie lang die Periode, die in den Frequenzbereich transformiert werden soll, ist. Möglich sind alle Potenzen von 2. Die Frequenzauflösung ist so groß, wie die Samplezahl in der transformierten Periode. Die größte Frequens entspricht dabei Sapmlerate/2 und die Schrittweite ist Samplerate/Samplezahl_pro_periode.

Es ist nicht ganz so, dass FFT "nur" schneller ist als FT. FFT transformiert kann abgetastete Signale transformieren, FT ist nur für kontinuierliche Signale geeignet. Ein Kontinuierliches Signal lässt sich ohne Probleme in das abgetastete Signal umwandeln, da dazu nur informationen weggelassen werden brauchen. Aus dem Grun bekommt man das ursprüngliche Signal nie wieder aus dem agetasteten Signal zurück und deswegen ist auch der Rechenaufwand zur FFT deutlich kleiner als der für FT.

Ich weiß nicht, ob das bereits berücksichtigt wurde, aber ich schreibs mal dazu. Fourieranalyse ist eigentlich nur für periodische Vorgägne geeignet. Man kann daher unter Umständen "unschöne" Kurven im Frequenzbereich erhalten. Als Lösung bietet sich an, das Eingangssignal (die Wave-Datei) mit einer sogenannten Fensterfunktion, günstig ist zum Beispiel



zu multiplizieren. smile
as_string
BeitragVerfasst am: 16. Jan 2006 09:48    Titel:

Darüber bin ich auch gestolpert. Leider bin ich da auch nicht so der Spezialist, aber so weit ich weiß bekommt man da die selben Werte, nur eben schneller. Und das eben, so wie schnudl sagt, dass der Algo. eben die Tatsache mit den diskreten Werten ausnutzt.
Allerdings, was mir immer wieder Kopfzerbrechen bereitet:
Eigentlich ist so ein Audiosignal ja eine einzige Funktion von einer einzigen Variable. Eigentlich müßte ich ja nach einer Fourier-Transformation wieder eine Funktion von einer Variable (diesmal der Frequenz, nicht mehr der Zeit) bekommen, also das Spektrum.
Aber: Wenn ich mir die Frequenzanalyser in diesen Programmen anschaue sehe ich ja ein nach der Zeit sich änderndes Spektrum. Hä? Was ist das denn??? Werden da die Schwingungen in einzelne Zeitscheiben zerhackt und für jede einzeln ein Spektrum erstellt? Wie lange sind denn die Scheiben und wie viele Werte sind denn dann da drin? Gut, könnte man sich vielleicht überlegen, wenn man einen "Cut-off" bei, sagen wir mal so 20Hz macht und so. Aber bei diesen Programmen kann man das doch nicht einstellen, oder? Und wenn man das dann wirklich quantitativ verwenden wollte, sollte man solche Details schon wissen, denke ich.
Vielleicht wäre es besser, wenn Du ein eigenes kleines Programm schreibst. Solche .wav-Dateien sind ja extrem einfach aufgebaut (immer ein Byte-Paar zu einem 16-bit-Wert zusammenfassen und schon hast Du Dein Sample. Komplizierter wird's erst, wenn man noch die Samplefrequenz herausfinden muß aus der Datei...). Wenn Du die passend in ein Array einliest und eine Numerik-Bibliothek nimmst, die sicherlich alle eine FFT beinhalten, dann kannst Du damit mit wenigen Zeilen Code ein Spektrum erstellen (oder halt mehrere, wenn Du das auch in Stücke aufteilst). Dann kannst Du wenigstens mit Sicherheit sagen, was da genau transformiert worden ist etc. Und Bibliotheken gibt's wie Sand am Meer, ich glaube auch viele freie.

Gruß
Marco
schnudl
BeitragVerfasst am: 16. Jan 2006 09:35    Titel: Re: Fourier-Analyse-Programm für Wave-Dateien

Bobo hat Folgendes geschrieben:
Was ich also such ist ein Programm mit einer "echten" Fourier-Analyse.
Gruß Sascha

Ist denn die FFT keine "echte" Fourieranalyse ? Es wird nur sehr trickreich vorgegangen und der diskrete Charakter der Abtastwerte herangezogen. Aber soviel ich weiss, liefert die FFT keine anderen Ergebnisse, als Du durch eine "echte" FT erreichen könntest. Denn auch dafür liegen Deine Werte von der wav-Datei wohl nur als Abtastwerte mit einem fixen Abtastintervall vor (?), weswegen Hr. Shannon grüssen lässt...
bishop
BeitragVerfasst am: 16. Jan 2006 00:23    Titel:

hmh ich meine, dass audacity sowas kann. Es ist opensource, und daher freeware und zumindest stimmt der Eintrag in der feature List eher hoffnugsvoll
Zitat:
Analyse

* Spectrogrammmodus um die Frequenzen anzuzeigen
* Plot Spectrum Befehle für eine genauere Frequenzanalyse


gruß, bishop
Bobo
BeitragVerfasst am: 15. Jan 2006 23:27    Titel: Fourier-Analyse-Programm für Wave-Dateien

Wie der Name des Topics schon sagt: Ich suche ein Programm bei dem ich Wave-Dateien mittels Fourieranalyse in ein Frequenzspektrum zerlegen kann. Momentan habe ich Hobbybox V5.1. Allerdings hat Hobbybox nur FFT, was ja verschwendetes Potential in meinem Fall wäre: Man kann die Wave-Datei fast unabhänigig der Zeit durchanalysieren (solange es keinen Tag dauert ist es in ordnung Augenzwinkern ).
Was ich also such ist ein Programm mit einer "echten" Fourier-Analyse.
DADiSP hat zwar so eine, aber ich muss mir das wav-modul kaufen, wenn das programm so etwas machen soll (~paar 100§ - für meine Zwecke (Facharbeit) ungeeignet).
Wenn ein ein Freeware-Programm kennt, das so etwas kann, wäre ich euch sehr dankbar, wenn ihr mir sagt wo ich es finden kann.

Gruß Sascha

Powered by phpBB © 2001, 2005 phpBB Group