我需要将音频信号分成可以假设信号是静止的帧。如何测量音频信号在帧中是否静止?
是否有任何测量或测试音频信号是否静止?
信息处理
声音的
离散信号
信号分析
2022-01-27 10:21:53
2个回答
我是一名 DSP 学生,也许这不是最完整的答案。我必须在部分工作中回答同样的问题,这就是我到目前为止得到的:
正如安德烈所说,纯平稳信号是均值和方差不随时间变化的信号。在自然界(现实生活、人工演绎的音乐等)中,这很难找到。
所以你可以:
- 在频谱图中可视化信号。如果信号是静止的,则信号将在频谱图中显示为相同强度的水平条:
即使在这个信号中,由过滤后的白噪声和音调组成,媒体和方差也会随着时间发生一点变化。
因此,拆分被测信号的各个部分,以确定媒体和方差是否没有“太大”变化。“多少”取决于你:
% test for stationary B xnbf = buffer(signal,100); mxn = mean(xnbf); sxn = std(xnbf); figure; errorbar(mxn, sxn, 'o'); title('Signal A')
此外,请查看此链接,其中包括测试进程是否静止的方法的综合列表: https ://quant.stackexchange.com/questions/2372/how-to-check-if-a-timeseries-is -固定
% test for stationary B
xnbf = buffer(signal,100);
mxn = mean(xnbf);
sxn = std(xnbf);
figure; errorbar(mxn, sxn, 'o'); title('Signal A')
在上面的代码中,平均值和方差应该计算在xnbf
而不是signal
其它你可能感兴趣的问题