Although I am not an audiophile, I am a critical listener and I can tell when the sound quality is not up to the mark. While I like my current 5.1 music system setup, I still feel like it could do better. I spend about 70% of the time listening to music and about 30% of the time watching movies, or TV shows or live TV. So a major part of my listening is music. Generally I like a very flat response from my speakers. I don’t like overly bright sound in general. A slightly warm sound is acceptable, but prefer the frequency response to be flat so I can listen to music as the original author intended it. So I decided to check the frequency response of my speakers.


Now, you could invest in the most expensive amplifier, speakers and sub woofer, but at the end of the day, unless you have a very acoustic room, you can never enjoy the expensive gear. True audiophiles actually do proper acoustic treatments for their rooms by installing sound absorbing panels and diffusers. I am not that crazy, but I prefer a decent sound quality. My now dead pioneer AVR used to have a warm sound but since I switched to a class D amplifier, I get a more neutral sounding music which I like. While my oscilloscope showed a flat frequency response, I wanted to check if my speakers and room acoustics are causing any problems.


Before we begin, we need some tools to take the measurements in the room. Ideally one should have a very accurate microphone that can detect sound in the full audible range of 20 Hz to 20 KHz. Unfortunately these microphones are expensive and I being a minimalist did not think a one time investment on a microphone just to check frequency response is a good idea. After some research I found out that a phone’s microphone is actually pretty good over the audible frequency. So I thought, why not use my phone as a microphone.


The next thing we need is a spectrum analyzer to detect the frequencies being generated by the speakers. For that I found a really nice android app called Spectroid. Finally we need a frequency generator to generate the frequency we want and then use the spectrum analyzer to capture the amplitude and frequency. There are a lot of android apps for that too. Instead, I went with a frequency sweep audio from youtube. In fact I tried a bunch of them and here is one example.


I played the frequency sweep audio file on my media center that is connected to the amplifier and captured the audio using the spectrum analyzer on my phone. Simple as that, Of course, this is not the perfect setup, but it is not inaccurate. First, I played the frequency sweep with just my front tower speakers. I got a really nice flat response as you can see from the picture below.


Frequency response (red line) with front tower speakers


The speakers I have are the Pioneer SP-FS52 which are budget speakers but they come with a very good frequency response and are tuned by Andrew Jones. So I was expecting good output. However, the only problem with these speakers are that the the low end drops off pretty quickly after about 60 Hz. In fact everything below 80 Hz looks a little bit wonky. And that is where the sub woofer is expected to do it’s job. I have a Pioneer S-51W sub woofer which is not the best, but it does the job. So after turning on the sub woofer and adjusting the volume and cross over frequency for several hours, I finally found a response curve (see picture below) that I was satisfied with.


Frequency response (red line) with front tower speakers and sub woofer


You will immediately notice how the lower frequency response improved all the way down to 30 Hz. Well, a good sub would actually go all the way to 20 Hz. Moreover, I noticed a big dip in the 40 Hz to 50 Hz range. Very weird. But no matter how many times I ran the test, that dip does not go away. Either the sub is not doing a good job or the room acoustics are not good. To eliminate the room acoustic problem, I reduced the volume of the sub woofer to a very low number and then put my phone right next to the sub and ran the test. Same result. So I know the sub woofer is to blame. I tried a few different positions to see if reflections from the wall are causing any problems because it is a ported sub. Still no improvement.


There you have it. The sub woofer is the problem. I need to replace it at some point, but right now, I am not too inclined to replace it. As soon as I have the budget for the speakers, the sub woofer is the first one to get replaced. I also noticed another peculiar problem. There is a high amount of harmonic distortion with the sub woofer. Granted the THD of the sub is 10%, but the harmonics looked really bad (see picture below).


Sub woofer harmonics at 30 Hz (yellow line)


At 30 Hz input frequency, I can clearly see the 60 Hz, 90 Hz and even 120 Hz peaks. They are very high. Almost as much as the input frequency. There were 2 causes for this kind of response. One was the low pass filter for the sub woofer and the other was of course the sub woofer itself. So I connected an oscilloscope to the low pass filter and reduced the gain until I can barely see any more harmonics. Then I increased the gain on the sub woofer. That reduced the harmonics a little bit but I am not fully satisfied. Now waiting for that budget for buying a proper sub with inbuilt crossover :). This time I want to go for a sealed sub as against a ported one. I know it needs more power to drive the cone, but somehow I feel it will generate a punchier and controlled output.