nti_tr_uwb.asv

来自「这是一个较为完整的tr方式uwb接收机的M文件」· ASV 代码 · 共 60 行

ASV
60
字号
load tx;
ber=[];

%--------------------------------------------------------------------------
%--------------------------------------------------------------------------
%--------------------------------------------------------------------------
for i = 1:5
    snr = 5*ii - 10;    
  
    %----------------------------------------------------------------------
    %basic settings
    sample_time = 1e-10;
    Ns = 6; %Ts/Tf
    nTp = 10;
    nTd = 50;
    nTf = 120;
    nTs = Ns*nTf;
    data_length = 10000;
   
    %----------------------------------------------------------------------
    %----------------------------------------------------------------------
    for ii = 1:11   
        nTi = 3*ii + 7;

        %------------------------------------------------------------------
        for iii = 1:100
            berr = [];
            rx = awgn(tx,snr);
            rx = reshape(rx,nTs,data_length); 
        
            %--------------------------------------------------------------
            %small trick
            reference_index_select = [];
            for i=1:Ns
                reference_index_select = [reference_index_select,(i-1)*nTf+1:(i-1)*nTf+nTi];
            end

            data_index_select = [];
            for i=1:Ns
                data_index_select = [data_index_select,(i-1)*nTf+nTp+nTd+1:(i-1)*nTf+nTp+nTd+nTi];
            end

            %--------------------------------------------------------------
            %seperate reference and data pulse
            rx_reference = rx(reference_index_select,:);
            rx_data = rx(data_index_select,:);

            %--------------------------------------------------------------
            %demodulation
            de = rx_reference.*rx_data;
            de = sum(de,1);
            de = de>0;
            source = source>0;
            berr(iii) = (data_length - sum(de==source))/(data_length);              
        end
        %------------------------------------------------------------------
        
        ber(i,ii) = sum(ber)/100;
    end
end

⌨️ 快捷键说明

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