Manual Linkwitz-Riley filter
16 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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
. +---+ +---+
0 Kommentare
Antworten (0)
Siehe auch
Kategorien
Mehr zu Digital Filtering 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!