Clear Filters
Clear Filters

Unequal side bands with a pure PM/FM signal using FFT

2 views (last 30 days)
I have not used the FFT function in a long while, but when I tried to use the example code fromthe Help documentation, I ran into theoretical difficulties with the displayed spectrum. I have a pure PM signal input to the built-in FFT function, but it shows unequal side bands around the carrier. In my code below, I am using a 2 GHz carrier, 10 G Samples/sec samplling, with 21 MHz PM sinusoid. What am I missing?
Fs = 10e9; % Sampling frequency
T = 1/Fs; % Sample time
L = 100000; % Length of signal
t = (0:L-1)*T; % Time vector
% Sum of a 50 Hz sinusoid and a 120 Hz sinusoid
x = 10*sin((2*pi*2e9*t) + 0.3*sin(2*pi*21e6*t));
y = x;
plot(Fs*t(1:500),y(1:500))
title('Signal Corrupted with Zero-Mean Random Noise')
xlabel('time (picoseconds)')
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y = fft(y,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
% Plot single-sided amplitude spectrum.
figure()
plot(f,2*abs(Y(1:NFFT/2+1)))
title('Single-Sided Amplitude Spectrum of y(t)')
xlabel('Frequency (Hz)')
ylabel('|Y(f)|')

Answers (0)

Categories

Find more on Fourier Analysis and Filtering in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!