(pat 1-2014) Compute the SNR of an RxBurst that is a GSM "normal burst", ie, one used for TCH/FACCH rather than for RACCH or other. For this case we ignore the tail bits and training bits and consider only the data bits.
| 418 | // one used for TCH/FACCH rather than for RACCH or other. |
| 419 | // For this case we ignore the tail bits and training bits and consider only the data bits. |
| 420 | float RxBurst::getNormalSNR() const |
| 421 | { |
| 422 | SoftVector chunk1(this->segment(3,58)); // 57 data bits + stealing bit. |
| 423 | float snr1 = chunk1.getSNR(); |
| 424 | SoftVector chunk2(this->segment(87,58)); // stealing bit + 57 data bits. |
| 425 | float snr2 = chunk2.getSNR(); |
| 426 | assert(! chunk1.isOwner()); // Make sure the stupid SoftVector class really returned an alias. |
| 427 | return (snr1 + snr2) / 2.0; |
| 428 | } |
| 429 | |
| 430 | |
| 431 |