osmocom_siggen_nogui(1)

✨ osmocom_siggen_nogui ✨

okay bestie, so this is the manual page for osmocom_siggen_nogui(1), living in the User Commands section of the manual. it's giving "I make signals, no GUI, no drama." let's get into it πŸ’–


πŸŽ€ NAME πŸŽ€

osmocom_siggen_nogui β€” Signal generator application


πŸ¦‹ SYNOPSIS πŸ¦‹

osmocom_siggen_nogui: [options]

🌸 DESCRIPTION 🌸

Signal generator application

like. that's the whole description. iconic minimalism. periodt. πŸ‘‘


✨ OPTIONS ✨

  • -h, --help β€” show this help message and exit (the classic escape hatch, we love her)
  • -a ARGS, --args=ARGS β€” Device args, [default=]
  • -A ANTENNA, --antenna=ANTENNA β€” Select Rx Antenna where appropriate
  • -s SAMP_RATE, --samp-rate=SAMP_RATE β€” Set sample rate (bandwidth), minimum by default
  • -g GAIN, --gain=GAIN β€” Set gain in dB (default is midpoint)
  • -f FREQ, --tx-freq=FREQ β€” Set carrier frequency to FREQ [default=mid-point]
  • -c FREQ_CORR, --freq-corr=FREQ_CORR β€” Set carrier frequency correction [default=0]
  • -x WAVEFORM_FREQ, --waveform-freq=WAVEFORM_FREQ β€” Set baseband waveform frequency to FREQ [default=0]
  • -y WAVEFORM2_FREQ, --waveform2-freq=WAVEFORM2_FREQ β€” Set 2nd waveform frequency to FREQ [default=none]
  • --sine β€” Generate a carrier modulated by a complex sine wave
  • --const β€” Generate a constant carrier
  • --offset=OFFSET β€” Set waveform phase offset to OFFSET [default=0]
  • --gaussian β€” Generate Gaussian random output
  • --uniform β€” Generate Uniform random output
  • --2tone β€” Generate Two Tone signal for IMD testing
  • --sweep β€” Generate a swept sine wave
  • --gsm β€” Generate GMSK modulated GSM Burst Sequence
  • --amplitude=AMPL β€” Set output amplitude to AMPL (0.1-1.0) [default=0.3]
  • -v, --verbose β€” Use verbose console output [default=False]
Note: failed to enable realtime scheduling, continuing

🌈 Device specification 🌈

bestie listen. you can specify the source or sink device using a comma separated string of argument=value pairs. the always-up-to-date block documentation with examples is available right here. πŸ’…

πŸ’œ FCD Source πŸ’œ

  • fcd=<device-index> β€” 0-based device identifier, optional
  • device=hw:2 β€” overrides the audio device
  • type=2 β€” selects the dongle type, 1 for Classic, 2 for Pro+

The device argument overrides the audio device used by the underlying driver to access the dongle's IQ sample stream.

The type argument selects the dongle type, 1 for Classic, 2 for Pro+.

🫢 OsmoSDR Source 🫢

  • osmosdr=<device-index> β€” 0-based device identifier
  • buffers=<number-of-buffers> β€” Default is 32
  • buflen=<length-of-buffer> β€” Default is 256kB, must be multiple of 512

πŸ“ RTL-SDR Source πŸ“

  • rtl=<device-index> β€” 0-based device identifier OR serial number
  • rtl_xtal=<frequency> β€” Frequency (Hz) used for the RTL chip, accepts eng notation
  • tuner_xtal=<frequency> β€” Frequency (Hz) used for the tuner chip, accepts eng notation
  • buffers=<number-of-buffers> β€” Default is 32
  • buflen=<length-of-buffer> β€” Default is 256kB, must be multiple of 512
  • direct_samp=0|1|2 β€” Enable direct sampling mode on the RTL chip. 0: Disable, 1: use I channel, 2: use Q channel
  • offset_tune=0|1 β€” Enable offset tune mode for E4000 tuners
NOTE: use rtl_eeprom -s to program your own serial number to the device
NOTE: if you don't specify rtl_xtal/tuner_xtal, the underlying driver will use 28.0MHz

🧚 RTL-SDR TCP Source 🧚

  • rtl_tcp=<hostname>:<port> β€” hostname defaults to "localhost", port to "1234"
  • psize=<payload-size> β€” Default is 16384 bytes
  • direct_samp=0|1|2 β€” Enable direct sampling mode on the RTL chip 0=Off, 1=I-ADC input enabled, 2=Q-ADC input enabled
  • offset_tune=0|1 β€” Enable offset tune mode for E4000 tuners

🌟 Miri Source 🌟

  • miri=<device-index> β€” 0-based device identifier
  • buffers=<number-of-buffers> β€” Default is 32

πŸ‘‘ UHD Source / Sink πŸ‘‘

  • uhd β€” Use this argument without a value
  • nchan=<channel-count> β€” For multichannel USRP configurations use the subdev parameter to specify stream mapping
  • subdev=<subdev-spec> β€” Examples: "A:0", "B:0", "A:0 B:0" when nchan=2. Refer original ettus documentation on this
  • lo_offset=<frequency> β€” Offset frequency in Hz, must be within daughterboard bandwidth. Accepts eng notation

Additional argument/value pairs will be passed to the underlying driver, for more information see specifying the subdevice and common device identifiers in the Ettus documentation.

πŸ”₯ bladeRF Source / Sink πŸ”₯

  • bladerf[=0] β€” 0-based device identifier (optional)
  • fw='/path/to/the/firmware.img' β€” program MCU firmware from given file. usually not needed. power cycle required.
  • fpga='/path/to/the/bitstream.rbf' β€” load FPGA bitstream from given file. required only at first run at the moment.

πŸ’€ HackRF Source / Sink πŸ’€

  • hackrf β€” Use this argument without a value
  • buffers=<number-of-buffers> β€” Default is 32

Only the first device found may be used at the moment because of libhackrf limitation.

Transmit support has been verified by using the crc-mmbTools DAB sdr transmitter.

πŸ’– IQ File Source πŸ’–

  • file=<path-to-file-name>
  • freq=<frequency> β€” Center frequency in Hz, accepts eng notation
  • rate=<sampling-rate> β€” Mandatory, in samples/s, accepts eng notation
  • repeat=true|false β€” Default is true
  • throttle=true|false β€” Throttle flow of samples, default is true

🌸 EXAMPLES 🌸

no cap, just copy these:

osmocom_siggen_nogui -a hackrf -f 100e6 --sweep -x 2e6 -y 10 -v
osmocom_siggen_nogui -a uhd,subdev=A:0 -f 100e6 --sweep -x 2e6 -y 10 -s 4e6 -v

πŸ¦‹ SEE ALSO πŸ¦‹

osmocom_fft(1) osmocom_siggen(1) osmocom_spectrum_sense(1)


and that's the whole page bestie πŸ’… this one's brought to you by OSMOCOM, dated October 2013 β€” yeah she's an elder but she still ate, and honestly? the vibe check passed. go generate some signals, you've got this πŸ«Άβœ¨πŸ’–