The WBX as full duplex VHF/UHF amateur radio satellite transceiver

One of the reasons I have been very excited to get the WBX transceiver daughterboard for the USRP is that with one single RF board I can have a full duplex transceiver covering both the 2 m and 70 cm amateur radio bands. This is where most of the amateur radio satellite traffic takes place, including FM, SSB, CW and packet, though modulation is really not an issue when we have a software defined radio transceiver implemented in the GNU Radio framework.

In order to use the WBX transceiver for this purpose, I need to add low noise preamplifiers (LNA) in front of the receiver and power amplifiers (PA) to boost the output of the transmitter. I need them for both bands, since some satellites are in V/U mode, others in U/V mode. Using the usual single-band devices is not optimal, because it would require 4 external devices and a bunch of wiring and switching. That could become too expensive. Therefore, I was looking for devices that cover both bands.

I have often seen wide band LNAs and PAs that would cover both bands and much more; however, I was slightly surprised to find one box that contains both LNA and PA for 2 m and 70 cm – and can even work in full duplex! This is the Microset VUR-30 which is available from Wimo.


  • Dual band (144-148 and 430-440 MHz)
  • Full duplex
  • NF 1 dB on vhf, 1.2 dB on UHF
  • 30W RF out
  • Built-in duplexer?
  • 256 euros


  • Requires 1W input. The WBX can give up to 100mW. Hope it will work at reduced output without needing a buffer amplifier between the WBX and the VUR-30.

The Microset VUR-30 combined PA and LNA.

For some reason I can not find much details about the VUR-30, not even a photo of the rear end to see how it connects to the radio and antennas (one or two connectors, etc.). But from the brief specs and the front photo it looks promising and the price is low enough so that I can just go ahead and buy one.

The required precision for the Phobos experiment

Thanks to Hannes DG1GGH of ESOC, we now have an idea what kind of precision is required for the Phobos flyby experiment. The answer is in the comments to this very informative and interesting post on the Mars Express blog from today. According to Hannes, they are expecting the influence of Phobos to cause a maximum deviation of 400 mHz from the nominal Doppler shift. Yes, that’s milli-Hertz, not mega-Hertz.

Obviously, this is much lower than what I had in mind when I first read about the experiment two days ago. I was thinking more along tens, maybe hundreds of Hz. Had I known this in the beginning I probably wouldn’t have considered the experiment at all. In fact, I wasn’t even aware of that measuring with such accuracy and precision was possible. Not that 400 mHz is anything special on it’s own – I can easily create a tone generator that is precise within 10 mHz. But in this case we have to keep in mind that this 400 mHz is to be considered together with an 8.4 GHz signal coming from 117.5 million kilometers away. That’s many decades in the same equation!

For the simple setup I was considering this constraint would require me to keep all oscillators in the system stable within a fraction of this limit. I could not have have achieved that with a 7.15 GHz oscillator mounted outdoors on the antenna. I don’t know the stability of the Kuhne LNC, but I am used to see “1 parts per million” in similar cases. 1 ppm @ 7 GHz is … you see my point 😉

The second error source in the chain is the USRP and the RF front end board itself. Despite all good intentions, it is still a system built of consumer grade components and millihertz precision is probably not what people have in mind when creating such devices. But I have put it on my list to measure the accuracy and precision using a good signal reference. More on that later.

Have a nice weekend!

No Mars Express experiment this time

It was a difficult decision to accept, but the Mars Express experiment with the USRP and GNU Radio is not going to happen this time!

It’s a shame because the link budget looked quite promising. An optimistic estimate gives almost 20 dB signal to noise ratio, which is more than we need, so the problem is not there. The problem is with the X-band down converter. I was looking at the KU LNC 8084 from Kuhne, which together with the KU LNA 133 BH low noise amplifier gives a total G/T of more than 30 dB/K. Unfortunately, there are two problems with this down converter:

  1. The price is slightly above what my budget can allow here and now
  2. There is a 2 week delivery time

For the sake of the experiment I could have lived with either one of the two, but not both. I know, I know… the two weeks are so close that I might even get lucky and receive it in time. But it would need to be in my hands on Tuesday, March 2, preferably on Monday to allow proper integration and testing, and that is closer to 10 days than to 14.

Using the S-band signal is not very promising either. Here, the link budget doesn’t go up due to the low power of the transmitter (5W). We can get a few dB above the noise floor if we use a filter no wider than 10 Hz – and that’s no fun when you are trying to measure Doppler shift.

Concerning the Doppler shift, I have been looking at the ephemeris generated by JPL Horizons web interface. At this time of the year, Mars and Earth are moving away from each other so the Doppler shift will be dominated by the range rate between the two planets. The orbit of Mars Express around Mars can be observed by this Doppler shift oscillating between two values. On March 3, the oscillation will be roughly between 7.3 to 12.5 km/s resulting in a Doppler shift between 200 and 350 kHz with a period of 7 hours:

