Matlab信号处理:FFT频谱分辨率

news2024/10/5 17:57:51

频谱分辨率:

\frac{1}{T}= \frac{1}{T_{s}\cdot N}      其中T_{s}为采样间隔,N为采样点数。

FFT分辨率:

f_{0} = \frac{f_{s}}{N_{FFT}}    其中f_{s}为采样频率,N_{FFT}为FFT点数。


有两正弦函数,频率分别为 f1 = 1Hz,f2 = 10Hz,f3 = 40Hz;

示例1:

采样频率 fs = 1000Hz,采样时长 1s,则采样点数为 1000,采样间隔 0.001s.

代入公式,频谱分辨率为 1Hz.

代码如下:

fs = 1000;
t = 0:1/fs:1-1/fs; % 采样时长1s,采样间隔0.001s,采样点数1000

f1 = 1; f2 = 10; f3 = 40; 
y = sin(2*pi*f1*t) + sin(2*pi*f2*t) + sin(2*pi*f3*t);

y_fft = fft(y);

len = length(y_fft);
P1 = abs(y_fft/len);
P2 = P1(1:len/2+1);
P2(2:end-1) = 2*P2(2:end-1);
f = fs*(0:len/2)/len;

stem(f,P2);

FFT频域图:

1Hz、10Hz 与 40Hz能够被分辨。


示例2:

将采样时长变为 0.05s,则采样点数变为 50,

代入公式,频谱分辨率为 20Hz.

代码如下:

fs = 1000;
t = 0:1/fs:0.05-1/fs; % 采样时长0.05s,采样间隔0.001s,采样点数50

f1 = 1; f2 = 10; f3 = 40; 
y = sin(2*pi*f1*t) + sin(2*pi*f2*t) + sin(2*pi*f3*t);

y_fft = fft(y);

len = length(y_fft);
P1 = abs(y_fft/len);
P2 = P1(1:len/2+1);
P2(2:end-1) = 2*P2(2:end-1);
f = fs*(0:len/2)/len;

stem(f,P2);

FFT频域图:

此时 1Hz、10Hz 都不能被分辨,且出现频谱泄露。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1034154.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LwIP笔记02:

一、LwIP源文件 api:NETCONN API 和 Socket API 相关的源文件,在有操作系统环境下使用 apps:应用程序源文件,如http、mqtt、tftp等 core:LwIP内核源文件 include:LwIP所有模块对应的头文件 netif&…

基于AlgoT1设备改进多源融合定位算法(GNSS+INS+VISION)

