时频分析学习

1. FT STFT

  • ft : 全局变换,分析非平稳信号局部特征的效果不理想。

  • stft: 窗确定了,则时间频率分辨率确定了。局部分辨率固定。非平稳信号的分析效果差。

  • 频域分析的常用方法:
    带通滤波器组
    ft
    线性预测法
    zoomfft

1.1 DFT

资料《1_The Audio Programming Book_MIT》 chapt7

变换公式,其中N为信号点数。正变换需要除以点数N。
公式
实际c语言计算时用下式来分别对实部虚部进行计算。
在这里插入图片描述
DFT获得复数序列,其中实数是cos谐波的总和,虚数表示sin谐波的和(注意-符号)。

如果信号的频率不在DFT的所有频点上,则计算的dft幅度误差大。

1.1.1实数的dft特性与重构

  • 对实时,DFT的结果的特性:如果N为偶数,则第N/2+1个点的频率为fs/2,第2-N/2个点(频率为fs/N到fs/2-fs/NHz)的幅度与N-N/2+2个点(频率为fs-fs/N到fs/2+fs/NHz)对称。即只需关注幅度谱上0-fs/2 Hz的频点的幅度(第1点到N/2+1点)。
  • 实数的重构:如下式,已知虚部总和为0,则不需要计算虚部,只计算实部即可。
    在这里插入图片描述
    又:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    可得:

在这里插入图片描述

  • 右半边频点Xk实际对应负频率,**实部与左半边的实部相同,虚部与左半边的虚部的符号相反。**原因:Xk的实部是cos的和,虚部是sin的和。
    在这里插入图片描述
  • 频率0和fs/2的XK均是实值。考虑到负频率,实际上fs/2频率应该视为 ±fs/2。
  • 由于实信号的频谱被分为了正负半轴,所以除了0Hz外,每个频点的幅度为时域信号中谐波幅度的一半。(这是matlab的fft得到Xk后要/N*2才与时域幅度相等的原因)
  • matlab中 angle得到的是±pi内的相位,unwrap(angle(XK))/pi*180可观察连续的相位谱。

1.2 FFT

1.3 STFT

1.3.1 Window 原理

时域加窗,即频域卷积,窗w的频谱包络会强加到每个x的采样点上。
在这里插入图片描述

1.3.2 几种窗的特性

  • hanning、hanming
    在这里插入图片描述
    在这里插入图片描述

1.3.3 stft处理细节(stft和istft两个函数)

  • hopsize:帧移,根据窗类型来确定,hn、hm窗最佳选N/4,可确保成功重构信号。
  • overlapped-Add: dft时,每次移动H个点,截取Nfft个点加窗做fft。重建信号时,每次得到Nfft个点后,加窗,然后将其存至outsig序列中,前后两次存储的帧移也是H个点。
  • rfftw lib中的fft和ifft细节:计算N点fft得到N点的实数输出(结构为0至N/2点的实部,N-1点至1点的虚部,恰好共N个点),只保留了0-fs/2 Hz信号的实部和虚部,丢弃了右半边频率轴的信息。并且没有除以N。若要代入ifft必须先整体除以N。
  • The Audio Programming Book_MIT : 本书中的fft也只保留了左半边频率轴(0-fs/2 Hz)信息:顺序为0Hz、fs/2 Hz信号的实部,之后为1Hz的实部虚部,2Hz的实部虚部,直到fs/2-1 Hz的实部和虚部。并且除以了N。fft的结果可以直接带入ifft变换。如下图所示:
    在这里插入图片描述
    在这里插入图片描述
  • 在这里插入图片描述
    即表示fft的频点,多篇文章上都看到了freq bin。
  • 单帧STFT结果幅度表示信号中谐波的幅度,而相邻帧STFT的相位信息则可提取出瞬时频率,instantaneous freq。重要!!!
    we will be able to transform the amplitude and frequency aspect of a sound, by manipulating the magnitudes and phase values of each bin

1.3.4 stft的几个应用场景

  1. Cross-Synthesis
    matlab code example
    将sig1的幅度谱与信号2的相位谱合成。再istft。
Xr =abs_X1*cos(phi2);
Xim =abs_X1*sin(phi2);

2.频域filter

  • 对输入信号的幅度谱进行调整。(乘上cos类似低通滤波器,乘上sin类似高通滤波器。) 之前遇到的将电压信号的幅度谱与系统频响幅度曲线相乘,再变换回时域得到位移,也是此种场景。
  • 处理思路,将滤波器的H(z)的z用exp(j2pik/N表示,得到H(k)再写成rectangular形式,与XK的实虚部相乘即可。

1.4 phase vocoder

1.4.1 信号分解流程 analysis 在这里插入图片描述

  • 第2部的解释:为了对齐前后帧内信号相位,需要对分析窗内数据移位。当前窗的帧移为ha,则窗内右侧ha个点的数据需要移动至最左侧。这样连续采样的帧信号之间没有相位差。
    在这里插入图片描述
  • 核心:相邻bin的第k个频点的瞬时频率的估计: 当前k点的dft频率加前后两帧相位差对应的频率, = dphi/2pifs/hop+k/Nfs

    1.4.2 信号合成 resynthesis 在这里插入图片描述

    1.4.3 pv的缺点

    1、dft频率分辨率相同,低频误差较大。当多个频率进入单个分析频时,计算不准确。所以,更适合 harmonic spectra(A harmonic spectrum is a spectrum containing only frequency components whose frequencies are whole number multiples of the fundamental frequency)。

    1.4.4 应用

2. 非平稳信号处理

Wigner-Ville distribution, Short-time Fourier Transform, Wavelet Transform以及Hilbert-Huang Transform

两篇文章

https://ieeexplore.ieee.org/document/7906573

https://ww2.mathworks.cn/matlabcentral/fileexchange/62483-synchroextracting-transform

3.非线性系统

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值