Unexpected behavior of FFT

14 Ansichten (letzte 30 Tage)
MAWE
MAWE am 22 Sep. 2022
Kommentiert: MAWE am 23 Sep. 2022
I have this signal
r = x.*cos(2*pi*f1.*t) + i.*cos(2*pi*f2.*t) + n
where x and i are BPSK symbols {+1,-1} and n is additive Gaussian noise.
When I find the positive part of the PSD using fft I was expecting to get two peaks one at f1 and one at f2. However, I get the peaks towards the hight frequency fs/2 where fs is the sampling rate. Why is this happening?
EDIT: See figure
I = imread('PSD_test.png');
imshow(I)
EDIT: I calculate the PSD from fft like so
N=length(r);
Unrecognized function or variable 'r'.
rFFT = fft(r,N);
prr = 2.*abs(rFFT).^2/(fs*N);
  5 Kommentare
MAWE
MAWE am 22 Sep. 2022
@Paul The actual code is involved. I just tried to put the gest to understand why I get unexpected behavior. Do I need to shift the frequencies of the fft by fftshift, for example? I did that but didn't work
MAWE
MAWE am 22 Sep. 2022
@Paul I edited the questions to explain how I calculated the PSD from fft.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Bjorn Gustavsson
Bjorn Gustavsson am 22 Sep. 2022
In the field (IS-radar) I work we have typical carrier-frequencies of 224-1000 MHz and the modulation band-width is a couple of MHz. Here you try to use BPSK with baud-lengths of 16 samples - which corresponds to a really high frequency. To my understanding you don't have a large ferquency-span between the modulation-frequency and the Nyquist-frequency. Does the signal look sensible if you plot it for a time-period of a couple of bits.
  5 Kommentare
MAWE
MAWE am 23 Sep. 2022
It looks the attached image
MAWE
MAWE am 23 Sep. 2022
@Bjorn Gustavsson Also, the bandwidth of the signal is 500 MHz

Melden Sie sich an, um zu kommentieren.

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by