【问题标题】:How to Create Hamming Window in Audio Signal Processing如何在音频信号处理中创建汉明窗
【发布时间】:2018-07-25 08:14:45
【问题描述】:

请帮帮我,我是新手...

我有一个音频 -- fs=16000 (.wav)。我想用汉明窗口触摸这个音频。

这是我的代码:

y = audioread('Mono.wav');

sr = 16000; %sampling rate

w = 512; %window size

T = w/sr; %period

% t is an array of times at which the hamming function is evaluated

t = linspace(0, 1, 16000);

twindow = t(1:512);


hamming = 0.54 - 0.46 * cos((2 * pi * twindow)/T);

plot(hamming);

title('Hamming');


问题:

1)如何制作重叠帧并将这些帧存储到矩阵中?

(创建帧)

2) 重叠从输入矩阵中添加帧

(融合帧)

感谢您的关注

【问题讨论】:

  • 您应该使用 Matlab 中内置的汉明函数,而不是自己编写。输入help hamming,您将看到如何使用它的说明。在参考页面中,您可能还会找到您想要实现的目标的示例。
  • 你好,马蒂亚,我的老朋友。我又来找你聊天了(...):D

标签: matlab audio signal-processing fft windowing


【解决方案1】:

要制作重叠框,我建议你使用buffer函数:

>> x = 1:100;
>> y = buffer(x, 20, 5) % create a frame of 20 elements with 5 elements overlap.

y =

     0    11    26    41    56    71    86
     0    12    27    42    57    72    87
     0    13    28    43    58    73    88
     0    14    29    44    59    74    89
     0    15    30    45    60    75    90
     1    16    31    46    61    76    91
     2    17    32    47    62    77    92
     [...]
     9    24    39    54    69    84    99
    10    25    40    55    70    85   100
    11    26    41    56    71    86     0
    12    27    42    57    72    87     0
    13    28    43    58    73    88     0
    14    29    44    59    74    89     0
    15    30    45    60    75    90     0

要对每一帧应用汉明窗,只需使用y .* hamming(20)

【讨论】:

    猜你喜欢
    • 2012-11-01
    • 2012-11-05
    • 1970-01-01
    • 2014-04-10
    • 1970-01-01
    • 2013-01-16
    • 1970-01-01
    • 2013-06-07
    • 1970-01-01
    相关资源
    最近更新 更多