maintest22.m

来自「通信blast的matlab仿真程序 (希望大家多多上传哈)」· M 代码 · 共 55 行

M
55
字号
clc;clear;

N=2;
M=2; %%  M >= N

TESTS=3000;

SNRL=0;
DSNR=3;
SNRH=15;

k=1;

tic;
for snr=SNRL:DSNR:SNRH
    noisePwr=1/(10^(snr/10));
    
    err=0;
    for test=1:TESTS
        
        x = 0.707 * ( randsrc(N,1)+j*randsrc(N,1) );
        H = 0.707 * ( randn(M,N)+j*randn(M,N) );

        v = sqrt(noisePwr/2)* ( randn(M,1)+j*randn(M,1) );
        %y = H * x *sqrt(1/N)+ v;
        y = H * x + v;
        
        dec_x = OptimalOrdering_Decoder(y,H);  %%%%%%        
        %dec_x = ML_Detect(y,H); 
        
        for n=1:N
            if(x(n) ~= dec_x(n))
                err=err+1;
            end;
        end;
        
    end; % for test
    
    SER(k) = err / (TESTS*N);
    disp(['SNR=' num2str(snr) 'dB; SER=' num2str(SER(k)) char(13)]);
    k=k+1;
       
    
end;% for snr
toc;
snr=SNRL:DSNR:SNRH;

figure(1);
semilogy(snr,SER,'.-');
xlabel('SNR(dB)');
ylabel('SER');
grid on;
hold on;

⌨️ 快捷键说明

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