External Mixers

Starting with version 0.9.4, SATSAGEN can manage external mixers to extend the usable frequency range of supported devices.

Unlike the Converter RX and Converter TX parameters, which have been available in the device configuration since the early versions of the application, this new feature allows SATSAGEN to directly control the LOs of external mixers, while also giving the user detailed control over their configuration.

Configuration

In Settings, devices supporting this new feature have the EXT RX Mixer and EXT TX Mixer checkboxes in the Device Options tab.

Enabling either of these options activates the corresponding functionality and makes the EXT RX Mixer and EXT TX Mixer tabs available, where the respective parameters can be configured.

The EXT RX Mixer and EXT TX Mixer tabs are divided into two sections: LO and Mixer.

LO

The LO section is used to configure the Model, Device, reference frequency, and XO correction of the external mixer’s local oscillator.

In addition to the parameters normally available when configuring a device, it is also possible to specify the LO output level in dBm and optionally configure the local oscillator to operate at a fixed frequency.

Additionally, the LO section of the EXT TX Mixer tab includes a Shared checkbox. When selected, the EXT RX and EXT TX mixers can be configured to use a single shared LO. In this mode, the shared LO is configured exclusively in the EXT RX Mixer tab and is used by both mixers.

Mixer

The Mixer section allows the user to select which conversion product is used:

  • UP-Converter: frequency addition
  • Down-Converter: frequency subtraction

The same section allows the user to configure the IF frequency and select which mixing product is used relative to the LO: positive (default) or negative.

When the negative product is selected, SATSAGEN automatically performs the required Spectral Inversion to ensure that the spectrum is displayed correctly.

If a fixed LO frequency is configured in the LO section, the IF Frequency and IF Negative controls are disabled because these options are not supported in this operating mode.

Finally, the Mixer section allows the user to specify the Harmonic Order, or alternatively a lookup table defining the Harmonic Order as a function of the tuning frequency. The Harmonic Order makes it possible to operate the mixer in harmonic mode according to the characteristics of the LO and the mixer.

Operation

When Fixed LO Frequency is selected, SATSAGEN tuning controls the local oscillator of the receiving or transmitting device.

When an IF frequency is specified instead (or an RF frequency in the EXT TX Mixer tab), tuning controls the LO of the external mixer, while the local oscillator of the receiving or transmitting device remains fixed at the frequency specified by IF Frequency (or RF Frequency in the EXT TX Mixer tab).

Startup

Once the EXT Mixer configuration has been completed, SATSAGEN can be powered on.

If the configuration is valid, SATSAGEN presents its usual operating interface. The application automatically extends the frequency range of the devices for which an EXT Mixer has been enabled, according to the configured parameters.

The user can therefore specify frequencies for the Spectrum Analyzer, Spectrum Analyzer with Tracking, VNA, Generator, and Sweeper transparently, without having to manage the external mixer separately.

Only the standard harmonic-mode functions of SATSAGEN are temporarily disabled, since harmonic operation is handled more efficiently through the external mixers and may also be incompatible with their configuration.

Correction Tables

When EXT Mixers are used, the device linearization and compensation tables use the following new, dedicated type codes:

  • Type 200 for RX compensation tables.
  • Type 200 and Type 202 for TX linearization tables.

When receiving with an EXT RX Mixer enabled, the correction process first applies the usual Type 0 compensation according to the frequency of the RX device LO, and then adds the Type 200 compensation according to the frequency of the external mixer LO, which corresponds to the actual tuning frequency.

When transmitting with an EXT TX Mixer enabled, the linearization process first applies the usual Type 0 linearization according to the frequency of the TX device LO, and then adds the Type 200 linearization according to the frequency of the external mixer LO (the actual transmission frequency).

If the TX Multiplier is also enabled, Type 202 is used instead.

Harmonic Order Table

As mentioned above, Harmonic Order Tables allow SATSAGEN to specify the Harmonic Order to be used as a function of frequency, providing runtime management of harmonic operation when external mixers are enabled.

Harmonic Order Tables use the INI file format, with sections named HO_ followed by a sequential decimal number starting from 1.

Each section contains:

  • f: frequency
  • h: Harmonic Order

The frequencies specified in the sections must be in ascending order.

