21ic电子技术开发论坛 单片机与嵌入式系统 ST MCU 如何计算有效值和谐波含量?
发新帖我要提问
12下一页
返回列表
打印

如何计算有效值和谐波含量?

[复制链接]
17191|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yf_tang|  楼主 | 2008-12-16 10:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
采样数据如下:
lBFUIN[256] =
{
1026,1032,1039,1045,1052,1058,1066,1073,1081,1087,1095,1104,1113,1121,1129,1138,1146,1155,1165,1172,1183,1192,1201,1212,1222,1231,1242,1251,1262,1272,1284,1294,1303,1313,1324,1335,1346,1356,1367,1377,1387,1398,1410,1420,1430,1440,1450,1461,1472,1481,1492,1503,1513,1523,1533,1542,1552,1562,1571,1580,1590,1599,1609,1618,1625,1635,1643,1651,1658,1667,1674,1682,1690,1697,1704,1710,1718,1723,1730,1737,1743,1747,1753,1757,1762,1768,1771,1777,1781,1784,1787,1792,1793,1797,1800,1800,1804,1806,1807,1808,1810,1810,1811,1809,1810,1811,1809,1809,1807,1806,1804,1802,1799,1798,1795,1792,1789,1785,1782,1779,1774,1770,1765,1761,1756,1750,1745,1738,1733,1727,1721,1714,1707,1700,1693,1686,1679,1671,1664,1656,1647,1637,1630,1622,1612,1603,1594,1586,1577,1566,1557,1547,1538,1527,1517,1507,1498,1488,1476,1467,1456,1445,1436,1426,1415,1405,1393,1383,1373,1362,1351,1340,1329,1319,1307,1298,1288,1277,1268,1257,1247,1238,1227,1217,1207,1197,1189,1178,1169,1161,1150,1141,1133,1124,1116,1107,1101,1092,1084,1077,1069,1062,1055,1048,1041,1036,1030,1024,1018,1012,1006,1001,996,993,987,983,980,976,972,970,966,964,962,959,958,956,954,953,954,952,951,951,951,952,953,953,955,956,959,961,962,966,968,972,975,978,981,986,989,995,1000,1004,1011,1017,1021,1028
};
经过cr4_fft_256_stm32(lBUFOUT, lBUFIN, 256);得到lBUFOUT值如下:
lBUFOUT[256] = 
{
0000040f ffe30022 fff20013 fff60018 ffe80016 fffbfff3 fffc0000 fffd0008 fff40004 fffcfff6 fffdfffe fffe0003 fff70001 fffcfffa fffdfffd fffe0001 fffa0001 fffdfffc ffffffff ffff0002 fffb0001 fffefffb 0000fffe ffff0001 fffc0001 fffffffc ffffffff ffff0001 fffb0000 fffffffc 0000ffff 00000001 fffd0001 fffffffd fffffffe ffff0001 fffdffff fffefffd ffffffff 0000ffff fffcffff fffffffe 0000ffff ffffffff fffd0000 fffffffd 00000000 0000ffff fffd0000 fffdfffe fffefffe fffe0000 fffeffff fffefffe ffffffff 00000000 fffd0000 fffefffe fffeffff fffeffff fffe0000 fffeffff fffffffe ffffffff ffff0001 fffeffff 0000ffff 00000000 00000000 ffffffff 0000ffff 00010000 ffff0000 fffeffff ffffffff 00010000 ffff0000 fffe0000 fffffffe 0000ffff ffff0001 ffffffff 00000000 0000ffff ffff0001 0000ffff 0000fffe 0000ffff 00000000 0000fffe 0000ffff 00010000 ffff0000 0000fffe 0000ffff 00010000 00000000 0000ffff 0001ffff 00000000 00000000 ffffffff 0000ffff 0001fffe 00000000 0000ffff 0000ffff 00000000 00000000 0000ffff 0001ffff 0001ffff 00000000 ffffffff 0000ffff 0000ffff 00000000 ffffffff 0000ffff 0001fffe 00000000 ffffffff fffffffe 0000ffff ffff0000 00000000 0000ffff 0001ffff 00000000 fffeffff ffff0000 ffffffff 00000000 fffeffff 00000000 00000000 ffff0000 fffeffff ffffffff 0000ffff ffff0001 fffe0000 ffffffff ffffffff ffff0000 ffff0000 ffffffff ffff0000 ffff0001 fffeffff 0000ffff ffffffff ffff0000 ffffffff ffffffff 0000ffff fffe0000 ffffffff 0000ffff 0000ffff 00000001 ffff0000 0000ffff ffffffff 00000000 ffffffff ffff0000 0000fffe ffff0000 ffff0000 00000000 0001fffe ffff0000 ffffffff 00000000 0000fffe 00000000 fffe0000 ffffffff ffffffff 00000000 ffff0000 ffffffff 0000fffe 00000000 fffe0000 ffffffff fffffffe 00000000 fffe0001 ffffffff 0000fffe 00010001 fffe0001 00000000 0001ffff 00010001 ffff0001 00000000 0001ffff 00010001 fffe0001 ffff0000 00000000 00010001 fffe0002 ffffffff 0000ffff 00010001 ffff0001 00000000 0000fffe 00010001 ffff0001 0000ffff 0000fffe 00010001 ffff0001 00000000 0000ffff 00010001 ffff0001 0000ffff 0000fffe 00020001 ffff0002 00000000 0000ffff 00020001 ffff0002 ffff0001 0000fffd 00030001 fffe0003 00000000 0000fffe 00030001 ffff0003 00000000 0000fffc 00050001 ffff0004 00010000 0001fffc 00060003 ffff0005 00000001 0001fff9 000a0005 ffff0009 00010001 0000fff6 00150017 0005001c 000a0016 00180024
};

