Hi,
i have just transmited the rtl-sdr code into android using NDK,and i start the rtl-sdr and set the fequecny,samp_rate and so on.
Finally i get the output from rtl and write it into a txt file.
Then the problem came, i open the txt and find it a mess, does the output decode in utf-8 or something else,can anyone give me
a look to see what output is like
Thanks a lot
chenzujie
Hi,
As a "side product" of this thread: "How to get IQ samples from multiple
rtl-sdr dongles in a synchronized manner",A scanning tool is released for
identifying all available/detectable GSM broadcasting carrier around you
quickly.
You can find it here:
http://www.mathworks.com/matlabcentral/fileexchange/45152-rtl-sdr-multi-don…
or
https://github.com/JiaoXianjun/multi-rtl-sdr-calibration
By using 3 dongles, we can identify all available/detectable GSM
broadcasting carrier in the whole PGSM band downlink 935~960MHz in 30s (my
intel i7 12-core station) instead of 80s (only one dongles).
The original purpose of project multi-rtl-sdr-calibration is that
calibrating multiple dongles by the common GSM source.
So the first thing need to do is that finding out where is the strongest
GSM signal in the air.
This script (multi_rtl_sdr_gsm_FCCH_scanner.m) can identify GSM downlink
broadcasting carrier by detecting successive multiple FCCH bursts of all
possible carrier in a band you specify, such as PGSM downlink 935~960MHz.
I learn knowledge of GSM frame structure from here:
http://www.sharetechnote.com/html/FrameStructure_GSM.html
After the script is run, quality metrics of detected FCCH channel per
frequency will be displayed: SNR and number of detected FCCH burst (num of
hits).
Note: for speedup detection algorithm, a large decimation ratio is used,
thus shown SNR may be lower than actual SNR. But it is enough to help us
idendify which frequency is best.
README is also pasted here:
Multiple rtl-sdr(rtl_tcp) dongles based GSM FCCH scanner. (
putaoshu(a)gmail.com; putaoshu(a)msn.com)
multi_rtl_sdr_gsm_FCCH_scanner.m
Have multiple dongles run concurrently to speedup detecting FCCH(Frequency
correction channel) burst in wide GSM band by scanning different sub-band
with different dongle.
This is a sub script of project:
https://github.com/JiaoXianjun/multi-rtl-sdr-calibration
------------Purpose------------
The original purpose of project multi-rtl-sdr-calibration is that
calibrating multiple dongles by the common GSM source.
So the first thing need to do is that finding out where is the strongest
GSM signal in the air.
This script can identify GSM downlink broadcasting carrier by detecting
successive multiple FCCH burst.
I learn knowledge of GSM frame structure from here:
http://www.sharetechnote.com/html/FrameStructure_GSM.html
After the script is run, quality metrics of detected FCCH channel will be
displayed: SNR and number of detected FCCH burst (num of hits).
Note: for speedup detection algorithm, a large decimation ratio is used,
thus shown SNR may be lower than actual SNR. But it is enough to help us
idendify which frequency is best.
-------------Usage-------------
1. Assume that you have installed rtl-sdr
(http://sdr.osmocom.org/trac/wiki/rtl-sdr) and have those native utilities
run correctly already.
For example, you have multiple dongles, please run multiple rtl_tcp in
multiple shell respectively as:
rtl_tcp -p 1234 -d 0
rtl_tcp -p 1235 -d 1
rtl_tcp -p 1236 -d 2
...
2. Then run multi_rtl_sdr_gsm_FCCH_scanner.m in MATLAB.
ATTENTION! In some computer, each time before you run script, maybe you
need to terminate multiple rtl_tcp and re-launch them again.
ATTENTION! Please reduce number of inspected points by reducing frequency
range, if your computer hasn't enough memory installed. Because all sigals
are stored firstly before processing.
Change following parameters in the script as you need:
num_dongle = 1; % number of dongles you installed
start_freq = 935e6;
end_freq = 960e6;
freq_step = 0.2e6; % GSM channel spacing
gain = 0;
...
Some key parameters:
% how long signal we try to find multiple FCCH bursts in
num_frame = 64; % roughly speaking, there are 1 FCCH burst per 10 frames,
but 50 frames plus 1 idle frame construct one multiframe
FCCH_coarse_position.m
th = 10; % Peak to average threshold of detecting FCCH in moving averaging
SNR(estimated by FFT) stream.
max_offset = 5; % +/- range of predicted next postion of FCCH burst.
------------Algorithm------------
Because FCCH actually is a period of CW signal, we can use FFT to see if
there is sharp peak in frequency domain.
For the first FCCH detection, a continuous moving FFT is performed. After
the first FCCH is hit, the following FCCH will be only detected at
predicted position (+/- small range) according to GSM frame structure.
At least 3 successive FCCH need to be detected for we to ensure one
donwlink broadcasting carrier is there. See details in
FCCH_coarse_position.m.
Dear all,
with the permission of the original poster, I hereby forward a message
from Omri regarding his use of rtl-sdr to sniff and decode NRF24L01+ and
Bluetooth LE packets.
I have no involvement in the project, I'm just passing on the mail,
thats' all ;)
Regards,
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
I have been trying to install pyrtlsdr from https://github.com/roger-/pyrtlsdr using the librtlsdr shared libraries from https://github.com/keesj/android-rtlsdr . So far the python code installed under /mnt/sdcard/sl4a/scripts is unable to find the librtlsdr shared libraries installed in /data/data/local with that location appended to sys.path.
My objective is to access and control the USB SDR tuner directly from my python code without relying on the TCP server. Any help or hints welcome.
Hi,
I would like to use my E4k dongle for wider spectrum analysis. Currently
the tuner is very specific to a frequency. Is there a way to widen its
bandpass filter?
I have noticed some filters in src/tuner_e4k.c: Mixer filter, IF RC filter
and IF channel filter. Are they of any use?
Is there a librtlsdr API?
TIA,
Nikos
I need to manipulate the tuners bandpass behavior. I have exported 2 more
functions from librtlsdr, rtlsdr_set_filter_bw and rtlsdr_get_filter_bw and
change the channel filter. However, when I use them I get libusb error(-22)
**UNKNOWN ERROR**.
I have tried bracketing the call with start/stop i2c repeater and
disable/enable channel to no avail :-(
It errs both when setting filter to 5.5 Mhz (max) and to 2.1 Mhz (min).
What is going on? What other context should I provide for it to work?
TIA,
Nikos
This is a Mailman mailing list bounce action notice:
List: osmocom-sdr
Member: benjamin(a)southpole.se
Action: Subscription disabled.
Reason: Excessive or fatal bounces.
The triggering bounce notice is attached below.
Questions? Contact the Mailman site administrator at
mailman(a)lists.osmocom.org.
Hi,
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.
http://www.mathworks.com/matlabcentral/fileexchange/45024-rtl-sdr-multi-don…
or
https://github.com/JiaoXianjun/multi-rtl-sdr-calibration
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)
Another script uses multiple dongles to scan the same band, and combine
those results together incoherently.
I admit that before calibrating multiple dongles, the significant is
limited.
Just for FUN.
README is also pasted here:
Multiple rtl-sdr(rtl_tcp) dongles based Matlab frequency scanner.
1. multi_rtl_sdr_split_scanner.m
Have multiple dongles run concurrently to speedup scanning wide band by
scanning different sub-band with different dongle.
2. multi_rtl_sdr_diversity_scanner.m
All dongles scan the same band, and then results from different dongles are
combined incoherently.
------------Usage------------
1. Assume that you have installed rtl-sdr
(http://sdr.osmocom.org/trac/wiki/rtl-sdr) and have those native utilities
run correctly already.
For example, you have multiple dongles, please run multiple rtl_tcp in
multiple shell respectively as:
rtl_tcp -p 1234 -d 0
rtl_tcp -p 1235 -d 1
rtl_tcp -p 1236 -d 3
...
2. Then run script multi_rtl_sdr_split_scanner.m or
multi_rtl_sdr_diversity_scanner.m in MATLAB.
ATTENTION! In some computer, each time before you run script, maybe you
need to terminate multiple rtl_tcp and re-launch them again.
Change following parameters in the script as you need:
num_dongle = 2;
start_freq = 935e6;
end_freq = 960e6;
freq_step = 0.05e6;
observe_time = 0.1;
gain = 0;
sample_rate = 2.048e6;
...
------------Algorithm------------
Use high sampling rate for each frequency point. Then Auto generated narrow
FIR is used to suppress noise and extract signal.
At last, power of signal at each frequency is estimated and spectrum of all
frequencies is generated.
BR
Jiao Xianjun