【MATLAB代码】FFT计算频率

news/2024/10/28 19:37:45/
1、采样频率 F_{s} 的计算
dt = mean(diff(time));  % 计算时间间隔 (采样周期)
Fs = 1 / dt;            % 采样频率 (Hz)

通过时间数据 time 计算采样频率 F_{s}

time:从 CSV 文件中读取的时间列,

diff(time):计算时间数据中每个连续点之间的时间差,

mean(diff(time)):取所有时间差的平均值,得到采样周期 \Delta t

采样频率 F_{s}:是采样周期的倒数,表示每秒采集多少个数据点,单位是 Hz(赫兹)。

2. 获取 FFT 变换点数 N_{fft}
N_fft = 2^nextpow2(N);  % 获取大于或等于N的最小2的幂

 上述代码完全诠释了采样点数 N 与FFT变换点数 N_{fft} 之间的关系。

N :原始电压数据的长度

nextpow2(N) : 返回使 2^{K}\geqslant N的最小整数 k

N_{fft} : 用于 FFT 的变换点数,保证为 2 的幂次方

为了保证 FFT 计算的高效性,代码使用 nextpow2 函数将输入信号的长度调整为大于等于 N 的最接近的 2 的幂次方

3. 计算频率向量
f = (0:(N_fft/2-1)) * (Fs / N_fft);

频率向量 f 是 FFT 的输出中各个频率分量对应的频率值。具体来说,FFT 将时域信号转换为频域信号,生成从 0 Hz采样频率的一半(奈奎斯特频率频率分量。

0:(N_fft/2-1):生成从 0 到 \frac{N_{fft}}{2}-1 的整数序列。这代表 FFT 计算结果中的频率部分(因为 FFT 结果是对称的)。

Fs / N_fft频率分辨率(或称频率步长)。它表示在频域中每个 FFT 频率分量之间的间隔。公式为:

\Delta f=\frac{F_{s}}{N_{fft}}

频率公式:

对于第 k 个频率分量,频率 f_{k}​ 的计算公式为:

f_{k}=k\cdot \frac{F_{s}}{N_{fft}}        k=0,1,2,\cdots ,\frac{N_{fft}}{2}-1


http://www.ppmy.cn/news/1542667.html

相关文章

【Unity实战笔记】第二一 · 基于状态模式的角色控制——以UnityChan为例

目录 一 内容摘要二 前言三 状态模式的必要性3.1 非状态模式的角色控制3.2 简易状态模式的角色控制3.3 状态模式3.3.1 IState3.3.2 IdleState3.3.3 RunState3.3.4 JumpState3.3.5 PlayerController_ComplexStateMode3.3.6 注意事项 3.4 SMB 四 基于SMB的角色控制4.1 项目实战案…

怎么提取pdf的某一页?批量提取pdf的某一页的简单方法

怎么提取pdf的某一页?在日常工作与学习中,我们经常会遇到各式各样的PDF文件,它们以其良好的兼容性和稳定性,成为了信息传输和存储的首选格式。然而,在浩瀚的文档海洋中,有时某个PDF文件中的某一页内容尤为重…

贪心算法day(1)

1.将数组和减半的最少操作次数 链接:. - 力扣(LeetCode) 思路:创建大跟堆将最大的数进行减半 注意点:double t queue.poll()会将queue队列数字减少一个后再除以2,queue.offer(queue.poll()/…

Elasticsearch 解析:倒排索引机制/字段类型/语法/常见问题

Elasticsearch 是一个分布式的开源搜索引擎,广泛用于全文搜索、分析和数据存储。它基于 Apache Lucene 构建,支持 RESTful 风格的 API,使得开发者能够高效地存储和检索数据。本文将详细讲解 Elasticsearch 的基本原理,特别是其倒排…

本地服务器上搭建PPTist轻松实现跨地域的在线PPT制作与演示

文章目录 前言1. 本地安装PPTist2. PPTist 使用介绍3. 安装Cpolar内网穿透4. 配置公网地址5. 配置固定公网地址 前言 本文主要介绍如何在Windows系统环境本地部署开源在线演示文稿应用PPTist,并结合cpolar内网穿透工具实现随时随地远程访问与使用该项目。 PPTist …

member access within null pointer of type ‘ListNode‘

文章目录 前言一、空指针解引用二、访问已释放的内存三、 结构体定义问题四、错误的链表操作五、代码上下文六、示例代码七、调试建议 前言 p -> next p1; p1 p1 -> next; p p->next;runtime error: member access within null pointer of type ListNode如果出现…

js 实现自定义打印模板

1.创建一个print.js文件 //打印拣货单 import { tableStyle } from ./printStyle export const printToTable (data, callBack) > {//初始化打印内容console.log(data)let printNum 1const imgPath data:image/png;base64, data.barCodeconst img new Image()img.src…

Spring Cloud --- Sentinel 授权规则

授权规则概述 在某些场景下,需要根据调用接口的来源判断是否允许执行本次请求。此时就可以使用 Sentinel 提供的授权规则来实现,Sentinel 的授权规则能够根据请求的来源判断是否允许本次请求通过。 在 Sentinel 的授权规则中,提供了 白名单…