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

📄 fankui.m

📁 此为频偏校正程序,通过TD_GG算法得到的频偏值还存在几赫兹的残余频偏
💻 M
字号:
function [p1]=fankui(save)
global input
T=1/270833;
A=[3*pi/4 pi pi/4 pi/2 -pi/4 -pi/2 -3*pi/4 0];
a4=[0 0 0;0 0 1;0 1 1;0 1 0;1 1 0;1 0 0;1 0 1;1 1 1];
downsampled_equalizer_output = save;
t=0:T:(length(downsampled_equalizer_output)-1)*T;
downsampled_equalizer_output=downsampled_equalizer_output.*exp(-j*2*pi*25*t);%%%%%%%%%%%%%%%%%%%%%%%%%adjust step
I5=real(downsampled_equalizer_output);
Q5=imag( downsampled_equalizer_output);
N2=length( downsampled_equalizer_output);
[I6,Q6,theta1]=xiang_wei(I5,Q5,N2);
theta=theta1
downsampled_equalizer_output=I6+j*Q6;
downsampled_equalizer_output=downsampled_equalizer_output(6:length(downsampled_equalizer_output));
figure(4);
plot(downsampled_equalizer_output,'.');
 x=real(downsampled_equalizer_output);
 y=imag(downsampled_equalizer_output);
for i=1:length(downsampled_equalizer_output);
    theta2(i)=atan2(y(i),x(i));
    theta3(i)=theta2(i)-(i)*3*pi/8;
end

x2=exp(j*theta3);
x_judge=real(x2);
y_judge=imag(x2);



for i=1:length(x2)
      phase1(i)=atan2(y_judge(i),x_judge(i));
  end
  %%%%%%%%%%%%%5
figure(5);
plot(exp(j*phase1),'.');
%plot(exp(j*phase1));
  edge_ma_liu1=[];
for i=1:8
    ss(i,:)=[cos(A(i)) sin(A(i))];
end
for i=1:length(phase1)
    r(i,:)=[cos(phase1(i)) sin(phase1(i))];
end

std= 0;
for k=1:length(phase1)
    for i=1:8
        cc(i)=dot(r(k,:),ss(i,:));
    end
    cc_max=max(cc);
    if(cc_max==cc(1))
        edge_ma_liu1=[edge_ma_liu1 a4(1,:)];
        std = sqrt( (r(k,1)-ss(1,1))^2 + (r(k,2)-ss(1,2))^2 ) + std;
    elseif(cc_max==cc(2))
        edge_ma_liu1=[edge_ma_liu1 a4(2,:)];
        std = sqrt( (r(k,1)-ss(2,1))^2 + (r(k,2)-ss(2,2))^2 ) + std;
    elseif(cc_max==cc(3))
        edge_ma_liu1=[edge_ma_liu1 a4(3,:)];
        std = sqrt( (r(k,1)-ss(3,1))^2 + (r(k,2)-ss(3,2))^2 ) + std;
    elseif(cc_max==cc(4))
        edge_ma_liu1=[edge_ma_liu1 a4(4,:)];
        std = sqrt( (r(k,1)-ss(4,1))^2 + (r(k,2)-ss(4,1))^2 ) + std;
    elseif(cc_max==cc(5))
        edge_ma_liu1=[edge_ma_liu1 a4(5,:)];
        std = sqrt( (r(k,1)-ss(5,1))^2 + (r(k,2)-ss(5,2))^2 ) + std;
    elseif(cc_max==cc(6))
        edge_ma_liu1=[edge_ma_liu1 a4(6,:)];
        std = sqrt( (r(k,1)-ss(6,1))^2 + (r(k,2)-ss(6,2))^2 ) + std;
    elseif(cc_max==cc(7))
        edge_ma_liu1=[edge_ma_liu1 a4(7,:)];
         std = sqrt( (r(k,1)-ss(7,1))^2 + (r(k,2)-ss(7,2))^2 ) + std;
    elseif(cc_max==cc(8))
        edge_ma_liu1=[edge_ma_liu1 a4(8,:)];
        std = sqrt( (r(k,1)-ss(8,1))^2 + (r(k,2)-ss(8,2))^2 ) + std;
    end
end
std 
m_std =std/length(phase1)
if (m_std > 0.4)
end
   %%probility:
ps1=0;
for n=1:length(edge_ma_liu1)
    if( input(n)==edge_ma_liu1(n))
        continue;
    else
           ps1=ps1+1;
       end
   end
p1=ps1/length(edge_ma_liu1) 
return

⌨️ 快捷键说明

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