我想在matlab中实现相位噪声。谁能告诉我为什么我看不到我的频谱在频域中的扩展。请帮我out.In代码,首先我在频域中绘制了简单的信号,在我定义了两个噪声分量后,一个是同步的,第二个是累积噪声分量并添加到信号中。
fs = 200;
ts = 1/fs;
t = 0:ts:10000-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);
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发布于 2015-08-11 16:57:25
(从评论部分复制)
使噪声更大,例如,设置sigma = 1.2,您将获得噪声在整个频率范围内传播的频谱。相位噪声只是频率噪声的另一种“表示”,因此它肯定会拓宽频谱。
https://stackoverflow.com/questions/31650534
复制相似问题