<div dir="ltr"><div><div><div><div><div>Hi,<br><br>As a "side product" of this thread: "How to get IQ samples from multiple rtl-sdr dongles in a synchronized manner",A Matlab script is released.<br><br>
<a href="http://www.mathworks.com/matlabcentral/fileexchange/45024-rtl-sdr-multi-dongles-based-flexible-spectrum-scanner">http://www.mathworks.com/matlabcentral/fileexchange/45024-rtl-sdr-multi-dongles-based-flexible-spectrum-scanner</a><br>
</div><div>or<br><a href="https://github.com/JiaoXianjun/multi-rtl-sdr-calibration">https://github.com/JiaoXianjun/multi-rtl-sdr-calibration</a><br></div><div><br></div>The script can use multiple dongles to do scanning, and get significant speedup compared to single dongle. (You can check reported time cost by running the script with different number of dongles)<br>
</div>Another script uses multiple dongles to scan the same band, and combine those results together incoherently.<br><br></div>I admit that before calibrating multiple dongles, the significant is limited.<br><br></div>Just for FUN.<br>
<br></div>README is also pasted here:<br><br><p>Multiple rtl-sdr(rtl_tcp) dongles based Matlab frequency scanner.
<br>1. multi_rtl_sdr_split_scanner.m
<br>Have multiple dongles run concurrently to speedup scanning wide band by scanning different sub-band with different dongle.
<br>2. multi_rtl_sdr_diversity_scanner.m
<br>All dongles scan the same band, and then results from different dongles are combined incoherently.</p>------------Usage------------
<br><p>1. Assume that you have installed rtl-sdr
<br>(<a href="http://sdr.osmocom.org/trac/wiki/rtl-sdr">http://sdr.osmocom.org/trac/wiki/rtl-sdr</a>) and have those native utilities run correctly already.</p>

<p>For example, you have multiple dongles, please run multiple rtl_tcp in multiple shell respectively as:
<br>rtl_tcp -p 1234 -d 0
<br>rtl_tcp -p 1235 -d 1
<br>rtl_tcp -p 1236 -d 3
<br>...</p>

<p>2. Then run script multi_rtl_sdr_split_scanner.m or multi_rtl_sdr_diversity_scanner.m in MATLAB.</p>

<p>ATTENTION! In some computer, each time before you run script, maybe 
you need to terminate multiple rtl_tcp and re-launch them again.</p>

<p>Change following parameters in the script as you need:</p>

<p>num_dongle = 2;
<br>start_freq = 935e6;
<br>end_freq = 960e6;
<br>freq_step = 0.05e6;
<br>observe_time = 0.1;
<br>gain = 0;
<br>sample_rate = 2.048e6;
<br>...</p>

<p>------------Algorithm------------
<br>Use high sampling rate for each frequency point. Then Auto generated narrow FIR is used to suppress noise and extract signal.
<br>At last, power of signal at each frequency is estimated and spectrum of all frequencies is generated.</p><p><br></p><p><br></p><p>BR</p><p><br></p><p>Jiao Xianjun</p><p><br></p><br></div>