Page 1 of 1

ADCs and DDCs vs. "Slices", "Receivers" and "VFOs"

Posted: Sat Dec 02, 2017 4:01 pm
by w-u-2-o
Editorial note: in the following discussion, wherever it says "PowerSDR", this is referring to the openHPDR version of that software, i.e. PowerSDR mRX PS, but that's just too much to write, hence the shorthand.

1. Defining our terms of art

There is often quite a bit of confusion regarding "slices" and "receivers". What is a "slice"? What is a "receiver"? These are great questions. The answer is made quite difficult because of the confusing and inconsistent use of these terms of art, starting at the back panel labeling on our radios and carrying all the way forward to the user interface on the software.

First let's deal with the terms "slice", "receiver" and "VFO". Slice is easy. In the openHPSDR world there is nothing labeled as a "slice". This term of art comes from the Flex radio world, where they also refer to "spectral capture units". Therefore I'm going to totally ignore it :D

The term "receiver", however, as in RX1 and RX2, is used quite a bit. On a regular radio you turn a knob and sound comes out of a speaker. That's a receiver--pretty easy to understand! However, on PowerSDR, a receiver consists of an ADC, followed by a DDC (digital downconverter, implemented in the FPGA firmware), a spectral display (panadapter, waterfall, or panafall, implemented in PowerSDR) and some number of passband filters, second IF downconverters and demodulators (again all implemented in PowerSDR). All of these things together form a "receiver" in the context of PowerSDR and an openHPSDR radio.

The term "VFO" is also used quite a bit. Unfortunately, it is a very poor term of art, even when used with a regular radio. What we are really talking about is a combination of a tunable passband filter, a second IF downconverter, and a demodulator. That's all a bit of a mouthful, and ham's are comfortable with the term "VFO", so that's what we've got. There are always one or two VFOs allocated per receiver in PowerSDR.

2. Basic signal flow

Now that we've got all that defined, let's consider how signals flow and are routed in the radio. If we consider a single receiver, as it's been defined up above, we have:

ADC --> (raw RF data with 60MHz instantaneous bandwidth) --> DDC --> (first IF with typically 192 or 384KHz instantaneous bandwidth) --> Spectral Displays and VFOs.

Within a VFO the signal path is:

First IF data (e.g. 192KHz IBW) --> passband filter (a few Hz to 20KHz) --> downconversion --> second IF (IBW of passband filter) --> demodulator

The math is actually done more efficiently than that, however in terms of an analog receiver, that is functionally what is happening.

3. Allowable basic configurations

If you have a radio with only a single ADC, like an ANAN-10E, you can still have two or more receivers in PowerSDR. However they must share the same data stream from that single ADC. Nevertheless, since the firmware incorporates more than one DDC, those receivers can be placed anywhere within the instantaneous bandwidth of the ADC. They need not be processing the same parts of the band.

If you have a radio with two ADCs, like a 100D, 200D, 7000 or 8000, you now have to decide which DDC is going to process which ADC. This is done in Setup > General > ADC. In that setup screen RX1 and RX2 are exactly what they seem. However you also see RX3 through RX7. There are indeed five additional receivers in these radios. However they are not directly accessible to you. More on this below.

Another thing to keep in mind is that on dual ADC radios, ADC1 has access to only ANT1, ANT2 and ANT3, while ADC2 has access only to its dedicated connector on the rear panel of the radio that goes by a number of very confusing names including "RX2", "RF2" and "ADC2" depending on the radio you have.

4. Practical considerations

If you want both receivers to process the same antenna, then both receivers need to be assigned to the same ADC.

If you have both receivers assigned to the same ADC, then you have to be mindful of the effects of the preselection filters in your radio. RX1 will set the priority for these filters. Obviously if you have RX2 set to outside the passband of the preselector for RX1, things are not going to work very well on RX2! In such a case you can disable the preselector.

If you want to perform some sort of diversity operation then you must have two antennas, and each antenna must be assigned to a separate ADC. That means one of them must be on the ADC2 input (whatever it might be labeled on your radio, e.g. "RX2", "RF2", "ADC2", etc.) Placing the second antenna on the ANT2 or ANT3 input will not work, those inputs feed only into ADC1 (see the block diagram in the user manual).

Only the 7000 and 8000 have separate preselection filters on the ADC2 input, the 100D and 200D do not.

5. VFO controls

The actual VFO controls in PowerSDR can be extremely confusing.

When using a single receiver, VFO A and VFO B passbands can be monitored on receive by turning on the MultiRX control. When using RX1 and RX2, VFO B is assigned to control RX2 (see, confusing!). And, just make things even more complex and inconsistent, if you have both RX1 and RX2 activated and turn on MultiRX, this activates a third "VFO" in RX1, controlled by a small frequency display that shows up under the main VFO A frequency display. Thus you can listen to up to three passbands simultaneously, two in RX1 and one in RX2.

When using a single RX, and with split turned on, with or without MultiRX activated, you can right click the mouse. When you have yellow crosshairs you can click in the spectral display and move VFO A. When you have red crosshairs you can click and move VFO B. When using RX1 and RX2, crosshair state doesn't matter, just click what you want in each panadapter. And in any case, the mousewheel allows fine tuning.