The first section must define the minimum system frequency with Harmonic Order 1, while the last section must define the maximum system frequency with the highest Harmonic Order supported.

The following is an example of a valid Harmonic Order Table:

[HO_1]
f=485000000
h=1

[HO_2]
f=4850000001
h=3

[HO_3]
f=13650000001
h=5

[HO_4]
f=22450000000
h=5

For RX operation (the same criteria can also be applied to TX, with the only difference being that IF Frequency in TX corresponds to RF Frequency), the values in the Harmonic Order Table are determined by:

  • the frequency range of the external mixer’s local oscillator;
  • the configured IF Frequency;
  • the maximum Harmonic Order that can be reached;
  • the preferred harmonic to be used at each frequency range.

Therefore, before creating a Harmonic Order Table, it is important to have a clear understanding of these parameters, which are determined by the specific characteristics of the LO and the mixer.

In the example above, the external mixer’s LO is an ADF4351, with a frequency range from 35 MHz to 4400 MHz. The mixer has an optimum IF frequency of 450 MHz and supports harmonic operation up to Harmonic Order 5.

The HO_1 section therefore defines the minimum available frequency as 485 MHz (IF + minimum ADF4351 frequency) and specifies fundamental operation (Harmonic Order 1).

The last section, HO_4, defines the maximum available frequency as 22.45 GHz, calculated as the maximum ADF4351 frequency multiplied by Harmonic Order 5 and then combined with the IF:

4400 MHz × 5 + 450 MHz = 22.45 GHz

The intermediate sections define the transition points between harmonic orders. In this example, the third harmonic is used starting at 4.85 GHz, while the fifth harmonic is used starting at 13.65 GHz.

This allows SATSAGEN to automatically select the appropriate Harmonic Order during tuning, while transparently managing the external mixer and its LO.

Time Domain

Spectrum analyzers typically display signals in the frequency domain, but can also be configured to display in the time domain, a feature called Zero Span.

Satsagen has been equipped with Zero Span since version 0.8.0.0.

Starting with version 0.9.2.1, the Zero Span function has been expanded and improved. In summary, the display of frequency versus time has been added in addition to power versus time, and the processing mode is no longer only by FFT, but also by IF demodulation. E.g., this process mode allows display signals up to 2 uS per division using an RTL-SDR as a receiving device.

Zero Span is activated by clicking on the Time Domain (Zero Span) button located in the Spectrum Analyzer panel.

The TimeBase knob allows you to set the time base within the range allowed by the receiving device in use and the signal processing mode settings. By extending the bandwidth controls with a click on the BW label, you can also directly set the sampling rate expressed in MSPS:

At the same time as activating Zero Span, the Time Domain tab appears below the display, where other controls related to this function are available:

The Type list sets the display to power vs. time or frequency vs. time. The Processing mode list sets the processing mode to IF demodulation, ZERO IF demodulation, or FFT. The IF decimation list sets three decimation levels, 1, 10, or 100, which allow the time base to be extended over longer times if necessary in IF or ZERO-IF demodulation modes. The Trace auto-clear button only serves a purpose if a Trigger has been selected. If there is no signal at the Trigger and the Trace auto-clear button is activated, the display is cleared after a few seconds, while if the button is deactivated, the display “freezes” at the instant of the last Trigger.

The following image is of a setup with a double device. In reception, there is an RTL-SDR dongle, and in transmission, a HackRF. A small RF cable connects the two devices. The generator modulates a 100MHz carrier in AM at 20 kHz. Satsagen is configured for the classic spectrum display:

A classic spectrum analyzer display as a function of frequency. Note the carrier of an AM-modulated signal and the two sidebands.

By activating Zero Span with the same setup, the display switches to power vs. time, by setting Power vs. time from the Type list and IF demodulation from the Processing mode list:

Time domain visualization

The X-axis switches from a frequency to a time representation, while the Y-axis remains in amplitude expressed in dBm.

The image will not be still, but will scroll in one direction, as there is no synchronism between the modulation and the sampling performed. To synchronize and freeze the image, you need to activate a trigger from the Triggers tab.

The same view in the time domain, but with the Video trigger active

The Video trigger level setting, whether positive or negative slope, should fall within a value within the modulation amplitude, in this case from approximately -48 dBm to approximately -41 dBm.

