Hi
Thank you so much Thomas, I learned too much from you.
Is there a good sample for UHD USRPs like USRP N210 which can send and receive file in other side?
I connected 2 USRPs to 2 laptops, sent a file using rx_send_from_file.py in ARFCN channel no: 560 and in other side I listened for incoming signals on same frequency, same sampling rate, same gain, etc. Two USRPs was about 10 meters far from each other. But I was not able to see my file's context in rx_recv_cfile.py, it captures cfile from same ARFCN channel using same frequency and sampling rate, but I was not able to see any related data to my file being trasmitted, any reason you can see here?
I heard that USRPs need hardware modification to be able to capture GSM signals, is it correct for N210?
Could you guide me a little on translating frequency to channels, low-pass filter and performing sample rate conversation? When I receive file using rx_recv_cfile, it asks for sampling rate parameter, it will not do all those steps? If not, please help me on this part which is your previous email's last part, I need a little more detail here.
Thank you once again
________________________________ From: Thomas Tsou ttsou@vt.edu To: Avner Ezra avner.ezra@yahoo.com Cc: "baseband-devel@lists.osmocom.org" baseband-devel@lists.osmocom.org Sent: Tuesday, January 3, 2012 10:41 PM Subject: Re: Newbie DSP Questions
On Sat, Dec 31, 2011 at 5:16 PM, Avner Ezra avner.ezra@yahoo.com wrote:
A) Sometimes when I scan a network bandwidth like GSM1800 using kalibrate, I see some channels like 820, 538, etc. When I re-scan, I cannot find them. Does this mean that kalibrate finds a channel when a mobile handset has a live conversation or sms send or receive in progress? or what?
No, it most cases it means a weak signal. Kalibrate performs per-channel energy detection prior to offset calculation against the FCCH, which is always active. The variance is probably just noise.
B) I want to wideband capture for example 125 ARFCN. It needs 25MHz bandwidth which USRP N210 can handle and stream it easily. Even AFAIK I can double this number and capture 250 ARFCN using single N210 (50MHz, in USRPN210 data sheet it says it's capable of streaming 50MHz wide signals).
To capture 50MHz you need to 8-bit samples to avoid saturating the Ethernet bus. So yes it's possible, though I'm not sure about the current state of device or API support for the feature.
How can I wideband capture 125 ARFCNs? I tried to do it using: ./uhd_rx_cfile.py -f `arfcncalc -a 512 -b 1800 -d` --samp-rate=25000000 -N 200000000 -g 70 b1.cfile
What I understood and decided to write such command above:
B-1) arfcncalc calculates frequency of first GSM1800 channel (512 ARFCN) which is start point (in above command) B-2) Sampling Rate is the bandwidth I want to capture, in our case it's 25MHz means 125 ARFCN which each ARFCN has 200kHz bandwidth B-3) 200M samples will be received (-N parameter) B-4) Gain value is 70, means it will boost antennas to maximum power to receive signals, I think USRPN210 max. gain is 80 B-5) My decimation rate here using 25M sampling rate and USRP N210 which has 100MHz ADC, will be 4. So if I decided to read cfile I have to use 4 as decimation rate.
You want the centre frequency of the spectrum you want to capture - not the start point. Also, the maximum gain value will also vary depending on the daughterboard. Otherwise, you are correct.
C) How can I seperate and process 200khz by 200khz channels in wideband captured file?
The brute force approach is to individually frequency translate each channel down to baseband, low-pass filter, and perform sample rate conversion. The more efficient method it to construct a multirate channelizer. GNU Radio has blocks for either approach, though construction may not be straightforward.
Thomas