The problem all along has been that the output of the preamp/AGC/limiter chip was clipping – being overdriven. Now in a reasonable chip whose job is to prevent distortion, we would really hope the designers wouldn’t overdrive the amplifier on the chip. But apparently that’s just what happened between the SSM2165 chip I have had great success with and its replacement 2167. I chased several other paths to see why this was happening – maybe the AGC cap was too big and it couldn’t attack fast enough, maybe the compression ratio or noise gate level were inappropriate, maybe the LED level meter wasn’t calibrated right and I was just driving it way too hard. But nothing seemed to help. (Well, except for increasing the supply voltage. But that had limitations, too 🙁 )
The device has a level detector that puts out a DC voltage proportional to the input signal amplitude. That DC voltage goes to a Voltage Controlled Amplifier to decrease its gain as the input level increases (and vice versa). The two resistors and cap at the bottom give the user some control over the details but basically the device tries to provide fairly constant output for widely varying input levels. At fairly low input levels, this works as designed.
Unfortunately, for music with a good dynamic range, at mid and higher levels, the VCA can’t handle the peaks of the signal, and it clips – which is a Very Bad Thing, and I would argue, a design flaw.
Fortunately, the designers brought the audio out – normally just to be fed back into the VCA. (There are DC level differences between the output of the first buffer amp and the input to the VCA, necessitating a cap to connect them.) But that exposure to the signal, plus the 1K resistor they thoughtfully provided on the output of the buffer amp allowed me to decrease the level to the VCA by making a voltage divider to ground. There’s DC involved, so I needed a cap as well as a resistor. I chose 1K to cut the signal about in half. The diagram shows my hack in red. (I looked for Application Notes for the chip, but found nothing about using the access to the signal to protect the VCA from being overdriven. If I can summon the gumption, I’ll write to the company and ask about it.)
I ran tests on the breadboard with and without the signal attenuator, both to an amp/speaker to listen to and to a known good recorder so I could analyze the output more objectively. It worked! I could get dramatically greater dynamic range with no distortion. Of course the output signal level was half of what it had been, but that’s a necessary price to pay for the device not clipping.
After making a baseline recording, I added the cap and resistor to the PCB in the existing device (in green), and made another recording. Greatly improved! I will have to adjust the recording level to make up for the lower output signal level, but that’s a quick test and adjustment. Of course “the test is the test”, so I’ll bring it to a dance Monday night and run it in parallel with my very reliable good recording setup. I’m guessing the results of the two will be indistinguishable.
Update later that night
I recorded the dance with the new prototype preamp/AGC/limiter thing, using a known good IFP-790 and the T30, each for half the dance. (That was in addition to my “good” preamp and IFP-790 just in case.) I’ve uploaded it all and listened to most of the tracks on both recorders driven by the proto preamp. Audio quality on all the tracks was perfect! (All were perfect on the “good” setup too, but that’s always perfect.)
So I will declare: I have indeed won the battle of getting rid of the distortion on the proto with the new 2167 chip.
There’s still an issue with the T30 recorder, though: As with the IFP-790, the T30 has an “auto sync” feature that starts recording when the signal exceeds some threshold, and stops after several seconds below the threshold. There’s apparently a switching transient at the end of each file, and when I crank the record volume up almost all the way so it gives excellent recorded level from the reduced output of the proto, after each file ends, the transient fires another recording file. So the recorder is littered with dozens of 9 second almost empty files. They’re easy enough to filter through by file size, but they’re annoying and waste memory and battery. I’m pretty sure I recall that when the recording volume setting is lower, the transient isn’t enough to trigger a new file, so the auto start-stop gives just what it should. For production versions of the preamp, I should probably put a little ultra low power FET amp as an output stage so I get high enough level out that I don’t have to crank the record volume up so high, avoiding the tiny useless files. Probably won’t happen in time for the weekend coming up later this month, but in the next version…
Update on SSM2167:
I (created a login on the site and) posted a question to “Ask an Engineer” on the Analog Devices site asking if they’d heard complaints about clipping in the 2167 VCA. I got a nice prompt email reply saying they were sorry but their forum only had sections to discuss their cutting edge DSP chips. !? Oh well, I tried…
Pingback: Chasing recording preamp distortion | Jim's Projects