Is it possible to flip a signal's spectrum around DC? I have a simple spectrum that I made up (MATLAB code):
spectrum = [-1+4i 0+3i 1+2i 2+1i 3+0i 4-1i 5-2i 6-3i 7-4i 8-5i]
timeDomain = ifft(spectrum);
I looked on this website (http://www.dsprelated.com/showarticle/51.php) and the given proof states this can be done in 3 ways:
- Invert the Q channel (14)
- Swap the I and Q channels (15)
- Invert the I channel (16)
I tried those 3 ways on my signal:
1) Invert the Q channel
negQtd = real(timeDomain) - 1j * imag(timeDomain);
negQSpec = fft(negQtd)
Output:
[-1-4i 8+5i 7+4i 6+3i 5+2i 4+1i 3+0i 2-1i 1-2i 0-3i]
2) Swap the I and Q channels
swapTD = imag(timeDomain) + 1j * real(timeDomain);
swapSpec = fft(swapTD)
Output:
[4-1i -5+8i -4+7i -3+6i -2+5i -1+4i -0+3i 1+2i 2+1i 3+0i]
3) Invert the I channel
negItd = -1 * real(timeDomain) + 1j * imag(timeDomain);
negISpec = fft(negItd)
Output:
[1+4i -8-5i -7-4i -6-3i -5-2i -4-1i -3-0i -2+1i -1+2i -0+3i]
Each of these does flip the spectrum of the signal, but it also modifies the spectrum:
1) Inverting Time Domain Q channel also negates/inverts the Frequency Domain Imaginary part.
2) Swapping the I and Q channels also swaps the Frequency Domain Real and Imaginary parts.
3) Inverting the Time Domain I channel also negates/inverts the Frequency domain Real part.
Is there some other way to simply flip the spectrum around DC or should I try a two step process?