Why the FFT of the conjugate doesn't coincide exactly at the negative frequency of interest?

95 Views Asked by At

I am trying to understand why the conjugate of a signal in the time domain doesn't produce an exact flip of the frequency domain spectrum. There is always a one-pixel shift in the result.

$$ x(t) = e^{j\frac{4\pi}{\lambda} v t} $$ Where we are interested in the velocity $v$. The time $t$ has N points separated by a $\delta t$. The velocity axis is $-v_{max}$ till $v_{max}$ with N points.

The signal of interest here is $$x_{conj}(t) = e^{-j\frac{4\pi}{\lambda} v t}$$

The fft of these signals are carried out as follows.

$$ X(f) = \frac{1}{\sqrt(N)} fftshift(fft(x(t), N)) $$ $$ X_{conj}(f) = \frac{1}{\sqrt(N)} fftshift(fft(x_{conj}(t), N)) $$

The MATLAB code is shown below. I use a flip for the conjugate spectrum to show that it doesn't match the original spectrum and there is a delay of one resolution cell. I want to understand why this happens. It shouldn't as it is the perfect conjugate.

v_max = 7.5;
N = 128;
PRT = 1e-3;
vel_axis = linspace(-v_max, v_max, N);

x = exp(1j .* 4 .* pi ./ lambda .* (1:N) .* PRT);

x_conj = conj(exp(1j .* 4 .* pi ./ lambda .* (1:N) .* PRT));

x_fft = 1/sqrt(N) .* fftshift(fft(x, N));
x_conj_fft = 1/sqrt(N) .* fftshift(fft(x_conj, N));

figure; plot(vel_axis, db(abs(x_fft)), 'LineWidth', 2); hold on; plot(vel_axis, flip(db(abs(x_conj_fft))), 'LineWidth', 2);
grid on;

enter image description here