目录:

  • 前言
  • 实验环境
  • Matlab spectrogram函数
    • 1语法
    • 2举栗子:
      • 2.1跟踪声音信号里的鸟声轨迹
      • 2.2谱图3d可视化
  • 参考:

前言

之前讲了时频分析的原理,和matlab里面的相关实现,现在展示一下它的应用。
想要复习原理的同学,可以参照一下这篇:短时傅里叶分析(1)
想要熟悉函数语句的同学:
基础的可以参见前面的:短时傅里叶实现(1)
中阶的可以参见前面的:短时傅里叶实现(2)
高阶的可以参见前面的:短时傅立叶实现(3)
进阶的可以参见前面的:短时傅里叶实现(4)
终极的可以参见前面的:短时傅里叶实现(5)

实验环境

本文的所有实验都是在matlab2016a下通过的。

Matlab spectrogram函数

谱图函数:使用短时傅里叶变换化成短时傅里叶变换的谱图。

1语法

前面的几个帖子,已经详细的介绍了这个函数,不清楚的可以参看一下,本篇只演示应用。

2举栗子:

本文会介绍一些常见的应用,重要的是结合原理去理解它,这样才好应用到自己的应用上。

2.1跟踪声音信号里的鸟声轨迹

加载一个包含两个下降鸟声信号和宽带飞溅声的声音信号。计算短时傅里叶变换,将信号分割成400个段落,300个重叠,画出谱图。

load splat
% To hear, type soundsc(y,Fs)
sg = 400;
ov = 300;
spectrogram(y,sg,ov,[],Fs,'yaxis')
colormap bone                                                                                                        

如图所示

%可以使用谱图函数获得信号的功率谱密度信息

[s,f,t,p] = spectrogram(y,sg,ov,[],Fs);
%可以使用medfreq来追踪这两个鸟声信号,为了找到最强的,低频鸟声信号,限制这个搜索在频率大于100hz,时间
%在宽带信号之前
f1 = f > 100;
t1 = t < 0.75;
m1 = medfreq(p(f1,t1),f(f1));
%为了找到虚弱的高频鸟声信号,限制搜索在2500hz以上,时间在0.3秒到0.65秒之间。
f2 = f > 2500;
t2 = t > 0.3 & t < 0.65;
m2 = medfreq(p(f2,t2),f(f2));
%将结果叠加在谱图上。将频率值除以1000,以kHz表示。
hold on
plot(t(t1),m1/1000,'linewidth',4)
plot(t(t2),m2/1000,'linewidth',4)
hold off

如图所示:

2.2谱图3d可视化

%产生一个两秒的信号,采样频率为10khz,瞬时频率信号是一个时间的三角函数
fs = 10e3;
t = 0:1/fs:2;
x1 = vco(sawtooth(2*pi*t,0.5),[0.1 0.4]*fs,fs);
%计算并画出信号的谱图,使用256点shape为5的kaiser窗,特别地重叠点数是220,512点DFT,在y轴画出颜色图
spectrogram(x1,kaiser(256,5),220,512,fs,'yaxis')

%改变视角,并展示瀑布样的谱图,颜色设置为bone
colormap bone
view(-45,65)


参考:

mathworks

