在简单信号中添加噪声
Adding noise in simple signal
我正在尝试在我的信号中添加相位噪声并在频域中分析结果。但是,我没有得到所需的输出。谁能告诉我我犯了什么错误?由于我正在应用相位噪声,因此具有相位噪声的信号在频域中应该比原始信号更宽。
sig = cos(2*pi*30*t); %%%% original signal
sig_fft = fft(sig);
figure,plot(abs(sig_fft));
sig2 = sig + 2*awgn(1,length(t)); %%%%% adding phase noise
sig2_fft = fft(sig2);
figure,plot(abs(sig2_fft));
要添加相位噪声,您应该将噪声添加到信号的相位而不是完整生成的信号:
sig = cos(2*pi*30*t); % original signal
sig2 = cos(2*pi*30*t + sigma*randn(1,length(t))); % signal with phase noise
其中 sigma
是相位噪声的标准偏差(sigma
越大,添加的噪声越多)。
感谢您的回答。此外,我也可以将其用于振幅噪声,对吗?
A = sigma*randn(1,lenth(t)); %% amplitude noise
sig = cos(2*pi*30*t); % original signal
sig2 = A*cos(2*pi*30*t + sigma*randn(1,length(t))); %signal with phase & amplitude noise
我正在尝试在我的信号中添加相位噪声并在频域中分析结果。但是,我没有得到所需的输出。谁能告诉我我犯了什么错误?由于我正在应用相位噪声,因此具有相位噪声的信号在频域中应该比原始信号更宽。
sig = cos(2*pi*30*t); %%%% original signal
sig_fft = fft(sig);
figure,plot(abs(sig_fft));
sig2 = sig + 2*awgn(1,length(t)); %%%%% adding phase noise
sig2_fft = fft(sig2);
figure,plot(abs(sig2_fft));
要添加相位噪声,您应该将噪声添加到信号的相位而不是完整生成的信号:
sig = cos(2*pi*30*t); % original signal
sig2 = cos(2*pi*30*t + sigma*randn(1,length(t))); % signal with phase noise
其中 sigma
是相位噪声的标准偏差(sigma
越大,添加的噪声越多)。
感谢您的回答。此外,我也可以将其用于振幅噪声,对吗?
A = sigma*randn(1,lenth(t)); %% amplitude noise
sig = cos(2*pi*30*t); % original signal
sig2 = A*cos(2*pi*30*t + sigma*randn(1,length(t))); %signal with phase & amplitude noise