Matlab FFT参数设置研究

2024-08-28 23:58
文章标签 matlab 参数设置 研究 fft

本文主要是介绍Matlab FFT参数设置研究,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写在前面的废话

近期要对一款高速ADC进行测试,用到Matlab的fft函数分析其动态性能,为了对Matlab  的fft有一个全方位立体的认识,对其参数进行了小实验,记录如下。

使用Matlab生成采样数据

clear;
fs = 1000;
ts = 1/fs;
L = 2400;
t = (0:L-1)*ts;
x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);

该采样数据中不包含噪声,对其进行fft变换,代码如下 

NFFT = 2^nextpow2(L);   //一般进行fft变换的点数参数为2的正数次幂
Y = fft(x,NFFT)/L;      
Ya = 2*abs(Y(1:NFFT/2+1));
f = fs/2*linspace(0,1,NFFT/2+1);
plot(f,Ya)

结果如下 

 可以看到频率有偏移,幅值亦有衰减

人为提高NFFT的点数,重新做fft,结果如下

可以发现,频率准了,而且幅值衰减亦减小,可以真实反映模拟生成的数据的实际情况。

 FFT之后是如何还原幅值信息的

这个问题可能要好好研究下DFFT的计算过程,在这里我就不多说了,因为!我也不会……不过可以给你看个fft返回的原始数据,直观感受下。

给原始数据添加高斯白噪声

y = x + 2*randn(size(t));

再做fft,结果如下

 发现幅值又变得有衰减,按理说这不应该的……于是我把时域波形画出来看了下,已经成这鸟样子了……那这一点点衰减应该是能够接受的。

时域波形

 划重点了

好吧,我承认我上面说的比较乱,下面直接说结论了!!!

fft(data,NFFT)/n,

1、其中NFFT为计算fft的点数,可以人为设置较大的值,这样可以提高FFT之后的频率分辨率,fft函数会自动在计算的时候进行插值。

2、NFFT也最好是2的整数次幂,这样可以防止频谱泄露。

3、n是你实际采样的点数。

4、频率分辨率 = 采样率/NFFT

这篇关于Matlab FFT参数设置研究的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1116257

相关文章

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

matlab读取NC文件(含group)

matlab读取NC文件(含group): NC文件数据结构: 代码: % 打开 NetCDF 文件filename = 'your_file.nc'; % 替换为你的文件名% 使用 netcdf.open 函数打开文件ncid = netcdf.open(filename, 'NC_NOWRITE');% 查看文件中的组% 假设我们想读取名为 "group1" 的组groupName

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };

一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究

转自: 一种改进的red5集群方案的应用: http://wenku.baidu.com/link?url=jYQ1wNwHVBqJ-5XCYq0PRligp6Y5q6BYXyISUsF56My8DP8dc9CZ4pZvpPz1abxJn8fojMrL0IyfmMHStpvkotqC1RWlRMGnzVL1X4IPOa_  基于Red5服务器集群负载均衡调度算法研究 http://ww

生信圆桌x生信分析平台:助力生物信息学研究的综合工具

介绍 少走弯路,高效分析;了解生信云,访问 【生信圆桌x生信专用云服务器】 : www.tebteb.cc 生物信息学的迅速发展催生了众多生信分析平台,这些平台通过集成各种生物信息学工具和算法,极大地简化了数据处理和分析流程,使研究人员能够更高效地从海量生物数据中提取有价值的信息。这些平台通常具备友好的用户界面和强大的计算能力,支持不同类型的生物数据分析,如基因组、转录组、蛋白质组等。

开题报告中的研究方法设计:AI能帮你做什么?

AIPaperGPT,论文写作神器~ https://www.aipapergpt.com/ 大家都准备开题报告了吗?研究方法部分是不是已经让你头疼到抓狂? 别急,这可是大多数人都会遇到的难题!尤其是研究方法设计这一块,选定性还是定量,怎么搞才能符合老师的要求? 每次到这儿,头脑一片空白。 好消息是,现在AI工具火得一塌糊涂,比如ChatGPT,居然能帮你在研究方法这块儿上出点主意。是不

研究人员在RSA大会上演示利用恶意JPEG图片入侵企业内网

安全研究人员Marcus Murray在正在旧金山举行的RSA大会上公布了一种利用恶意JPEG图片入侵企业网络内部Windows服务器的新方法。  攻击流程及漏洞分析 最近,安全专家兼渗透测试员Marcus Murray发现了一种利用恶意JPEG图片来攻击Windows服务器的新方法,利用该方法还可以在目标网络中进行特权提升。几天前,在旧金山举行的RSA大会上,该Marcus现场展示了攻击流程,

Science Robotics 首尔国立大学研究团队推出BBEX外骨骼,实现多维力量支持!

重复性举起物体可能会对脊柱和背部肌肉造成损伤,由此引发的腰椎损伤是工业环境等工作场所中一个普遍且令人关注的问题。为了减轻这类伤害,有研究人员已经研发出在举起任务中为工人提供辅助的背部支撑装置。然而,现有的这类装置通常无法在非对称性的举重过程中提供多维度的力量支持。此外,针对整个人体脊柱的设备安全性验证也一直是一个缺失的环节。 据探索前沿科技边界,传递前沿科技成果的X-robot投稿,来自首尔国立

libsvm在matlab中的使用方法

原文地址:libsvm在matlab中的使用方法 作者: lwenqu_8lbsk 前段时间,gyp326曾在论坛里问libsvm如何在matlab中使用,我还奇怪,认为libsvm是C的程序,应该不能。没想到今天又有人问道,难道matlab真的能运行libsvm。我到官方网站看了下,原来,真的提供了matlab的使用接口。 接口下载在: http://www.csie.ntu.edu.