資源簡介
基于MATLAB FFT的電力諧波分析,輸入時域信號采樣值,在有頻譜泄露、柵欄效應的前提下計算基波和諧波的頻率、幅度、相位。根據論文《基于加漢寧窗的FFT高精度諧波檢測改進算法》實現。函數[f_HA,A_HA,phi_HA]=harmonic_analysis(x,fs,N_HA)實現頻譜分析的功能,主函數test_FFT產生仿真采樣信號并調用頻譜分析函數,計算電力質量指標。代碼中有詳細的注釋。
代碼片段和文件信息
function?test_FFT
%信號采樣的參數
N_HA=9;%待分析的諧波個數
fs=1024;%采樣頻率,大于諧波最高頻率乘以2,至少N_HA*50*2或者N_HA*60*2
Nsample=2048;%102420484096
Nbit=12;%ADC采樣的位數取值81012
kADC=280*sqrt(2)/2^(Nbit-1);%ADC的比例系數,允許最大電壓為正負280*sqrt(2)
%電力質量數據緩存
Sizebuffer=10000;
U1buffer=zeros(1Sizebuffer);%存儲U1的緩存
f1buffer=zeros(1Sizebuffer);%存儲基波頻率的緩存
harmonic_all_buffer=zeros(1Sizebuffer);%總諧波比例
harmonic_even_buffer=zeros(1Sizebuffer);%偶次諧波比例
harmonic_odd_buffer=zeros(1Sizebuffer);%奇次諧波比例
for?i=1:Sizebuffer
????
????%用采集卡采集電壓數據
????%采樣結果放到數組x中,x的數據點數為Nsample
????%TODO:?添加從采集卡中讀取數據程序
????
????
????
????%軟件測試時用matlab產生測試數據
????%電壓信號的參數
????f1=50+randn()*0.3;%基波的頻率,5049.650.1
????%諧波(包含基波和高次諧波)的頻率、幅度有效值(V)、初始相位(角度)
????f_HA_groundtruth=f1*(1:9);
????U1=220+randn()*5;
????Uharmonic=[5.33.2291.1810.5];%諧波的幅度
????Uharmonic(1:2:end)=Uharmonic(1:2:end)*rand()*1;%偶次諧波乘以系數,*0.5?*1?*3
????Uharmonic(2:2:end)=Uharmonic(2:2:end)*rand()*1;%奇次諧波乘以系數,*0.5?*1?*3
????A_HA_groundtruth=[U1Uharmonic];
????phi_HA_groundtruth=[010983086088];%有諧波信號
????%A_HA_groundtruth=[22000000000];phi_HA_groundtruth=[000000000];%標準信號
????%生成采樣數據
????t=(0:Nsample-1)/fs;%采樣時刻數組
????x_contious=zeros(1Nsample);
????for?i_harmonic=1:numel(f_HA_groundtruth)
????????x_contious=x_contious+A_HA_groundtruth(i_harmonic)*sqrt(2)*cos(f_HA_groundtruth(i_harmonic)*2*pi*t+phi_HA_groundtruth(i_harmonic)/180*pi);
????end
????%建模ADC采樣的幅度離散化
????ADCvalue=round(x_contious/kADC);
????x=ADCvalue*kADC;
????
????
????
????%諧波分析
????[f_HAA_HAphi_HA]=harmonic_analysis(xfsN_HA);
????%比較計算結果
????%[f_HA;A_HA;phi_HA]
????%[f_HA_groundtruth;A_HA_groundtruth;phi_HA_groundtruth]
????U1buffer(i)=A_HA(1);
????f1buffer(i)=f_HA(1);
????harmonic_all_buffer(i)=norm(A_HA(2:end))/A_HA(1);
????harmonic_even_buffer(i)=norm(A_HA(2:2:end))/A_HA(1);
????harmonic_odd_buffer(i)=norm(A_HA(3:2:end))/A_HA(1);
????
????%結果分析
????figure(1)
????subplot(231)
????plot(U1buffer(1:i));
????ylabel(‘基波電壓有效值(V)‘);
????subplot(232)
????plot(f1buffer(1:i));
????ylabel(‘基波頻率(Hz)‘);
????subplot(234)
????plot(harmonic_all_buffer(1:i)*100);
????ylabel(‘總諧波比例(%)‘);
????subplot(235)
????plot(harmonic_even_buffer(1:i)*100);
????ylabel(‘偶次諧波比例(%)‘);
????subplot(236)
????plot(harmonic_odd_buffer(1:i)*100);
????ylabel(‘奇次諧波比例(%)‘);
????
????pause(0.5);%延時,使用數據采集卡時延時可以長些,模擬產生測試數據時減小延時
end
end
%電力諧波分析函數[f_HAA_HAphi_HA]=harmonic_analysis(xfsN_HA)
%根據論文基于加漢寧窗的FFT高精度諧波檢測改進算法實現。
%在中心譜線估計
評論
共有 條評論