Moving Average Filter for audio

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

Antworten (1)

Walter Roberson
Walter Roberson am 13 Jul. 2021

0 Stimmen

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 Kommentare

Cherri Ann
Cherri Ann am 13 Jul. 2021
when i use y2 = conv (y, h) it shows the same output as the original. Is it right?
Walter Roberson
Walter Roberson am 13 Jul. 2021
What is your h value? You would get the same output as the original if your h was scalar 1.
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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Audio I/O and Waveform Generation finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 13 Jul. 2021

Kommentiert:

am 13 Jul. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by