Phasenversatz bei Filterung
Jeder realer Filter hat neben der gewünschten Unterdrückung störender Frequenzanteile auch eine Veränderung der Phasenlage zur Folge. Frequenzbezogen können die Effekte zurück gerechnet werden.
Die benötigten Informationen hierzu lassen sich
z. B. aus den Positionen gleicher Ereignisse oder dem Übertragungsverhalten des Filters entnehmen.
Sequenz: Phasenversatz bei Filterung
;Erzeugen und Darstellung eines Beispielsignals
_xWerte=Rampe(0,pi2/1000,1000)
_Frequenz1=Sin(_xWerte)
_Frequenz2=1/10*Sin(3*_xWerte)
_Frequenz3=1/20*Sin(10*_xWerte)
_Rauschen1=1/30*Sin(50*_xWerte)
Signal=_Frequenz1+_Frequenz2+_Frequenz3+_Rauschen1
Signal=xdel(Signal,1/Lang?(Signal))
SetEinheit(Signal,"s",0)
SetEinheit(Signal,"V",1)
;Signal filtern und darstellen
gefiltertesSignal = FiltTP(Signal, 0, 0, 2, 15)
_PosMaxSignal=Posi(Signal,Max(Signal))
_PosMaxgefiltertesSignal=Posi(gefiltertesSignal,Max(gefiltertesSignal))
_PosDelta=_PosMaxgefiltertesSignal-_PosMaxSignal
;Frequenzbezogene Korrektur der Phase
korrigiertesgefiltertesSignal=xOff(gefiltertesSignal,-_PosDelta)
_Impuls=SetzeIndex(Signal*0,2,1000)
_FFT_Impuls=FFT(Tast2(_Impuls))
_gefilterter_Impuls = FiltTP(_Impuls, 0, 0, 2, 15)
_FFT_gefilterter_Impuls=FFT(Tast2(_gefilterter_Impuls))
_Bode=_FFT_gefilterter_Impuls/_FFT_Impuls
_Bode=Pol(Kart(_Bode))
_PosDeltaFFT1Hz=Wert(_Bode.P,1)/360
korrigiertesgefiltertesSignalBode=xOff(gefiltertesSignal,_PosDeltaFFT1Hz)
Zeigen Signal
KvYAchse(Signal,gefiltertesSignal,Leer,0,0,400,-2)
KvYAchse(Signal,korrigiertesgefiltertesSignal,Leer,0,0,400,-2)
KvYAchse(Signal,korrigiertesgefiltertesSignalBode,Leer,0,0,400,-2)
Entferne _*

Phasenversatz bei Filterung
SINEWS Services |
Sequenzen, Tutorials, Artikel