Adding phase noise in simple signal

I want to implement phase noise in my signal. Can anyone tell me why i can not see spreadning of my spectrum in frequency domain. Please help me out.In code, first I have plotted simple signal in frequency domain and after i have defined two noise components, one is syncronous and second is accumulating noise components and added into the signal.
fs = 200;
ts = 1/fs;
t = 0:ts:1000-ts;
fc = 50;
S = cos(2*pi*fc*t); %%%equation 7.1 noisless
L = length(S);
nfft = L*100;
res = fft(S,nfft)/nfft; % resize into nfft nr of element % normalize the amplitude
f = fs/2*linspace(0,1,nfft/2+1);
res = res(1:nfft/2+1);
figure, plot(f,abs(res));
sigma = 0.2;
phi_sync = sigma * randn(1,length(t)); %%%%random variable with gaussian distributed
phi_acc = sigma * randn(1,length(t)); %%%%random variable with gaussian distributed
% h = 0;
for i=1:length(S)
h = phi_sync + phi_acc(i);
end
S1 = cos(2*pi*fc*t + h); %%%%signal with noise
L = length(S1);
nfft = L*100;
res = fft(S1,nfft)/nfft; % resize into nfft nr of element % normalize the amplitude
f = fs/2*linspace(0,1,nfft/2+1);
res = res(1:nfft/2+1);
figure, plot(f,abs(res))
return

Answers (1)

David Sanchez
David Sanchez on 27 Jul 2015
Hello Kutru, I do not know exactly what were you expecting to find in your plots. The difference in your plots is only the noise you added. In the figures below you can see a zooming of both plots. Obviously, the only present frequency is that of 50Hz, being the second plot much more noisy than the first one (clean plot):

5 Comments

Hi David, I want to see the broading of spectrum. Since my first signal is without noise, the signal with the noise should be more broder in comparison with clean signal. from my understanding, phase noise spreads out either side of the main wanted carrier.
I mean, the first clean signal 's length is same as the noisy signal. i am expecting noisy signal to be more wider.
In order to see the "spreading" of your main lobe (side tones), you would need to add a frequency to you noise.
In your noisy signal, S1 = cos(2*pi*fc*t + h), h should be a function of time including a frequency too:
h(t) = A_p*sin(2*pi*f2*t)
This will cause two side tones (fc +/- f2) to appear, the spreading of your main lobe.
Hey, ok got it. However, what is A_p here?
i am trying like this. However, it gives error as matrix misdimension. S1 = cos(2*pi*fc*t + h*sin(2*pi*20*t));

Sign in to comment.

Asked:

on 27 Jul 2015

Commented:

on 27 Jul 2015

Community Treasure Hunt

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

Start Hunting!