问题:

在做深度学习的故障诊断中,发现代码直接将原始信号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. 厦大诚招青年AI科学家:待遇不一般,连配偶和子女教育都考虑到了
  2. python打开文件并读取内容-python怎么打开文件读取数据
  3. 检测点是否在两条平行线段之间_解决最值问题的利器——垂线段最短
  4. $compile 手动编译
  5. Hibernate一对多映射示例注释
  6. Spark流编程指引(三)-------------------------------------初始化StreamingContext
  7. 分公司网络建设---Juniper 设备策略路由配置
  8. mysql的回滚机制_mysql事务回滚机制概述
  9. 张正友标定算法理论及算法实现
  10. modelica语言学习记录V1.0
  11. koolshare DDNS 配置
  12. css3和html5网站模板
  13. SAP新的Activate实施方法论都有什么变化
  14. autoit 中文文档:
  15. 数据中心交换机横向虚拟化集群漫谈
  16. 使用Google地图的测距功能
  17. android P OTA 初探 —— 1、OTA简单介绍
  18. 21李刚python第四章
  19. Samsung 展示6G 原型,测试速度达6.2Gbps,最终目标为1000Gbps
  20. day 1 学习MySQL数据库作业 - 创建员工表思考与表之间的关系

热门文章

  1. SQL Server数据库对象
  2. Linux LVM在线扩容ext3文件系统
  3. JavaScript中undefined详解
  4. oracle undefine的用法_oracle define,undefine,ACCEPT,以及变量的获取 命令
  5. web前端全栈0基础到精通(祺)14
  6. 让Windows 7电脑运行更快
  7. Handlebar嵌套遍历数据
  8. JavaScript replaceAll() 方法踩坑
  9. 转载 | 访问控制的定义及五大实现挑战
  10. 熔断和降级的真实关系,图文并茂,看完秒懂