AlgoT1是融合了GNSSIMUVISION的数据平台,用该设备实测了一组数据,并且在开源代码上进行了改进,得到的效果还行,对做多源融合算法研究是个不错的选择。 0.设备图 这款设备是上海代数律动技术有限公司新出的机器(http://www.algot…

2023 年 Android 毕业设计选题推荐,200 道 Android 毕业设计题目,避免踩坑

前言 选择一个Android毕业设计题目是一个重要的决策,它将影响你未来几个月的工作。以下是一些关于如何选择一个合适的Android毕业设计题目以及如何避免踩坑的建议: 兴趣和热情:首先,选择你真正感兴趣的领域。如果你对某个领域充…

【算法思想】排序

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

Spring面试题12:Spring中IOC的优缺点是什么?IOC依赖注入方式有哪些

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Spring中IOC的优缺点是什么? IOC(Inversion of Control,控制反转)是Spring框架的一个重要特性,它实现了对象的创建和依赖关系的管理的反转。…

Activiti7工作流 一【工作流介绍、什么是Activiti7?、Activiti7环境、集成Activiti7、流程引擎API】

文章目录 Activiti7工作流一、工作流介绍1.1 概念1.2 适用行业1.3 应用领域1.4 传统实现方式1.5 什么是工作流引擎 二、什么是Activiti7?2.1 概述2.2 Activiti7内部核心机制2.3 BPMN2.4 Activiti如何使用2.4.1 整合Activiti2.4.2 业务流程建模2.4.3 部署业务流程2.4…

小说界的卷王巴尔扎克,咖啡续命拼命搞钱

巴尔扎克每天工作18小时,咖啡续命,活活累死。 巴尔扎克高产似母猪,写了90多部小说。 巴尔扎克很肤浅,除了写小说,就是搞钱,却一直是贫穷的状态。 一、卷王 1799年,奥诺雷德巴尔扎克出生在法国…

怎么快速提取图片中的文字信息?怎么使用OCR图片文字提取一键提取文字

图片里的文字如何提取?一些图片中的文字信息是我们需要的,但是一个个输入太麻烦了,怎么将图片上的文字提取出来?Initiator是一款易于使用的小型 macOS OCR(光学字符识别)应用程序,可提取和识别 Mac 计算机屏幕上的任…

自监督学习之对比学习:MoCo模型超级详解解读+总结

文章目录 一、MoCo简介1.1 整体思想1.2 动量1.3 正负样本如何选取 二、动态字典2.1 query和key2.2 字典特点 三、编码器的动量更新3.1 编码器的更新规则3.2 使用动量更新的原因 四、实验过程4.1 目标函数:infoNCE4.1.1 softmax4.1.2 交叉熵损失4.1.3 交叉熵损失函数…

【蓝桥杯选拔赛真题62】Scratch判断小球 少儿编程scratch图形化编程 蓝桥杯选拔赛真题解析

目录 scratch判断小球 一、题目要求 编程实现 二、案例分析 1、角色分析

BottomNavigationView3个以上图标不显示文字

问题 当BottomNavigationView设置的菜单中超过三个图标时,出现只有焦点聚集到图标时才会显示底部设置的文字描述,当没有焦点聚集则只显示图标,效果如下: 解决办法 设置labelVisibilityMode值 如果BottomNavigationItemView类并…

Jmeter——结合Allure展示测试报告

在平时用jmeter做测试时,生成报告的模板,不是特别好。大家应该也知道allure报告,页面美观。 先来看效果图,报告首页,如下所示: 报告详情信息,如下所示: 运行run.py文件,…

Java笔记:认识一下class文件

1.class文件概述 我们可任意打开一个Class文件(使用Hex Editor等工具打开),内容如下(内容是16进制): 十六进制转字符串:http://www.bejson.com/convert/ox2str/ 进制转换网址(十六进…

谷歌浏览器jsonView插件安装与使用

1、打开 https://github.com ; 2、搜索 jsonView 链接:https://gitee.com/wangl2020/chrome_JSONVue 3、选择需要的插件我是选这个; 4、点击【Download Zip】,插件下载完成,解压缩到相应目录(D:\Downloa…

外贸电商独立站的选品和运营

第一步:选品 做出口跨境电商卖家,最难回答的问题就是我要卖什么产品?销量好的产品,竞争太激烈;价格很高的又卖不动;太小众的又担心客户不好开发,很纠结! 的确,对于出口B2…

若依cloud -【 100 ~ 103 】

100 分布式日志介绍 | RuoYi 分布式日志就相当于把日志存储在不同的设备上面。比如若依项目中有ruoyi-modules-file、ruoyi-modules-gen、ruoyi-modules-job、ruoyi-modules-system四个应用,每个应用都部署在单独的一台机器里边,应用对应的日志的也单独存…

数据结构-----堆(完全二叉树)

目录 前言 一.堆 1.堆的概念 2.堆的存储方式 二.堆的操作方法 1.堆的结构体表示 2.数字交换接口函数 3.向上调整(难点) 4.向下调整(难点) 5.创建堆 6.堆的插入 7.判断空 8.堆的删除 9.获取堆的根(顶)元素 10.堆的遍历…

Linux中sudo命令的添加和操作

使用 sudo分配权限 (1)修改/etc/sudoers 文件分配文件 # chmod 740 /etc/sudoers # vi /etc/sudoers 找到这行:root ALL(ALL) ALL, 在这行下面添加 xxx ALL(ALL) ALL (这里的xxx就是你的普通用户,而ruice就是我的普通用户 ) 编…

nginx部署多个项目

前言 实现在一台服务器上使用nginx部署多个项目的方法 查看并修改nginx安装的默认配置文件 在 Linux 操作系统中,Nginx 在编译安装时默认的配置文件路径是 /usr/local/nginx/conf/nginx.conf。 如果是通过发行版的包管理器安装,则默认的配置文件路径可能…

Cesium加载海量点数据

目录 项目地址实现效果实现方法 项目地址 https://github.com/zhengjie9510/webgis-demo 实现效果 实现方法 const pointCollection viewer.scene.primitives.add(new Cesium.PointPrimitiveCollection({ blendOption: Cesium.BlendOption.OPAQUE })); for (let longitude …