Page 1 of 1

Open source mirics driver + miri_sdr + miri_fm

Posted: Tue May 03, 2016 8:26 am
by SdrGuru
CPU usage is 60% lower than that of libmirsdrapi-rsp.

http://www.sm5bsz.com/linuxdsp/archive/ ... -3-bsz.tbz
http://www.sm5bsz.com/linuxdsp/install/ ... smplus.htm

./miri_sdr
Usage: -f frequency_to_tune_to [Hz]
[-m sample format (default: auto]
504: S8 (fastest)
384: S10 +2bits
336: S12
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
[-s samplerate (default: 2048000 Hz)]
[-d device_index (default: 0)]
[-g gain (default: 0 for auto)]
[-b output_block_size (default: 16 * 16384)]
[-S force sync output (default: async)]
filename (a '-' dumps samples to stdout)




./miri_fm -h
miri_fm, a simple narrow band FM demodulator for Mirics based receivers

Use: miri_fm -f freq [-options] [filename]
-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: 24k)]
[-d device_index (default: 0)]
[-g tuner_gain (default: automatic)]
[-m sample format (default: auto]
504: S8 (fastest)
384: S10 +2bits
336: S12
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)]

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

Re: Open source mirics driver + miri_sdr + miri_fm

Posted: Sat Jun 04, 2016 4:37 pm
by 0815
regarding the ./miri_sdr

i would need one of these outputs:

complex uint8 (RTLSDR) or complex int8 (hackrf) and the S8 option doesnot work in both options..... the rawIQ which does the >>8 works flawlessly..

any option to change this in the code?

regards

Re: Open source mirics driver + miri_sdr + miri_fm

Posted: Tue Nov 01, 2016 10:38 am
by neok
Hi

This is rather late, but I would like to ask what documentation is available, if any, for driver installation and the API.

Thank you.

Re: Open source mirics driver + miri_sdr + miri_fm

Posted: Fri Nov 04, 2016 10:29 am
by neok
Well, not much documentation, but I tried to implement it in my own project anyhow. But then I realized that it seems to decimate the 12 bit sample size of the RSP down to 8 bits, as it is apparenlty meant to work with the same software that interfaces with RTLSDR dongles. Unacceptable of course, since it kills the one major advantge of the Mirics device, higher resolution and dynamic range.

Now if only mirsdrapi-rsp was open sourced...

Cheers

Neok

Re: Open source mirics driver + miri_sdr + miri_fm

Posted: Mon Feb 27, 2017 6:54 pm
by SdrGuru
neok wrote: But then I realized that it seems to decimate the 12 bit sample size of the RSP down to 8 bits
This is not true.
libmirisdr output: 14/12/10/8 bit

[-m sample format (default: auto]
504: S8 (fastest)
384: S10 +2bits
336: S12
252: S14

More info:
http://blog.palosaari.fi/2013/08/mirics ... river.html