Ich habe ein Signal mit einer Abtastzeit von 0,5 Mikrosekunden und möchte dieses Signal um einen Bruchteil der Abtastzeit verschieben, beispielsweise um 3 Nanosekunden.
Ich habe einige Online-Ressourcen über die Filterung von Teilverzögerungen und über die Verwendung von FFT und IFFT zur Durchführung einer solchen Verzögerung gelesen. Kann mich jemand auf eine Theorie dazu verweisen oder mir eine Idee geben, wie ich sie umsetzen kann?
Für die regelmäßige Verschiebung des Signals für ganzzahlige Abtastwerte habe ich dies implementiert, indem ich das Signal um die erforderliche Anzahl von Abtastwerten verschoben und am Anfang Nullen hinzugefügt habe. Ist dieser Ansatz richtig?
quelle
Neben fft-Lösungen können Sie auch Interpolation verwenden. Die geeignete Art der Interpolation hängt natürlich von Ihren Anforderungen ab! Die lineare Interpolation hat in der Vergangenheit bei mir mit Flanscheffekten gut funktioniert, aber Ihr Kilometerstand kann variieren.
Eine Lagrange-Interpolation kann sich auch lohnen, wenn die lineare Interpolation nicht gut genug ist. http://blog.demofox.org/2015/07/08/lagrange-interpolation/
quelle
Dies kann mit der Funktion 'delayseq' in MATLAB erfolgen. Diese Funktion kann das Signal in Teilproben verschieben. Sie können entweder die Anzahl der Samples schreiben, die Sie verschieben möchten, oder die Anzahl der gewünschten Verzögerungen in Bezug auf die Zeit. Es ist jedoch wichtig zu beachten, dass das verzögerte Signal dieselbe Länge wie das ursprüngliche Signal hat. Wenn Sie das Signal also nicht abschneiden möchten, verwenden Sie zuerst die Null-Auffüllung und dann die Verzögerungseq. https://in.mathworks.com/help/phased/ref/delayseq.html
quelle