?? signal_noise_real.m
字號:
%產生實余弦信號signal與高斯噪聲noise的函數
function [signal_real,noise_gauss_complex]=signal_noise_real(antenna_number,signal_number,samplepoint_number,SNR,signal_frequency,sample_frequency)
%生成高斯噪聲
sigma_noise=1;
noise=normrnd(0,sigma_noise,antenna_number,samplepoint_number);
%產生復正弦連續波信號signal
signal_amplitude=sigma_noise*10.^(SNR/20);
% 采用兩個正弦信號源, s1(t)=A1*sin(2*pi*f0*t+Φ1) f0=6GHz,Φ1=6?
% s2(t)=A2*sin(2*pi*f0*t+Φ2)
% 取相關系數時,Φ1保持不變,使Φ2變化
% ρ=【0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.95 0.96 0.97 0.98 0.99 1】
% 與Φ1相對應的Φ2的值變化為Φ2=【95.8 90.1 84.3 78.3 72.2 65.8 59 51.4 42.7 31.8 24.1 22.2 20 17.5 14.1 6】
% 采用兩個余弦信號源, s1(t)=A1*cos(2*pi*f0*t+Φ1) f0=6GHz,Φ1=6?
% s2(t)=A2*cos(2*pi*f0*t+Φ2)
% 取相關系數時,Φ1保持不變,使Φ2變化
% ρ=【0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.95 0.96 0.97 0.98 0.99 1】
% 與Φ1相對應的Φ2的值變化為Φ2=【96 90.5 84.7 78.7 72.7 66.2 59.3 51.7 43 31.9 24.2 22.3 20 17.5 14 6】
signal_initialphase=[6 186 95.8 -174 42.7]*pi/180;
for row_2=1:signal_number;
for column_2=1:samplepoint_number;
signal_phase(row_2)=2*pi*signal_frequency*column_2/sample_frequency+signal_initialphase(row_2);
signal_complex(row_2,column_2)=signal_amplitude(row_2)*exp(j*signal_phase(row_2));
signal_real(row_2,column_2)=sqrt(2)*signal_amplitude(row_2)*imag(exp(j*signal_phase(row_2)));
end;
end;
% %產生復高斯信號源signal與高斯噪聲noise的函數
% %生成復高斯型信號源
% sigma_signal=sigma_noise*10.^(SNR/20);
% for row_signal=1:signal_number
% for column_signal=1:samplepoint_number;
% p1=rand(1,1);
% p2=rand(1,1);
% signal_gauss_real(row_signal,column_signal)=sqrt(-2*sigma_signal(row_signal)^2*log(p1))*cos(2*pi*p2);
% signal_gauss_imag(row_signal,column_signal)=sqrt(-2*sigma_signal(row_signal)^2*log(p1))*sin(2*pi*p2);
% signal_gauss(row_signal,column_signal)=signal_gauss_real(row_signal,column_signal)+j*signal_gauss_imag(row_signal,column_signal);
% end
% end
%產生復高斯噪聲noise的函數
noise=normrnd(0,sigma_noise,antenna_number,samplepoint_number);
%生成復高斯型噪聲
for noise_row=1:antenna_number
for noise_column=1:samplepoint_number;
p1=rand(1,1);
p2=rand(1,1);
noise_gauss_real(noise_row,noise_column)=sigma_noise*sqrt(-2*log(p1))*cos(2*pi*p2);
noise_gauss_imag(noise_row,noise_column)=sigma_noise*sqrt(-2*log(p1))*sin(2*pi*p2);
noise_gauss_complex(noise_row,noise_column)=(noise_gauss_real(noise_row,noise_column)+j*noise_gauss_imag(noise_row,noise_column))/sqrt(2);
end
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -