• 短时傅立叶变换分析


    通过傅立叶变换可以得到信号的频谱。信号的频谱的应用非常广泛,信号的压缩、降噪都可以基于频谱。

    然而傅立叶变换有一个假设,那就是信号是平稳的,即信号的统计特性不随时间变化。声音信号就不是平稳信号,在很长的一段时间内,有很多信号会出现,然后立即消失。如果将这信号全部进行傅立叶变换,就不能反映声音随时间的变化。

    短时傅立叶变换(short-time fourier transform)就能解决这个问题。声音信号虽然不是平稳信号,但在较短的一段时间内,可以看作是平稳的。符合直觉的解决方案是取一小段进行傅立叶变换,这也正是短时傅立叶变换的核心思想。

     

    窗函数:

    从一段长的信号,截取一段信号,相当于将原始信号乘以一个方窗。方窗的傅立叶变换并不是理想的冲击函数,而是sinc函数。sinc函数除了主瓣以外,还有较高的副瓣。较高的副瓣意味着在真实频点以外,副瓣的位置上,频谱也会不为零。如果在副瓣的位置上恰好有一个幅度很小的信号,就会被完全淹没。 

    sinc函数:方窗的傅里叶变换就是sinx/x

     

    对于方窗较高的副瓣电平,解决方案是使用窗函数,代替简单地截取一段信号。通常使用的窗函数有hanning窗、hamming窗、Blackman-Haris窗等。

    hamming窗的副瓣电平是-43dB,远小于方窗的副瓣电平-13dB。

     

     

    加窗带来了新的问题。在窗的边缘,信号会乘上一个很小的数。这意味着数据并没有充分被利用,两个相邻窗之间的信号没有完全反映到频谱当中。解决办法是两个相邻的窗有一定的重叠。通常重叠区间可以选择为窗宽度的50%或者25%。

    重叠还有另一个目的。信号进行短时傅立叶变换得到谱图(spectrogram),进行一些处理之后,有时还需要恢复成为时间序列。恢复的时候必须弥补窗函数带来的影响。

    hanning窗、hamming窗都是简单的正弦函数的叠加。当重叠区间较大时,窗函数的影响几乎可以忽略不计。

     

     

    窗介绍:

    常数的傅立叶变换是冲击函数,没有宽度。窗函数的傅立叶变换都有一定宽度。方窗的主瓣宽度最小,其次是hanning窗、hamming窗。窗函数的宽度会影响频谱的分辨率。 

    窗函数主瓣宽度
    方窗2
    hanning窗4
    hamming窗4
    BlackMan窗4
    BlackMan-harris窗8

     

     

     

     

    M表示窗的宽度;

    Bs表示 主瓣宽度;

    Fs表示采样频率;

    Fk+1-Fk表示频率分辨率,即相邻俩个频率之间的差值。

  • 相关阅读:
    【第六周】组合数据类型
    我的企业证书是正常的但是下载应用app到手机提示无法安装“app名字”无法安装此app,因为无法验证其完整性解决方案
    几种经典排序算法
    优雅的实现符合开闭原则的流水日志抽取demo
    架构师知识体系梳理
    Simple WPF: S3实现MINIO大文件上传并显示上传进度
    MySQL高级语句(二)
    K8S 多集群管理很难?试试 Karmada | K8S Internals 系列第 3 期
    JSP include指令
    好心情受邀出席“地球克隆计划5”元宇宙大会,发表主题演讲
  • 原文地址:https://blog.csdn.net/chehec2010/article/details/125397457