增强型 GMSK 解调SummaryThe attached "gmskenhanced.py" file offers an enhanced GMSK demodulator that I believe to be superior to the GNURadio standard gmsk demodulator. It should be a drop-in replacement for the existing demodulator in designs, except that the transmitted data needs to be differentially encoded (you will NOT, however, need a differential decoder on the receive side). The enhanced demodulator should offer better bit error rate (BER) performance, especially for lower bandwidth-bittime (BT) products, such as the GSM standard BT=0.3, and in lower SNR conditions. DetailsThe GNURadio standard gmsk demod is an attempt at a one-bit differential detector, and looks at the phase-change over one sample (should actually be over one symbol). The enhanced gmsk demod looks at the phase-change over two SYMBOLS and is therefore a two-bit-differential detector. The net effect is that inter-symbol-interference (ISI) is reduced: the eye openings in the resulting eye-diagrams are wider, and therefore more resistant to noise. A side-effect of a two-bit-differential detector is that the eye diagram is asymmetric, thus the decision threshold needs to biased. The constructor's default value (decision_threshold=0.1) should be fine for most cases. Work based largely on: Also see: And: TODOCode cleanup. Detector portion of demod should really be rewritten in C. If sufficiently vetted, check into svn? FeedbackMy BER testing shows a significant improvement, but I would like to hear from others. Please either post here or email me if you have a chance to try it out, even if it degrades performance or you can't make it work right. ContactUNICORN.p.clark@gmail.com (please replace the mythical beast with "steven", sorry for the CAPTCHA...) gmskanalysis.py (7.6 KB) Guest User, 06/05/2008 07:44 PM bertool.py (2.6 KB) Guest User, 06/05/2008 07:49 PM gmskenhanced.py - The enhanced gmsk demodulator (8 KB) Guest User, 06/05/2008 07:51 PM 注:Enhanced GMSK Demodulator (原文出处,翻译整理仅供参考!)
|