matlab中的indf,数字信号处理(3)- 短时频域分析

本文介绍了MATLAB中进行短时频域分析的方法,包括短时傅里叶变换的原理和实现。通过MATLAB程序展示了对音频文件进行分帧、加窗、离散短时傅里叶变换的过程,并利用三维图展示时频分布,便于观察信号的频率成分随时间变化。
摘要由CSDN通过智能技术生成

短时频域分析

短时傅里叶变换

设时域信号为x(l),分帧加窗处理后得到的第n帧信号为xn(m),则xn(m)满足下式:

25a4cea9305a698da0a44800437ba037.png

其中N是每一帧信号的长度,n是帧序号,m是一帧中数据的序号。

时域信号x(l)的离散短时傅里叶变换为:

d2a1e0fc84c5609bf97e42b800c34452.png

其中k是谱线号。

当N是2的整数倍时,这个离散短时傅里叶变换可以使用FFT来计算。

MATLAB程序

MATLAB程序演示信号分帧、加窗、求离散短时傅里叶变换,并最终使用三维图展示结果。

其中打开的test.wav文件是一个8kHz采样率的音频文件,这个文件可以自由录制得到。

clc

clear

close all

[x,fs]=audioread('test.wav');% 读入数据文件

t=(1:length(x))/fs;

wlen=256; % 帧长

inc=128; % 帧移

win=hanning(wlen); % 窗函数

nfft=wlen

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值