I'm trying to make active xover with FXcore. I found xover project on spinsemi and trying to get only lowpass from it. Overall, I think Linkwitz-Riley filter with 24dB/oct will do the job due to flat sum characteristic.
So, here's the code:
Code: Select all
.rn lf1a_l r0
.rn lf1b_l r1
.rn lf2a_l r2
.rn lf2b_l r3
.rn lf1a_r r4
.rn lf1b_r r5
.rn lf2a_r r6
.rn lf2b_r r7
.rn kfl r8
.rn input_l r9
.rn input_r r10
; frq control
cpy_cs kfl, POT0_SMTH
; inputs
cpy_cs input_l, in0
cpy_cs input_r, in1
; filters
cpy_cc acc32, lf1a_l
multrr acc32, kfl
adds acc32, lf1b_l
cpy_cc lf1b_l, acc32
multrr acc32, kfl
multri acc32, -1
adds acc32, input_l
cpy_cc lf1a_l, acc32
cpy_cc acc32, lf2a_l
multrr acc32, kfl
adds acc32, lf2b_l
cpy_cc lf2b_l, acc32
multrr acc32, kfl
multri acc32, -1
adds acc32, lf1b_l
cpy_cc lf2a_l, acc32
cpy_cc acc32, lf1a_r
multrr acc32, kfl
adds acc32, lf1b_r
cpy_cc lf1b_r, acc32
multrr acc32, kfl
multri acc32, -1
adds acc32, input_r
cpy_cc lf1a_r, acc32
cpy_cc acc32, lf2a_r
multrr acc32, kfl
adds acc32, lf2b_r
cpy_cc lf2b_r, acc32
multrr acc32, kfl
multri acc32, -1
adds acc32, lf1b_r
cpy_cc lf2a_r, acc32
; outputs
cpy_sc out0, lf2b_l
cpy_sc out1, lf2b_r