tu1-9-1.m

来自「我自己在学习空时编码一书时编写的第一章的仿真程序」· M 代码 · 共 30 行

M
30
字号
SNR_dB=25;
SNR=10.^(SNR_dB./10);
for n_R=[1, 2]
    P=1;
    sigma2=P./SNR;
    n_T=1:1:20;
    for s=1:length(n_T)
        for simutimes=1:10000
            H=(randn(n_R, n_T(s))+j*randn(n_R, n_T(s)))./sqrt(2);
            lamda=real(eig(H*H'));
            mu=1/n_R;
            for kk=1:100
                Pi=max(mu-sigma2./(lamda+0.00001), 0);
                Psum=sum(real(Pi));
                if (Psum>1)
                    break;
                else
                    mu=mu+0.01;
                end
            end
            %mu jinsi
            Pri=max(lamda.*mu-sigma2, 0);%eq1-33
            C(simutimes)=sum(log2(1+Pri./sigma2));%eq1-34
        end
        Cmean(s)=mean(C);
    end
    plot(n_T, Cmean);
    hold on;axis([1 20 5 24]);
    grid on;
end

⌨️ 快捷键说明

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