Tesla Model 3 Stereo - Part 2: Audio Testing

Previously, Part 1: Door Insulation

Update 2019-05-31:
        A summary of this entire project is available in Part 9. This page covers the initial investigation and Page 9 has the final results, so if anything on this page disagrees with anything on Page 9 then Page 9 is the one you should follow because I don't plan to come back and correct my mistakes in Parts 1-8.


        I haven't started to tear apart the interior of my Model 3 and line everything with insulation just yet. Today I wanted to analyze what's going on inside the factory stereo system. I'm not aware of any method to tap directly into un-equalized, un-split audio coming out of the car's computer, so in all likelihood I'll have to use a signal processor to combine speaker signals and reconstitute the original unaltered audio signal. I'm assuming that will require me to use the two front door tweeters, two front dash speakers, two front door woofers, and the trunk subwoofer, seven in total. I was considering the Focal FSP-8 processor, but it only has six parallel inputs, so that might not work for me. But I don't want to guess, I want to know for sure.

        As I said previously, the Tesla Model 3 with the Premium Options Package has a very good stereo. It's highly above average, compared to other factory stereos. But it's nowhere near audio snob quality. So the first thing I want to find out is how much the car's computer is doing to alter the original input signal. There are a lot of clever processing tricks Tesla could use to cover up weaknesses in the factory stereo system, and the more clever of those might distort the audio signal beyond repair. The most obvious alteration is that mid-bass is way, way, waaaaaay too high and low bass is nonexistent. Even using the built-in five-band graphic equalizer and turning the lowest band down to -8.0, mid-bass is still boosted above all else. I strongly dislike this and I'm worried that Tesla might have shifted low-bass frequencies up into the mid-bass range to produce more boom boom sounds on a low budget. If we run white noise or frequency sweeps through the system, we can analyze it a bit more precisely and we get some data to confirm this.

        Using my not-quite-professional-quality testing equipment (my iPhone and my laptop), we play some white noise and we get a coarse but useful frequency spectrum that shows a large peak at ~50Hz, right where we expected it.

        Zooming in, we see that not only do we have a large peak from 40-60Hz, but we also have a sharp drop off below 40Hz. There's basically nothing at all below 30Hz, no perceptible low bass. And that's exactly what we expected based off of initial listening tests.

        When we do a frequency sweep we get a bit more detail. Running single tones through the system, we see similar results, with an odd gap at 95-100Hz. I do notice that parts start vibrating all over the car at 90Hz, so I wonder if Tesla intentionally put a filter from 90-100Hz. Regardless of why, there are a lot of things underneath the dash that I need to insulate. So this is nice and it's pleasing to know that our listening evals were correct, but it still doesn't let me know how I should hook up a processor and whether or not I can do that with six lines or less, and it doesn't allow me to determine with any sort of precision what signal processing has been done. So next we need to start analyzing individual components.

        Reading around on the internet I've heard that the car's stereo is split into two halves, front and back, and these halves are powered by two different systems. The front half is powered by something in the front part of the car, I don't know specifically what, and the rear half is powered by a small amplifier in the trunk, right next to the subwoofer. I went around the car and started removing speakers one by one, running frequency sweeps and reading the output for each channel. That allowed me to put together a basic frequency response plot that let me know what channels could be used to reconstitute my original source signals.

(I tried collecting this data using my oscilloscope and FFT, but it wasn't really up to the task)

        This is pretty good news. The subwoofer actually does actuate all the way down to 20Hz, we just can't hear it because its displacement is far too low. In my old car I had a 10" subwoofer that would travel a good ±10mm at high power. The Model 3's subwoofer is ~6" and has a travel of a few mm at best. So at very low frequencies you're flat out not going to hear it. But the signal is still there. And that's what we care about. There doesn't appear to be any frequency shifting going on and there are no significant gaps in the spectrum.

        Additionally, the rear dash mid-range speakers are almost full-range. The front half of the car has tweeters, so the front signals are pretty well chopped up, but the back half of the car doesn't have tweeters and the mids there have to go from 200Hz all the way to the top. Well almost. They start to attenuate at ~14kHz, but they're still at -4dB at 18kHz, and I can only hear up to 17kHz, so that's more than enough to work with. Below 200Hz, the front door woofers take over, and then the subwoofer, and that's the full spectrum.

        Even better than that, the rear dash mids, the front door woofers, and the subwoofer are all powered from that little amp in the trunk. Speaking of which, here's a pinout diagram for that amp.

        The fact that those five channels cover full-range and they're all available in the same spot means it will be very easy to reconstitute our signal without running wires all over the place. I can just put my processor in the trunk well, along with the two new amps, and that will be that.

        Now there is one even better option. There is a cleaner, neater, cooler way to do this. I could bypass the amp entirely and pull data directly from the bus that feeds the trunk amp. There is no bundle of analog audio cables running from the computer at the front of the car to the amp at the back. All seven channels (or maybe two channels) are transmitted via A2B bus, on a single wire pair, digitally encoded into its 50mbps signal. I could hook a microcontroller directly up to that line and reconstruct the audio signals there. That might be pretty cool.

        However, I wouldn't gain much by doing that at this point. I have to keep the amp in place because I'm not planning on removing the rear fill speakers, so I would get maybe a slightly cleaner signal and bragging rights. Additionally, the audio coming out of the car's computer probably never will qualify as truly high quality, so we're splitting hairs at this point. I'll use the car's computer for convenience, and when I want truly high quality I'll run an HD digital player into the processor's auxiliary TOSLINK jack.

        That's it for today. Everything we've found here is good news. We want to reconstitute the original, complete stereo audio signal from the source computer, and we can do that all in one place with minimal mess and complexity. On to the next thing.