IEEEStd 105正弦関数パラメータ適合matlab実現

844 ワード

アルゴリズムの詳細はIEEEStd 105ドキュメントを参照し、キーワードの反復は最小二乗である.
matlab実装とテストコードは以下の通りです.https://code.csdn.net/hainan89/myalgorithm/tree/master/IEEEstd1057.m)
 
  
%% IEEESTD1057           

clear;
clc;

%      
M = 2 * pi;
tn = 0 : 0.1 * pi : M;
yn = 2 * sin(tn + 0.8);


w = 1; %     
sita = 0; %     

index = 0;
while(index < 1000)
       
    yT = 1 / M * sum(yn);
    alphaT = 1 / M * sum(cos(w * tn + sita));
    alphaN = cos(w * tn + sita);
    betaN = sin(w * tn + sita);
    betaT = 1 / M * sum(betaN);
    
    R = sum( (yn - yT) .* tn .* betaN ) / sum( (yn - yT) .* alphaN ) - sum( (alphaN - alphaT) .* tn .* betaN ) / sum( (alphaN - alphaT) .* alphaN )
    S = sum( (yn - yT) .* betaN ) / sum( (yn - yT) .* alphaN ) - sum( (alphaN - alphaT