Matlab FFT变换细节(信号采样频率,FFT变换点数,频率分辨率)

这篇具有很好参考价值的文章主要介绍了Matlab FFT变换细节(信号采样频率,FFT变换点数,频率分辨率)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题:

在做深度学习的故障诊断中,发现代码直接将原始信号fft之后直接将实频域信号输入网络中进行诊断,虽说效果比较不错95%

但因为输入的是双边谱且频率范围远超故障特征频率同时由于单个样本的点数只有1024点,信号的采样频率又特别高12k,导致频率分辨率极低,输入网络的序列,失去了物理意义,因此想通过优化FFT变换的设置参数,将频率分辨率较高且频率范围[0,800]的序列输入网络,用于提高故障识别准确率

基础:

信号采样频率 : 1秒设备采到的信号点数

FFT变换点数:默认为输入信号的点数,也可以设置任意数值,matlab示例中有关于优化点数的方法,寻找点数最近的2次方

出于算法性能的考虑,fft 允许您用尾随零填充输入。
使每行的长度为比当前长度大的下一个最小的 2 的次幂值。
使用 nextpow2 函数定义新长度。

n = 2^nextpow2(L);

频率分辨率:频域横坐标点之间的间隔 FS/N 采样频率/样本长度

测试:

1.实验室采集的实际信号 通常的分析方法

% 30s 12800 采样频率分析 信号长度为12800*30
y = y -mean(y);
yft = abs(fft(y,12800*30));
yft = yft / length(y);
N = 1 : 12800*30 ;% 采样点数序列
f = 1/30*N; % 频率横坐标
figure(1);
plot(f(1:length(yft)/2) , yft(1:length(yft)/2));

Matlab FFT变换细节(信号采样频率,FFT变换点数,频率分辨率)

 2.测试FFT采样点数与频率分辨率的关系

% fft 只选取信号1024个点 fft变换点数 12800*30
y = y -mean(y);
yft = abs(fft(y(1:1024),12800*30));
yft = yft / length(yft);
N = 1 : 12800*30; % 采样点数序列
f = 1/30*N; % 频率横坐标
figure(1);
plot(f(1:length(yft)/2) , yft(1:length(yft)/2));

Matlab FFT变换细节(信号采样频率,FFT变换点数,频率分辨率)

% fft 1024 点 fft变换点数 12800*500
y = y -mean(y);
yft = abs(fft(y(1:1024),12800*500));
yft = yft / length(y);
N = 1 : 12800*500; % 采样点数序列
f = 1/500*N; % 频率横坐标
figure(1);
plot(f(1:length(yft)/2) , yft(1:length(yft)/2));

Matlab FFT变换细节(信号采样频率,FFT变换点数,频率分辨率)

% fft 1024 点 fft变换点数 1024
y = y -mean(y);
yft = abs(fft(y(1:1024),1024));
yft = yft / length(y);
N = 1 : 1024; % 采样点数序列
f = 12800/1024*N; % 频率横坐标
figure(2);
plot(f(1:length(yft)/2) , yft(1:length(yft)/2));

 Matlab FFT变换细节(信号采样频率,FFT变换点数,频率分辨率)

 总结:

可以看到提高fft点数的确能够提高频谱的分辨率,但是这种效果有限,只能提高一点点,最后一个频率分辨率很低,却是输入网络中进行训练的数据,这种识别有意义吗?

提高频率分辨率的方法:1.提高输入fft的信号长度2.对信号进行降采样,降低采样频率

提高分辨率训练效果前: 2048个点的序列 ->fft变换后->2048个点->截取一半1024个点输入网络1dcnn 训练准确率100% 测试准确率 97.8%

提高分辨率训练效果后:2048个点的序列-> fft变换 ->8192个点 ->截取一半 4096个点输入网络1dcnn 训练准确率 99% 测试准确率 93.5% 

反而效果还变差了????文章来源地址https://www.toymoban.com/news/detail-404070.html

