Signalverarbeitung (Gruppenlaufzeit)

Halli hallo,

ich weiß nicht, ob ich hier so an der richtigen Stelle bin mit meiner Frage, aber ich versuche es mal :wink:

Zuerstmal: Ich arbeite mit Matlab. Und zwar habe ich eine Frage zur Grppenlaufzeit/Phasenlaufzeit und zwar habe ich zwei Kopfbezogene Übertragungsfunktionen (HRTF) und will nun die interaurale Zeitdifferenz in Sekunden über die Frequenz haben.

Hierfür mache ich die Fouriertransformation der beiden Übertragungsfunktionen „HrtfL“ und „HrtfR“ („HrtfL“ und „HrtfR“ sind arrays der länge „sizHRTF“)

NFFT = 2^12;
H_L = fft(HrtfL,NFFT)/sizHRTF; % Berechnung der Komplexen fourier-
H_R = fft(HrtfR,NFFT)/sizHRTF; % transformierten

um jetzt den Phasenunterschied der beiden funktionen zu bekommen, rechne ich:

H_angle = H_L .* conj(H_R); % Berechnen der Phasendifferenz
H_angle = unwrap(angle(H_angle)); % über die frequenz

unwrap sorgt einfach nur dafür, das der winkel immer weiter läuft und nicht bei „2*pi“ einen Sprung machen.

Jetzt habe ich die gruppenlaufzeit bestimmt, mit

Hgruppen = -diff(H_angle); % negativen Phasenwinkel differenzieren
% zur berechnung der Gruppenlaufzeit

aber wie bekomme ich die gruppenlaufzeit in Sekunden??? wie rechne ich das um? Oder muß ich um die Zeitdfferenz der beiden Signale zu bekommen die Phasenlaufzeit berechnen??? Oder mache ich so schon einen fehler??

Den genauen unterschied zwischen Phasen- und Gruppenlaufzeit habe ich nicht so ganz gefressen :-/

wäre cool, wenn mir hier jemand helfen könnte…

mit besten grüßen
Teuse