matlab 时频分析(短时傅里叶变换、STFT)「建议收藏」

matlab 时频分析(短时傅里叶变换、STFT)「建议收藏」短时傅里叶变换,short-timefouriertransformation,有时也叫加窗傅里叶变换,时间窗口使得信号只在某一小区间内有效,这就避免了传统的傅里叶变换在时频局部表达能力上的不足,

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

1. spectrogram:matlab 下的 stft

How can I compute a short-time Fourier transform (STFT) in MATLAB?

stft 不同于 ft 之处在于,多了时间的概念,对信号

y=sin(128πt)+sin(256πt)


2πftf
是频率 )进行短时傅里叶变换,该模拟信号中有 64 和 128 两种。

fs = 1000;
t = 0:1/fs:2;
y = sin(128*pi*t) + sin(256*pi*t);      

figure;
win_sz = 128;
han_win = hanning(win_sz);      % 选择海明窗

nfft = win_sz;
nooverlap = win_sz - 1;
[S, F, T] = spectrogram(y, window, nooverlap, nfft, fs);

imagesc(T, F, log10(abs(S)))
set(gca, 'YDir', 'normal')
xlabel('Time (secs)')
ylabel('Freq (Hz)')
title('short time fourier transform spectrum')

2. cwt:连续小波变换

Time-Frequency Analysis of Modulated Signals

小波变换进一步拓展了时频局部分析的能力。

[cfs,f] = cwt(quadchirp,'bump',fs);
helperCWTTimeFreqPlot(cfs,tquad,f,'surf','CWT of Quadratic Chirp','Seconds','Hz')

这里选择的是 bump 型小波,选择该类型的原因在于,当信号震荡剧烈,且更关注信号局部瞬变的时频分析。

load quadchirp;
fs = 1000;
[S,F,T] = spectrogram(quadchirp,100,98,128,fs);
helperCWTTimeFreqPlot(S,T,F,'surf','STFT of Quadratic Chirp','Seconds','Hz')

这里可以进一步对比 STFT(短时傅里叶变换)和 CWT(连续小波变换)在时频分析上的精细化刻画能力。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/167557.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 两人下象棋_双人五子棋同屏

    两人下象棋_双人五子棋同屏阅读本文前,请您先点击右上角的蓝色字体“优课屋”,再点击“关注”,这样您就可以继续订阅文章了!(国际象棋怎么玩)在我门的生活中,棋类游戏种类非常的多,其中我们最常玩的棋类游戏有中国象棋,中国跳棋,五子棋,围棋,军棋的。而最近这几年我们很多人都接触到了国际象棋这个游戏,国际象棋其实和中国象棋有很多相似的地方,很多玩家也都特别喜欢玩国际象棋这个游戏。我们现在可以非常方便的在我们身边的网络棋牌…

  • python彩色文字输出

    python彩色文字输出

  • JAVA JVM 优化「建议收藏」

    JAVA JVM 优化「建议收藏」现在多核CPU是主流。利用多核技术,可以有效发挥硬件的能力,提升吞吐量,对于Java程序,可以实现并发垃圾收集。但是Java利用多核技术也带来了一些问题,主要是多线程共享内存引起了。目前内存和CPU之间的带宽是一个主要瓶颈,每个核可以独享一部分高速缓存,可以提高性能。JVM是利用操作系统的”轻量级进程”实现线程,所以线程每操作一次共享内存,都无法在高速缓存中命中,是一次开销较大的

  • 史上超强最常用SQL语句大全

    史上超强最常用SQL语句大全史上超强最常用SQL语句大全,)1)DDL–数据定义语言用来定义数据库对象:数据库,表,列等。关键字:create,drop,alter等2)DML–数据操作语言用来对数据库中表的数据进行增删改。关键字:insert,delete,update等3)DQL–数据查询语言用来查询数据库中表的记录(数据)。关键字:selewhere等4)DCL–数据控制语言用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT,REVOKE等

  • ffmpeg添加视频封面_ffmpeg提取波形文件

    ffmpeg添加视频封面_ffmpeg提取波形文件ffmpeg-ia.mp4-y-fimage2-frames1a.jpgffmpeg-i11.mp4-vframes1xx.jpgffmpeg-ia.mp4-r0.1frames_%04.pngconvert-backgroundwhite-flatten***.pdf***.png

    2022年10月31日
  • 安卓中activity的生命周期_activity生命周期调用顺序

    安卓中activity的生命周期_activity生命周期调用顺序Android开发—-Activity生命周期Activity作为四大组件之首,也是使用最频繁的一种组件。本文将主要讲解Activity生命周期,包括正常情况下的Activity生命周期和异常情况下的Activity生命周期。1.正常情况下的Activity生命周期所谓正常情况下的生命周期,是指有用户参与的情况下,Activity所经过的生命周期的改变。正常情况下,Activity会经历如下过程。…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号