Open source mirics driver + miri_sdr + miri_fm

Add useful snippets of code or links to entire SDR projects.
Post Reply
SdrGuru
Posts: 4
Joined: Tue May 03, 2016 8:13 am

Open source mirics driver + miri_sdr + miri_fm

Post by SdrGuru » Tue May 03, 2016 8:26 am

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
Last edited by SdrGuru on Thu Jan 01, 1970 12:00 am, edited 0 times in total.
Reason: No reason

0815
Posts: 45
Joined: Sat Jan 30, 2016 3:07 pm

Re: Open source mirics driver + miri_sdr + miri_fm

Post by 0815 » Sat Jun 04, 2016 4:37 pm

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
Last edited by 0815 on Thu Jan 01, 1970 12:00 am, edited 0 times in total.
Reason: No reason

User avatar
neok
Posts: 10
Joined: Mon Oct 17, 2016 8:11 am

Re: Open source mirics driver + miri_sdr + miri_fm

Post by neok » Tue Nov 01, 2016 10:38 am

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.

Reason: No reason

User avatar
neok
Posts: 10
Joined: Mon Oct 17, 2016 8:11 am

Re: Open source mirics driver + miri_sdr + miri_fm

Post by neok » Fri Nov 04, 2016 10:29 am

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

Reason: No reason

SdrGuru
Posts: 4
Joined: Tue May 03, 2016 8:13 am

Re: Open source mirics driver + miri_sdr + miri_fm

Post by SdrGuru » Mon Feb 27, 2017 6:54 pm

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
Last edited by SdrGuru on Thu Jan 01, 1970 12:00 am, edited 0 times in total.
Reason: No reason

Post Reply