搜索
bottom↓
回复: 36

讨论:K64,220V交流信号,AD采样 256点 FFT变换后,计算有效...

[复制链接]

出0入0汤圆

发表于 2016-10-13 16:44:41 | 显示全部楼层 |阅读模式
讨论:AC220V交流信号,AD采样  256点 FFT变换后,计算有效值,求频率,求相位角

条件:
MCU:MK64FN1M0VQ12
AC220交流电压,经2.5mA:2.5mA电压互感器,由运算放大器对信号放大后送MCU AD采样 ,AD采样为每个周波采样256个点。其中,交流信号抬高1.65v(直流分量)

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2016-10-13 16:46:40 | 显示全部楼层
以下是电路原理

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2016-10-13 16:47:32 | 显示全部楼层
AD采样的256个AD值(sample_data),调用CORTEX-M4  DSP_LIB 库 做FFT转换 FFT轮换后输出(out_data)

设想:
//对实数进行fft分析得到的都是实部和虚部的信息,就是复数信息,幅值就是实部和虚部的平方和再开根号,
//相位的话就是实部和虚部的比值,用三角函数中的sin之类的就可以求出来

status = arm_rfft_fast_init_f32(&aa,256);
if(status == ARM_MATH_SUCCESS)
arm_rfft_fast_f32(&aa,sample_data,out_data,0);  

但FFT 转换的结果 觉得不对。。。。觉得不对。。。。有这方面经验的方便进来一起讨论并指导一下吗?谢谢!

出0入0汤圆

 楼主| 发表于 2016-10-13 16:48:48 | 显示全部楼层
以下是  AD采样值sample_data(FFT数据源,1周波256个点),可以看到有明显的正弦波波形(交流电压采样AD值sample_data,并XCEL波形描述.png)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2016-10-13 16:49:34 | 显示全部楼层
以下:调用arm_rfft_fast_f32(&aa,sample_data,out_data,0);后sample_data(FFT数据源)的表现为:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2016-10-13 16:50:35 | 显示全部楼层
以下:调用arm_rfft_fast_f32(&aa,sample_data,out_data,0);后out_data(FFT后数据输出)的表现为:
觉得数据没有规律,按理由应该是 点N+实数0+虚数0  。。。。。。实数N-1 虚数N-1的排列
但是FFT转换的结果不是

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2016-10-13 16:52:26 | 显示全部楼层
为了验证正常的FFT转换后的经果,我使用了网的一个例程:
用一个正弦波产生函数,产生正弦波数据,然后进行FFT变换,

正弦波数据产生函数:
  FS = 50 * 256;//周期50HZ  采样频率为第周波256个点
for(i=0;i<256;i++)
  {
   sample_data[i] = 1*sin(2*PI*50*i/FS) + 1;
   //sample_data[i] = 2;
  }   
得到的AD正弦波数据sample_data

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2016-10-13 16:52:59 | 显示全部楼层
调用arm_rfft_fast_f32(&aa,sample_data,out_data,0);后sample_data(FFT数据源)的表现为:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2016-10-13 16:53:31 | 显示全部楼层
调用arm_rfft_fast_f32(&aa,sample_data,out_data,0);后out_data(FFT后数据输出)的表现为:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2016-10-13 16:54:28 | 显示全部楼层
可以看到用正弦函数产生的正弦波数值,经FFT后得到正常的经果。
但是 我同样的AD采样的正弦波数据 为什么结果 就不一样呢?问题是出在哪里?
还有接下来的FFT变换后得到实数部分 虚数部分最终怎么样计算有效值,频率,相位等内容,大伙一起讨论指导一下吧,谢谢!

出0入0汤圆

发表于 2016-10-13 16:56:16 | 显示全部楼层
还有平滑数据呢.负责数据波动让你无法忍受.

出0入0汤圆

发表于 2016-10-13 17:07:16 | 显示全部楼层
晕,采样间隔.256数据不是一个周期.

出0入0汤圆

 楼主| 发表于 2016-10-13 17:19:24 | 显示全部楼层
本帖最后由 粤H广宁 于 2016-10-13 17:47 编辑

我是在一个周波里面采样256AD值的,第4楼的EXCEL表为了能正常看出来 连续的正弦波形,特意多加了采样,组成连续的正弦波 波形 只是做为一个描述

真正调用的是一个 256个点的AD值,在EXCEL表里面的表现形式是这样的,我应该更正一下 4楼的图片

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2016-10-13 17:49:47 | 显示全部楼层
我应该更正一下 4楼的图片,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出180入85汤圆

发表于 2016-10-13 18:19:59 | 显示全部楼层
这个一看是要分析电能质量呀

出0入0汤圆

 楼主| 发表于 2016-10-13 19:42:21 | 显示全部楼层
yz_altang 发表于 2016-10-13 18:19
这个一看是要分析电能质量呀

是的 ,要做快速保护动作 数据记录,要做3相电流 3相电压 计算 ,
计算有功功率  无功功率  功率因素(当然有功功率 无功率 功率因素  相位角之类的对实时性不高)

出0入0汤圆

发表于 2016-10-13 20:25:03 | 显示全部楼层
可能是频谱泄露了,才采样一个周期,,把输出的复数求abs画个频谱看看呗
以下 fs=256*50hz 采样1个周期:

以下 fs=256*10*50hz 采样10个周期:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2016-10-14 08:52:32 | 显示全部楼层
一天的蓝 发表于 2016-10-13 20:25
可能是频谱泄露了,才采样一个周期,,把输出的复数求abs画个频谱看看呗
以下 fs=256*50hz 采样1个周期:


是用MATLAB这个仿真软件吧? 刚接触FFT这个东东,以前的数学基本 还给老师了?哈哈。。谢谢!

出0入0汤圆

发表于 2016-10-14 08:58:05 | 显示全部楼层
粤H广宁 发表于 2016-10-14 08:52
是用MATLAB这个仿真软件吧? 刚接触FFT这个东东,以前的数学基本 还给老师了?哈哈。。谢谢! ...

你在excel里直接用分析工具算一下FFT对比一下呗

出0入0汤圆

 楼主| 发表于 2016-10-14 09:14:39 | 显示全部楼层
senjet 发表于 2016-10-14 08:58
你在excel里直接用分析工具算一下FFT对比一下呗

Excel  里面 用哪个工具,方便详细一点吗 谢谢!

出0入0汤圆

发表于 2016-10-14 09:20:07 | 显示全部楼层
如果是excel2013的话,菜单-数据-数据分析-傅利叶分析。如果没有看到数据分析,则要 文件-选项-加载项-转到-选中“分析工具库”。google一下“EXCEL进行FFT”

出100入101汤圆

发表于 2016-10-14 09:21:52 | 显示全部楼层
这个貌似很成熟,坛里懂的大牛应该很多

出0入0汤圆

 楼主| 发表于 2016-10-14 14:07:27 | 显示全部楼层
fengyunyu 发表于 2016-10-14 09:21
这个貌似很成熟,坛里懂的大牛应该很多

嗯嗯 ,希望牛哥们出来指点2下

出0入0汤圆

 楼主| 发表于 2016-10-14 14:07:52 | 显示全部楼层
senjet 发表于 2016-10-14 09:20
如果是excel2013的话,菜单-数据-数据分析-傅利叶分析。如果没有看到数据分析,则要 文件-选项-加载项-转到 ...

嗯 嗯 ,谢谢!

出0入0汤圆

发表于 2016-10-14 14:23:31 | 显示全部楼层
如果整周期采样无泄漏那么FFT后模值/(N/2)/1.414就是有效值

出0入0汤圆

发表于 2016-10-14 14:27:47 | 显示全部楼层
用matlab仿真一下 就知道了

出0入0汤圆

发表于 2016-10-14 14:27:48 | 显示全部楼层
非整周期采样可以搜我以前发的频谱泄漏校正算法!论坛前几天也有人发那个APFFT也是可以的

出0入0汤圆

发表于 2016-10-14 14:30:18 | 显示全部楼层
clear all;clc  
N=256;
fs=1000;
f=51.1234;
a=1.2345;
ph=30.123;
dc=0.123;
t=0:N-1;
x=a*sin(2*pi*f*t/fs+ph*pi/180)+dc;
xfft=fft(x,N);
y=abs(xfft);
[Y1, k]=max(y(2:N/2));
k=k+1;
z1=xfft(k)-(xfft(k-1)+xfft(k+1))/2;
z2=xfft(k+1)-(xfft(k)+xfft(k+2))/2;
ka=abs(z1)/abs(z2);
r=(2-ka)/(1+ka)
fo=(k-1+r)*fs/N
ao=2*pi*r*(1-r*r)*(abs(z1))/(N*sin(r*pi))
pho=(angle(z1)-pi*r)*180/pi+90

MATLAB输出结果,精度自己看
fo =

  51.123401059088216


ao =

   1.234499850166726


pho =

  30.122670622875049
这个是单频信号,多频的话这个三点校正算法频率间隔需要5个以上才比较好,你可以去看看频谱泄漏校正算法相关数据,丁康老师、王兆华老师推荐可以看

出0入0汤圆

 楼主| 发表于 2016-10-17 17:15:40 | 显示全部楼层
again 发表于 2016-10-14 14:30
clear all;clc  
N=256;
fs=1000;

谢谢喔!

出0入0汤圆

 楼主| 发表于 2016-10-17 17:18:35 | 显示全部楼层
again 发表于 2016-10-14 14:23
如果整周期采样无泄漏那么FFT后模值/(N/2)/1.414就是有效值

我这个 采样 相对 来说 是一个比较完整的 周期了

出0入0汤圆

发表于 2016-10-17 17:47:32 | 显示全部楼层
定啊,支持,好帖子

出0入0汤圆

 楼主| 发表于 2016-10-18 21:30:11 | 显示全部楼层
matlab  哪位兄弟能给我一个,12a版本的 带和谐的 网盘地址也行

出0入0汤圆

发表于 2016-10-18 21:37:06 | 显示全部楼层
这个用STM32+AD7606做过,直接做50Hz这一点的DFT就行了,不用FFT。要同步采样。

出0入0汤圆

 楼主| 发表于 2016-10-20 17:25:16 | 显示全部楼层
找到了一个 可以下载的MATLAB R2012a 的源,用迅雷下载。有需要的朋友可以去下载,带CRACK了。
ed2k://|file|%5B%E8%BF%88%E7%89%B9%E8%8E%B1%E5%B8%83%5D.MATLAB_

R2012a.rar|4588991005|cc999c77d6823f71d67524d80c8efe9b|h=pl3m5rxfkwq4jwh7ghs

wthhdrdamprxk|/

出0入0汤圆

发表于 2019-12-6 17:20:12 来自手机 | 显示全部楼层
fft后,已经求得电流电压复数后,是怎么计算无功功率的,大哥能说下吗?

出0入0汤圆

发表于 2019-12-6 17:21:00 来自手机 | 显示全部楼层
直接电流电压向量相称?取虚部?

出0入0汤圆

发表于 2019-12-6 17:27:17 来自手机 | 显示全部楼层
频率怎么算出来的呢?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 18:44

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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