<div dir="ltr">Hi Piotr,<br><br>> I'm very happy to hear from you again.<br><br>Glad to see you too!<br><br>> It's great that you figured it out. I'm more than interested<br>> to help you to push this topic forward. Will you be able to tell<br>> me how to compile and run the software so I will be able to test<br>> it on my side?<br><br>Thanks! I definitely need to create a page on wiki about that.<br>This is a brief guideline how to run OsmocomBB on SDR:<br><br>  1) You will need to clone a fork of GR-GSM from GitHub:<br>     <a href="https://github.com/axilirator/gr-gsm/tree/fixeria/trx">https://github.com/axilirator/gr-gsm/tree/fixeria/trx</a><br>     I am going to send a pull request, as soon as I finish<br>     some things and clean up the code according to your<br>     requirements.<br><br>  2) Build GR-GSM as usually, and you will see a new GNURadio<br>     block named 'TRX Interface' in gnuradio-companion.<br><br>  3) Clone my branch of OsmocomBB:<br>     git clone git://<a href="http://git.osmocom.org/osmocom-bb">git.osmocom.org/osmocom-bb</a> -b fixeria/sdr_phy<br><br>  4) Make sure you have a fresh version of libosmocore, and build<br>     OsmocomBB without firmware (we don't need it anymore):<br><br>     cd osmocom-bb/src/<br>     make nofirmware<br><br>  5) Go to the 'apps/trx/' directory, and launch the 'grgsm_trx.py'<br>     application. One will init a simple follow graph and actual<br>     TRX interface.<br><br>  6) Go to the 'osmocom-bb/src/host/trxcon/' directory, and run<br>     the 'trxcon' application, which is used to connect OsmocomBB<br>     L2&3 applications with transceiver application.<br><br>     ./trxcon -d DAPP:DL1C:DSCH<br><br>  7) Go to the 'osmocom-bb/src/host/layer23/src/misc/' directory<br>     and run the 'ccch_scan' application, and you will see how <br>     it actually works ;)<br><br>     ./ccch_scan -a ARFCN -i 127.0.0.1<br><br>> To answer this I will need to know more about what hardware you plan to<br>> use to receive and transmit. With i.e. USRP on a hardware level you have<br>> the synchronization. If you plan to use RTL-SDR + some transmitter then<br>> we will probably need some way to provide synchronization at a hardware<br>> level too. As for GSM Receiver - it sends bursts together with GSMTAP<br>> header which contains frame number. So you can identify bursts.<br><br>I think, exactly devices like USRP should be our primary hardware<br>platform. I use UmTRX - USRP based board, designed exactly for mobile<br>networks. At the same time, I would prefer to keep in mind further<br>possibility to use the project with separate RX and TX hardware.<br><br>> We will need to write some modulator for bursts. We can adapt the code<br>> from osmo-trx or use portion of the code from GMSK Mod block. Using GMSK<br>> Mod block might not be a good idea because of 8.25 symbols long guard<br>> periods between bursts. The quater bit long shifts might be a problem.<br><br>Yeah, I had a little discussion on #gnuradio IRC, and some guy<br>consulted me a bit. One problem, we will probably deal with, is<br>GNURadio scheduling engine and block buffers. At the same time, the<br>trxcon application can send TX bursts in advance. As much frames before<br>as it's required to normal TX operation. This is how OsmoBTS does.<br><br>He also described an exemplary algorithm of TX operation:<br><br>1) Take in your bits (burst)<br>2) Up sample<br>3) Pulse shape with an interpolating fir filter with a Gaussian response<br>4) Feed that into a frequency modulation operation with the correct gain<br>5) Then channel filter those with an FFT filter<br>6) Use a frequency rotator of you need to freq shift the signal within<br>   your DSP bandwidth<br>7) And perform a final up sampling and antialias filter before TX.<br><br>What do you think?<br><br>> Can you tell me what you would like to do on OsmocomBB side and what to<br>> do on the GNU Radio side? I'm asking because have some idea how to make<br>> a low level part of GSM TRX in GNU Radio.<br><br>OsmocomBB's side does all burst transcoding operations itself,<br>so we only need to modulate and send requested bursts in time.<br>We will also need to perform power measurements, but let's focus<br>on TX for now.<br><br>> What hardware you want to use (RTL-SDR to receive and Calypso<br>> phone to transmit)?<br><br>No, we need to build a Calypso independent PHY for OsmocomBB.<br>See my answer above.<br><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>With best regards,<br></div><div>Vadim Yanitskiy.<br></div></div></div></div></div></div>
</div></div>