Manual Linkwitz-Riley filter

11 Ansichten (letzte 30 Tage)
William Chambers
William Chambers am 22 Dez. 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
. +---+ +---+

Antworten (0)

Kategorien

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

Community Treasure Hunt

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

Start Hunting!

Translated by