STFT的综合分析--滤波器组求和(FBS)和叠相相加(OLA)
STFT 固定频率时的两种解释
第一种解释
STFT的公式可以表示为:
X(n,w)=∑n=−∞n=∞x(m)w(n−m)e−jwmX(n,w)=\sum_{n=-\infty}^{n=\infty}x(m)w(n-m)e^{-jwm}X(n,w)=n=−∞∑n=∞x(m)w(n−m)e−jwm
上一篇博客介绍了STFT的可以解释为滤波操作,将www 固定于某个值w0w_0w0,
X(n,w0)=∑m=−∞m=∞[x(m)e−jw0m]w(n−m)=[x(n)e−jwn]∗w(n)=X(w+w0)W(w)X(n,w_{0})=\sum_{m=-\infty}^{m=\infty}[x(m)e^{-jw_{0}m}]w(n-m) \\=[x(n)e^{-jwn}]*w(n) \\=X(w+w_{0}) W(w)X(n,w0)=m=−∞∑m=∞[x(m)e−jw0m]w(n−m)=[x(n)e−jwn]∗w(n)=X(w+w0)W(w)
第二种解释
将m′=n−mm'=n-mm′=n−m,代入上式中,
X(n,w0)=∑m=−∞m=∞[x(m)e−jw0m]w(n−m)=∑m′=−∞m′=∞[x(n−m′)e−jw0(n−m′)]w(m′)=∑m′=−∞m′=∞[x(n−m′)ejw0m′w(m′)]e−jw0n=[[ejw0mw(m)]∗x(m)]e−jw0nX(n,w_{0})=\sum_{m=-\infty}^{m=\infty}[x(m)e^{-jw_{0}m}]w(n-m) \\=\sum_{m'=-\infty}^{m'=\infty}[x(n-m')e^{-jw_{0}(n-m')}]w(m') \\=\sum_{m'=-\infty}^{m'=\infty}[x(n-m')e^{jw_{0}m'}w(m')] e^{-jw_{0}n} \\=[[e^{jw_{0}m}w(m)]*x(m)]e^{-jw_{0}n} X(n,w0)=m=−∞∑m=∞[x(m)e−jw0m]w(n−m)=m′=−∞∑m′=∞[x(n−m′)e−jw0(n−m′)]w(m′)=m′=−∞∑m′=∞[x(n−m′)ejw0m′w(m′)]e−jw0n=[[ejw0mw(m)]∗x(m)]e−jw0n
可以用下面的图片解释(对应STFT的FBS综合方法)
STFT的两种综合方法
filter bank summation (FBS)
当固定频率设为wkw_{k}wk ,根据上面的推导,X(n,wk)=∑m=−∞m=∞e−jwkn[x(n−m)ejwkmw(m)]X(n,w_{k})=\sum_{m=-\infty}^{m=\infty}e^{-jw_{k}n}[x(n-m)e^{jw_{k}m}w(m)] X(n,wk)=m=−∞∑m=∞e−jwkn[x(n−m)ejwkmw(m)]
令hk(n)=wk(n)ejwknh_k(n)=w_k(n)e^{jw_kn}hk(n)=wk(n)ejwkn,则
X(n,wk)=e−jwkn∑m=−∞m=∞x(n−m)hk(m)=e−jwknyk(m)X(n,w_{k})=e^{-jw_{k}n}\sum_{m=-\infty}^{m=\infty}x(n-m)h_k(m) \\=e^{-jw_kn}y_k(m)X(n,wk)=e−jwknm=−∞∑m=∞x(n−m)hk(m)=e−jwknyk(m)
其中yk(n)=∑m=−∞m=∞x(n−m)hk(n)y_k(n)=\sum_{m=-\infty}^{m=\infty}x(n-m)h_k(n)yk(n)=∑m=−∞m=∞x(n−m)hk(n) ,表示在频率wkw_kwk 处具有冲击响应为hk(n)h_k(n)hk(n)的系统输出,变换上式,
yk(n)=X(n,wk)ejwkny_k(n)=X(n,w_{k})e^{jw_{k}n}yk(n)=X(n,wk)ejwkn
令y(n)=∑k=0k=N−1yk(n)=∑k=0k=N−1X(n,wk)ejwkny(n)=\sum_{k=0}^{k=N-1}y_k(n) \\=\sum_{k=0}^{k=N-1}X(n,w_{k})e^{jw_{k}n}y(n)=k=0∑k=N−1yk(n)=k=0∑k=N−1X(n,wk)ejwkn
上式给出了从STFT的输出X(n,wk)X(n,w_k)X(n,wk)恢复到时域的方法,但需要证明y(n)在什么情况下才和x(n)相等???
证明:
由于,yk(n)=∑m=−∞m=∞x(n−m)hk(n)y_k(n)=\sum_{m=-\infty}^{m=\infty}x(n-m)h_k(n)yk(n)=m=−∞∑m=∞x(n−m)hk(n)
y(n)=∑k=0k=N−1yk(n)y(n)=\sum_{k=0}^{k=N-1}y_k(n)y(n)=k=0∑k=N−1yk(n)
同时做傅里叶变换得,
Y(W)=X(W)H(W)=X(W)∑k=0k=N−1Hk(wk)Y(W)=X(W)H(W) \\=X(W)\sum_{k=0}^{k=N-1}H_k(w_k)Y(W)=X(W)H(W)=X(W)k=0∑k=N−1Hk(wk)
要想使得等式成立,则窗函数需要满足∑k=0k=N−1Hk(wk)=C\sum_{k=0}^{k=N-1}H_k(w_k)=C∑k=0k=N−1Hk(wk)=C
而HkH_kHk是hkh_khk的傅里叶变换,hkh_khk和窗函数w(m)有关,因此只要每一帧STFT用的窗函数一样,且窗长L<=NL<=NL<=N,则等式成立。
overlap-add (OLA) method
OLA方法在语言信号处理中经常使用,在每一个时间段对X(n,w)X(n,w)X(n,w) 做ifft变换,并对重叠段进行相加,可以表示为:
y(n)=∑r=−∞r=∞[1/N∑k=0k=N−1X(rR,wk)ejwkn]y(n)= \sum_{r=-\infty}^{r=\infty}[1/N\sum_{k=0}^{k=N-1}X(rR,w_{k})e^{jw_{k}n}]y(n)=r=−∞∑r=∞[1/Nk=0∑k=N−1X(rR,wk)ejwkn]
对不同的rrr值进行ifft,可以得到:
yr(n)=x(n)w(rR−n)y_{r}(n) = x(n)w(rR-n)yr(n)=x(n)w(rR−n)
对不同的rrr相加,
y(n)=∑r=−∞∞yr(n)=x(n)∑r=−∞r=∞w(rR−n)y(n)=\sum_{r=-\infty}^{\infty}y_{r}(n)=x(n)\sum_{r=-\infty}^{r=\infty}w(rR-n)y(n)=r=−∞∑∞yr(n)=x(n)r=−∞∑r=∞w(rR−n)
所以只有∑r=−∞r=∞w(rR−n)=C\sum_{r=-\infty}^{r=\infty}w(rR-n)=C∑r=−∞r=∞w(rR−n)=C时,就可以恢复原始信号。
两种方法对比总结
总结就用下图表示。
参考文献
[1] Loizou P C. Speech Enhancement: Theory and Practice[M]. 2007.
[2] This lecture is based on chapter 7 of [Quatieri, 2002]
STFT的综合分析--滤波器组求和(FBS)和叠相相加(OLA)相关推荐
- 03 - 滤波器组典型相关分析(Filter bank canonical correlation analysis,fbcca)
03 - 滤波器组典型相关分析(Filter bank canonical correlation analysis,fbcca) 这里介绍了一种简单的SSVEP算法,在实际中有着重要的作用. 文章目 ...
- 用matlab画多普勒加宽线性函数,MTD雷达中多普勒滤波器组的设计与实现
合肥工业大学理学院电子科学与技术2006届毕业论文集 目 录 中文摘要1 英文摘要2 1 引言3 1.1 研究背景及意义3 1.2 国内外研究现状4 1.3 本设计的指导思想和主要工作4 2 动目标检 ...
- 深入理解梅尔刻度、梅尔滤波器组和梅尔时频谱图
前情提要 短时傅里叶变换公式 S ( m , k ) = ∑ n = 1 N − 1 x ( n + m H ) w ( n ) e − i 2 π k N n S(m,k) = \sum_{n=1} ...
- Mel滤波器组的设计与实现(基于MATLAB和Python)
Mel滤波器组的设计与实现(基于MATLAB和Python) 1.Mel滤波器组介绍 在语音的频谱范围内设置若干带通滤波器Hm(k),0≤m<MHm(k),0≤m<M{{H}_{m}}\l ...
- 【语音SBC算法】基于正交滤波器组的语音SBC算法设计与实现
数字语音编码是现代数字语音通信以及数字语音存储回放的前提和基础,对数字语音通信系统和数字语音存储回放系统的性能具有决定性的作用.目前,主要从编码速率.时延.语音回放质量等指标上研究高效的数字语音编码算 ...
- lintcode循环数组之连续子数组求和
v 题目:连续子数组求和 II 给定一个整数循环数组(头尾相接),请找出一个连续的子数组,使得该子数组的和最大.输出答案时,请分别返回第一个数字和最后一个数字的值.如果多个答案,请返回其中任意一个. ...
- 【现代信号处理】17 - 基于滤波器组的谱估计
基于滤波器组的谱估计–Filter-Bank Method 文章目录 基于滤波器组的谱估计--Filter-Bank Method 1. 滤波器组 1.1 分段处理谱估计问题 1.2 滤波器作为谱估计 ...
- 基于MIMO的滤波器组多载波调制技术(后期将附上MATLAB代码)
本篇文章将为"基于MATLAB的卡尔曼滤波器设计"做铺垫. 一. 本文用到的缩写 FBMC: Filter Bank Multi-Carrier 滤波器组多载波 MIMO:Mult ...
- 音频(六)Mel滤波器组_原理简介
为什么会产生出Mel 这种尺度的机制呢? 人耳朵具有特殊的功能,可以使得人耳朵在嘈杂的环境中,以及各种变异情况下仍能正常的分辨出各种语音: 其中,耳蜗有关键作用; 耳蜗实质上的作用相当于一个滤波器组, ...
最新文章
- combo:机器学习模型合并工具库
- scala 中List的简单使用
- 64ubuntu编译32位程序
- 飞鸽传书下载,还是飞鸽传书下载
- Oracle [INS-13001]环境不满足最低要求
- python语义分析_Python自然语言分析
- telnet不是内部或外部命令解决方法
- EditPlus 说明
- mysql基础之多表练习题
- 简练软考知识点整理-四控三管一协调
- DOM常用属性【DOM】
- 人工智能的伦理和价值观——阿西洛马人工智能原则(Asilomar AI Principles )
- 赋能这个词我都快听吐了,还没想到怎么通过赋能挣钱
- 海量数据处理常用思路和方法(转)
- spark期末大作业RDD编程初级实践
- 可编程的SQL是什么样的?
- 数据分析师入门推荐书单
- Python怎么急速下载第三方库
- ppt学习总结--一般人需要掌握的内容
- java毕业设计基地信息可视化(附源码、数据库)
热门文章
- SpringSecurity+Oauth+短信登录+第三方登录认证+Session管理
- opencv+dlib实现给蒙娜丽莎“配”眼镜
- ###好好好####深度学习---多标签分类问题
- 计算机应用技术怎样为祖国做出贡献,计算机应用技术
- 接商城类私活就靠他了,前后端都有
- PCIe四通道光纤数据传输板PCIe-Fib-4Ch5G
- App个人开发者已末路穷途
- 如何打开探月工程数据发布与信息服务系统下载的数据
- NASA Panoply读取netcdf画图
- 【姿态检测】win10+Azure Kinect Dk 人体姿态跟踪使用教程