• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

对于multitaper多窗口谱估计的理解及步骤 (对应matlab中pmtm函数)谱减法相关 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

对于多窗口谱估计的理解

0. 缘起

在语音增强通过改进的谱减法进行谱估计时,使用多窗谱估计法要优于我们一般遇到的周期法谱估计,中文相关的资料不多,这里分享一下我学习理解到的内容。

1. PMTM 含义

  • P: PSD (Power spectral density)
  • MTM: Multi- Taper Method

2. 与我们常用的周期谱估计的区别

  • 正常的周期法: 频率估计是取帧,一帧加窗(一般汉宁窗)然后做频率变换,然后将每帧的频谱做一个平均
  • 多窗谱法:频率估计是取帧,一帧分别与多窗(一般为几个k不一样的slepian窗)中的每个窗相乘,然后做频率变换, 将每个窗频率变换的结果 相加得到最终的一帧频谱结果

PMTM 中常用的窗函数:

  • Slepian

  • Sine

    k不同,窗口不同,他们是正交的。即 向量积为0.

3. 计算过程

  • step 1: 取一帧数据,分别与窗相乘,得多几条加窗后的数据

  • step2: 针对每条数据(同一帧,不同加窗),进行 FFT变换


  • step3: 将这几条数据(同一帧,不同加窗)的FFT结果相加后平均,得多合成的一帧频谱变换

  • overview

5. 多窗/单窗谱估计结果对比

  • 多窗谱估计得到的结果没有一般的周期法用的单窗谱估计得到的结果那么锐利

6. 程序如何生成多窗 - 以sin为例

6.1 生成正交窗的公式代码

\[g_k{(n)}=\sqrt{\frac{2}{N+1}}sin(\frac{\pi nk}{N+1}) \qquad n,k=1,2,...N. \]

N为数据的点数

figure
N = 1000;
nw = 3;
ns = 2*(nw)-1;

n = 1:N;
k = 1:ns;

sine_tprs_array = sqrt(2/(N+1))*sin(pi*n\'*k/(N+1));   % 生成多窗口函数
% g_1(n)= sqrt(2/(1000+1))*sin(pi*(1:1000)\'*1/(1000+1))
% g_2(n)= sqrt(2/(1000+1))*sin(pi*(1:1000)\'*2/(1000+1))
% g_3(n)= sqrt(2/(1000+1))*sin(pi*(1:1000)\'*3/(1000+1))
% g_4(n)= sqrt(2/(1000+1))*sin(pi*(1:1000)\'*3/(1000+1))
% g_5(n)= sqrt(2/(1000+1))*sin(pi*(1:1000)\'*3/(1000+1))

lbs = "Sine";

% subplot(2,1,kj)
for kj= 1:5
    subplot(5,1,kj)
    plot(sine_tprs_array(:,kj))
    title(lbs)
    legend(append(\'k = \',string(kj)), ...
        \'Orientation\',\'horizontal\',\'Location\',\'south\')
    legend(\'boxoff\')
    ylim([-0.09 0.07])
end

6.2 计算是否符合正交

sine_tprs_array = tprs(:,:,2);
rslt = zeros([5,5]);
for i =1:5
    for j = 1:5
        rslt(i,j) = sine_tprs_array(:,i)\'*sine_tprs_array(:,j); % 计算向量积,检查是否正交
    end   
end`



>> rslt

rslt =

    1.0000    0.0000   -0.0000   -0.0000    0.0000
    0.0000    1.0000   -0.0000    0.0000   -0.0000
   -0.0000   -0.0000    1.0000   -0.0000   -0.0000
   -0.0000    0.0000   -0.0000    1.0000   -0.0000
    0.0000   -0.0000   -0.0000   -0.0000    1.0000
% 可见这几个窗函数都是正交的。

7. Reference

  1. Multitaper power spectral density estimate - MATLAB pmtm
  2. 频谱分析中如何理解taper? - 知乎
  3. [数字信号中功率谱估计相关方法简介及MATLAB实现_matlab功率谱
  4. The multi-taper method - YouTube

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi错误提示:Unknownpicturefileextension(.jpg)发布时间:2022-07-18
下一篇:
Delphi2009初体验 - 语言篇 - 体验泛型(一)发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap