Cebik Moxons, SDRplay and satellites

There was a pass of the AO-91 satellite over my location today and I listened to the ham radio operators operating through it.

I used my home-built Cebik Moxon aerials which are located in my attic and the nice SDRplay RSP2.Cebik Moxons in attic

Here’s a screenshot of SDRuno displaying the AO-91 signals for those of you who don’t think the Doppler effect is real.

Screen Shot Doppler Effect

You can easily see the received signal changing frequency as the satellite hurtles past.

This is what it sounds like. 

AO-92 12.09 Wednesday, May 8, 2019 20190508 1209.m4a

It was recorded using Audio Hijack Pro from a Microsoft Remote Desktop session of SDRuno on a Dell XP workstation. Apologies for the over-driven audio — I was concentrating on receiving rather than recording.

Cebik Moxons in the Attic

I now have both 2m and 70cm Cebik Moxons in the attic separated using a HA8LFK diplexer. After trying out the 70cm aerial it is clear that it needs a preamp to pick up any signals. Partly this is due to the poor coax I’m using and I should replace it with something better. So I’ve added an M-100 preamp powered from a shack PSU through a pair of bias-tees.

I tried bypass the M-100 with a relay but I haven’t been able to source a relay that works well at UHF. Usually the non-connected path is only 20 or 30 dB down on the connected path. This is not safe enough to protect the preamp, so that’s another reason for giving up transmitting for now. I’m pretty sure the aerials will not be good enough for decent transmissions and I would end up being the recipient of pleas from an OM: “I got the Mike, Zero and Yankee, your callsign again again please…”.

The setup looks like this scribble from my lab book:

Cebik Moxons Diagram

Unfortunately the M-100 draws 55mA which is 5mA too high for the built-in bias-tee in the SDRplay RSP2. The RSP2 is my receiver of choice at the moment. More on that later.

SDRplay Safety


I bought an SDRplay RSP2 SDR recently. I had been looking for a multimode VHF/UHF transceiver but couldn’t find one within my budget. The transceivers that get listed on eBay go for silly prices and I’m not sure I want to pay the asking price for a new model. 

So I’ve decided to concentrate on receiving signals from satellites rather than transmitting, hence the purchase of the RSP2.

One of the specs of the RSP2 is the maximum signal it will tolerate at its aerial inputs. It says 0dBm which by my calculations says the voltage at the input must be under 0.22 Vrms to be safe. This sent alarm bells ringing as my Cebik Moxon aerials share the same attic as my small transmit loop aerial.

So I made some measurements.

I measured the voltage seen in the shack from the Cebik Moxons when transmitting 10W to the magnetic loop. The measurements were on my HP 54615B scope with a 50Ω termination.

No RF 800µV
TS590S tune (10W) 191mV at 14.2 MHz
TS590S tune (10W) 288mV at 7.07 MHz

So my RSP2 is unsafe in its current location and configuration. I must not transmit using my HF rig if I have the RSP2 connected to my Cebik Moxon aerials.

My first thought was to put a high pass filter on the Cebik Moxons to block 6m and below. I’m sure this would work but there would be some insertion loss.

But I have an Moonraker M-100 masthead preamp which has a 24-2300 MHz filter. This wouldn’t block 10m and 6m, but I don’t transmit on those bands using the small transmit loop and if I did the radiated power would be quite small as the impedance mismatch would be high.

So I made some more measurements with the M-100 in the shack. I know these won’t give the same effective gain at the receiver as measurements made with the M-100 in the attic, but it’s close enough for a start. The dial on the M-100 is laughable as the gain you get at each position bears only a passing relationship to the actual gain. The most you can say is the more clockwise the dial the higher the gain. Hence the ‘on dial’ below.

• Zero gain (on dial)
No RF 18mV
10W 14.2MHz 32mV
10W 7.07MHz 39mV

• gain +10 (on dial)
No RF 18mV
10W 14.2MHz 25mV
10W 7.07MHz 53mV

• gain +20 (on dial)
No RF 19mV
10W 14.2MHz 559mV
10W 7.07MHz fuzzy on the scope so I assume the signal is distorted somehow

• gain at 12 o’clock
No RF 18mV
10W 14.2MHz 50mV
10W 7.07MHz 16mV

This looks promising as the preamp gain should be set to just retrieve the loss from the cable and this should end up being 12 o’clock or lower.

The next step is to install the M-100 in the attic and re-measure. I’ll probably use a bias-tee arrangement so I can power it from the shack.




70cms Cebik Moxon Aerial for LEO Satellites

The 70cms (435MHz) version of the Cebik Moxon is now built and shows an SWR of 1.1 in the shack as measured with my AW07A antenna analyser. Hopefully this SWR will not change too much when I put in in the attic.

The elements are made out of #12 AWG wire from RS Components. The sizes are as specified in Cebik’s original article published in the ARRL QST in August 2001 “A Simple Fixed Antenna for VHF/UHF Satellite Work”. The phasing line is built as for the 2m version using RG59U coax cable from BitsBox only using a length for the 70cm band. The matching line is made from old 75Ω cable TV cable again at 70cm band length. The elements and lines are explained in my earlier post about Building the 2m Cebik Moxon.

The elements are stapled to an old wooden curtain pole to keep the driven elements and reflectors apart. At the ‘floating’ end they are kept apart using the insulation from old multi-core telephone cable and the shaft from cotton buds. I’ll hot-glue these in place once the aerial is in the attic. The distance between these floating ends is the most critical in the whole aerial.


I plan to use this aerial with the 2m version and suitable diplexers to communicate with U/V or V/U LEO satellites. Watch this space!

Satellite Aerial Link Budget

I’ve had a little luck transmitting to a satellite. I’m using packet as I can use the 2m Cebik Moxon aerial for both transmit and receive. To see if the ISS should be able to hear my signals I wrote a link budget program in Racket. There’s a few assumptions in it but it seems to confirm the ISS should have no problem hearing me on 2m. The program shows:

Transmit power (W)?
Frequency (MHz)?
Elevation (°)?
Transmit power:   5 W (36.99 dBm)
Frequency:        145.825 MHz
Satellite height: 403 km
Elevation angle:  40°

Satellite is 5396 km away
Signal at satellite is 9 dB above noise

This seems borne out as I do receive what seem to be digipeated packets just after I transmit them. But I can’t confirm on the ISS site that they are real and not just an echo from somewhere.

70cms doesn’t look as good:

Transmit power (W)?
Frequency (MHz)?
Elevation (°)?
Transmit power:   5 W (36.99 dBm)
Frequency:        435.255 MHz
Satellite height: 403 km
Elevation angle:  40°

Satellite is 5396 km away
Signal at satellite is -0 dB above noise

Increasing the power to 25W might work:

Transmit power (W)?
Frequency (MHz)?
Elevation (°)?
Transmit power:   25 W (43.98 dBm)
Frequency:        435.255 MHz
Satellite height: 403 km
Elevation angle:  40°

Satellite is 5396 km away
Signal at satellite is 7 dB above noise

I’m currently building the 70cms version and will try some FM voice contacts.

Here’s the link budget program:

#lang racket
; link budget for Cebik Moxon in attic
; Andy Fletcher Jan 9, 2019 

; definitions
(define (get_user_input prompt)
    (displayln prompt)
    (string->number (read-line))))

(define (log10 n)
  (/ (log n) (log 10)))

(define (watts2dbm w)
  (* 10 (log10 (* w 1000))))

(define (degrees2radians d)
  (* (/ pi 180) d))

(define (square x)
  (* x x))

; distance to satellite in km
(define (satellite_distance e_degrees height)
  (let* ([e (degrees2radians e_degrees)]
         [earth_radius 6371]    ; kms
         [r (+ height earth_radius)] ; distance between geocentre and satellite
    (sqrt (+ (square (* earth_radius (cos e))) (square r) (- (square earth_radius)) (- (* earth_radius (cos e)))))))

; free space path loss
(define (fspl f d)
  (- (+ (* 20 (log10 f)) (* 20 (log10 d)) 32.45)))

; execute
(let* (
       [ptx_watts (get_user_input "Transmit power (W)?")]
       [f         (get_user_input "Frequency (MHz)?")]
       [e_degrees (get_user_input "Elevation (°)?")]
       [h 403]               ; satellite height in kms
       [cable_loss -3.55]    ; measured dB
       [tx_gain 6.0]         ; Cebik Moxon modelled gain in dB
       [roof_loss -6.0]      ; assumed loss of signal going through the roof in dB
       [rx_gain 2.0]         ; assumed receive gain at satellite in dB
       [sat_max_sens 124.0]  ; assumed satellite maximum sensitivity in dBm
       [distance_to_satellite (satellite_distance e_degrees h)]
       [ptx (watts2dbm ptx_watts)]
    (printf "Transmit power:   ~a W (~a dBm)\n" ptx_watts (~r ptx #:min-width 1 #:precision 2))
    (printf "Frequency:        ~a MHz\n" f)
    (printf "Satellite height: ~a km\n" (~r h #:min-width 1 #:precision 0))
    (printf "Elevation angle:  ~a°\n" e_degrees)
    (printf "\nSatellite is ~a km away\n" (~r distance_to_satellite #:min-width 1 #:precision 0))
    (printf "Signal at satellite is ~a dB above noise\n"
            (~r  (+ ptx cable_loss tx_gain roof_loss (fspl f distance_to_satellite) rx_gain sat_max_sens) #:min-width 1 #:precision 0))))