insert_pilot.m

来自「本代码是基于OFDM系统的一种转换域估计算法」· M 代码 · 共 36 行

M
36
字号
function [output,count,pilot_seq,pilot_inter]=insert_pilot(pilot_symbol_bit,map_out_block,pilot_type,mod_type)

% pilot_inter为导频符号间隔,以ofdm符号个数的形式给出,为整数。间隔越大估计误差越大
% pilot_symbol_bit 采用常数导频符号,这里给出它的二进制形式
% map_out_block 映射后的一次仿真所包含的符号块
  
   switch pilot_type
       case 1
          %pilot_symbol=qpsk4(pilot_symbol_bit);     
          pilot_symbol = baseMapping(pilot_symbol_bit,mod_type);  %导频复符号
          [N,NL]=size(map_out_block);
          pilot_inter=5;
          output=zeros(N,(NL+fix(NL/pilot_inter)));
          pilot_seq=pilot_symbol*ones(N,1);

          count=0;%记录插入导频信号的次数
          i=1;
          while i<(NL+fix(NL/pilot_inter))%每隔pilot_inter个符号插入一个导频序列
              output(:,i)=pilot_seq;
              count=count+1;
              if count*pilot_inter<=NL
                    output(:,(i+1):(i+pilot_inter))=map_out_block(:,((count-1)*pilot_inter+1):count*pilot_inter);
              else
                    output(:,(i+1):(i+pilot_inter+NL-count*pilot_inter))=map_out_block(:,((count-1)*pilot_inter+1):NL);
              end
              i=i+pilot_inter+1;
          end
      
        case  2
        
       otherwise
           error('There is a unsupported pilot insert Type'); 
   end 
 

          

⌨️ 快捷键说明

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