声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1608|回复: 2

[FFT] 分析电能谐波

[复制链接]
发表于 2008-5-17 11:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我要做将采集到的交流电信号通过FFT在分析其谐波
数据采集都是通过VB完成的 但是要FFT我觉得直接用VB很复杂 所以想调用matlab处理 然后在调回vb画图 但是这里面调来调去 我不会 找了半天也没找到相关的帖子
不知道各位大侠谁知道?后者有更好的方法?
谢谢

[ 本帖最后由 zhangnan3509 于 2008-5-21 13:02 编辑 ]
回复
分享到:

使用道具 举报

发表于 2008-5-21 12:44 | 显示全部楼层

交流电谐波分析

你可以取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

查看全部评分

 楼主| 发表于 2008-6-16 17:48 | 显示全部楼层
太感谢了 终于明白了:lol
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-25 19:35 , Processed in 0.053458 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表