⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tr_uwb.m

📁 这是一个较为完整的tr方式uwb接收机的M文件
💻 M
字号:
%-----------------------------------------------------------------------
%generate channel impulse response
h = uwb_imr(1,1);
% h = h(1:100);


%-----------------------------------------------------------------------
%for ber coputation
err_bit=[];
ber=[];

%-----------------------------------------------------------------------
%-----------------------------------------------------------------------
%-----------------------------------------------------------------------
%changing parameters
for s=1:51
    %-----------------------------------------------------------------------
    %basic settings
    s
%     sample_time = 1e-10;
%     Ns = 6; %Ts/Tf
%     nTp = 10;
%     nTd = 50;
%     nTf = 120;
%     nTs = Ns*nTf;
      nTi = 9+s;
%     snr = 10;
%     data_length = 1000; % n bit
%     ciculation_time = 30; % total bit = data_length*ciculation_time
% 
%     Tp = nTp*sample_time; % pulse duration
%     Td = nTd*sample_time; % inter-pulse delay between reference pulse and data pulse
%     Tf = nTf*sample_time; % frame-time:  one pulse pair in each Tf.
%     Ts = nTs*sample_time; % symbol duration
%     Ti = nTi*sample_time; % integral duration
    
    %-----------------------------------------------------------------------
    %generate reference and data pulse in a symbol
%     [reference,data] = tr_pulse_train(sample_time,nTp,nTd,nTf,Ns);
    
    %-----------------------------------------------------------------------
    %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
    
    
    %-----------------------------------------------------------------------  
    %----------------------------------------------------------------------- 
    %----------------------------------------------------------------------- 
    %caculate more bit
    for m=1:ciculation_time
    
        %-----------------------------------------------------------------------    
        %random binary source
%         source = randsrc(1,data_length);

        %-----------------------------------------------------------------------
        %generate transmitted signal
%         tx_r = [];
%         tx_d = [];
%         for i=1:data_length %n bit
%             tx_r = [tx_r ; reference];
%             tx_d = [tx_d ; source(i)*data ]; %modulation
%         end
%         tx = tx_r + tx_d; %n bit

        %-----------------------------------------------------------------------
        %generate received signal
%         rx_without_noise = conv(tx,h);
%         rx = awgn(rx_without_noise,snr);

        %-----------------------------------------------------------------------
        %rx and tx is of same size
%         rx = rx(1:length(tx));
%         rx = reshape(rx,nTs,data_length);

        %-----------------------------------------------------------------------
        %seperate reference and data pulses
        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;
        err_bit(m) = data_length-sum(de==source); % number of bit error
    end
    %----------------------------------------------------------------------- 
    %----------------------------------------------------------------------- 
    %-----------------------------------------------------------------------
    
    ber(s)= sum(err_bit)/(ciculation_time*data_length);
end
%-----------------------------------------------------------------------
%-----------------------------------------------------------------------
%-----------------------------------------------------------------------

⌨️ 快捷键说明

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