Azzera filtri
Azzera filtri

Manual Linkwitz-Riley filter

16 visualizzazioni (ultimi 30 giorni)
William Chambers
William Chambers il 22 Dic 2018
I'm trying to implement a manual linkwitz-riley filter, here's what I've done so far:
[x, fs] = audioread('nobody.wav');
[b0 a0]=butter(4,500/(fs/2));
[b1 a1]=butter(4,2000/(fs/2));
[b2 a2]=butter(4,500/(fs/2),'high');
[b3 a3]=butter(4,2000/(fs/2),'high');
lpL = filter(b0, a0, x);
lpH = filter(b1, a1, x);
lo = lpL+lpH;
hpL = filter(b2, a2, x);
mid = hpL + lpH;
apL = lpL + hpL;
hpH = filter(b3, a3, x);
hi = apL + hpH;
newsig = hi + mid + lo;
It kind of works, but doesn't sound like the original signal. I'm wondering whether any of you could help me out with implementing this a bit better.
I tried to follow this guideline:
. +---+ +---+
. +--|apL|--|hpH|-- Hi
. | +---+ +---+
. |
. | +---+ +---+
. --+--|hpL|--|lpH|-- Mid
. | +---+ +---+
. |
. | +---+ +---+
. +--|lpL|--|lpH|-- Lo
. +---+ +---+

Risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by