时频分析:短时傅里叶变换应用相关推荐

  1. matlab 小波变换_matlab小波工具箱实例(二):时频分析和连续小波变换

    本文讲解matlab小波工具箱实例(二):时频分析和连续小波变换.目录如下: 链接:https://www.mathworks.com/help/wavelet/ug/time-frequency-a ...

  2. 2021-05-10 Matlab短时傅里叶变换和小波变换的时频分析

    Matlab短时傅里叶变换和小波变换的时频分析 简介 本文主要给定一小段音频,通过短时傅里叶变换和小波变换制作时频图.音频的采样率为44100, 短时傅里叶变换 在matlab中,短时傅里叶变换的分析 ...

  3. 时频分析:短时傅里叶变换实现(2)

    目录: 文章目录 补充 #前言 之前讲了时频分析的原理,现在来讲讲它在matlab里面的实现. 想要复习原理的同学,可以参照一一下这篇: 短时傅里叶分析 本次讲解中阶的函数,基础的可以参见前面的: 短 ...

  4. 时频分析:短时傅里叶变换实现(1)

    目录: 前言 实验环境 Matlab spectrogram函数 1语法 2使用说明 3代码如下: 前言 之前讲了时频分析的原理,现在来讲讲它在matlab里面的实现. 想要复习原理的同学,可以参照一 ...

  5. 数字信号处理——时频分析(短时傅里叶变换)

    短时傅里叶变换的概念 背景: 傅里叶变换的局限性:在做傅里叶变换的时候,使用的是(-∞,∞)的时间信息来计算单个频率的频谱,所以傅里叶变换是一种全局性的描述,不能反映信号局部区域的信息,故如果信号在某 ...

  6. matlab 时频分析(短时傅里叶变换、STFT)

    短时傅里叶变换,short-time fourier transformation,有时也叫加窗傅里叶变换,时间窗口使得信号只在某一小区间内有效,这就避免了传统的傅里叶变换在时频局部表达能力上的不足, ...

  7. 时频分析:短时傅里叶变换

    目录 1 傅里叶变换的缺陷 2 短时傅里叶变换(窗式傅里叶变换) 3 小波部分 4 补充部分 1 傅里叶变换的缺陷 FFT在平稳信号的分析和处理中有着突出贡献的原因在于,人们利用它可以把复杂的时间信号 ...

  8. matlab时频分析之短时傅里叶变换 spectrogram

    matlab时频分析之短时傅里叶变换 spectrogram 短时傅里叶变换常用于缓慢时变信号的频谱分析,可以观察沿时间变化的频谱信号. 其优点如下图所示,弥补了频谱分析中不能观察时间的缺点,也弥补了 ...

  9. 时频分析:短时傅里叶变换(1)

    目录: 文章目录 目录: 前言 1傅里叶变换的缺陷 2短时傅里叶变换(窗式傅里叶变换) 3小波部分 4补充部分 补充 前言 最近需要对处理的数据做时频分析,因此恶补了一下相关的知识,光是学习并没有用处 ...

最新文章

  1. vue中axios如何实现token验证
  2. OSINT系列:网站信任评估WOT
  3. DOM中元素节点、属性节点、文本节点的理解
  4. HDU - 1429 胜利大逃亡(续) (BFS+状压)
  5. 利用Chrome的Heap Snapshot功能分析一个时间段内的内存占用率
  6. Bootstrap3 警告框插件的使用方法
  7. 客户端连接idea_IDEA新特性:提前知道代码怎么走!
  8. ⭐️C#零基础到入门 ⭐️| 带你认识编程中的—23种设计模式 六大设计原则
  9. python源代码编译后的文件扩展名-python源代码被解释器转换后的格式是什么?
  10. 学习沟通技巧--- SOFTEN法则与SOLER法则
  11. 用python实现人脸识别毕设_用Python实现一个简单的人脸识别,原来我和这个明星如此相似...
  12. L2-016 愿天下有情人都是失散多年的兄妹 (25 分) fill函数、bfs
  13. 23种设计模式中英文对照
  14. uni-app以h5网页的方式发布企业微信应用
  15. 毕设系列之Libx264实时视频流(YUV 420P转H264视频编码篇)
  16. 自己制作Chrome绿色版本。
  17. 【Proteus仿真】Arduino UNO+PCF8574+LCD1602+MPX4250电子秤
  18. 联想服务器td340安装精简版win10
  19. USB协议和接口梳理,Type-C,USB3.0,USB3.1,线序
  20. 自定义Modal组件

热门文章

  1. ways to talk with girls
  2. what should you do if you want to have a high efficiency for communication
  3. 昆曲,古琴,苏州评弹
  4. iPad的无纸化办公和纯纸化办公的区别和使用场景
  5. 【Java基本功】一文读懂String及其包装类的实现原理
  6. 图像滤镜艺术--编码基础(Photoshop基础变换的代码实现)
  7. vue-router 中导航守卫问题
  8. Java内部抽象类的匿名类初始化
  9. Web认证及API的 使用TOKEN的一些思考
  10. 嵌入式_makefile简单语法介绍