人丑就要多读书吖 2023-07-27 18:10 采纳率: 15.4%
浏览 18

怎么分析STFT时频图?

怎么分析时频图?
以下是用STFT进行凯斯西储大学内圈故障的时频图,该怎么分析呢?

img

img

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-07-27 20:29
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 给你找了一篇非常好的博客,你可以看看是否有帮助,链接:【20211206】【信号处理】时频分析 —— 短时傅里叶变换(STFT)
    • 以下回答由chatgpt基于相关博客总结生成:

      解决方案如下:

      1. 导入必要的库
      import numpy as np
      import matplotlib.pyplot as plt
      import scipy.signal as signal
      
      1. 读取和显示时频图
      image_path = 'https://img-mid.csdnimg.cn/release/static/image/mid/ask/851020254096140.png'
      image = plt.imread(image_path)
      plt.imshow(image)
      plt.show()
      
      1. 分析时频图中的频谱信息
      # 将时频图转换为灰度图
      gray_image = image.mean(axis=2)
      
      # 计算傅里叶变换
      fft_result = np.fft.fft2(gray_image)
      
      # 将频谱零频率移到中心
      fft_shifted = np.fft.fftshift(fft_result)
      
      # 计算频谱的幅度谱
      amplitude_spectrum = np.abs(fft_shifted)
      
      # 显示频谱的幅度谱
      plt.imshow(amplitude_spectrum, cmap='gray')
      plt.show()
      
      1. 分析时频图中的时间信息
      # 计算STFT的时间轴
      time_steps = signal.windows.hann(len(gray_image))
      time_axis = np.arange(len(gray_image))
      
      # 计算STFT的频率轴
      freq_axis = np.fft.fftfreq(len(gray_image))
      
      # 获取能量谱
      power_spectrum = np.square(amplitude_spectrum)
      
      # 显示时间轴和频率轴
      plt.figure(figsize=(10, 4))
      plt.subplot(1, 2, 1)
      plt.plot(time_axis, time_steps)
      plt.xlabel('Time')
      plt.ylabel('Amplitude')
      plt.subplot(1, 2, 2)
      plt.plot(freq_axis, power_spectrum)
      plt.xlabel('Frequency')
      plt.ylabel('Power')
      plt.tight_layout()
      plt.show()
      

      通过以上步骤,你可以分析STFT生成的时频图,了解信号的频谱和功率谱信息。请注意,这只是一个简单的示例,实际使用中可能需要根据具体情况进行调整和优化。如果遇到问题,可以查阅相关库和函数的文档。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 7月27日

悬赏问题

  • ¥15 更换了一个新的win10系统,再下载VS时碰到的问题,是C++组件的?
  • ¥15 关于罗技鼠标宏lua文件的问题
  • ¥15 halcon ocr mlp 识别问题
  • ¥15 已知曲线满足正余弦函数,根据其峰值,还原出整条曲线
  • ¥20 无法创建新的堆栈防护界面
  • ¥15 sessionStorage在vue中的用法
  • ¥15 wordpress更换域名后用户图片头像不显示
  • ¥15 如何在ubunto上安装CEF (Chromium Embedded Framework),并且基于qt实现打开一个web
  • ¥30 AD9854 为什么输出波形幅度受限,AI机器人勿扰
  • ¥15 如何在ubunto上安装CEF (Chromium Embedded Framework