Vasil Velichkov | 14ea82d | 2019-08-28 18:46:34 +0000 | [diff] [blame] | 1 | # auto-generated by grc.converter |
| 2 | |
| 3 | id: gsm_trx_burst_if |
| 4 | label: TRX Burst Interface |
| 5 | |
| 6 | parameters: |
| 7 | - id: base_port |
| 8 | label: base_port |
| 9 | dtype: string |
| 10 | default: '5700' |
| 11 | - id: bind_addr |
| 12 | label: bind_addr |
| 13 | dtype: string |
| 14 | default: 0.0.0.0 |
| 15 | - id: remote_addr |
| 16 | label: remote_addr |
| 17 | dtype: string |
| 18 | default: 127.0.0.1 |
| 19 | |
| 20 | inputs: |
| 21 | - domain: message |
| 22 | id: bursts |
| 23 | optional: true |
| 24 | |
| 25 | outputs: |
| 26 | - domain: message |
| 27 | id: bursts |
| 28 | optional: true |
| 29 | |
| 30 | templates: |
| 31 | imports: import grgsm |
| 32 | make: grgsm.trx_burst_if(${bind_addr}, ${remote_addr}, ${base_port}) |
| 33 | |
| 34 | documentation: |- |
| 35 | OsmoTRX like UDP burst interface for external applications. |
| 36 | |
| 37 | There are two UDP connections, where each message carries |
| 38 | one radio burst with header. Give a base port B (5700 by default). |
| 39 | One connection at port P=B+100+2 is used for sending received bursts |
| 40 | to an external application. Another one at port P=B+2 is used to |
| 41 | obtain to be transmitted bursts. |
| 42 | |
| 43 | Received burst format: |
| 44 | 1 byte timeslot index |
| 45 | 4 bytes GSM frame number, big endian |
| 46 | 1 byte RSSI in -dBm |
| 47 | 2 bytes correlator timing offset in 1/256 symbol steps, |
| 48 | 2's-comp, big endian |
| 49 | 148 bytes soft symbol estimates, 0 -> definite "0", |
| 50 | 255 -> definite "1" |
| 51 | |
| 52 | To be transmitted burst format: |
| 53 | 1 byte timeslot index |
| 54 | 4 bytes GSM frame number, big endian |
| 55 | 1 byte transmit level wrt ARFCN max, -dB (attenuation) |
| 56 | 148 bytes output symbol values, 0 & 1 |
| 57 | |
| 58 | file_format: 1 |