Mains (Martin Logan Prodigy)
Frequency Response 28–22,000 Hz ±3dB
Subwoofer (Martin Logan Descent)
Frequency Response 18–150 Hz ±3dB
Here's what I've done based on experimenting:
Copy: VSUB1=0.5*L+0.5*R
Channel: VSUB1
Filter: ON LPQ Fc 60 Hz Q 0.8071
Filter: ON LP Fc 60 Hz
Channel: L R
Filter: ON HP Fc 60 Hz
Copy: LFE=LFE+VSUB1
I chose 60Hz (roughly double the -3dB point for my mains) and the filters by looking at the filter curves in REW. Not scientific, just roughly what rolloff and frequency that looks reasonable to me. I don't want to take away too much from my fronts since they are full-range speakers.
My questions:
Is there a mathematical way to choose the "correct" crossover (if there is even such a thing)?
How should I configure the low-pass and high-pass filters, in terms of LPQ/LP etc? Again, is there a mathematically "correct" configuration? Should both filters use the same frequency (60Hz)?
Is it "correct" to add the result to the existing LFE channel? What factor should I use? And do I need to reduce everything with "Preamp: -6 dB" to prevent clipping (is it absolutely necessary, since I don't see it clip in Orban Loudness Meter)?
Last edit: Bryan Chow 2020-06-22
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I don't think you can use a mathematical way (if there's one) since you want to add some bass to the full-range speakers. Anyway, basically you set the same frequency and use a complementary low and high pass filter as you did. But you have added another low pass filter (probably to get a steeper slope) thus theoretically speaking there should be a high pass filter too. To answer your questions:
Probably but there isn't a "standard" way of creating a crossover. Therefore a mathematical way could be considered as useless.
Use same frequency. But if you want more bass in your full-range speakers, shift the frequency of the low and high pass filters. Or set the frequency lower of the high pass filter (not higher than the low pass as you "loose" frequencies!).
Use LPQ/HPQ filters (Q to control the slope). Add filters in a Linkwitz-Riley or Butterworth setup for getting steeper slopes. Using more than one filter is only needed when the subwoofer isn't performing well with higher frequencies.
You should read the attention note on the Equalizer APO channel command explanation. In short: there may be unexpected result using low pass filters on LFE/subwoofer.
No pre amp for the subwoofer is needed for clipping. An "anti-clipping" pre amp should in general be done on "All" channels (clipping is commonly an issue of the audio source). Of course pre amplifying your subwoofer for less prominent bass sound could be usefull.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Multichannel. I actually have 4.1 speakers (no center). Windows is configured as 7.1 and I'm using Equalizer APO to create virtual center and rears (works very well, just that the sweet spot is small).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Glad my info is of use. There could be some bass management by the audio driver but I think it's not likely. Experimenting is a good way to go forward. Sound is in the eye, well ear, of the beholder.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Did not find the full specs of Martin Logan Descent but, UG says there are two low pass filters onboard to choose from, one @40Hz and the other @70Hz and also boost frequency is 25Hz. I couldn't find info regarding the steepness of those LPFs. Is LPF always in use.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The built-in filters (40Hz or 70Hz) are only active when using left/right inputs. They are not active when using the LFE input which is what I am using.
Here are my REW graphs with 1/3 smoothing. Red=LFE, green=R channel.
Perhaps I should just use the left/right inputs for my subwoofer (with no dedicated LFE channel), with the sub's 40Hz filter active since the speakers and subwoofer are designed to work together. On the other hand that would send the full-range signal to my mains with bass it's not suited to handle. Decisions, decisions...
Last edit: Bryan Chow 2020-06-23
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Remember that fc means the -3dB point in response ... for 2nd order filter fc @ 60Hz, roll-off starts well above 100Hz and reaches -3dB level at 60Hz. Higher order filtter gices steeper roll-off ... .
Higher order filter can be done by cascading several filters using this type code for to calculate Q value for each filter:
For an Nth order Butterworth (N even or odd) you will have N/2
biquad sections ((N-1)/2 for odd N or floor(N/2) for either
even or odd N), each will have the same resonant frequency w0
and will have Q:
Q = 1/( 2sin((pi/N)(n + 1/2)) ) , where 0 <= n < (N-1)/2
Example: Cascaded 4th order Butterworth high pass filter for speakers:
Yes, for stereo source you have to make copy of L and R for LFE as you do there.
By using higher order cascade (say 8th order which gives 48dB/oct slope) ) you could get the bump @45 Hz go away better (if it is not intended to be there). Example of 8th order cascaded HPF.
I just started using Equalizer APO with the Peace addon to do most of my Bass management on my PC and this thread is one of the most useful so thank you. My question is has anyone done any testing to see what numbers we should be using in these formulas or rationale for them? I have an RCA to line in to my PC to measure the Pre out signals and was messing around with my Denon AVR and noticed that with my sub volume sets to -3 on the Denon, using a .31 coefficient to redirect bass from each channel was about equal to sending the signal to the Denon and letting it do the bass management, which was also the same level as the signal to my main channel which is what you want. I think the coefficient will vary based on your sub level so it may not be the same for everyone but as long as they are all the same the sub level can be adjusted to be correct.
One thing I haven't tested yet is the actual LFE channel and what we want that to be. Your example makes sense in that we want to add the LFE channel to the virtual Sub channel(redirected bass from the other channels) but I've seen many people create a sub channel that actually uses a similar coefficient to the LFE channel as well and that doesn't seem right. Then there is the fact that 5.1 movie tracks are supposedly -10db on the LFE track so to make it correct we would actually want the SUB channel to be:
Copy: LFE=LFE*10+VSUB1
Have you or anyone else thought more about that or tested it? It seems like there has to be a mathematically correct formula for bass management when your sub is at 0 on the receiver that takes into account the LFE channel and whether we should add in the 10db and then adds in the redirected bass from the other channels.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Although I'm not sure what you're saying at least your Copy statement could be wrong. By using 10 as a multiplication the original LFE channel is amplified 10 times! This causes major clipping on LFE, even at a low input gain. The 10 should be replaced by a value less than 1 as the VSUB1 is added too. The resulting LFE should be arround 1.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thank you, I've been seeing a few people do that LFE*10 to boost the LFE channel and it seemed odd to me as well. I should have used visuals to explain what I was saying but when a 5.1/7.1 system is calibrated, all channels are at 85db while the LFE is calibrated to 95 db but if the LFE channel were set at that level it would clip the channel. So processors add in that 10 db to the LFE signal only and then adds in the redirected bass from the other channels, here's a visual to show this: https://4.bp.blogspot.com/-1074wIg4QOQ/WLwjsy0Ua9I/AAAAAAAAArY/hYpC7t1Dpmodu1VzcCnWVE_al0SZTYsBgCLcB/w1200-h630-p-k-no-nu/bass.jpg
So we don't actually want to add 10db to the LFE channel but rather reduce the redirected bass channels by 10db relative to the LFE and then have your sub be boosted by that 10db again in your AVR. -10db for each channel is the same as .32*Channel so the Redirection formula to give the LFE channel it's 10db boost is:
I tested this by measuring the Pre out signal from my receiver and they are the correct levels when I set my LFE level to 0 (I have the option to reduce it to -10) and my subwoofer level is at -3db in my Denon AVR. I don't think I can post links yet to show my graph but the Right channel and redirected bass are at the same level and the LFE channel is 10 db louder so it should be working correctly.
My remaining confusion is about the LFE channel itself, I can change the levels of my redirected bass with different coefficients but the LFE level doesn't seem to be affected by multipliers, maybe you know why that would be? The formula above is correct for the levels but I want to make sure I won't be clipping the signal either. If the LFE signal is already a 1.0 and we're adding the redirected bass to it, it seems that may be a concern.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm not sure. Perhaps it's what the wiki is saying about the LFE channel (scroll down a bit to see the note). Anyway, by adding VSUB to a channel this channel should be reduced in gain. It should be something like this (if the multiplification works):
Copy: LFE=0.5*LFE+VSUB
where 0.5 is an arbitrary value below 1. VSUB adds up to 1.6 which is again above 1 so clipping may occur.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yes I have seen that, it is a bit of a confusing statement but I think it's just saying that if a downstream processor like an AVR is doing bass management, the filters used for the subwoofer won't apply. That is why it's important to get the bass management right in the EQ APO/Peace interface and just have it send the signal to a receiver without processing(Put Receiver in Direct mode).
Regarding clipping, I saw somewhere else that the way to ensure no clipping with a bass management formula would be to use the formula: 1/Sqrt(#of channels), so in the case of 6 channels for 5.1 it ends up being 1/2.449 or .408 average for each channel. So even if the LFE were 1, the others make it 2.6 or just barely over clipping assuming all channels driven at the same time at the Reference level of 85 decibels, which is very loud. So probably not an issue in the real world but technically possible to clip. There's also still the problem that adding a .5 or other coefficient in front of LFE doesn't seem to be lowering it's output.
Either way I've got it pretty much working as I want and I do appreciate the help and donated to the cause yesterday. EQ APO w the Peace addon is really helpful in getting the sound the way I like it, so much better than the room correction available on AVRs these days.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Here are the info for my speakers:
Mains (Martin Logan Prodigy)
Frequency Response 28–22,000 Hz ±3dB
Subwoofer (Martin Logan Descent)
Frequency Response 18–150 Hz ±3dB
Here's what I've done based on experimenting:
I chose 60Hz (roughly double the -3dB point for my mains) and the filters by looking at the filter curves in REW. Not scientific, just roughly what rolloff and frequency that looks reasonable to me. I don't want to take away too much from my fronts since they are full-range speakers.
My questions:
Last edit: Bryan Chow 2020-06-22
I don't think you can use a mathematical way (if there's one) since you want to add some bass to the full-range speakers. Anyway, basically you set the same frequency and use a complementary low and high pass filter as you did. But you have added another low pass filter (probably to get a steeper slope) thus theoretically speaking there should be a high pass filter too. To answer your questions:
Thanks Peter, that's very helpful info.
How are you connecting those PC outputs to the amplifiers (i.e. which output format in windows you have ... stereo ... multichannel)?
Multichannel. I actually have 4.1 speakers (no center). Windows is configured as 7.1 and I'm using Equalizer APO to create virtual center and rears (works very well, just that the sweet spot is small).
Glad my info is of use. There could be some bass management by the audio driver but I think it's not likely. Experimenting is a good way to go forward. Sound is in the eye, well ear, of the beholder.
Did not find the full specs of Martin Logan Descent but, UG says there are two low pass filters onboard to choose from, one @40Hz and the other @70Hz and also boost frequency is 25Hz. I couldn't find info regarding the steepness of those LPFs. Is LPF always in use.
Hi Juna,
The built-in filters (40Hz or 70Hz) are only active when using left/right inputs. They are not active when using the LFE input which is what I am using.
Here are my REW graphs with 1/3 smoothing. Red=LFE, green=R channel.
Perhaps I should just use the left/right inputs for my subwoofer (with no dedicated LFE channel), with the sub's 40Hz filter active since the speakers and subwoofer are designed to work together. On the other hand that would send the full-range signal to my mains with bass it's not suited to handle. Decisions, decisions...
Last edit: Bryan Chow 2020-06-23
Remember that fc means the -3dB point in response ... for 2nd order filter fc @ 60Hz, roll-off starts well above 100Hz and reaches -3dB level at 60Hz. Higher order filtter gices steeper roll-off ... .
Higher order filter can be done by cascading several filters using this type code for to calculate Q value for each filter:
For an Nth order Butterworth (N even or odd) you will have N/2
biquad sections ((N-1)/2 for odd N or floor(N/2) for either
even or odd N), each will have the same resonant frequency w0
and will have Q:
Q = 1/( 2sin((pi/N)(n + 1/2)) ) , where 0 <= n < (N-1)/2
Example: Cascaded 4th order Butterworth high pass filter for speakers:
and cascaded 4th order Butterworth low pass filter for LFE:
Last edit: Juha 2020-06-23
Woah that looks really advanced. I'll copy your code and play with them thanks!
Edit: with the HP filter at 70Hz and the LP filter at 45Hz, doesn't it cause a hole in my frequency range? Should they be reversed?
Last edit: Bryan Chow 2020-06-23
I had those values left ... edited the post.
Ok. So I should use the same frequency for the LP and HP filters?
What about my COPY commands, do they make sense?
Last edit: Bryan Chow 2020-06-23
Shouldn't the last line not be this?
If so, then things can be simplified to:
No because there is an existing LFE channel, so I need to redirect the bass from my fronts and add it to the LFE.
Then the commands are pretty much right. You could play around with the 0.5 factor for more or less bass taken from the fronts.
Got it. Was hesitant to use more than 0.5 from each side and run into clipping. Will experiment.
Yes, for stereo source you have to make copy of L and R for LFE as you do there.
By using higher order cascade (say 8th order which gives 48dB/oct slope) ) you could get the bump @45 Hz go away better (if it is not intended to be there). Example of 8th order cascaded HPF.
To avoid using Eval: command, you can calculate the Q values here (gives same values as Eval: here but in different order).
Last edit: Juha 2020-06-23
I'm pretty sure the 45Hz bump comes from the room. The curves were measured independently for each physical speaker without EQ or filtering.
BTW I just type "1/(2sin((pi/4)(0+1/2)))=" in Google and it's smart enough to figure it out :)
I just started using Equalizer APO with the Peace addon to do most of my Bass management on my PC and this thread is one of the most useful so thank you. My question is has anyone done any testing to see what numbers we should be using in these formulas or rationale for them? I have an RCA to line in to my PC to measure the Pre out signals and was messing around with my Denon AVR and noticed that with my sub volume sets to -3 on the Denon, using a .31 coefficient to redirect bass from each channel was about equal to sending the signal to the Denon and letting it do the bass management, which was also the same level as the signal to my main channel which is what you want. I think the coefficient will vary based on your sub level so it may not be the same for everyone but as long as they are all the same the sub level can be adjusted to be correct.
One thing I haven't tested yet is the actual LFE channel and what we want that to be. Your example makes sense in that we want to add the LFE channel to the virtual Sub channel(redirected bass from the other channels) but I've seen many people create a sub channel that actually uses a similar coefficient to the LFE channel as well and that doesn't seem right. Then there is the fact that 5.1 movie tracks are supposedly -10db on the LFE track so to make it correct we would actually want the SUB channel to be:
Copy: LFE=LFE*10+VSUB1
Have you or anyone else thought more about that or tested it? It seems like there has to be a mathematically correct formula for bass management when your sub is at 0 on the receiver that takes into account the LFE channel and whether we should add in the 10db and then adds in the redirected bass from the other channels.
Although I'm not sure what you're saying at least your Copy statement could be wrong. By using 10 as a multiplication the original LFE channel is amplified 10 times! This causes major clipping on LFE, even at a low input gain. The 10 should be replaced by a value less than 1 as the VSUB1 is added too. The resulting LFE should be arround 1.
Thank you, I've been seeing a few people do that LFE*10 to boost the LFE channel and it seemed odd to me as well. I should have used visuals to explain what I was saying but when a 5.1/7.1 system is calibrated, all channels are at 85db while the LFE is calibrated to 95 db but if the LFE channel were set at that level it would clip the channel. So processors add in that 10 db to the LFE signal only and then adds in the redirected bass from the other channels, here's a visual to show this:
https://4.bp.blogspot.com/-1074wIg4QOQ/WLwjsy0Ua9I/AAAAAAAAArY/hYpC7t1Dpmodu1VzcCnWVE_al0SZTYsBgCLcB/w1200-h630-p-k-no-nu/bass.jpg
So we don't actually want to add 10db to the LFE channel but rather reduce the redirected bass channels by 10db relative to the LFE and then have your sub be boosted by that 10db again in your AVR. -10db for each channel is the same as .32*Channel so the Redirection formula to give the LFE channel it's 10db boost is:
Copy: VSUB=.32L+.32R+.32C+.32SL+.32*SR
Copy: LFE=LFE+VSUB
I tested this by measuring the Pre out signal from my receiver and they are the correct levels when I set my LFE level to 0 (I have the option to reduce it to -10) and my subwoofer level is at -3db in my Denon AVR. I don't think I can post links yet to show my graph but the Right channel and redirected bass are at the same level and the LFE channel is 10 db louder so it should be working correctly.
My remaining confusion is about the LFE channel itself, I can change the levels of my redirected bass with different coefficients but the LFE level doesn't seem to be affected by multipliers, maybe you know why that would be? The formula above is correct for the levels but I want to make sure I won't be clipping the signal either. If the LFE signal is already a 1.0 and we're adding the redirected bass to it, it seems that may be a concern.
I'm not sure. Perhaps it's what the wiki is saying about the LFE channel (scroll down a bit to see the note). Anyway, by adding VSUB to a channel this channel should be reduced in gain. It should be something like this (if the multiplification works):
where 0.5 is an arbitrary value below 1. VSUB adds up to 1.6 which is again above 1 so clipping may occur.
Yes I have seen that, it is a bit of a confusing statement but I think it's just saying that if a downstream processor like an AVR is doing bass management, the filters used for the subwoofer won't apply. That is why it's important to get the bass management right in the EQ APO/Peace interface and just have it send the signal to a receiver without processing(Put Receiver in Direct mode).
Regarding clipping, I saw somewhere else that the way to ensure no clipping with a bass management formula would be to use the formula: 1/Sqrt(#of channels), so in the case of 6 channels for 5.1 it ends up being 1/2.449 or .408 average for each channel. So even if the LFE were 1, the others make it 2.6 or just barely over clipping assuming all channels driven at the same time at the Reference level of 85 decibels, which is very loud. So probably not an issue in the real world but technically possible to clip. There's also still the problem that adding a .5 or other coefficient in front of LFE doesn't seem to be lowering it's output.
Either way I've got it pretty much working as I want and I do appreciate the help and donated to the cause yesterday. EQ APO w the Peace addon is really helpful in getting the sound the way I like it, so much better than the room correction available on AVRs these days.