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

📄 sym_timing.m

📁 程序里面包含各部分算法仿真 可供参考和使用
💻 M
字号:
function [timed_sym , err_sym_timing] = sym_timing( coarse_freq_out ,N_subc, PrefixRatio, N_sym ,...
    N_syn_preamble,syn_preamble,Window2,TimingAhead, N_Rx_ant,Timing,AddChFreq)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 和已知的序列求相关, 得到符号定时位置
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

if ~AddChFreq
    N_sample_ofdm = N_subc*(1+PrefixRatio);
    if Timing
        % 得到第2个OFDM符号的时域样点值
        training_timing = syn_preamble( 1 ,N_sample_ofdm  + 1 : N_sample_ofdm + Window2 );
        
        for ant = 1: N_Rx_ant
            recv_tmp = coarse_freq_out(:,:,ant);
            % 搜索第二个OFDM符号, 开始搜索的位置是N_sample_ofdm*3/4, 结束搜索的位置N_sample_ofdm*5/4  
            cnt = 1;
            start_sample = N_sample_ofdm*3/4;
            end_sample = N_sample_ofdm*5/4;
            for start_idx = start_sample:end_sample      
                correlation(cnt) = sum( (recv_tmp(start_idx : start_idx + Window2 - 1).*conj(training_timing)) );
                cnt = cnt + 1;
            end    
            %[max_value, max_idx] = max(correlation); 
            m_idx = find(abs(correlation) > 0.5*max(abs(correlation)));
            max_idx = m_idx(1);
            % plot(abs(correlation));
            timing_idx = max_idx + start_sample - 1;    % 最佳定时值: N_sample_ofdm + 1
            idx_cnt(ant) = timing_idx - TimingAhead;         
        end
        
        % 计算得到多条天线的加权定时位置
        idx = sum(idx_cnt)/N_Rx_ant;
        % 定时截取
        timed_sym = coarse_freq_out( 1, idx + N_sample_ofdm*(N_syn_preamble-1) : idx + N_sample_ofdm*(N_sym-1) - 1, :);
        % 计算定时误差的样点数
        err_sym_timing = (N_sample_ofdm + 1) - idx ;
    else
        timed_sym = coarse_freq_out( 1, N_sample_ofdm*N_syn_preamble + 1 : N_sample_ofdm*N_sym  , :);
        err_sym_timing = 0;
    end
else
    timed_sym = NaN;
    err_sym_timing = NaN;
end

⌨️ 快捷键说明

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