If you can’t find an optimal trigger value to get a stable image, you can try to activate a sort of hysteresis by clicking repeatedly on the Level text above the knob until it becomes Level R and a Range knob becomes available for setting the trigger intervention range:

Time Domain Visualization with Trigger and Hysteresis Active

We now switch the Generator modulation to FMW, with the same modulation frequency as before and a deviation of 30 kHz.

To view the frequency modulation, you need to go back to the Time Domain tab and select Frequency vs. time from the Type list. Furthermore, from the Triggers tab, you need to set a level between approximately -30 kHz and +30 kHz:

Frequency vs. time display with trigger active

The X-axis remains in a time representation, while the Y-axis switches from a display of amplitude expressed in dBm to one expressed in frequency.

For correct viewing, you also need to adjust the bandwidth using the appropriate knob in the Spectrum Analyzer panel.

In the case of a frequency-modulated signal display, the minimum bandwidth value should be the maximum modulation frequency plus the deviation, multiplied by two. So in our case, the minimum bandwidth to ensure that the displayed shape does not suffer distortion is about 100 kHz.

Satsagen on Wine

Some functions and compatibility with the Linux Wine layer are improved starting from Satsagen version 0.9.3.5:

  • Simplified the Pluto connection by fixing the unable pluto.local address.
  • The serial COMx ports work now, so the Simple spectrum analyzers, PLL synthesizers, Log detectors, GPIB devices, and the spectrometers are now available.
  • The Pluto and GPIB terminal consoles work now.

Here is a step-by-step guide to take advantage of these improvements:

This guide is tested on Ubuntu 25.04 and Wine 9.0 layer. Some commands could be changed or adapted to different OS/Distribution versions.

  • Remove old Satsagen version if it is below 0.9.3.5. Open a terminal, type wine control, and choose the Add/Remove Programs icon to remove the old Satsagen Application
  • Close the Wine control panel. Download the latest Satsagen version from the Download Page, and unzip the file at the end.
  • Turn back on the terminal window, and type wine $HOME/Downloads/satsagen_9_3_5_setup.exe (or the version name you had downloaded), and execute it.
  • Complete the setup, show Apps, and click on the SATSAGEN icon to run the program. A message should be shown on the first run
  • Close the window and the application. Turn back on the terminal window and type groups yourusername.
  • If your username does not belong to the dialout group, add it by executing the sudo usermod -aG dialout yourusername
  • Restart Wine by typing winserver -k at the terminal prompt

  • So, connect a Pluto device, for example, to the PC, show Apps, and click again on the SATSAGEN icon to run the application
  • Wait for some seconds, let the USB device be detected by the OS, and click on View-> Open terminal menu, a dialog with a device available on the serial COM port should appear, confirming that the above procedure is successful.
  • Close the above window, and to check the Pluto connection, go to Settings -> Devices tab
  • A Pluto should be listed on the SDR Device listbox
  • Close the Settings window and click the Power button. Start the Spectrum Analyzer.

SATSAGEN v.0.9.3.3

Three-device setup

From this release, a third SDR device can be configured in the Devices tab in Settings to extend the functionality of the Satsagen VNA:

Set three devices by clicking on the corresponding radio button, next click the RX/2 device tab, and set the SDR device you want to use as the third device.

Finally, in the SNA/VNA Mode tab, select the VNA item from the Mode list and Dual RX-Device from the Dual Port Interface list.

With the above configuration, the VNA will use the third device as a second receiver, and it will be available for S11 and S21 measurements in real time without manually switching the DUT connections.

The mandatory conditions for the correct functioning of the three-device configuration are:

  • A common reference clock source (the CLK Source in the above image). Alternatively, the external clock source is connected only to the first device, and the reference to the other two is provided with a daisy chain connection.
  • Devices 1 and 3 designated to the RX role must have two synchronized RX channels, so with the current version 0.9.3.3, only Pluto rev. C/D devices are compatible.
  • Device 2, designated as TX, can also have only one TX channel, but this requires two ports, TX+ and TX-, or the addition of a splitter. Several devices are compatible with the TX device, including Pluto and the PLL synthesizers LMX2595, ADF4251, and others.
LMX2595 support

