硬汉嵌入式论坛

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

[DSP] 使用matlab编写的傅里叶分析程序,支持非等间隔采样数据傅里叶分析

[复制链接]

12

主题

153

回帖

204

积分

高级会员

积分
204
发表于 2023-2-8 21:28:48 | 显示全部楼层 |阅读模式
函数调用格式如下
image.png
该函数输入参数有两个,x为时间,y为数值。调用该函数将会弹出以下的界面。
image.png
该脚本对于输入的非等间隔采样数据数据首先根据最小时间间隔对数据进行插值,使非等间隔采样数据数据插值为等间隔数据,随后进行常规的傅里叶分析,插值算法、窗函数、数据起始点可以通过参数设置按钮进行设置。
image.png
选频重构按钮可以把傅里叶分析的频域数据恢复为时域的数据,使用者可以将傅里叶分析恢复的数据与原始数据进行比较,以此判断傅里叶分析的准确度。
image.png
如上图所示,由于数据起始点选择的不合适,傅里叶分析的数据出现频谱泄露,造成恢复的数据与原始数据出现了较大的失真,此时可以通过参数设置按钮重新设置数据起始点,得到较为准确的频域数据。
image.png
上述窗口均带有数据导出功能,可以将数据导出为excel格式
ps:1.主窗口关闭后,所有子窗口都会自动关闭。
2.笔者使用的matlab版本为2019b,若脚本不能运行请将matlab版本切换为2019b或者更高
fft_diag.m (21.47 KB, 下载次数: 44)


评分

参与人数 2金币 +110 收起 理由
落叶凋零 + 10 赞一个!
eric2013 + 100 很给力!

查看全部评分

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2023-2-9 00:10:46 | 显示全部楼层
谢谢楼主分享,这个DSP库实现还挺方便,有几种插补拟合,之前用过样条函数,还不错。
回复

使用道具 举报

12

主题

153

回帖

204

积分

高级会员

积分
204
 楼主| 发表于 2023-2-9 10:40:53 | 显示全部楼层
eric2013 发表于 2023-2-9 00:10
谢谢楼主分享,这个DSP库实现还挺方便,有几种插补拟合,之前用过样条函数,还不错。

样条插补确实太丝滑了,在数据点导数连续时平滑效果很好。
回复

使用道具 举报

2

主题

39

回帖

45

积分

新手上路

积分
45
发表于 2023-8-13 11:01:43 | 显示全部楼层
非等间隔采样是为了补足FFT的点数吗,以前从没有试过这个方法,现在DSP有了插值拟合后感觉也用不到了。
回复

使用道具 举报

12

主题

153

回帖

204

积分

高级会员

积分
204
 楼主| 发表于 2023-8-14 17:06:24 | 显示全部楼层
落叶凋零 发表于 2023-8-13 11:01
非等间隔采样是为了补足FFT的点数吗,以前从没有试过这个方法,现在DSP有了插值拟合后感觉也用不到了。

那倒不是,是我目前做的一个上位机需要单片机在正常工作时进行实时的数据传输,为了不影响单片机正常工作,数据传输的优先级比较低,因此发送到上位机的数据会出现丢包,采样的数据自然是非等间隔的数据了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 01:13 , Processed in 0.179325 second(s), 32 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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