How the uBITx works: A technical summary

uBITx 45MHz roofing filter (First IF stage)

Here’s a pretty complete summary of what’s going on within the uBitx, under its dual conversion IF system, as explained by Jerry KE7ER.

Actual frequencies are those used in the supplier’s original µBitx code:

Release version dated Dec 6, 2017 at:

uBITx 12 MHz Filter – 2nd IF stage

Local Oscillators

  • CLK0 (BFO) is fixed at 11996500 Hz, maybe 500Hz below the 12MHz filter’s 2000 Hz wide 3dB passband.
  • CLK1 (second local oscillator) is fixed at 56995000 hz for USB and 32995000 hz for LSB. You can find those three numbers in the file ubitx_20.ino at lines 166, 163, 164 respectively.


The VFO is used to select the operating frequency Fop according to these formulas.

For USB:

Fop  = VFO – (CLK1-BFO)   so:

VFO = Fop + (CLK1-BFO)   where CLK1 is around 45 MHz + 12 MHz

For LSB:

Fop  = VFO – (CLK1+BFO)     so:

VFO = Fop + (CLK1+BFO)      where CLK1 is around 45 MHz – 12 MHz

To receive a 7.2MHz LSB signal (where 7.2 MHz is the frequency of the suppressed carrier), the VFO gets set to:

7200000+(32995000+11996500) = 52191500 Hz.

That formula gives an exact result, not an approximation.


The BFO corresponds to the carrier frequency of the station being received or transmitted. The 12mhz filter is always above the BFO, so within the 12 MHz IF it allows through only the upper sideband.

The VFO is always above the 45 MHz first intermediate frequency, and so always inverts the sidebands.

A carrier at 7200000 Hz would get translated to:

VFO-Fop = 52191500 – 7200000 = 44991500 Hz

A lower sideband at 7198500 Hz would get translated to:

52191500 – 7198500 = 44993000 Hz

In this example we assume the lower sideband is generated from a single audio tone into the mic of 1500 Hz.   We have chosen 1500 hz because it will land in the middle of the 12 MHz filter’s passband, assuming the filter has a 3 dB passband that’s 2000 Hz wide and the BFO is 500 Hz below that passband. The actual range of frequencies passed will be 500 to 2500 Hz. Those assumptions of 2000 Hz and 500Hz might be off by a couple hundred Hz.

Likewise, a high side CLK1 of 56995000 Hz  for USB always flips the sidebands when translating to 12 MHz, however the low side CLK1 of 32995000 Hz we use to receive the 7.2 MHz LSB signal does not.

Our 7.2mhz carrier:

44991500 – 32995000 =  11996500 Hz (exactly equal to our BFO frequency)

Our 7.2mhz lower sideband:

44993000 – 32995000 = 11998000 Hz  (in the middle of the crystal filter passband).

That’s how the original uBitx code works.

There is a problem because where an LSB signal hits the 45MHz filter will be 4khz removed from where a USB signal hits it, resulting in different audio quality between the two.