Dears,Any answer to my question , i want some tips to know what is the output of the RTL source so i replace it with file
Hi Mazen Atef,
Dear Piotr ,
I worked on a single frequency now (947.6Mhz) which i am sure it has a cell and tested with grgsm_scanner
1) i modified the grgsm_capture to scan this frequency and use the head block then the rotator to adjust the center freq and generate output file
2) i modified the wide band scanner to receive to set this file as input connected directly to wide band receiver and passes through the all scanner class
What i expect at least this scanner should scan this freq after searching on the all GSM900 band and passes normally through the receiver to generate the output
i did not get any errors but unfortunatly no output although it reads the output correctly.
326 # put /dev/null fds on 1 and 2
327 #os.dup2(null_fds[0], 1)
328 #os.dup2(null_fds[1], 2)
$ ./grgsm_scanner -c delme.955.6M.cfile -v
linux; GNU C++ version 7.1.1 20170503 (Red Hat 7.1.1-1); Boost_106300; UHD_003.010.001.000-0-unknown
Args=
Bad address
Traceback (most recent call last):
File "./grgsm_scanner", line 438, in <module>
main()
File "./grgsm_scanner", line 435, in main
options.ppm, options.gain, options.args, prn = printfunc)
File "./grgsm_scanner", line 334, in do_scan
ppm=ppm, gain=gain, args=args)
File "./grgsm_scanner", line 213, in __init__
self.blocks_file_source_0 = blocks.file_source(gr.sizeof_gr_complex*1, self.cfile, False)
File "/usr/lib64/python2.7/site-packages/gnuradio/blocks/blocks_swig0.py", line 1092, in make
return _blocks_swig0.file_source_make(itemsize, filename, repeat)
RuntimeError: can't open file
please find attached my 2 modified codes and advise what is missing may be i have missunderstanding although i understood the scanner code blocks very well.
Hi,
4) i modified my grgsm-scanner code to read this .c file and the results were like below
-- with commenting lines 327 and 328 (to see errors) the below results loops and same cell appears on all frequencies although that should not happens because my freq is (946.6 Mhz).
Args=
ARFCN: 985, Freq: 927.2M, CID: 13522, LAC: 38722, MCC: 262, MNC: 1, Pwr: -58
|---- Configuration: 1 CCCH, not combined
|---- Cell ARFCNs: 63, 76
...............................................These result continue and same cell info is there but at different frequencies (something with the loop i think !!)
5) i said maybe the file is readed without stop so i removed the comment from line 327 and 328 but i got no results at all.Please advise what is going on .. what is missing on the scanning process that i do not understand
$ head -c $((2000000 * 8 * 5)) 946-6.cfile > short.cfile
$ time grgsm_scanner -c short.cfile
inux; GNU C++ version 7.1.1 20170503 (Red Hat 7.1.1-1); Boost_106300; UHD_003.010.001.000-0-unknown
ARFCN: 975, Freq: 925.2M, CID: 13522, LAC: 38722, MCC: 262, MNC: 1, Pwr: -58
ARFCN: 979, Freq: 926.0M, CID: 3322, LAC: 38722, MCC: 262, MNC: 1, Pwr: -63
ARFCN: 985, Freq: 927.2M, CID: 13522, LAC: 38722, MCC: 262, MNC: 1, Pwr: -58
ARFCN: 989, Freq: 928.0M, CID: 3322, LAC: 38722, MCC: 262, MNC: 1, Pwr: -63With your other 2 second capture it finishes a lot faster
ARFCN: 995, Freq: 929.2M, CID: 13522, LAC: 38722, MCC: 262, MNC: 1, Pwr: -56
ARFCN: 999, Freq: 930.0M, CID: 3322, LAC: 38722, MCC: 262, MNC: 1, Pwr: -60
ARFCN: 20, Freq: 939.0M, CID: 13522, LAC: 38722, MCC: 262, MNC: 1, Pwr: -56
ARFCN: 24, Freq: 939.8M, CID: 3322, LAC: 38722, MCC: 262, MNC: 1, Pwr: -60
ARFCN: 30, Freq: 941.0M, CID: 13522, LAC: 38722, MCC: 262, MNC: 1, Pwr: -56
ARFCN: 34, Freq: 941.8M, CID: 3322, LAC: 38722, MCC: 262, MNC: 1, Pwr: -60
^C
real 0m29,294s
user 1m19,567s
sys 0m3,452s
$ time grgsm_scanner -c 946-6-2.cfile
linux; GNU C++ version 7.1.1 20170503 (Red Hat 7.1.1-1); Boost_106300; UHD_003.010.001.000-0-unknown
ARFCN: 975, Freq: 925.2M, CID: 13522, LAC: 38722, MCC: 262, MNC: 1, Pwr: -63
ARFCN: 985, Freq: 927.2M, CID: 13522, LAC: 38722, MCC: 262, MNC: 1, Pwr: -63
....................
ARFCN: 110, Freq: 957.0M, CID: 13522, LAC: 38722, MCC: 262, MNC: 1, Pwr: -63
ARFCN: 120, Freq: 959.0M, CID: 13522, LAC: 38722, MCC: 262, MNC: 1, Pwr: -63
real 1m25,709s
user 3m7,637s
sys 0m7,005s
Hi,
1)but that is not what i want to do ,, i want to scan the whole band as the normal scanner does , i do not want to specify the center frequency then it will not be a band scanner .... now yes i work only on 1 center freq but i will edit on the capture app or create new one to capture the whole band not only 1 200 or 400 khz ,, so i want the loop of the all ARFCNs in the band to be there ,,,
2) i do not know how you get results without the debug log as for me it does not work as below
root@mazen-ThinkPad-T440p:/usr/local/src/gr-gsm/apps/helpers# time grgsm_scanner -c 946-6-2.cfile
real 0m49.820s
user 2m10.887s
sys 0m3.512s
root@mazen-ThinkPad-T440p:/usr/local/src/gr-gsm/apps/helpers# time grgsm_scanner -c 946-6.cfile -v -b GSM900
real 6m18.350s
user 23m5.753s
sys 0m30.407s
363 # restore file descriptors so we can print the results
364 os.dup2(save[0], 1)
365 os.dup2(save[1], 2)
3) when i removed the clock offset i did not get any results with or without the debug log (no results at all)
4) if i read the file only once so it will search only on the center freq
--
You received this message because you are subscribed to the Google Groups "gr-gsm" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gr-gsm+un...@googlegroups.com.
To post to this group, send email to gr-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/gr-gsm/94adb874-3776-706e-1427-d2b0c5c1e16b%40gmail.com.
For more options, visit https://groups.google.com/d/optout.
Hi Mazen Atef,
$grgsm_scanner -c 946-6.cfile -q 946.6e6
linux; GNU C++ version 8.0.1 20180207 (Red Hat 8.0.1-0.12);
Boost_106600; UHD_003.010.003.000-0-unknown
Traceback (most recent call last):
File "/home/vasko/sources/gr-gsm/usr/bin/grgsm_scanner", line
428, in <module>
main()
File "/home/vasko/sources/gr-gsm/usr/bin/grgsm_scanner", line
425, in main
options.ppm, options.gain,options.cfile, options.args, prn =
printfunc)
File "/home/vasko/sources/gr-gsm/usr/bin/grgsm_scanner", line
327, in do_scan
carrier_frequency=fc,
NameError: global name 'fc' is not defined
You need to spend some more time debugging your code.
--
You received this message because you are subscribed to the Google Groups "gr-gsm" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gr-gsm+un...@googlegroups.com.
To post to this group, send email to gr-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/gr-gsm/1f345d55-2e2c-4d30-8580-ccbea4fe3ce6%40googlegroups.com.
Hi Mazen Atef,
I think now i am done with the scanner code
The only thing missing now and confusing , i want to capture large bandwidth (10Mhz) for example .. so the only line in the capture app is the blow oneself.shiftoff = shiftoff = 400e3
self.rtlsdr_source.set_bandwidth(250e3+abs(shiftoff), 0)- what i undertand is that you set the bandwidth to 250khz which is channel BW plus (50khz which i do not know :d) and
GSM uses GMSK or 8PSK modulation with 1 bit per symbol which produces a 13/48 MHz (270.833 kHz or 270.833 K symbols/second) symbol rate and a channel spacing of 200 kHz
the shifftoff is to start the caputuring earlier to get the right and the left part arround the center freq.
Now i changed the 250khz to be 1Mhz and 2Mhz , with different sampling rates from 2MS/s to 14MS/s and i get the same results also for the 250khz
Hi,
But i already said maybe i have problems with passing the arguments..
so for testing i changed the 250 Khz bandwidth of the RTLsdr in capture mode to (1M and 2M and 10 M ) manually without any added arguments and rebuild the app ,, and i got the same results .. just the 2 cells near to the center frequency (1Mhz difference between them ) .. am i missing something ? , should i add something else in the capture code rather than changing the bandwidth ?
724 double hackrf_source_c::set_bandwidth( double bandwidth, size_t chan )So it computes a value based on the sample rate and specified bandwidth, set a baseband filter (whatever that means :) ) and returns the value.
725 {
726 int ret;
727 // osmosdr::freq_range_t bandwidths = get_bandwidth_range( chan );
728
729 if ( bandwidth == 0.0 ) /* bandwidth of 0 means automatic filter selection */
730 bandwidth = _sample_rate * 0.75; /* select narrower filters to prevent aliasing */
731
732 if ( _dev ) {
733 /* compute best default value depending on sample rate (auto filter) */
734 uint32_t bw = hackrf_compute_baseband_filter_bw( uint32_t(bandwidth) );
735 ret = hackrf_set_baseband_filter_bandwidth( _dev, bw );
736 if ( HACKRF_SUCCESS == ret ) {
737 _bandwidth = bw;
738 } else {
739 HACKRF_THROW_ON_ERROR( ret, HACKRF_FUNC_STR( "hackrf_set_baseband_filter_bandwidth", bw ) )
740 }
741 }
742
743 return _bandwidth;
370 double uhd_source_c::set_bandwidth( double bandwidth, size_t chan )It dose not compute anything but just set the specified value.
371 {
372 _src->set_bandwidth(bandwidth, chan);
373
374 return _src->get_bandwidth(chan);
375 }