Unexpected behavior of FFT

4 views (last 30 days)
MAWE
MAWE on 22 Sep 2022
Commented: MAWE on 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 Comments
MAWE
MAWE on 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 on 22 Sep 2022
@Paul I edited the questions to explain how I calculated the PSD from fft.

Sign in to comment.

Answers (1)

Bjorn Gustavsson
Bjorn Gustavsson on 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 Comments
MAWE
MAWE on 23 Sep 2022
It looks the attached image
MAWE
MAWE on 23 Sep 2022
@Bjorn Gustavsson Also, the bandwidth of the signal is 500 MHz

Sign in to comment.

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!