Optimized crosstalk cancelation

    Crosstalk cancelation is one of the most interesting features in the system. Because it have worked out better than i suspected. First tests were done with different filters from https://www.ambiophonics.org  And i heard some interesting properties in the sound which i liked. I was interested, but overall the filters were not usable at all as they introduced to much artefacts. These filters had adjustable attenuation setting and for me it was clear that algorithm does't work with HRTF(head related tranfer function).  Then i start looking at the papers of crosstalk cancelation. One of them was this https://www.princeton.edu/3D3A/Publications.html.  The math is impressive, and everything looks correct but approach is purely theoretical and not real life scenario. And the filters which have not worked out were based on that theoretical approach. Which says that closely spaced (about 10 degree) loudspeakers in so called "stereo dipole" configuration is the best way to get good crosstalk cancelation. In such configuration there is a benefit of wider sweet spot and less coloration due to ill conditioned frequencies pushed out off band compared to wider placed speakers. Yes they are right, but I just could't understand why the head shadowing with its HRTF is not accounted for. With the head shadowing effect problems mentioned in the paper solves automatically in higher span angle. Only it will be less robust to the movement in sweet spot. But there will be no ill conditioned situations. And lower frequencies will benefit as they will not cancel each other. So will need boost a lot less! Boost will be audible through reverberant field. It is far from ideal.

   So I decided to make my own version of filters with HRTF in mind. It worked very well. So well that i am not going back to filterless design. Of course sweet spot is small as expected, but the good thing that the filter doesn't sound any bad outside of the sweet spot. It is because with high speaker angle span 60 degrees or more (i use 90 degrees) head shadowing works very well (Pic.1), so the recursive tail of the filter is very short and attenuation is high. Just after a few cancelation  cycles the controlateral transfer function is lowered significantly. 

   So long story short - after making the filter i found this paper which explains everything very well. They say "The results of absolute sweet spot reveal that arrangements with a listening angle ranging from 120 to 150 deg are optimal choices." These are the results from simulations and from subjective localization tests in a well controlled environment. The HRTF is definitely there.

   So the baffles system could be used with the filters for 60 degree speaker placement span, but preferable way is to use 90 degree span which performs better. Any other placement angle can be made, but with degraded performance or other drawbacks. 

   Also some more work has to be done on trying to improve the filter further more. I suspect that  measured channel separation between ears doesn't correlate very well with perceived channel separation. This has to be investigated in the future.

head shadowing effect helps to develop easier crosstalk cancelation filters

Pic.1 Head/pinna shadowing effect for 90 degree speaker placement span.