|
Mike1221 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.10.2011, 10:16
Titel: Hamming-Fenster anwenden
|
|
Hi,
Ich habe eine Frage was dem Hamming-Fenster betrifft und zwar:
Ich habe eine 24 Stunden Signal , das Ich auf 20s Segmente die FFT berechnen will.
Ich habe eure codehilfe benutzt:
Problem ist dass Ich folgende Fehler bekomme:
noch eine Sache:
Ich will die FFT Berechnung für das ganze Signal machen (24 St) wie soll es mit der Schleife aussehen?
Ich werde so probieren :
stimmt so?
Danke für euere Hilfe
_Peter: Thema geteilt. Frage bezieht sich auf das folgende Script:
http://www.gomatlab.de/fensterfunkt.....nn-u-blackman-t19079.html
|
|
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 18.10.2011, 10:49
Titel:
|
|
Die Fehlermeldung deutet darauf hin, dass die Funktion Fenster.m nicht existiert. Hast du den file auch ins matlab-work Verzeichnis geladen und es ist auch als 'current directory' ausgewählt?
Für die andere Frage nutze doch bitte einen eigenen Thread im Bereich Signalverarbeitung oder Programmierung. Sie hat ja mit dem Skript nichts zu tun.
|
|
|
Mike1221 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.10.2011, 10:54
Titel:
|
|
Hi DSP
wo kann Ich Fenster.m finden?
Danke
|
|
|
Mike1221 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.10.2011, 11:11
Titel:
|
|
also unter mathwork ist sie nicht zu finden.
es gibt nur hamming(N) wobei was ich nicht verstehen kann wie soll ich denn das Fenster für meinen Signal machen.
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 18.10.2011, 11:24
Titel:
|
|
Die musst du dir hier in diesem Thread downloaden und dann in das matlab/work Verzeichnis speichern. Fenster.m ist doch keine matlab eigene Version. Wenn du eh die 'Signal Processing Toolbox' besitzt, brauchst du diese Fensterfunktion doch gar nicht. Dann kannst du sie dir mit der Matlabfkt. erstellen:
|
|
|
Mike1221 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.10.2011, 11:32
Titel:
|
|
Vielen Dank für deine Zeit,
aber ich weiss immer noch nicht wie soll ich hamming(N,'sflag') benutzen.
also ich brauche ein hammingfenster mit N=20 für mein Signal: betragX
ist das so dann richtig? : win = hamming(N,betragX)????
danke
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 18.10.2011, 11:44
Titel:
|
|
@ Moderator: Kann mal bitte jemand die Fragen in einen eigenen Thread im Bereich Signalverarbeitung verschieben...Danke!
Für 'sflag' kann 'periodic' oder 'symmetric' (=default) angegeben werden. Das brauchst du aber hier nicht. Ansonsten verfährst weiter du wie in deinem Code angegeben. Signal mit Fenster multiplizieren...
|
|
|
Mike1221 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.10.2011, 12:26
Titel:
|
|
|
|
Gesplittet: 18.10.2011, 12:46 Uhr von _Peter_ Von Beitrag Fensterfunktion - Hamming, Hann u. Blackman aus dem Forum Script-Ecke |
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 18.10.2011, 12:47
Titel:
|
|
Danke für's Verschieben Peter!
|
|
|
_Peter_ |
Moderator
|
|
Beiträge: 537
|
|
|
|
Anmeldedatum: 08.12.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.10, 2010a
|
|
|
|
|
|
Verfasst am: 18.10.2011, 12:49
Titel:
|
|
Kein Problem, dafür bin ich ja unter anderem da
_________________
Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
Mike1221 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.10.2011, 13:22
Titel:
|
|
Danke DSP und Peter
So jetzt ist meine Anfrage in dem richtigen Forum.
Ich habe noch das Problem:
und zwar hier N ist die anzahl der messwerte = 4808025 samples
ich will aber ein fenster auf 20 s .
Wie soll Ich das in 20s Segmente segmentieren? und am Ende die FFT für die ganze 4808025 samples bekommen?
Danke euch
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 18.10.2011, 13:47
Titel:
|
|
Dazu musst du erstmal wissen, wie viele Messwerte in 20 sek. enthalten sind...es hängt eben von deiner Abtastrate ab. Außerdem solltest du die Fensterlänge N so wählen, dass sich eine 2er Potenz ergibt, damit mit dem schnellen FFT Algorithmus gerechnet wird. Geht das mit den 20 sek. nicht, kannst entweder das Zeitfenster anpassen oder aber durch Zero-padding auf die nächste 2er Potenz erweitern.
Die Segmentierung könnte dann so ablaufen:
Jetzt musst du dir noch überlegen, wie du die Einzelspektren zu einem Gesamtspektrum zusammenführst...z.B. durch Mittelung aller Segmente.
|
|
|
Mike1221 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.10.2011, 14:08
Titel:
|
|
Hi DSP
wie bist auf das gekommen? was wenn es 10s wäre?
Danke für deine wertvolle Hilfe
|
|
|
Mike1221 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.10.2011, 14:21
Titel:
|
|
sorry aber win muss auch in die for schleife kompensiert sein win(?)
und was ist genau H_pos0(1:(nfft/2)+1,i))???
können Sie mir bitte das erklären?
vielen Dank
|
|
|
Mike1221 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.10.2011, 14:39
Titel:
|
|
also Ich bekomme immer die Fehlermeldung:
??? Error using ==> times
Matrix dimensions must agree.
Error in ==> AfBerechnung at 22
signal_win = signal(m:nfft+m-1) .* win;
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|