硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2796|回复: 3
收起左侧

[DSP] 加了汉宁窗后再FFT为什么第一个频点数据不对??

[复制链接]

20

主题

110

回帖

170

积分

初级会员

积分
170
发表于 2020-8-15 23:47:24 | 显示全部楼层 |阅读模式
本帖最后由 飛饵 于 2020-8-16 00:15 编辑

不管有没有信号都是同样的值,除了这个,其他的没发现问题,采样后的时域数据:
1111111111111111.png

加窗后:
33333333333333.png

FFT后:
22222222222222222.png

求模后:
44444444444444444444444.png




回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2020-8-16 00:46:44 | 显示全部楼层
等我此贴的参考案例发布,参考即可

FFT加窗插值修正后,求解多次谐波频率,幅值,相位的精度杠杠的
http://www.armbbs.cn/forum.php?m ... 7787&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

20

主题

110

回帖

170

积分

初级会员

积分
170
 楼主| 发表于 2020-8-16 14:01:47 | 显示全部楼层
eric2013 发表于 2020-8-16 00:46
等我此贴的参考案例发布,参考即可

FFT加窗插值修正后,求解多次谐波频率,幅值,相位的精度杠杠的

看了那贴,感觉我的是哪里出了奇怪的错误,不是那种普遍存在的问题
回复

使用道具 举报

36

主题

249

回帖

357

积分

高级会员

积分
357
发表于 2021-1-15 08:29:29 | 显示全部楼层
用103f1的片子采集的工频的电压电流,加了汉宁窗,然后FFT,但是精度还不理想,跟真实数据0.04左右的偏差,比如源0.23A,采集的0.27A,不太理想,所以想请教请教。运算量增加了不少。
int16_t hanningWin(int16_t n,int16_t N,int16_t *data)
{
                int16_t indata = 0;

                indata = (*data) * (0.5f * (1 - cos(2 * 3.1415926f * n / (N - 1))));

                return indata;
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-2 14:54 , Processed in 0.254283 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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