fin_freq_offset_estimate.m

来自「一个在matlab环境下的DAB仿真程序源码。内含ofdm收发」· M 代码 · 共 58 行

M
58
字号

function [fin_freq,fin_phase_ACC]=fin_freq_offset_estimate(symnum,N,L,k,coarse_path_correct,phase_reference) 


% front_phase_temp=2*pi*0.32*k*symnum*(N+L)/N;



temp=coarse_path_correct.*conj(phase_reference);
 corr_angle=angle(temp);

% for m=1:256;
%     if(corr_angle_temp(m))< 0;
%         corr_angle=corr_angle_temp*(-2);
%     elseif (corr_angle_temp(m))> 0;
%             corr_angle=corr_angle_temp*2;
%     else
%             
%             corr_angle=corr_angle_temp;
%      end;
%         
%         
% end;
% 
sum_temp=N*(corr_angle./(k*symnum*(N+L)+L:k*symnum*(N+L)+L+N-1))/(2*pi);

% corr_angle=angle(temp);


% corr_angle_delay=corr_angle(1:255);

% diff_angle=(corr_angle(2:256)-corr_angle_delay)/2/pi*N;

% sum_temp=sum(diff_angle)/(N-1);

fin_phase_ACC=sum(sum_temp)*(2*pi)/(N);

% fin_freq=sum_temp;


%     sum_temp1=sum_temp(1,[1:64]);
%     sum_temp2=[];
%     sum_temp3=sum_temp(1,[1986:2048]);
    
    sum_temp1=sum_temp(1,[1:8]);
    sum_temp2=[];
    sum_temp3=sum_temp(1,[250:256]);
 for i=1:15;   
     
     k=2*i-1;
 
     
%      sum_temp2=[sum_temp2 sum_temp(1,[64*k+2:64*k+2+126])];

sum_temp2=[sum_temp2 sum_temp(1,[8*k+2:8*k+2+14])];
 end;
 
 fin_freq=mean([sum_temp1 sum_temp3 sum_temp2]);

⌨️ 快捷键说明

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