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

回答(1 个)

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 个评论

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));

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Signal Radiation, Collection, and Reflection 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by