%%************************【频带干扰输出参数函数】****************************%% %%=============================参数说明===================================%% % J 检测出来的干扰点集合 % data 频域数据 % fs 采样频率 % NFFT FFT点数 % Power_band 频带干扰功率 % f_wide 频带干扰带宽 % f_start频带起始频率 % f_end频带截止频率 % Num_band 频带干扰个数 %%========================================================================%% function [Num_band,f_start,f_end,f_wide,Power_band] = Band_Parameter(data,J,fs,NFFT) J = sort(J,'ascend')-1; len_J = length(J); f_start = []; f_end = []; c1=1; band = cell(0,0); while c1 < len_J c2 = 0; while (c1 + c2 + 1 <= len_J && J(c1) + c2 + 1==J(c1 + c2 + 1)) c2 = c2 + 1; end if(c2 > 2) band = [band;(J(c1:1:c1+c2))]; %%连续点超过3,记为频带干扰 end c1 = c1 + c2 +1; end for k = 1 : numel(band) f_start(k) = band{k}(1)*fs/NFFT/10^6; f_end(k) = band{k}(end)*fs/NFFT/10^6; Power_band(k) = 2*sum(abs(data(band{k}(1:end)+1)).^2)/NFFT^2; end f_wide = sum(abs(f_end - f_start)); Num_band = length(f_end); end