Manual Linkwitz-Riley filter
16 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Digital Filtering 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!