I built a new stereo for my car about four years ago and it worked perfectly until about two weeks ago. Suddenly, one day, I turned the car on and the front driver's speaker sounded horrible. It sounded like it was vibrating or rattling against something, especially at low frequencies. I took the door apart to see what was wrong, expecting to find either some loose object rattling or a blown out speaker, though I couldn't imagine how I could have blown a speaker. I found neither. Physically, the speaker, the door, and everything in the door were in perfect condition.
Next I ran a range of test tones to find that the distortion increased inversely proportional to frequency, and couldn't be heard above 1KHz. Strange. I suspected a problem with the passive crossovers that separate the woofer/tweeter signals in between the amps and the speakers. Since the only way to reach the crossovers was to disassemble my entire front dash, I decided to hook up an oscilloscope and what else I could find.
|250Hz Test Tone|
At first glance, you can tell something is wrong here. This should be flat. I'm giving the head unit nothing but a 250Hz test tone, a plain sine wave, but the speaker is receiving this signal, which is oscillating at ~4Hz. That might explain the rattling I was hearing, though the amplitude isn't very high, and that rattling was loud. This also might be caused by the car vibrating while it sits in the driveway idling. Not enough data to be sure.
|20Hz Test Tone|
|40Hz Test Tone|
|1KHz Test Tone|
We get the same 4Hz noise all the way from 20Hz up to 1KHz. Interesting. Wait a minute. 20Hz? Why am I able to read 20Hz at the woofer? My head unit has active crossovers that are set to filter out frequencies below 80Hz. A 20Hz sine wave never should have made it this far. Something is obviously wrong inside the head unit. None of the other three woofers are receiving any of these low frequency signals or noise. When I turn off my subwoofer and play a 40Hz or 20Hz test tone, the front left speaker is the only thing that makes a sound. It's not the passive crossovers' fault, because those are high/low-pass filters, not bandpass. They send everything above the crossover frequency to the tweeters, and everything below to the woofers.
So it looks like one of the channels inside my head unit is damaged, which doesn't surprise me now that I think about it. I have an Alpine CDA-9887 and it's been buggy since I first installed it. However, that realization doesn't make the prospect of buying a replacement and tearing my entire car apart to install it any more appealing. At least the head unit is cheaper than the speakers. Maybe I could put together some sort of active filter to remove the noise? That seems sketchy at best. An RC high-pass filter capable of passing 165W would be pretty extreme, plus it throw my entire system out of balance. Of course I could put a filter on the line in between the head unit and the amp. That only requires that I disassemble the driver's seat and part of the floor. We'll see.
So after a bit more digging and rewiring and testing, it looks like the 4Hz noise we saw above was actually just vibrations from the engine, idling at well below 1000 RPM. Also, though I was extremely reluctant to admit it, because they were limited edition and therefore very difficult to replace, the speaker was the problem. After removing the speaker, I can feel friction between the cone and the coil. It looks like, after sitting in the Texas sun for five years, the various soft components of the speaker, such as the surround and the spider and whatever adhesives are involved, probably softened and allowed the cone to sag. When I held the speaker in its installed orientation and pushed the cone upward, it stopped rubbing. Darn it.
Long story short, I bought a replacement off of eBay and replaced the speaker. Not the ending I was hoping for, but a happy ending. My car stereo works again. It also gave me an incentive/opportunity to rework some other parts of the stereo, including the tweeter positioning. More on that in the future.