Hallo allerseits! Ich suche für das fach Digitale Signalverarbeitung eine freeware Software, die für vorgegebene Funktionen eine DFT bzw eine FFT durchführt. Sowas muss es doch bestimmt geben. Bei google bin ich bis jetzt nur auf Programme gestoßen, die z.B. ein Eingangssignal vom Mikro transformieren. Würde mich echt weiterbringen, wenn da jemand einen Tipp hätte. Grüße Dominik
Hallo Thomas! Vielleicht so Grundfunktionen wie sinus, rechteck, dreieck usw, die man dann eventuell auch noch überlagern kann. Das ganze soll mir nur beim Verständnis von DFT helfen und zur Kontrolle von Übungsaufgaben, die ich gerechnet habe usw. Gruß Dominik
Für die Grundfunktionen steht die FT in jeder Mathe-Formelsammlung ..... Und da das ganze linear ist (zumindest im Systemtheoretischen Sinn..:o))).... Oder willst du solche Dinge wie Fenstereigenschaften etc. ausprobieren ? Vielleicht ein kleiner Tip: Schreib die paar Zeilen für eine DFT (und später für eine FFT) selbst und geh schrittweise durch, dann hast du den größten Lerneffekt und weißt was du dann tust.... Gruß Thomas
Guten Morgen! Erstmal danke für eure Antworten. Das Linux Programm könnte mir eventuell schon helfen. Hab eine Knoppix Version mit der ich das dann ausführen könnte. Wie groß ist das Programm von dir denn (D.N.)? Kann ich das irgendwo ziehen? hab meine E-Mail oben mal angegeben. Ja Fenstern und Aliasing und solche Geschichten würde ich gerne mit drin haben, damit man sich diese Effekte mal an einer Hand von Beispielen klarmachen kann. An das selber proggen habe ich auch schon gedacht. Würde das Ganze nur gerne vorher richtig verstanden haben, damit ich dann auch sinnvollen Quelltext zaubere. Gruß Dominik
@Dominik ja die Programme laufen unter knopix oder suse. Habe sie selber nur unter suse probiert. In den Programmen wird eine u.a komplette digitale Übertragung simuliert. Man kann alles mögliche einstellen von Antialis.-Filter über Abtastenfrequensen, Fenster und dessen Wirkung auf das Signal am Ausgang. Schöne Darstellung mit Bild und Zeitbereich. Hat der Prof. genial gemacht.
Fuer sowas verwendet man i.d.R. Matlab, Scilab oder Octave. Kann mir ehrlich gesagt nicht vorstellen dass das in eurer Vorlesung nicht auch mal erwaehnt wurde.
Schönen guten Abend! @ D.N.: Das hört dich ja alles ganz gut an. Also ist das irgendwie möglich da dran zu kommen? Kannst du mir vielleicht einen Link mailen, oder das komplette Programm, wenn das nicht zu groß ist? Das würde mir auf jedenfall schon weiter helfen. @ Andreas: Ja Matlab kenn ich noch aus der Regelungstechnik. Allerdings habne wir da nie diskret, sondern nur kontinuierlich mit gearbeitet. Habens zeitlich nichtmal bis zur digitalen Regelung geschafft gg. Wie stellst du es denn an, wenn du ne FFT machen willst? Gibt es da in Simulink irgendwelche Glieder, die das machen, oder Befehle für Matlab? Is ja immer ein wenig schwer sich da alleine einzuarbeiten. Nochmal schönen Dank für die Hilfe.
Hallo Dominik, schau' doch mal hier: http://www.scilab.org http://www.octave.org Octave ist "MATLAB-kompatibler", dafür hat Scilab mehr Signal-Processing-Funktionen dabei. Beide Programme sind für Linux/Unix und Windows frei herunterladbar und sehr zu empfehlen. Viele Grüße! Gerrit
Hallo! Habe mir Scilab jetzt mal besorget. Sieht ganz vielversprechend aus. Bedarf allerdings erstmal ein bischen Einarbeitung, bis man sich da ein Bild gemacht hat, was alles möglich ist. Also danke für die Links und auch danke an die Anderen für ihre Hilfe. Gruß Dominik
Hallo Dominik, Test für eine erste FFT unter scilab: fc=1e3; //Signalfrequnez ist 1kHz fs=8e3; //Abtastfrequenz ist 8kHz n=1:20e3; //Abtastungen (n*Ts = n* 1/fs) sig=sin(2*%pi*fc/fs*n); //Signal im Zeitbereich samples=length(n); //folgende Zeilen nur für Abzissenbeschriftung fbin=fs/samples; //Freq.-Abstand der einzelnen FFT-Punkte für Skalierung fax=fbin*(-samples/2:1:samples/2-1); //"X-Achsen"-Saklierung plot2d(fax, 20*log10(abs(fftshift(fft(sig, -1)))), style=2); xgrid Hoffe es hilft... Gruß, Gerrit P.S. Meist ist eine Fensterung nötig, weil die zu analysierende Sequenz nicht von minus Unendlich bis plus Unendlich vorliegt, was die FFT aber erwartet ("Leckeffekt"). Dann ist das Bsp. wie folgt zu ergänzen: win=window('hn', samples); sig=sig.*win;
Hallo! Erstmal danke für die paar Zeilen, die mir auf die Sprünge geholfen haben. Habs auch soweit nachvollziehen können, bis auf ein paar Befehle: - wozu dient das -1 bei fft(sig,-1)? - wozu dient der Befehl fftshift? - was bedeutet sig.*win? - was bedeutet 'hn'? ist das ein Hanning Fenster? Hoffe da kann mir nochmal einer weiter helfen. Gruß Dominik
Hallo Dominik, mit "help fft" bzw. "help fftshift" kannst Du beides herausbekommen. ;o) Kurz: "-1" steht für die Richtung der Fourier-Transformation. Das war bisher nötig. da der Befehl "ifft" für die inverse FFT nicht existierte (anders als in MATLAB und Octave); man mußte fft(data,1) dafür angeben. Bisher hat man bei "fft(data)" eine Fehlermeldung bekommen, was nun offensichtlich nicht mehr der Fall ist (hatte ich noch nicht mitbekommen ;o). "fftshift" klappt nur die beiden Hälften der FFT um, so daß die Frequenz Nulll in der Mitte liegt. Bei Basisbandspektren sieht es dann besser aus. Ohne "fftshift" liegt die Frequenz Null ganz links, die Nyquist-Freq. in der Mitte und die Abtastfrequenz ganz rechts. Mit "sig.*win" wird das generierte Signal (der Sinus) mit der generierten Fensterfunktion gewichtet (multipliziert). Damit das Element für Element erfolgt und nicht wie bei einer Matrix-Operation, muß vor dem Operator ein Punkt stehen. Z.B. wird bei "sig^2" die Matrix quadriert, während bei "sig.^2" jedes Element der Matrix quadriert wird. Ja, 'hn' steht für Hanning -> "help window" ;o). Viel Erfolg! Gerrit
Hallo zusammen! Ich kenne mittlerweile ein wenig Octave und damit klappt das mit der diskreten Faltung und Fouriertransformation soweit ganz gut. Nachdem aber das Programm eines Professors hier so sehr gelobt wurde und besonders seine graphische und anschauliche Darstellung sowie sein Lerneffekt, haette ich auch Interesse daran bekommen... Hat das hier von euch jemand oder kennt zumindest die Hochschule bzw. den Professor, der Autor der Software war / ist? Vielen Dank Christian Uhl
Ich habe mal für unsere Studenten ein Octave/Matlab-Tutorial geschrieben, welches auch die Anwendung der FFT umreißt. Vielleicht hilft Dir das weiter. http://www.nue.tu-berlin.de/teaching/praktika/multimedia/OctaveTut.pdf
Gerrit Buhe schrieb: > Ja, 'hn' steht für Hanning dass das nicht aufhört, mit diesem unsinnigen Begriff "hanning". Man spricht ja auch nicht vom "Gaussing", "Fouriering" oder "Laplacing".
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.