Obtaining time delayed signal using frequency domain phase shift

1 vue (au cours des 30 derniers jours)
Varun
Varun le 30 Août 2014
Suppose I have an input signal which represents a vehicle front suspension response that has been measured using an accelerometer. It is seen that the measured rear suspension response is effectively just a time delayed version of the front suspension response and shifting the rear signal forward in time by the delay causes the signals to align rather well. The intention now is to simulate this rear suspension response so that it can be predicted without needing an accelerometer to measure it. Knowing the time delay between the two signals, I am trying to simulate the rear suspension response using a set of transfer functions that have been measured on the vehicle.
acc_front is the front signal, acc_rear is the rear signal. s2sim is the rear signal that I want to simulate. h11, h12, h21 and h22 are the transfer functions used to try and simulate the rear signal. h11= a11/f1 where a11 is the acceleration measured at point 1 when a force is applied at point 1 and h12 = a12/f2 where a2 is acceleration measured at point 1 when force is applied at point 2 and so on. I am also looking at the phase information and making sure that the rear suspension response is replicated rather than the front suspension response. I am using a set of equations that have been derived based on the transfer matrix method of noise path analysis.
So, acc_front=h11.*Fop1+h12.*Fop2 where Fop1 and Fop2 are operational forces at the front and the rear.
Fop2=Fop1.*exp(-1j*w*timedelay) based on Fourier Transform property
Therefore my matlab code to simulate the rear signal is:
ACC_FRONT=fft(acc_front);
Fop1= ACC_FRONT./(h11+(h12.*exp(-1j*w*timedelay)));
Fop2=Fop1.*exp(-1j*w*timedelay);
S2SIM=(h21.*Fop1)+(h22.*Fop2);
s2sim=ifft(S2SIM) % or real(ifft(S2SIM));
When I look at the phase information, it is nearly identical to the front suspension response rather than the rear and when i take the inverse fft and use the cross correlation to find out the time delay between s1 and s2sim in the time domain, it is seen that the time delay is 0 which means the signal hasn't been delayed so I am doing something wrong. Can anybody help me out here.

Réponses (0)

Catégories

En savoir plus sur Simulink dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by