addchannel.m

来自「MIMO-OFDM系统仿真」· M 代码 · 共 42 行

M
42
字号
function Y=AddChannel(X,H,GAUSS_NOISE,SNR)
%信号通过信道

TEST=0;            %测试

[antenna_Rx,antenna_Tx,multipath_num]=size(H);
for i=1:multipath_num
    Y_Singlepath(:,:,i)=H(:,:,i)*X(:,:);
end
for i=1:multipath_num
    Z1=zeros(antenna_Rx,i-1);
    Z2=zeros(antenna_Rx,multipath_num-i);
    Y_Addpath(:,:,i)=[Z1,Y_Singlepath(:,:,i),Z2];
end
for i=1:multipath_num
    if i==1
        Y=Y_Addpath(:,:,1);
    else
        Y=Y+Y_Addpath(:,:,i);
    end
end

if GAUSS_NOISE==1
%    Y_test = Y;
%    Y=awgn(Y,SNR);
%    Noise = Y-Y_test;
     Noise=(randn(size(Y))+1i*randn(size(Y)))/(sqrt(2)*sqrt(10^(SNR/10)));
     Y=Y+Noise;
end

if TEST==1
    test_pow = 0;
    for i = 1:2
        for j = 1:160
            test_pow = test_pow + abs(Noise(i,j))^2;
        end
    end
    test_pow = test_pow/320;
end

return;
        

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?