|
交流电谐波分析
你可以取N个样点,作FFT分析
y1 = y(1:N);
win = hanning(N)';;
win1 = win/sum(win);
y11= y1.*win1;
y11_fft = fft(y11,N);
y1_amplitude = abs(y11_fft);
y1_phase = phase(y11_fft)*180/pi;
subplot(4,1,1),stem(y1_amplitude,'.');title('FFT振幅谱')
subplot(4,1,2),stem(y1_phase,'.');title('FFT相位谱')
你也可以取2N-1个样点,作全相位FFT分析,
全相位FFT分析的matlab程序如下
y2 = y(1:2*N-1);
win = hanning(N)';;
winn = conv(win,win);
win2 = winn/sum(winn);
y22= y2.*win2;
y222=y22(N:end)+[0 y22(1:N-1)];
y2_fft = fft(y222,N);
y2_amplitude = abs(y2_fft);
y2_phase = phase(y2_fft)*180/pi;
subplot(4,1,3),stem(y2_amplitude,'.');title('apFFT振幅谱')
subplot(4,1,4),stem(y2_phase,'.');title('apFFT相位谱')
比较一下
FFT测的是N个样点的第1点相位(振幅谱峰值处频率对应的相位值),有频偏时需校正(采样频率不是被测频率整数倍)
apFFT测的是2N-1个样点的中间点相位(振幅谱峰值处频率对应的相位值),有频偏时不需校正,和频偏无关
测相位谱是有用的,二路交流电同时取2N-1样点测中点相位可知其是否同频同相
上程序FFT加hanning窗, apFFT加双hanning窗;可用其它窗
无窗时,win=ones(1,N)
[ 本帖最后由 zhwang554 于 2008-5-21 16:10 编辑 ] |
评分
-
1
查看全部评分
-
|