I have two chirp signals "s1" and "s2" in MATLAB:
% Parameter Setting
R = 618e3;
V = 7600;
lambda = 0.0313;
Fa = 5000; % Sampling Rate (Can't not Change)
N = 10000; % Sample Points
time_delay = 6.13e-5;
% Axis Setting
ta = ( -N/2 : N/2-1 )/Fa;
fa = ( -N/2 : N/2-1 )*( Fa/N );
s1 = exp(-1j*2*pi/lambda*(V^2*(ta + time_delay).^2)/R);
s2 = exp(-1j*2*pi/lambda*(V^2*(ta - time_delay).^2)/R);
It is obvious that s1 has a positive shift (time_delay) on time axis ta, while the signal s2 has a negative shift on time axis.
I need to make the two signals equal, which means s1-s2 equal to 0.
Besides, these two signals are aliasing due to the sampling rate Fa is not high enough. I am unable to change the sampling rate and the length of the time axis, as these are determined by certain radar parameters.
I tried to use the time shifting property in the Fourier transform.
% Zero padding to avoid circular convolution
s1 = [zeros(1,0.5*N), s1, zeros(1,0.5*N)];
s2 = [zeros(1,0.5*N), s2, zeros(1,0.5*N)];
fa2 = ( -N : N-1 )*( Fa/(2*N) ); % fa with padding (2N)
% s1 Shifting By Fourier Property
S1 = fftshift(fft(ifftshift(s1)));
S1 = S1.*exp(-1j*2*pi.*fa2.*time_delay);
s1r = fftshift(ifft(ifftshift(S1)));
s1r = s1r(0.5*N+1:end-0.5*N);
% s2 Shifting By Fourier Property
S2 = fftshift(fft(ifftshift(s2)));
S2 = S2.*exp(1j*2*pi.*fa2.*time_delay);
s2r = fftshift(ifft(ifftshift(S2)));
s2r = s2r(0.5*N+1:end-0.5*N);
Result = s1r - s2r;
figure(1);
plot(ta,abs(Result)); xlabel("t(s)");
title('After Substraction');
However, the result is the following picture:
The center part is quite low, but the two sides are very high and I think this is because the signals are aliasing. I don't know how to fix this problem. I would greatly appreciate any guidance or suggestions to help me resolve this issue.
I have two chirp signals "s1" and "s2" in MATLAB:
% Parameter Setting
R = 618e3;
V = 7600;
lambda = 0.0313;
Fa = 5000; % Sampling Rate (Can't not Change)
N = 10000; % Sample Points
time_delay = 6.13e-5;
% Axis Setting
ta = ( -N/2 : N/2-1 )/Fa;
fa = ( -N/2 : N/2-1 )*( Fa/N );
s1 = exp(-1j*2*pi/lambda*(V^2*(ta + time_delay).^2)/R);
s2 = exp(-1j*2*pi/lambda*(V^2*(ta - time_delay).^2)/R);
It is obvious that s1 has a positive shift (time_delay) on time axis ta, while the signal s2 has a negative shift on time axis.
I need to make the two signals equal, which means s1-s2 equal to 0.
Besides, these two signals are aliasing due to the sampling rate Fa is not high enough. I am unable to change the sampling rate and the length of the time axis, as these are determined by certain radar parameters.
I tried to use the time shifting property in the Fourier transform.
% Zero padding to avoid circular convolution
s1 = [zeros(1,0.5*N), s1, zeros(1,0.5*N)];
s2 = [zeros(1,0.5*N), s2, zeros(1,0.5*N)];
fa2 = ( -N : N-1 )*( Fa/(2*N) ); % fa with padding (2N)
% s1 Shifting By Fourier Property
S1 = fftshift(fft(ifftshift(s1)));
S1 = S1.*exp(-1j*2*pi.*fa2.*time_delay);
s1r = fftshift(ifft(ifftshift(S1)));
s1r = s1r(0.5*N+1:end-0.5*N);
% s2 Shifting By Fourier Property
S2 = fftshift(fft(ifftshift(s2)));
S2 = S2.*exp(1j*2*pi.*fa2.*time_delay);
s2r = fftshift(ifft(ifftshift(S2)));
s2r = s2r(0.5*N+1:end-0.5*N);
Result = s1r - s2r;
figure(1);
plot(ta,abs(Result)); xlabel("t(s)");
title('After Substraction');
However, the result is the following picture:
The center part is quite low, but the two sides are very high and I think this is because the signals are aliasing. I don't know how to fix this problem. I would greatly appreciate any guidance or suggestions to help me resolve this issue.
Share Improve this question asked Mar 11 at 15:11 jason sheenjason sheen 1 4- Have you considered to check whether your shift works like intended by inspecting the spectrum before and after shifting ? – Irreducible Commented Mar 12 at 9:34
- @Irreducible How can I determine if my approach is correct based on the spectrum? I tried plotting the amplitude of the spectrum, but I don't know how to interpret the results. – jason sheen Commented Mar 12 at 13:04
- The time shifting property of the Fourier transform states that the magnitude spectrum should not change, however, there should be a linear shift in the phase spectrum. – Irreducible Commented Mar 13 at 6:28
- @Irreducible Yes, the results show that there is a linear shift in the phase spectrum and the magnitude is unchanged. – jason sheen Commented Mar 13 at 11:34
1 Answer
Reset to default 0Trying to solve the signal subtraction analytically for s1-s2=0,
exp(-1j*8*pi/lambda*(V^2*ta*time_delay)/R) = 1 ;
Base on the parameters that are fixed, it might be easier for you to solve this equation.
PS: This is my first answer so five me if it is too crude.