WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

cpsd-Ergebnis abhängig von Fensterlänge

 

laupl
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 15.03.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.03.2016, 15:43     Titel: cpsd-Ergebnis abhängig von Fensterlänge
  Antworten mit Zitat      
Hallo Profis der Signalverarbeitung!

Je nach gewählter Fensterlänge erhalte ich unterschiedliche cpsd-Ergebnisse in Betragsquadrat und Phase. Und das obwohl die Anzahl der Mittelungen - also die Fensteranzahl - gleich ist. Warum? Das checke ich nicht. Müsste doch dasselbe Ergebnis rauskommen, oder? Kann mir das jemand erklären?

Eigentlich habe ich Mikrofonsignale. Zeigen lässt sich das Verhalten aber auch mit zwei Zufallssignalen.
Code:

% fft-Parameter 1
nfft1=2^13;
noverlap1=nfft1*.5; % mit 50% overlap
window1=hann(nfft1);

% fft-Parameter 2
nfft2=2^12;
noverlap2=nfft2*0; % ohne overlap, damit die Fensteranzahl gleich ist wie oben
window2=hann(nfft2);

% die beiden Signale
sig1=-1+2*rand(1000000,1);
sig2=-1+2*rand(1000000,1);

% die beiden cpsd-Berechnungen
[pxy8192,f8192]=cpsd(sig1,sig2,window1,noverlap1,nfft1);
[pxy4096,f4096]=cpsd(sig1,sig2,window2,noverlap2,nfft2);

% Darstellung
figure
semilogx(f8192,10*log10(abs(pxy8192).^2),'b')
hold on
semilogx(f4096,10*log10(abs(pxy4096).^2),'r')
grid on

figure
semilogx(f8192,angle(pxy8192),'b')
hold on
semilogx(f4096,angle(pxy4096),'r')
grid on
 


Danke, Grüße
Private Nachricht senden Benutzer-Profile anzeigen


DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 25.03.2016, 16:58     Titel:
  Antworten mit Zitat      
Hallo,

ich kann nur für das allgemeine PSD sprechen...die Fensterlänge beeinflusst die Frequenzauflösung und damit auch Betrag und Phase. Ab einer gewissen Auflösung sollten die Unterschiede durch die Fensterlänge aber geringer werden, denn irgendwann bringt eine höhere Auflösung je nach Signal keine neuen Informationen.

Gruß DSP
Private Nachricht senden Benutzer-Profile anzeigen
 
laupl
Themenstarter

Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 15.03.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.03.2016, 17:28     Titel:
  Antworten mit Zitat      
Hi,
danke für die Antwort.
Dass die Fensterlänge die Auflösung beeinflusst, ist mir klar. Darin sehe ich aber nicht das "Problem". Hätte ich vielleicht besser beschreiben müssen - sorry.
Trotzdem sollten "im Mittel" doch die exakt selben Ergebnisse herauskommen, oder? Und die Phasen liegen ja bis zu \pi auseinander:
Code:
max(abs(angle(pxy4096))-abs(angle(pxy8192(1:2:end))))


Freue mich sehr, wenn mir das jemand erklären kann.
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 25.03.2016, 17:55     Titel:
  Antworten mit Zitat      
Hallo,

ich hätte mir den Bsp. code doch etwas genauer ansehen müssen. Aber hier unterscheidet sich doch der Overlap...

Code:

% fft-Parameter 1
nfft1=2^13;
noverlap1=nfft1*.5; % mit 50% overlap

% fft-Parameter 2
nfft2=2^12;
noverlap2=nfft2*0; % ohne overlap, damit die Fensteranzahl gleich ist wie oben
 


Was der max Ausdruck beweisen soll, versehe ich allerdings nicht.

Gruß DSP
Private Nachricht senden Benutzer-Profile anzeigen
 
laupl
Themenstarter

Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 15.03.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.03.2016, 18:22     Titel:
  Antworten mit Zitat      
Hi,
ja der overlap unerscheidet sich deswegen, dass die Anzahl der Mittelungen für beide Berechnungen gleich ist. Bei 1 Mio. Samples nämlich 243. Bei unterschiedlicher Anzahl an Mittelungen könnte es ja sein, dass im Fall von weniger Mittelungen noch ein größerer Rauschanteil enthalten ist und die Ergebnisse deswegen abweichen.

Mit dem max-Ausdruck wollte ich nur verdeutlichen, dass die Phase um bis zu \pi abweicht. Und das kann doch nicht sein. Das wäre ja der größtmögliche Fehler.

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.