frequency estimation.m

来自「QPSK开环载波同步技术研究 频偏估计算法」· M 代码 · 共 48 行

M
48
字号
clear all;
delta_fc=200;    %frequency offset
N=1000;          
M=4;
Ts=1/1000;       %Bit time
Td=Ts/2;          
for m=1:100;
    for i=1:N;
        [x,x1,x2]=psk_gen(M);
        t=((i-1)*Ts)/4:Ts/4:(i-1)*Ts/4+3*Ts/4;
        [I,Q]=add_f(x,delta_fc,t);
        Ii(i*4-3:i*4)=I;
        Qi(i*4-3:i*4)=Q;
    end
    l=length(Ii);
    p1=Ii(1:l-2);p2=Ii(3:l);
    q1=Qi(1:l-2);q2=Qi(3:l);
    for i=1:l-2;
        Y(i)=p1(i)*q2(i)-q1(i)*p2(i);
        X(i)=p1(i)*p2(i)+q1(i)*q2(i);
    end
    Y1=mean(Y);
    X1=mean(X);
    Z1=Y1/X1;
    delta_f(m)=atan(Z1)/Td/(2*pi);
end
E=mean(delta_f)
%子程序psk_gen.m
function [x,x1,x2]=psk_gen(M)
temp=rand;  
dsource=1+floor(M*temp);  
   map=[0:M-1].*2*pi/M;
   psk_sig=map(dsource);
   x1=cos(psk_sig);
   x1=round(x1);
   x2=sin(psk_sig);
   x2=round(x2);
  x=x1+j*x2;
  return
%子程序add_f.m
function [I,Q]=add_f(x,delta_fc,t)
x1=real(x);
x2=imag(x);
R=(x1+j*x2)*exp(j*2*pi*delta_fc*t);
I=real(R);
Q=imag(R);
return

⌨️ 快捷键说明

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