channel.m

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

M
38
字号
function H=Channel(Multipath,Tx,Rx,CHANNEL_flag, CORRE_CHANNEL)
%信道生成
switch CHANNEL_flag
    case 1
        H(:,:,1)=fft(eye(Tx));
    case 2
        H(:,:,1)=(randn(Rx,Tx)+1i*randn(Rx,Tx))*sqrt(1/2);   %平衰落信道
    case 3
        sum=0;
        for i=1:Multipath
            a(i)=exp(-(i-1)*4/(Multipath-1));
            sum=sum+a(i);
        end
        for i=1:Multipath
            a(i)=a(i)/sum;
        end
        for i=1:Multipath
            H(:,:,i)=sqrt(a(i))*(randn(Rx,Tx)+1i*randn(Rx,Tx))*sqrt(1/2);       
        end  
end

if CORRE_CHANNEL~=0
    Rr=eye(2);
    Rt=[1, CORRE_CHANNEL ; CORRE_CHANNEL', 1];
    switch CHANNEL_flag
        case 1
            H(:,:,1) = Rr^0.5 * H(:,:,1) * Rt^0.5;
        case 2
            H(:,:,1) =  Rr^0.5 * H(:,:,1) * Rt^0.5;
        case 3
            for i=1:Multipath
                H(:,:,i) =   Rr^0.5 * H(:,:,i) * Rt^0.5;      
            end   
    end
end


    

⌨️ 快捷键说明

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