到了这里,关于Matlab FFT变换细节(信号采样频率,FFT变换点数,频率分辨率)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【快速傅里叶变换(fft)和逆快速傅里叶变换】生成雷达接收到的经过多普勒频移的脉冲雷达信号(Matlab代码实现)

     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 本文的

    2024年02月10日
    浏览(51)
  • [信号基础] 信号频率,采样率,采样点(快拍数)等

    参考: 2信号频率、采样频率、采样点数 - 简书 32.3 信号采样与采样定理 - 物联网前沿实践 4语音信号处理——常识与基本概念 - 凌逆战 - 博客园 5信号的时间域分辨率和频率域分辨率 - 知乎 6基础知识:采样频率和频率分辨率-面包板社区         连续时间信号频率就是信

    2024年02月04日
    浏览(40)
  • 【FPGA】FFT测量信号频率(Quartus IP核)

    ​​​​​​​ 一、前言 二、FFT是什么(原理)? 三、FFT IP核参数介绍 四、仿真 0、文件完整结构 1、设置IP核 2、例化FFT,并完善顶层文件 3、利用matlab生成正弦波信号 4、导出变量x生成的正弦波数据 5、编写testbench 6、RTL Simulation 五、上板 1、matlab生成正弦波信号并导出m

    2024年04月28日
    浏览(36)
  • 信号的FFT变换与加窗

    数学上有一种公式叫做 泰勒展开: 泰勒公式: 其表达的思想,是任意一函数可以有多个指数函数构成 当指数函数的个数趋近于无穷多个,那么组合出来的函数将会逼近原函数; 同样的, 傅里叶想说的, 在信号处理领域, 在时域中,任意一个信号可以由多个正弦信号构成

    2024年02月09日
    浏览(36)
  • 基于STM32F407实现离散傅里叶变换(FFT、DFT),计算指定频率的幅值

    前言: 本人的课题是关于EIT采集系统设计,所谓的EIT,简单的说就是往人体注入特定频率的电流信号,通过采集反馈的电压信号,进而使用成像算法重构人体内部的阻抗分布。由于采集到的电压包含其它频率的热噪声,为了只保留注入频率的信号成分,需要对采集到的电压信

    2024年02月16日
    浏览(58)
  • Matlab实现FFT变换

    在信号处理中,快速傅里叶变换(FFT)是一种非常常见的频域分析方法。本文将介绍如何使用Matlab实现FFT变换,并通过Matlab代码演示实际输出结果。 原理 FFT是一种计算离散傅里叶变换(DFT)的快速算法。DFT将时域上的信号转换为频域上的信号,可以用以下公式表示: X k = ∑

    2024年02月04日
    浏览(34)
  • MATLAB——FFT(快速傅里叶变换)

    基础知识 FFT即快速傅里叶变换,利用周期性和可约性,减少了DFT的运算量。常见的有按时间抽取的基2算法(DIT-FFT)按频率抽取的基2算法(DIF-FFT)。 1.利用自带函数fft进行快速傅里叶变换 若已知序列 x = [ 4 , 3 , 2 , 6 , 7 , 8 , 9 , 0 ] x=[4,3,2,6,7,8,9,0] x = [ 4 , 3 , 2 , 6 , 7 , 8 , 9 , 0 ]

    2024年02月03日
    浏览(75)
  • Matlab如何导入Excel数据并进行FFT变换

    如果你发现某段信号里面有干扰,想要分析这段信号里面的频率成分,就可以使用matlab导入Excel数据后进行快速傅里叶变换(fft)。 先直接上使用方法,后面再补充理论知识。 可以通过串口将需要分析的数据发送到串口助手,注意,串口助手复制数据,是你接收了多少,就能

    2024年02月09日
    浏览(41)
  • MATLAB利用FFT对信号进行频谱分析

    1.实验目的 (1)进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质)。 (2)熟悉FFT算法原理和FFT程序的应用。 (3)学习利用FFT对离散时间信号进行频谱分析的方法,了解可能出现的误差及其原因,以便在实际中正确应用

    2024年02月09日
    浏览(43)
  • Matlab中利用FFT实现信号频谱搬移

    在fft的理论中,fft的频移特性表示为: 也就是说,要想对信号f(t)实现频域的频谱搬移,只要在时域乘以一个矩阵,即可实现频谱的搬移。常用的振幅调制和解调就是如此,频谱搬移前后对比如下: 其特点就是仅频谱搬移,不产生新的频谱分量。利用欧拉公式: e^(ix)可以

    2024年01月20日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包