Moving Average Filter for audio

6 次查看(过去 30 天)
Cherri Ann
Cherri Ann 2021-7-13
Hi! I have created my an audio file using my voice, and now I have to use moving average filter. I was only given a value of h. Ive been trying to look for other examples of MAF applied on this but theres none. I couldnt get the right output. I used conv

回答(1 个)

Walter Roberson
Walter Roberson 2021-7-13
If you have already obtained the entire signal, then you can use movmean() if your MATLAB is new enough. However, conv() can also work well.
  3 个评论
Walter Roberson
Walter Roberson 2021-7-13
What is your h value? You would get the same output as the original if your h was scalar 1.
Walter Roberson
Walter Roberson 2021-7-13
load handel
y = y(1:256);
plot(y)
ysc = conv(y, ones(1,20)/20, 'valid');
plot(ysc)
ysmm = movmean(y, 20, 'endpoints', 'discard' );
plot(ysmm)
max(abs(ysc-ysmm))
ans = 2.7756e-17
You can see that the two computation methods are equivalent.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Audio I/O and Waveform Generation 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by