问题:

在做深度学习的故障诊断中,发现代码直接将原始信号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));

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));

% 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));

% 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));

总结:

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

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

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

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

反而效果还变差了????

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

  1. 傅里叶变换—信号观测时长和频率分辨率

    傅里叶变换-信号观测时长和频率分辨率 前言 一.开始验证 附录 MATLAB代码: %% observe time T and frequency resolution verified f1 = 1 ...

  2. hht时频谱 matlab 乱序_MATLAB信号频谱分析FFT详解

    做OFDM通信少不了频谱分析,基带信号DA后的频谱,以及基带数字上变频后的DA信号都要频谱分析.我觉得其实做任何工程都是这样,先规定实施方案,然后仿真成功,再实际开发,不过也可以一边开发,一边仿真,开 ...

  3. 谱线数matlab,采样频率、采样点数、分辨率、谱线数(line)

    1.最高分析频率:Fm指需要分析的最高频率,也是经过抗混滤波后的信号最高频率.根据采样定理,Fm与采样频率Fs之间的关系一般为:Fs=2.56Fm:而最高分析频率的选取决定于设备转速和预期所要判定的故 ...

  4. 采样频率、采样点数、分辨率、谱线数

    1.最高分析频率:Fm指需要分析的最高频率,也是经过抗混滤波后的信号最高频率.根据采样定理,Fm与采样频率Fs之间的关系一般为:Fs=2.56Fm:而最高分析频率的选取决定于设备转速和预期所要判定的故 ...

  5. matlab 采样点数,信号频率、采样频率、频率分辨率以及FFT信号补零

    采样点数,信号频率.采样频率.采样点数的区分 包含matlab代码讲解示例 清晰明了 采样点数,信号频率.采样频率.采样点数 首先,频率指的是物质在单位时间内完成周期性变化的次数叫做频率,常用f表示. ...

  6. 【转载】采样频率、采样点数、频率分辨率

    原作者: 辰忆书阁 原链接:http://www.360doc.com/myfiles.aspx?reg=1&app=1&type=3 1.频率分辨率的2种解释 解释一:频率分辨率可以 ...

  7. 【老生谈算法】matlab实现FFT变换算法源码——FFT变换算法

    Matlab实现FFT变换(单边谱及双边谱) 1.文档下载: 本算法已经整理成文档如下,有需要的朋友可以点击进行下载 序号 文档(点击下载) 本项目文档 [老生谈算法]Matlab实现FFT变换程序源 ...

  8. 基于matlab和FFT算法实现信号频谱分析

    系列文章目录 数字信号处理(DSP:Digital Signal Process)是电子通信领域非常重要的研究方向,博主汇总了数字信号处理(DSP)中常用的经典案例分析,主要基于算法分析.MATLAB ...

  9. 《MATLAB语音信号分析与合成(第二版)》:第3章 语音信号在其他变换域中的分析技术和特性

    <MATLAB语音信号分析与合成(第二版)>:第3章 语音信号在其他变换域中的分析技术和特性 前言 1. 数据与函数路径设置 2. MATLAB仿真一:信号倒谱图.声道冲激响频谱.声门激励 ...

最新文章

  1. 微信小程序如何搭建本地环境开发
  2. 《因果学习周刊》第8期:因果反事实预测
  3. PHP ElasticSearch的使用
  4. 【最详细解析+难点分析】1085 PAT单位排行 (25分)
  5. Django简介以及安装
  6. mysql 导入设置编码_MySQL导入或导出数据库字符编码集设置
  7. 关机指令代码_iPhone这些隐藏代码你肯定不知道
  8. 前端学习/ Day1/HTTP简单易懂/GET POST/HTTP特性/HTTP与HTTPS/HTTP版本演变/加解密数字签名数字证书
  9. JSON.Stringify
  10. ETL工具-Kettle Spoon教程
  11. 关于仿写写一个网易云静态页面的那些事
  12. 记录每天背的单词,准备考研。(2月21日)
  13. etc fstab 详解linux,/etc/fstab功能详解
  14. SQLyog:Error Code : 1583 Incorrect parameters in the call to native function ‘concat‘
  15. 怎样在word中批量替换文字?Word替换文字这一招你会吗?
  16. 单位强制解除与员工的劳动关系怎么办
  17. 2022 大一大二基础hive考试题
  18. 树上战争 HDU-2545
  19. ios-IAP坑点和遇到的问题总结
  20. MSP430应用技巧4:创建MSP430Ware工程项目的方法

热门文章

  1. 深度学习笔记------现阶段的目标检测器结构解析(Neck[FPN,PANet,Bi-FPN],Head[rpn,yolo...])
  2. 远程桌面装服务器程序,Windows 2008 R2 远程桌面服务打印 RemoteApp程序的打印
  3. [蓝桥杯]荒岛探测python3满分题解
  4. 物业合同以外服务的收费,谁说了算?
  5. 简历上写精通Nginx/OpenResty详解,Nginx的核心原理应该不过分吧
  6. 时间复杂度的简单例题
  7. nohup: 无法运行命令“java“: 没有那个文件或目录
  8. Some information of LSTM
  9. Java反射生成对象注入spring(结合工厂模式)
  10. 360影视改版项目总结