Date__(UT)__HR:MN Azi_(a-appr)_Elev delta deldot S-O-T /r
2010-Mar-03 12:00 *r 44.3857 0.0718 0.78932354310229 11.1852087 137.6854 /T
2010-Mar-03 12:30 * 50.5231 3.1913 0.78946087508986 11.6142978 137.6635 /T
2010-Mar-03 13:00 * 56.5265 6.5964 0.78960254573254 11.9176387 137.6415 /T
2010-Mar-03 13:30 * 62.4270 10.2445 0.78974736351007 12.1426231 137.6193 /T
2010-Mar-03 14:00 * 68.2648 14.0936 0.78989453336189 12.3108050 137.5969 /T
2010-Mar-03 14:30 * 74.0891 18.1025 0.79004342478087 12.4288177 137.5742 /T
2010-Mar-03 15:00 * 79.9584 22.2300 0.79019340567595 12.4891937 137.5514 /T
2010-Mar-03 15:30 * 85.9418 26.4339 0.79034362769204 12.4603569 137.5283 /T
2010-Mar-03 16:00 * 92.1210 30.6697 0.79049254590969 12.2459365 137.5050 /T
2010-Mar-03 16:30 * 98.5934 34.8883 0.79063632341205 11.5023192 137.4814 /T
2010-Mar-03 17:00 C 105.4752 39.0329 0.79076193096873 8.8729735 137.4577 /T
2010-Mar-03 17:30 N 112.9049 43.0339 0.79085460119582 7.7994185 137.4351 /T
2010-Mar-03 18:00 N 121.0408 46.8078 0.79096079023597 9.7083822 137.4134 /T
2010-Mar-03 18:30 A 130.0480 50.2537 0.79108469006353 10.7829081 137.3915 /T
2010-Mar-03 19:00 140.0731 53.2460 0.79121862213031 11.4324332 137.3693 /T
2010-Mar-03 19:30 151.1869 55.6385 0.79135901132806 11.8780500 137.3470 /T
2010-Mar-03 20:00 163.3031 57.2784 0.79150401404296 12.2087075 137.3244 /T
2010-Mar-03 20:30 176.1098 58.0358 0.79165251591848 12.4639928 137.3017 /T
2010-Mar-03 21:00 t 189.0909 57.8425 0.79180373020367 12.6611863 137.2789 /T
2010-Mar-03 21:30 201.6721 56.7165 0.79195699075542 12.8035934 137.2558 /T
2010-Mar-03 22:00 m 213.4087 54.7551 0.79211158678530 12.8795690 137.2326 /T
2010-Mar-03 22:30 m 224.0838 52.1019 0.79226652008935 12.8488984 137.2092 /T
2010-Mar-03 23:00 m 233.6851 48.9097 0.79241990790189 12.5882130 137.1856 /T
2010-Mar-03 23:30 m 242.3230 45.3178 0.79256684230434 11.6337681 137.1618 /T
2010-Mar-04 00:00 m 250.1570 41.4426 0.79269056949806 8.4958690 137.1381 /T
2010-Mar-04 00:30 m 257.3492 37.3764 0.79278746204570 8.6897914 137.1158 /T
2010-Mar-04 01:00 m 264.0503 33.1954 0.79290340477852 10.4123533 137.0940 /T
2010-Mar-04 01:30 m 270.3909 28.9637 0.79303487629095 11.3531489 137.0722 /T
2010-Mar-04 02:00 m 276.4794 24.7346 0.79317518946651 11.9281843 137.0502 /T
2010-Mar-04 02:30 m 282.4067 20.5555 0.79332120377351 12.3189920 137.0281 /T
2010-Mar-04 03:00 m 288.2493 16.4696 0.79347121486610 12.6006078 137.0058 /T
2010-Mar-04 03:30 m 294.0717 12.5188 0.79362414053192 12.8071911 136.9835 /T
2010-Mar-04 04:00 Am 299.9287 8.7442 0.79377918105395 12.9534316 136.9610 /T
2010-Mar-04 04:30 Am 305.8659 5.1872 0.79393563141900 13.0406358 136.9384 /T
2010-Mar-04 05:00 Nm 311.9199 1.8902 0.79409271234490 13.0538218 136.9157 /T

Delta is the range in AU, deldot is the range rate in km/s. The S-O-T parameter is also interesting in general because it gives the angle between the Sun and the target as seen from the observer. It is important because having the Sun in the field of view of the antenna can increase the sky noise significantly.

The interesting question is still the magnitude of the perturbations caused by Phobos. 1 Hz? 10 Hz? 100 Hz? I don’t know but I am trying to convince myself that a relative Doppler shift of 10 Hz should be detectable with the USRP and GNU Radio, provided that the local oscillator of the down converter is stable. Fortunately, this is an experiment that I can do!

Aiming for planetary science with GNU Radio and the USRP

Thanks to the European Space Agency (ESA) and the Mars Express mission, we might have an opportunity just around the corner for doing big science with GNU Radio and the USRP!

