本篇博客学习记录在O-RAN.WG4.CUS中提到了IQ数据的压缩算法。
BFP(Block Floating Point compression)
参考Annex A.1.1。
压缩是针对每个PRB数据,每个PRB包含12个子载波,每个子载波包含16比特I和16比特Q,一共12对IQ samples。将每个PRB压缩成floating point format:一定比特位宽的带符号小数部分(小数部分比特位宽由CP或者UP消息决定,范围1-16)和4-bit无符号的指数部分。文献中给出了个示意图:
压缩算法如下:
输入是原始RPB数据(12对IQ)和iqWidth :
- fPRB – Original physical resource block (PRB), 12 complex resource elements with “native” word length of the implementation e.g., 24 bits
- iqWidth – Word length after compression (includes sign bit)
输出是压缩过后的12对IQ和通用指数部分:
- cPRB – Compressed PRB, 12 complex resource elements with word length iqWidth
- exponent – Common exponent for compressed PRB

- 得到PRB中12对IQ数据实部,虚部的绝对值的最大值maxValue。
- maxValue求log2,得到rawExp指数结果与iqWidth结合求得exponent。
- 将12对IQ数据实部,虚部右移exponent个比特,然后量化处理。