Update on TrueRTA output: My DMM must have a filter for the AC measurements, which is very odd because the DMM has the ability to measure frequency. I looked at the output of my USB sound module at 50Hz, 500Hz, 5KHz and 10KHz with an O-Scope and the TrueRTA generator output amplitudes were nearly the same for each of those frequencies. So, if you have a decent sound card or external sound module then the output should be somewhat accurate.
I want to clarify why an FFT plot that uses a sweeping generator (chirp) on a compressor (that is in a dynamic state of compressing) yields meaningless results.
All compressor attack and release specifications are in units of time and are never specified in units of frequency. FFT plots are used for measuring signal amplitudes and/or signal phase relationships vs frequency, not time. What you are seeing with those plots is dynamic amplitude measurements due to the attack response of the compressor. It’s essentially an envelope response with regards to units of time, not frequency.
I measured the ‘chirp’ sweep from TrueRTA with a 1/24 oct resolution from 10Hz to 20KHz to be approx 250mS in duration. Since it takes 250mS for the generator to sweep 10Hz to 20KHz, you could look at the horizontal axis of that plot from 10Hz to 20KHz as a linear ‘time’ snapshot of 250mS. Instead of the frequency units, substitute 0mS for 10Hz and 250mS for 20KHz. Then visualize linear graduations of the horizontal axis, where 125mS would be exactly at the ½ point (approx at the 450Hz mark). I know it is a bit confusing when there is a logarithmic scale on the plot, but the time units need to be equal divisions across that horizontal axis.
Now if we look at that plot again, the attack of the compression is approx 70mS (where the large dip is located near 80Hz on the plot). Then the detector in the compressor sidechain relaxes from the overshoot from 70mS to 78mS (the bump after the overshoot at approx 110Hz on the plot). Then the attack continues on for several more time constants to the end of the plot. That swell after the dip at 70mS looks like characteristics of some feedback style of compression, but the description on the website says that it is a feed-forward design... so that must be the character of this adaptive timing circuit.
Note: Attack and release times for analog compressors use RC time constants (R x C = T). The RC time constant is called tau and its symbol looks similar to the letter ‘T’. One time constant for charging the capacitor for a RC circuit yields a 63% full charge. To have a 100% full charge it takes a total of 5 time constants or 5T. Thus if the attack is specified at 50mS, it would take a total of 250mS for the compression to reach its static state. (There are other ways to modify these times within the circuit, but I am trying to keep this as simple as possible with typical feed-forward compression using RC timers.)
Looking at that FFT plot again, we see that large dip at 70mS is at approx 63% compression (one time constant). Towards the end of the 250mS ‘chirp’ sweep, we start to see the static value of the compression… 5 time constants. With this compressor having an adaptive attack response, those RC time constants are also varying with the degree of compression applied. It gets really complicated with continuously changing variables.
The best way to view dynamic envelopes is with time based tools, like O-Scopes. A spectrum analyzer is useful for amplitude and phase vs frequency measurements that are not affected by time. To get an accurate freq plot of a compressor while it is compressing, you MUST be at the static value of compression for the FFT measurement to mean anything useful. The easiest way is to use a white noise source with an RTA that averages many measurements over a period of time. A white noise source will hold the compressor at a static level of compression, so those measurements will be more accurate and meaningful. And averaging many measurements over a period of time reduces flutter measurement errors from the white noise.
Another easy way would be to use an external signal generator that you can sweep manually without interruptions in the output signal (constant output while changing frequency, like most analog signal generators). This way you could start the signal generator and allow the compressor to reach its static state of compression and the signal amplitude will hold it there. Then set your RTA to hold peaks while you manually sweep the frequency spectrum. The objective here is to eliminate any effects of the attack response of the compressor.
The white noise generator in TrueRTA sucks or I just haven’t put enough time into making it work properly. When I set it for 0dBu amplitude it has an output near -30dBu and looks like the inverse of pink noise. The pink noise generator in RTA looks a lot more like a white noise generator, but its output is also about -30dBu from the generator amplitude setting. So I suggest using a more reliable white noise source. BTW, I have seen free white noise files available for download that could possibly be used for a signal source with TrueRTA as the measuring tool. There are also several free white noise generators available. You would need to verify that the white noise source/generator has constant amplitude across the spectrum to be used as a good source for measurements. If you have access to two PC’s then you could set the one without TrueRTA as a white noise signal source and verify a flat response at the correct amplitude with the RTA. It would only be a little extra work with the tools available to you, if you want an accurate frequency response of a compressor that’s compressing. If you want to look at the frequency response of a compressor that is set to no compression, then TrueRTA’s sweep mode works pretty well.
Hey Cyrus, you have battered me enough to make my circuits better... now I have to return the favor!
-Frank