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

📄 dingshi_modify.m

📁 此为频偏校正程序,通过TD_GG算法得到的频偏值还存在几赫兹的残余频偏
💻 M
字号:
function [I4,Q4,terror1,c_11]=dingshi_modify(I3,Q3,N2)
%%%%%%%%  N2是整个采样后的比特数=4倍的符号数---本程序%%%%%%%%%%%%%
Xm=0;
xm=[];
xk=[];
r1=4;
%r=4;
N1=N2/4;
%r=2;

  index=1;
for n=1:N2
    xk(n)=I3(n).*I3(n)+Q3(n).*Q3(n);
    xm(n)=xk(n).*exp(-j*2*(n-1)*pi/r1);
    Xm=Xm+xm(n);
end
terror1=(-atan2(imag(Xm),real(Xm)))/2/pi;
%if(terror1<0)
 %   terror1=-terror1;
 %end
%terror1=0.3425;
m(1)=round(terror1);
u(1)=terror1-m(1);
%%%%%%%%%%%%%??????????最后程序运行时看看terror是否<0  我在这里先按照>0处理?????????%%%%%%%%%%%%%%%%%
   a00=0.58068;
   a01=-0.09894;
   a10=-0.5;
   a11=0;
   a20=-0.08068;
   a21=0.09894;

    b31=0.00456;
    b21=0.09714;
    b11=-0.00456;
    b01=-0.09714;
    b30=0.02367;
    b20=-0.08878;
    b10=-0.52367;
    b00=0.58878;
  %%%%%%%%5
  %c_2=0.43*u(1)*u(1)-0.43*u(1);
  %c_1=-0.43*u(1)*u(1)+(0.43+1)*u(1);
  %c_0=-0.43*u(1)*u(1)+(0.43-1)*u(1)+1;
  %c_11=0.43*u(1)*u(1)-0.43*u(1);
  
  % c_2 = a21*u(1)^2-a11*u(1)+a01;
  % c_1 = a20*u(1)^2-a10*u(1)+a00;
  % c_0 = a20*u(1)^2+a10*u(1)+a00;
  % c_11 = a21*u(1)^2-a11*u(1)+a01;
  % cubic interpolator :
  c_2 = 1/6*u(1)^3-1/6*u(1);
  c_1 = -1/2*u(1)^3+1/2*u(1)^2+u(1);
  c_0 = 1/2*u(1)^3-u(1)^2-1/2*u(1)+1;
  c_11 = -1/6*u(1)^3+1/2*u(1)^2-1/3*u(1);
  % % new interpolate
  %c_2 = -b31*u(1)^3+b21*u(1)^2-b11*u(1)+b01;
  %c_1 = -b30*u(1)^3+b20*u(1)^2-b10*u(1)+b00;
  %c_0 = b30*u(1)^3+b20*u(1)^2+b10*u(1)+b00;
  %c_11 = b31*u(1)^3+b21*u(1)^2+b11*u(1)+b01;
  %%%%%%%%%%%%%%%%%%
  I4(1)=c_2*I3(m(1)+2+2)+c_1*I3(m(1)+1+2)+c_0*I3(m(1)+2)+c_11*I3(m(1)-1+2);
  Q4(1)=c_2*Q3(m(1)+2+2)+c_1*Q3(m(1)+1+2)+c_0*Q3(m(1)+2)+c_11*Q3(m(1)-1+2);
  for n=2:N1  %%%%%%%%%四个点一组当中寻找最佳判决点,N2=4*N1;因为四个点为一个符号%%%%%%%%%%%%%%%

      if (m(1)+2+2+4*index>N2)
          break
      else
          I4(n)=c_2*I3(m(1)+2+2+4*index)+c_1*I3(m(1)+1+2+4*index)+c_0*I3(m(1)+2+4*index)+c_11*I3(m(1)-1+2+4*index);
          Q4(n)=c_2*Q3(m(1)+2+2+4*index)+c_1*Q3(m(1)+1+2+4*index)+c_0*Q3(m(1)+2+4*index)+c_11*Q3(m(1)-1+2+4*index);
          index=index+1;

      end
  end
     
 return

⌨️ 快捷键说明

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