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

David Sanchez
David Sanchez 2015년 7월 27일

0 개 추천

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

Kutru biladi
Kutru biladi 2015년 7월 27일
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.
Kutru biladi
Kutru biladi 2015년 7월 27일
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.
Kutru biladi
Kutru biladi 2015년 7월 27일
Hey, ok got it. However, what is A_p here?
Kutru biladi
Kutru biladi 2015년 7월 27일
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에 대해 자세히 알아보기

질문:

2015년 7월 27일

댓글:

2015년 7월 27일

Community Treasure Hunt

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

Start Hunting!

Translated by