---
name: "miri_fm"
section: "1"
platform: "linux"
package: "miri-sdr"
version: "2.0.0-4+b2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/miri_fm"
---

# miri\_fm(1)

a simple narrow band FM demodulator for Mirics based receivers

## NAME

miri\_fm - a simple narrow band FM demodulator for Mirics based receivers

## DESCRIPTION

Software for the Mirics MSi2500 + MSi001 SDR platform

written because people could not do real time FM demod on Atom hardware with GNU radio based on rtl\_sdr.c and rtl\_tcp.c

## USAGE

This program captures information from a band of frequencies and outputs the data in a form useful to other software radio programs.

## SYNOPSIS

**miri\_fm \[-f freq\] \[OPTIONS\] \[output file\]**

## OPTIONS

- \-f frequency\_to\_tune\_to \[Hz\]

  - use multiple -f for scanning (requires squelch)

  - ranges supported, -f 118M:137M:25k

  - \-M modulation (default: fm)

  - fm, wbfm, raw, am, usb, lsb

  - wbfm == -M fm -s 170k -o 4 -A fast -r 32k -l 0 -E deemp

  - raw mode outputs 2x16 bit IQ pairs

  - \-s sample\_rate (default: 24 kHz)

  - \-d device\_index (default: 0)

  - \-T device\_type device variant (default: 0)

  - 0: Default

  - 1: SDRPlay

  - \-g tuner\_gain (default: automatic)

  - \-m sample format (default: auto)

  - 504: S8 (fastest)

  - 384: S10 +2bits

  - 252: S14

  - \-e USB transfer mode (default: 1)

  - 1: Isochronous (maximum 196.608 Mbit/s)

  - 2: Bulk (maximum 333Mbit/s, depends on controller type)

  - \-i IF mode (default: ZERO)

  - 0: ZERO

  - 450000: 450 kHz

  - 1620000: 1620kHz

  - 2048000: 2048kHz

  - \-w BW mode (default: 8MHz)

  - 200000: 200kHz

  - 300000: 300kHz

  - 600000: 600kHz

  - 1536000: 1536kHz

  - 5000000: 5MHz

  - 6000000: 6MHz

  - 7000000: 7MHz

  - 8000000: 8MHz

  - \-l squelch\_level (default: 0/off)

  - \-o oversampling (default: 1, 4 recommended)

  - \-p ppm\_error (default: 0)

  - \-E enable\_option (default: none)

  - use multiple -E to enable multiple options

  - edge: enable lower edge tuning

  - dc: enable dc blocking filter

  - deemp: enable de-emphasis filter

  - direct: enable direct sampling

  - offset: enable offset tuning

  - filename ('-' means stdout)

  - omitting the filename also uses stdout

  ## EXPERIMENTAL OPTIONS

- \-r resample\_rate (default: none / same as -s)

  - \-t squelch\_delay (default: 10)

  - \+values will mute/scan, -values will exit

  - \-F fir\_size (default: off)

  - enables low-leakage downsample filter

  - size can be 0 or 9. 0 has bad roll off

  - \-A std/fast/lut choose atan math (default: std)

  ## EXAMPLES

- Produces signed 16 bit ints, use Sox or aplay to hear them.

  - miri\_fm ... \| play -t raw -r 24k -es -b 16 -c 1 -V1 -

  - \| aplay -r 24k -f S16\_LE -t raw -c 1

  - \-M wbfm \| play -r 32k ...

  - \-s 22050 \| multimon -t raw /dev/stdin

  If the device can't be opened, make sure you have the appropriate rights to access the device (install udev-rules from the repository, or run it as root).

## SEE ALSO

[miri\_sdr(1)](/miri_sdr/1.md)

## AUTHOR

This manual page was written by Maitland Bottoms for the Debian project (but may be used by others).

## COPYRIGHT

Copyright (c) 2023 A. Maitland Bottoms \<bottoms@debian.org\>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
