MATLAB编程中关于ADC的FFT频谱中查找谐波频率和功率分量的问题

已经对ADC的输出数据做了FFT变换,但以下代码不明白其意思(代码为matlable语句),请解释下以下非注释项的意思,谢谢!

%find harmonic freq and power components in the FFT spectrum 
for har_num=1:10
%input tones greater than fSAMPLE are aliased back into the spectrum 
tone=rem((har_num*(fin-1)+1)/N,1); 
if tone>0.5 
%input tones greater than 0.5*fSAMPLE(after aliasing) are reflected 
tone=1-tone; 
end 
Fh=[Fh tone]; 
%for this procedure to work,ensure the folded back high order harmonics 
%do not overlap 
%with DC or signal or lower order harmonics 
fprintf('tone*N=%gdB ',round(tone*N));
if round(tone*N)>spanh 
    har_peak=max(spectP(round(tone*N)-spanh:round(tone*N)+spanh));
    har_bin=find(spectP(round(tone*N)-spanh:round(tone*N)+spanh)==har_peak);
elseif spanh<round(tone*N)
    har_peak=max(spectP(spanh-round(tone*N):round(tone*N)+spanh)); 
    har_bin=find(spectP(spanh-round(tone*N):round(tone*N)+spanh)==har_peak);
else
    har_bin=spanh;
end
har_bin=har_bin+round(tone*N)-spanh-1; %har_peak替换了tone 0702
if har_bin>1
    Ph=[Ph sum(spectP(har_bin-1:har_bin+1))]; 
elseif har_bin==1
    Ph=[Ph sum(spectP(1:har_bin+1))];
else
    Ph=[Ph sum(spectP(1))];
end
if har_num==1
    fprintf('har_bin=%g \n',har_bin);
end
end