📄 flat_channel.asv
字号:
function channel_output = flat_channel(Rx_n, channel_input)
% Tx_n : the Tx antenna number
% Rx_n : the Rx antenna number
% channel_input :the size is [Tx_n , frame_length]
% channel_output:the size is[Rx_n,frame_length )
%channel:slow flat fading--rayleigh distribute
%------------------------------------------------------------
%rayleigh
% channel for transmit antenna--->receive antenna
for 1:Rx_n
for 1:Tx_n
RANDN('state',sum(100*clock));%reset randn
x = randn(1);
y = randn(1);
alpha = sqrt(x^2+y^2); %rayleigh distributed
theta = 2*pi*rand(1); %united distributed
H(Rx_n,Tx_n = alpha11*exp(j*theta11);
%channel for transmit antenna 2--->receive antenna 1
x = randn(1);
y = randn(1);
alpha12 = sqrt(x^2+y^2); %rayleigh distributed
theta12 = 2*pi*rand(1); %united distributed
h12 = alpha12*exp(j*theta12);
%channel for transmit antenna 1--->receive antenna 2
x = randn(1);
y = randn(1);
alpha21 = sqrt(x^2+y^2); %rayleigh distributed
theta21 = 2*pi*rand(1); %united distributed
h21 = alpha21*exp(j*theta21);
%channel for transmit antenna 2--->receive antenna 2
x = randn(1);
y = randn(1);
alpha22 = sqrt(x^2+y^2); %rayleigh distributed
theta22 = 2*pi*rand(1); %united distributed
h22 = alpha22*exp(j*theta22);
%awgn
n0 = 1/snr; % noise variance
n1 = sqrt(n0/2) * randn(1,frame_length/2) + ...
j * sqrt(n0/2) * randn(1,frame_length/2) ;
received1 = h11*trans1 + h12*trans2 + sqrt(2)*n1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -