直接アナログの信号をデジタルに変換しているFlex6000シリーズなどでAGCって何なんだろう? と思っていましたが、AGC-Tについての質問があって、Steveがそれに回答しているので、以下に引用。 ですよね、アナログアンプのゲイン調整をエミュレートしているんですよねー。
元ページは
ここ
Steveがcommunityに書き込みをしているので、今日明日にv1.4が出てくるのかな、と期待。SSDR開発の総責任者なので、開発が難航しているときはあまり書き込みしていない、という感触を持っている処からの淡い期待ではありますが、、、、
Quote
To expand on this a little further
and to be sure a broad audience understands, I want to explain the
purpose of AGC and AGC-T in our radios. The dynamic range of the radios
we sell is vast and covers in the vicinity of 100dB. This means that
the strength of the weakest to strongest signals that could be heard are
10,000,000,000:1. Our ears have a dynamic range that is similar or
larger (most would say something like 140dB), but this is not the level
where we are comfortable processing information. Very loud signals are
painful and very weak ones require straining to hear. So the purpose of
AGC is to apply gain to weak signals and remove gain with strong signals
to get them all within a comfortable listening range. When you listen
to signals in your radio, they are generally mapped to a range of
hearing that is comfortable and pleasant.
To accomplish this, we
could simply have gain that amplifies weak signals and attenuates loud
ones and so provides a roughly constant level in your ears. But we want
to be smarter about this -- no one really wants to hear noise so we
want to avoid applying gain to noise if we can. This is where the AGC-T
comes in. The AGC-T sets the maximum gain we would apply under any
circumstances. Since the noise floor is relatively constant on a given
band at a given time, we can set the AGC-T so that it never applies gain
to noise, but it will apply gain to signals just out of the noise. In
doing so, we can reduce the level of noise you hear and help signals pop
out of the noise.
The speed of the AGC (FAST, MED, SLOW) sets
how quickly or slowly the AGC recovers after a strong signal. If you
are listening to a loud voice signal, AGC slow will resist increasing
the gain between syllables and therefore reject most of the noise which
is at a level far below the signal. FAST and MED, then, provide faster
levels of recovery for when you want the system to more closely follow
the the dominant signal in the passband. Any time you have a very
strong signal that causes the gain in the AGC to be reduced, you could
experience a loss of gain to a weak signal you are listening to. The
filter passband edges which are continuously adjustable and TNFs can be
used to eliminate signals that might interfere with operation.
As
Tim mentioned, with AGC off, the control just becomes an absolute gain
slider. The more you slide it to the right, the more gain is applied
and the louder the signal and noise will be. The benefits of increasing
SNR with AGC will be lost in this mode. The main gotcha with running
phone or CW with AGC off is that you could have the gain turned up and
encounter a very loud signal. There would not be an immediate gain
reduction and so your ears might get a wallop from the signal in
question. The only time I run with AGC off is for digital modes that do
not want any amplitude changes made to the signal. I often run wide
bandwidths (5kHz) for some digital modes like WSJT (JT65/JT9) since we
are flat all across that width. If I used AGC, the occasional RTTY
station at 14.080ish would run down the gain and push my WSJT signals
further into the noise and make decoding harder (remember AGC
calculations are made on all signals within the filter passband). For
this reason, I run AGC OFF and then I make sure that the peak signal
never runs the signal meter in DAX past the right side. I generally
shoot for about 80%ish on a loud signal. Joe's software will work fine
on signals in the noise, but we can't pass it a distorted mess from
exceeding the dynamic range of the number system ;-)
A good
starter setting for phone/CW would be to set AGC at MED and AGC-T at
40ish and see how you like that. Everyone has different preferences so
your mileage may vary based on what you are trying to copy and what the
bands are like.
Unquote
もう一つ、計測値についてのコメント
Quote
Let me see if I can explain the
metering (hopefully I can since I wrote the code). For each mode there
is a receiver signal chain. The chain consist of a series of blocks
that perform each of the functions in the receiver including metering,
demodulation, noise mitigation, level adjustments, etc. After each
block we have an option to add another meter to measure what the levels
look like after the block. My recollection is that we generally have
about 5 meters in each receiver chain, but we may have changed this over
time.
In all cases the meter performs an "average square root
sum of the squares" measurement or what is known as an average magnitude
as well as a peak magnitude. Mathematically, the magnitude of any
given IQ point is sqrt(I^2+Q^2). I took a few liberties with this
algorithm for performance reasons, but that's essentially it.
Here's what the ones you've identified mean:
24kHz:
our slice receivers run at 24ksps because this allows us up to about
20kHz bandwidth without too much trouble. The receiver is formed by
filtering and decimating the input from the antenna from either
245.76Msps or 122Msps down to 24ksps. At that point, we take a
measurement of the level. So this is a magnitude of the entire 24kHz of
bandwidth -- anything you see +/- 12 kHz from the carrier will be
included in this measurement. The level has also not been calibrated
and it originates from fixed-point numbers so it is in dBFS (decibels
away from full scale) and will always be negative. This meter is useful
for us, but probably has limited utility for an operator.
LEVEL:
This meter occurs after the passband filter and after calibration is
applied. There is a complex series of calibration tables that use the
band, which filters are in use, which preamp(s) are in use, etc. that
calculate the absolute signal level in dBm given a specific level in
dBFS. LEVEL is the meter that we show in the slice receiver and it is
calibrated.
AGC+: This meter comes from the output of the AGC at
the end of the signal chain and shows the effects of any AGC, APF, NR,
etc. on the signal. The signal the AGC measures is what is going to
your speaker/headphones. It is back in dBFS as there is no need for a
calibration on this level -- it's all about a level that will be sent to
headphones/speakers. You could think of this as a "loud meter" if you
like, but it measures what is in your ears.
So AGC adjustments
will affect the AGC+ meter, but will not affect the LEVEL meter.
Adjustments in the passband filter will affect the LEVEL meter, but not
the 24kHz meter. You can see the effect of bandpass filtering on SNR
by watching the meter in an empty band and reducing the bandpass filter.
For every reduction of 50% in the filter, you will see a lowering of
the noise by 3dB. You can learn a lot about how noise works just by
playing with the filter and watching the meter outputs ;-)
Another
meter that is interesting to watch is the panadapter. Each pixel in
the panadapter is a meter showing the noise level in a single bin of the
FFT. You can tell the bandwidth of each pixel by comparing the noise
floor of the slice receiver to that of the panadapter. For example, you
can zoom out until the average pixel level reads the same as the slice
meter and at that point you are about 500Hz per pixel assuming you have
the slice receiver passband set to 500Hz. This should roughly jive if
you take the visible panadapter bandwidth in Hz and divide by about 2000
(this isn't precise for a number of reasons). Now as you zoom in with
the panadapter, you are "looking into the noise floor." On a 6700 you
can see 25dB into the noise floor (if you use WSJT, you know JT65 can
hear signals something lie 24-27 dB below the noise floor) so you can
see weak signals like WSJT that you can't hear nor see on other radios.
On the 6500/6300 you can see about 19dB into the noise floor with the
panadapter.
Unquote