By connecting an LMX2595 board to Satsagen, the application can function as a Generator/sweeper and Tracker in SNA/VNA operations from about 100MHz up to and beyond 20GHz with an output power capable of achieving more than sufficient dynamic range for the characterization needs of filters and other DUTs.

Satsagen with an LMX2595 as TX device, and an ADALM-PLUTO as RX device in fifth harmonic mode, can provide approximately 40dB of dynamics at 24 GHz!

An example of a realization by Gianni IW1EPY with an ADALM-PLUTO in a metal container, LMX2595 board, and Pi Pico.

To improve measurements above 20GHz, a cavity filter should be used to reduce the fundamental of the LMX2595 (at frequencies above 15 GHz, an internal chip doubler is activated) because it can become “important” and saturate the first stages of the RX device. Two coupled guide transactions can be used as a filter.

An example of a filter with two N-lead-N transitions

Support for boards with the LMX2595 PLL synthesizer is provided via a USB interface consisting of an Arduino microcontroller or a Raspberry Pi Pico. See the page relating to this multifunction interface USBDAALBFER for the schematics, sources, and binaries that can be used.

Some tips for using this PLL board:

  • Using a Raspberry Pi Pico (and Pi Pico 2) is preferable because the input and output work at the same 3.3V level as the LMX2595, so there is no need for voltage level adaptation components. Furthermore, uploading the firmware to the Pi Pico can be reduced to simply copying the binary file provided here onto the Pi Pico disk, which is activated by holding down the button and inserting the USB into the PC, so there is no need to equip yourself with the Arduino compilation environment.
  • On some LMX2595 boards from China, part of the connector pin silkscreen is on the back of the board:
  • The LMX2595 5V power supply should be supplied via a dedicated USB port or with a separate power supply, as the board during operation can reach absorption peaks of 400mA and more, therefore, it is not recommended to power it via the 5V pin of the microcontroller, whether it is an Arduino or a Raspberry.
  • The GND connection between the LMX2595 board and the microcontroller is also important to ensure correct SPI operation. It should be done with short connections and using more GND pins on the microcontroller near the pins dedicated to the SPI.
  • Finally, metal containers are recommended for the LMX2595 board and the receiving device (ADALM-PLUTO).
Stand-alone startup of PLL synthesizers

From this version, there is a function that allows you to program the Arduino or Pico interface combined with a supported PLL synthesizer, such as the LMX2595 just seen, for stand-alone use, that is, the interface and the PLLs can function as CW generators at a fixed frequency and power simply by powering them, even disconnected from Satsagen. This feature can be useful if a temporary local oscillator is needed for our down-converter or up-converter projects.

To use the above functionality, follow these steps:

  • Start the application with the devices connected
  • Start the Generator and set the desired frequency and power
  • By keeping the Generator ON, click on the Save the Generator state to the device menu under Settings -> Device stored settings.

You can turn off Satsagen and disconnect the interface and PLL devices from the PC now. If the interfaces with the PLLs are powered via USB or with a separate power supply, they will automatically start at the preset frequency and output power, without the aid of Satsagen as a driver.

To reset the above setting on the interface, so that it no longer starts automatically and stops the PLLs from working as stand-alone CW generators, repeat the above procedure with the Generator turned OFF:

  • Start the application with the devices connected
  • Leave the Generator turned OFF and click on the Save the Generator state to the device menu under Settings -> Device stored settings.

You can turn OFF Satsagen now and disconnect the interface and PLL devices from the PC; the stand-alone operation setting has been reset.

Harmonic Extended Filter

In SNA scans with tracking generator, especially in harmonic mode, we noticed the presence of unwanted “peaks”, for example around 24 GHz, due to the combination of the high RX Gain setting required and the presence of harmonics of the RX local oscillator falling right in the IF range.

From this version of Satsagen, you can activate an EF filter, similar in operation to the one already present in the Spectrum Analyzer, also for TSA/SNA operations, by clicking on the EF button in the central panel of the application:

The EF filter will eliminate the above artifacts during the scan by taking two separate readings for each point, slightly shifting the frequency of the RX local oscillator. The filter will compare the pair of readings, eliminating signals present at the same frequency on only one of the two readings, an unmistakable sign of artifacts due to the RX local oscillator.

On the other hand, using the EF filter will cause a slight slowdown in SNA scans.