MATLAB Answers

0

Adding phase noise in simple signal

Asked by Kutru biladi on 27 Jul 2015
Latest activity Commented on by Kutru biladi on 27 Jul 2015
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

  0 Comments

Sign in to comment.

1 Answer

Answer by 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

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.