当前位置: 首页 > news >正文

FFT 简单基础(matlab

 使用 fs 进行采样,进行 N点FFT

 选择显示0~N/2+1点的幅值

 横坐标对应频率计算公式:   fs * n / N

举个梨子:

        频率2kHz采样1s,得到2000个点的序列y(n)

        对序列y(n)做4096点的FFT

        幅值响应对应的横坐标频率计算:  2kHz * n / 4096

clc;
clear;
close all ;T = 0.0005;%周期;x轴的步长
Fs = 1/T; %频率%待采样函数
x = 0:T:1-T; 
y = 5*sin(2*pi*50*x) + 7*sin(2*pi*120*x) + 2*sin(2*pi*160*x) + 10*sin(2*pi*500*x);subplot(3,1,1);plot(x,y);
title("x,y");L = 4096;
Y = fft(y,L); % L点 FFT 不足L点会自动补零
P2 = abs(Y/L);  % Y 为傅里叶变换得到的结果  L为Y的长度subplot(3,1,2);plot(0:L-1,P2);
title("4096点FFT");P1 = 2* P2(1:L/2+1);   % 取前一半+1 个元素 , 对称叠加f = Fs*(0:(L/2))/L;
subplot(3,1,3);plot(f,P1) ;
title("fft");xlabel('Hz');ylabel('振幅');

y = 5*sin(2*pi*50*x) + 7*sin(2*pi*120*x) + 2*sin(2*pi*160*x) + 10*sin(2*pi*500*x);

第三幅图可以看出横轴X对应的几个峰值与被测信号相近

根据奈奎斯特采样定律,采样信号至少为被采样信号的两倍

fs=2000Hz 被采样信号最高为1000Hz

第三幅图的幅值几乎为被采样信号的一半:
Matlab 计算 FFT 的方法及幅值问题_matlab取幅值的函数-CSDN博客

幅值与FFT点数也存在关系,太多点数会存在能量泄露。

相关文章:

  • 扫描工具Metasploit的安装和使用
  • 设置Docker中时区不生效的问题
  • UDP协议深入解析
  • 系统级应用锁的实现方法
  • 评估指标rouge安装与测试
  • 恢复机制-数据库系统中的故障(事务故障、系统故障、介质故障)、一致性错误、窃取但不强制的缓冲区管理策略
  • 零知识学习之DPDK与RDMA(3)—— 认识DPDK(3)
  • 阿里云物联网应用层开发:第二部分,云产品流转
  • vue2由mapbox2升级为mapbox3遇到的矢量底图样式丢失问题解决办法
  • 马工程刑法期末复习笔记重点2
  • C++: 左值引用和右值引用
  • 初入Node.js必备知识
  • 安卓请求服务器[根据服务器的内容来更新spinner]
  • 华为5288 V5服务器安装BCLinux8U4手记
  • 电传动无杆飞机牵引车交付用户
  • 【译】JS基础算法脚本:字符串结尾
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • Bootstrap JS插件Alert源码分析
  • HTTP请求重发
  • HTTP中GET与POST的区别 99%的错误认识
  • Java 内存分配及垃圾回收机制初探
  • JavaScript类型识别
  • Promise面试题2实现异步串行执行
  • Redash本地开发环境搭建
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • v-if和v-for连用出现的问题
  • 从0到1:PostCSS 插件开发最佳实践
  • 给新手的新浪微博 SDK 集成教程【一】
  • 构造函数(constructor)与原型链(prototype)关系
  • 聊聊sentinel的DegradeSlot
  • 你不可错过的前端面试题(一)
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 限制Java线程池运行线程以及等待线程数量的策略
  • NLPIR智能语义技术让大数据挖掘更简单
  • 回归生活:清理微信公众号
  • 如何用纯 CSS 创作一个货车 loader
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (推荐)叮当——中文语音对话机器人
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (转)http协议
  • (转)我也是一只IT小小鸟
  • .“空心村”成因分析及解决对策122344
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .Net Web项目创建比较不错的参考文章
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项