Case Study: USB And Bluetooth Audio Active Loudspeaker |
Introduction
The mid-range loudspeaker market is a fine balance between the low cost and quality consumer market space and the high cost and quality audiophile end of the market.XMOS xCORE-200 XU216 Overview The XMOS XU216 is a flexible microcontroller with powerful DSP capabilities:
within the capabilities of the XU216 which supports 384 kHz by default. |
Implementation Details
The xCORE-200 allows the partitioning of the required functionality across the multiple cores. In particular the USB audio datapath can easily be separated from the DSP cores. In this application, the DSP functionality was implemented using the highly optimized lib_dsp provided by XMOS and this is all partitioned onto Tile #1. A high level diagram of the data flow is shown in Figure 1.Figure 1 – High Level Diagram Of Active Loudspeaker. |
Figure 2 - Flow Diagram Of Active Loudspeaker. |
Graphical Equalizer / Tone Control
Figure 3 shows the frequencies of the filter bank arrangement used in this application. All of the filters were implemented using Biquad IIR filters and at the maximum sample rate of 192 kHz, there was little room left for the required tone controls so it was decided to wrap the two sets of functions into one at the control level so that the tone control would also modify the graphical equalizer response in the three standard bands - bass, middle and treble.Figure 3 - 10th Order Graphical Equalizer Filter Frequencies. |
Figure 4 - Java Host Tuning Controls. |
Conclusion
The final solution provides a flexible base solution for re-use in a wide range of different active loudspeaker product formats.References
[1] Oppenheim, A. V. and Schafer, R. W., (1989), "Discrete Time Signal Processing", Prentice-Hall Inc., USA. |
Copyright© 2024 Delta Numerix.
Permission is granted to create WWW pointers to this document. |