6. What about RX3 through RX7?

In the FPGA there are a number of DDCs that can form the basis of a receiver as I've defined it above. On the Angelia and Orion cards, i.e. 100D, 200D, 7000 and 8000, there are 7 DDCs implemented in the FPGA. On the Hermes cards, i.e. the 10 and 100, there are 4 DDCs implemented. And on the Hermes variant used in the 10E, which uses a smaller, less expensive FPGA, there are only 2 DDCs.

I am not precisely familiar with DDC assignments in the Hermes based radios. However on the Angelia and Orion based radios the first and second DDCs are used for RX1 and RX2 respectively. The third and fourth DDCs, labeled as RX3 and RX4 in Setup > General > ADC, are used for the lower and upper side receivers, respectively, when stitched receivers are used. When PureSignal is used, the fourth DDC (RX4) is used for off-air feedback and the fifth DDC (RX5) is used for DAC feedback.

You will note that RX6 and RX7 are never used by PowerSDR for any purpose. Nevertheless they remain available in the Angelia and Orion based radios and can be used given appropriate software. This is the beauty, and the curse, of software defined radio. Your radio is what the software makes of it. The developers of PowerSDR have chosen to use the available hardware/firmware radio resources of the ANAN series radios in a particular way. The developer of CuSDR has chosen to use them in a different way. The same for piHPSDR and SDR Console.



Re: ADCs and DDCs vs. "Slices", "Receivers" and "VFOs"

Posted: Sat Dec 02, 2017 4:20 pm
Thanks Scott for explaining that! 73, Bill, WA2DVU

Re: ADCs and DDCs vs. "Slices", "Receivers" and "VFOs"

Posted: Sat Dec 02, 2017 6:42 pm
by Chris G4IFX
Excellent explanation Scott, thanks!

Re: ADCs and DDCs vs. "Slices", "Receivers" and "VFOs"

Posted: Tue Dec 12, 2017 1:45 pm
by hpais
Thanks Scott for the detailed explanation.

I have a question for my use case: I like running JT-65/JT-9, and would like to be able to monitor multiple bands simultaneously. I used to have a Flex 6500, which would let me do that, running 4 copies of WSJT SW, one monitoring 40m, another on 30m, 20m, and 10m. This way I could keep an eye on the decode windows, and chose which band I would respond to a CQ on. I did this with an eye on the countries I hadn't worked before, or event counties or States/Canadian provinces, I hadn't worked before.

How can you accomplish the same on the DL8000 or DL7000? In theory you could, since it has 7 receivers and you could park one receiver in each band, letting WSJT listen on the appropriate "slice"/VAC/RX audio stream.

In practice, given your explanation that not all RX's are available, you perhaps could for up to 4 audio windows. Is there any way to do this without rewriting code?



Re: ADCs and DDCs vs. "Slices", "Receivers" and "VFOs"

Posted: Tue Dec 12, 2017 3:02 pm
by w-u-2-o
Sadly, Hermann, there is currently no support for doing what you want, at least not in PowerSDR. The weak link is the software. The hardware supports it, and the firmware supports it, as discussed above. However, the available choices for software that also allow transmission do not at least as far as I know.

PowerSDR instantiates two, and only two, receivers at this time (the sub-receiver in RX1 doesn't count).

I'm not familiar with CuSDR enough to know if it has the audio facilities to at least feed all seven receivers it can instantiate to seven instances of WSJT-X. But even if it can, there are no transmit facilities in CuSDR.

If you want to get out on the bleeding edge, you could try SDR Console, which requires Protocol 2 firmware. The P2 firmware has not proven stable on all radios, and I have not explored SDR Console beyond a single receiver, but it might be possible.



Re: ADCs and DDCs vs. "Slices", "Receivers" and "VFOs"

Posted: Wed Dec 13, 2017 5:19 am
by hpais
Thanks a lot Scott, for taking the time to answer to my newbie question. I will do some more research indeed.



Re: ADCs and DDCs vs. "Slices", "Receivers" and "VFOs"

Posted: Sun Dec 24, 2017 8:53 pm
I am helping a sub-group of AMSAT that is working on a digital protocol that will require 10MHz bandwidth on the 10GHz band. I need to know if the DDC within the FPGA firmware and then the communication to the ethernet port is capable of supporting this bandwidth.


Jeffrey Pawlan WA6KBL

Re: ADCs and DDCs vs. "Slices", "Receivers" and "VFOs"

Posted: Mon Dec 25, 2017 1:48 am
by w-u-2-o
Using the currently released firmware, the maximum bandwidth of a DDC is 384KHz.

Using the beta firmware, the maximum bandwidth of a DDC is 1536KHz.

Postulating some future firmware, the hardware itself should be capable of what you want. Assuming it is based on the beta firmware (so called Protocol 2), this firmware supports Gigabit Ethernet. At 10Msamples/sec, each sample consisting of a 16 bit I and 16 bit Q word, data rate would be approx. 320Mbit/sec.

However, Protocol 2 has not proven stable on all radios (timing closure issues) and of course there is not a version of that firmware that does what you want at this time. It is fully open source, however.