请问大侠如何得到有效值和谐波含量?
沙发
yf_tang|  楼主 | 2008-12-16 11:27 | 只看该作者

谢谢!

请问netjob如何更正?

使用特权

评论回复
板凳
yf_tang|  楼主 | 2008-12-16 12:53 | 只看该作者

netjob,能把你用的fft发给我一份,可以吗?

yf_tang1106@163.com

使用特权

评论回复
地板
yf_tang|  楼主 | 2008-12-16 13:00 | 只看该作者

谢谢您的回复!

netjob 发表于 2008-12-5 12:47 ST MCU ←返回版面    

8楼: cr4_fft_32_stm32 

更改的是 32 点 RADIX-4 的FFT 汇编版本,测试通过。
Q14,Q15格式都可以, 而STM32提供的只有Q14格式。

STM32的 cr4_fft_256_stm32.S里有个BUG !

RADIX-2 FFT的是C版本的,任意点!16位整数算法。
可以使用Q14,Q15格式。
 
 



能把你的这个RADIX-2 FFT程序发给我一份吗?谢谢!

使用特权

评论回复
5
greatbin| | 2008-12-16 23:36 | 只看该作者

ST的技术支持,请出来说一声吧

使用特权

评论回复
6
jan2008| | 2008-12-18 09:47 | 只看该作者

能不能也给我发一份FFT程序

aj1600@163.com

       谢谢!

使用特权

评论回复
7
colaring| | 2008-12-18 13:28 | 只看该作者

老大们...问题还没解决就酷了?
能不能把正确的公开了啊?!

使用特权

评论回复
8
yf_tang|  楼主 | 2008-12-18 17:27 | 只看该作者

感谢netjob的热心回答!

使用特权

评论回复
9
yf_tang|  楼主 | 2008-12-18 17:39 | 只看该作者

还得请教netjob

在文件里面并没有找到"NPT EQU 64"这条语句,我尝试把"#define NPT  64"中的64改为256,编译出错(256超出一个字节的表达范围了)
相关链接:https://bbs.21ic.com/upfiles/img/200812/20081218173535820.zip

使用特权

评论回复
10
freefish| | 2008-12-18 22:47 | 只看该作者

波形分析

平滑正弦波,数据点数为一个周波,起点不是零点而在横轴只下,峰-峰为1810-950=860,有效值860/2/1.414=304,横轴位于950+860/2=1380,如果从该点开始取值256个则得到完全对称的正弦波。
建议:如果测交流信号,横轴零点太低,应提高到2048左右,否则大信号时正峰值还没到4095,下峰值已经到零,引起削波失真,减少了动态范围。
经过FFT后,主要会得到两个大的频率含量,一个是直流分量,频率为零,幅值为1380,另一个是基波分量,幅值为304,从netjob的图上看,明确可以看到这两个分量的频率位置,但是幅值好象超程了。

使用特权

评论回复
11
colaring| | 2008-12-19 10:49 | 只看该作者

最近刚要用这FFT做谐波分析,高数当年净翘课了,但愿ST速度解决这个问题!!

使用特权

评论回复
12
香水城| | 2008-12-19 10:52 | 只看该作者

哈哈,你上学时翘课的遗留问题,ST如何解决?

使用特权

评论回复
13
colaring| | 2008-12-19 10:58 | 只看该作者

我的意思是实在不行只能慢慢自己推导去,就是现在时间不是哪么充裕,但是ST出的DSP库有bug是事实,这个不是我的责任吧

使用特权

评论回复
14
香水城| | 2008-12-19 12:20 | 只看该作者

请朋友们具体说明哪里不对,或给出一组数据说明输出结果

这样我可以发给设计这个库的工程师检查测试,谢谢。

使用特权

评论回复
15
sunke9| | 2008-12-26 09:13 | 只看该作者

netjob辛苦了!

使用特权

评论回复
16
colaring| | 2008-12-26 09:32 | 只看该作者

谢谢

谢谢netjob的测试!!

使用特权

评论回复
17
jinjing999| | 2008-12-29 15:58 | 只看该作者

从数据来看,计算结果数据是对称,但是,结果不对称

使用特权

评论回复
18
lslzx| | 2010-8-29 16:27 | 只看该作者
能不能也给我发一份FFT程序

使用特权

评论回复
19
BitFu| | 2010-8-29 18:01 | 只看该作者
有效值中没有和谐波

使用特权

评论回复
20
longzhaocy| | 2012-8-21 14:11 | 只看该作者
为什么我已经照着上面的改了,已经用stm最新的dsp库,算的数据还是不对。用16楼的数据,算256个点。数据不对

使用特权

评论回复
下一页 »
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

26

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部