On March 3, 2010, Mars Express will visit the Martian moon Phobos by performing a close flyby. According to ESA, the ESOC ops team is working with a number of possible scenarios, including one that would take the spacecraft to just 50 km above Phobos. At that distance the orbit of the spacecraft is expected to be influenced by the gravitational pull of Phobos. I knew this already for about a week when I first read it on the Mars Express Blog but it was first today that I realized the opportunities this event offers.

Continue reading “Aiming for planetary science with GNU Radio and the USRP”

WBX Transceiver Tests using GNU Radio and USRP

This video shows my first on-the-air tests with the WBX transceiver using the USRP (Universal Software Radio Peripheral) and GNU Radio.

The receiver was tested using wide band FM broadcast, APT signal from NOAA 17 satellite and Copenhagen VOLMET. I have also performed some tests using DVB-T signal and wireless sensor signals but I wanted to keep the video short so these were not included. I can post them in separate videos if there is interest.

Continue reading “WBX Transceiver Tests using GNU Radio and USRP”

WBX receiver test on the air: Copenhagen VOLMET

I have been quite busy during the last weeks doing overtime at work, nonetheless, I have managed to carry out some small on the air tests of my newly acquired WBX transceiver boards for the USRP and GNU Radio. Tonight, I tuned in to Copenhagen VOLMET that transmits AM on 127.000 MHz.

Continue reading “WBX receiver test on the air: Copenhagen VOLMET”

Quick check of the WBX receiver

I had a few hours to spare tonight and I decided to do a quick check of the WBX receiver. Didn’t have time for much so I just compared it to the TVRX tuner using a strong FM broadcast station. The software was a simple WFM receiver constructed in the GNU Radio Companion graphical editor.

As you can see, both receivers have roughly 40 dB SNR, though the WBX seems to be slightly better. I also observed that the WBX has a “flatter” spectrum profile than the TVRX in particular at wider bandwidths.

The WBX 50-2200 MHz transceiver

It was a good day today. At long last, I have received my WBX transceiver boards for the USRP!

I have been waiting for this transceiver board for quite some time now because I didn’t really have and transmit capabilities in the VHF and UHF bands. This board was expected to cover 50 MHz to 1 GHz, so it was perfect as VHF/UHF transceiver. On January 13, Matt Ettus has finally announced that the WBX transceiver is now available.

There were more good news in the same announcement. First, the specs have changed and the WBX transceiver actually covers 50 MHz to 2.2 GHz (instead of up to 1 GHz). The improved specifications come at an improved price, namely $450 instead of the expected $400; however, the introductory price for first batch was kept at $400. Needles to say, I ordered mine within a few days.

What do I want to do with a 50 MHz – 2.2 GHz full-duplex transceiver, you might ask… Satellites of course! With most linear and FM satellites working in the VHF and UHF band, this transceiver seems optimal. With the new specs it can even cover the 1.3 GHz L-band, which I think is used for AO-51 uplink. Even in non-amateur space communications this transceiver board provides interesting opportunities: Weather satellites on 137 MHz and 1.7 GHz, GPS on 1.2 and 1.5 GHz, space research S-band communication uplink on 2.1 GHz, and probably many more that I do not remember.

Some specs I gathered from the mailing list and Ettus website:

  • The minimum noise figure over the whole band is 5-6 dB
  • Typical IIP3 is 5-10 dBm
  • Typical IIP2 is 40-55 dBm
  • TX power 50-100mW up to 1 GHz, 30-50 mW above 1 GHz

You may say the noise figure is not too impressive and indeed, you may find something with a few dB’s better for such wideband coverage. But does it matter? You will most likely have a long coax cable going form antenna to the receiver, therefore, you will need a low noise pre-amplifier at the antenna anyway and that will improve the system noise figure significantly. Since initially I will be focusing on VHF/UHF applications, the only useful comparison for my case would be to the TVRX daughterboard, which covers 50 MHz to 850 MHz and has a noise figure of 8-10 dB. The WBX is significantly better than that.

What’s the plan?

First, I have to start upgrading my GNU Radio installation(s) to the latest development code to get the drivers for this board. Currently, most of my computers run GNU Radio 3.2.2 on Ubuntu 9.04 simply because of the convenience of having the DEBs. I did, however, make some test builds last week and had no trouble installing the current development code. So this should be no problem.

Once I have the software installed at least my laptop, I’ll take it to the lab to check the specs. Although receiver performance measurements covering the whole spectrum are available, it is always good to make the measurements yourself, just for the sake of exercise 😉

Finally, I’ll work on the software. The building blocks are all there and there are even examples implementing most of the functionality I’m looking for. Unfortunately, the proof-of-concept like examples leave a lot to be desired on the ergonomic areas of the UI. I don’t know if I’ll be able to do much better in wxPython; I have a few ideas for minor improvements that would have significant impact. In the long run, I’d like to have a C++/Qt implementation anyway.

I’ll post updates and videos as I make progress.


Edit 2010-01-27: Schematics of the WBX transceiver are now available in the Ettus document repository.

Live recording of receiver tests

Tonight I have been testing some ham radio transceiver code written in Python/GNU Radio. It is some student project published on SourceForge. You can find the code on the project page at Sourceforge:

Continue reading “Live recording of receiver tests”