1 module o-ran-compression-factors {
3 namespace "urn:o-ran:compression-factors:1.0";
4 prefix "o-ran-compression-factors";
7 organization "O-RAN Alliance";
13 "This module defines the module capabilities for
14 the O-RAN Radio Unit U-Plane configuration.
16 Copyright 2021 the O-RAN Alliance.
18 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
19 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28 POSSIBILITY OF SUCH DAMAGE.
30 Redistribution and use in source and binary forms, with or without
31 modification, are permitted provided that the following conditions are met:
33 * Redistributions of source code must retain the above copyright notice,
34 this list of conditions and the above disclaimer.
35 * Redistributions in binary form must reproduce the above copyright notice,
36 this list of conditions and the above disclaimer in the documentation
37 and/or other materials provided with the distribution.
38 * Neither the Members of the O-RAN Alliance nor the names of its
39 contributors may be used to endorse or promote products derived from
40 this software without specific prior written permission.";
42 revision "2021-12-01" {
46 1) typographical corrections in descriptions.
47 2) Configuration for Beamforming weights were added together with changes
48 and updates to compressions.
49 3) add new beamspace compression enumeration for BEAMSPACE_TYPEII.";
51 reference "ORAN-WG4.M.0-v08.00";
54 revision "2021-03-22" {
58 1) typographical corrections in descriptions.";
60 reference "ORAN-WG4.M.0-v04.00";
63 revision "2020-08-10" {
67 1) supporting compression types per endpoint
68 2) adding feature for configurable fs-offset for compression";
70 reference "ORAN-WG4.M.0-v04.00";
73 revision "2020-04-17" {
77 1) adding selective RE sending compression types";
79 reference "ORAN-WG4.M.0-v03.00";
82 revision "2019-07-03" {
86 1) changes related to compression bit-width presentation";
88 reference "ORAN-WG4.M.0-v01.00";
91 revision "2019-02-04" {
95 1) imported model from xRAN
96 2) changed namespace and reference from xran to o-ran";
98 reference "ORAN-WG4.M.0-v01.00";
101 feature CONFIGURABLE-FS-OFFSET {
103 "Presence of this feature means that O-RU supports configurable fs-offset for compression.";
106 typedef ci-compression-method-def {
108 enum NO_COMPRESSION {
110 "No compression will be used";
113 enum BLOCK_FLOATING_POINT {
115 "Block floating point compression and decompression will be used";
120 "Block scaling compression and decompresion will be used";
125 "u-Law compression and decompresion method will be used";
129 "Available compression methods for channel information (e.g., ST6).";
132 typedef compression-type-def {
136 "Indicates that static compression method will be used (both compression and IQ bitwidth)";
140 "Indicates that dynamic compression method will be used";
144 "Compression type that O-DU wants to be supported";
147 typedef bf-compression-method-def {
149 enum NO_COMPRESSION {
151 "No compression will be used";
153 enum BLOCK_FLOATING_POINT {
155 "Block floating point compression and decompression will be used";
160 "Block scaling compression and decompresion will be used";
165 "u-Law compression and decompresion method will be used";
170 "Beamspace compression and decompression will be used";
175 "Leftover of modulation, not to be used for beamforming weights";
180 "Leftover of block-floating-point-selective-re-sending, not to be used for beamforming weights";
185 "Leftover of modulation-compression-selective-re-sending, not to be used for beamforming weights";
188 enum BEAMSPACE_TYPEII {
190 "Beamspace compression typeII and decompression will be used ";
194 "Available compression methods for beamforming weights.";
197 typedef compression-method-def {
199 enum NO_COMPRESSION {
201 "No compression will be used";
203 enum BLOCK_FLOATING_POINT {
205 "Block floating point compression and decompression will be used";
210 "Block scaling compression and decompresion will be used";
215 "u-Law compression and decompresion method will be used";
220 "Leftover of beamspace, not to be used for IQ data.";
225 "Modulation compression and decompression will be used";
228 enum BLOCK-FLOATING-POINT-SELECTIVE-RE-SENDING {
230 "block floating point with selective re sending
231 compression and decompression will be used";
234 enum MODULATION-COMPRESSION-SELECTIVE-RE-SENDING {
236 "modulation compression with selective re sending
237 compression and decompression will be used";
241 "Available compression methods for the data.";
244 grouping compression-method-grouping {
246 "Grouping for compression method.";
251 "Bit-width to be used in compression";
254 leaf compression-method {
255 type compression-method-def;
257 "Compression method which can be supported by the O-RU";
261 grouping compression-details {
267 "Bitwidth to be used in compression";
270 leaf compression-type {
271 type compression-type-def;
274 "Compression type that O-DU wants to be supported";
278 when "../compression-type = 'STATIC'";
282 "Bitwidth to be used in compression.
283 This has since been replaced in M-Plane version
284 2.0.0 with the iq-bitwidth schema node";
287 leaf compression-method {
288 type compression-method-def;
290 "Compression method which can be supported by the O-RU";
293 uses compresion-format-grp {
298 grouping bf-compression-details {
299 description "Compression formats defined for beamforming";
304 "Bitwidth to be used in compression";
307 leaf compression-type {
308 type compression-type-def;
311 "Compression type that O-DU wants to be supported";
315 when "../compression-type = 'STATIC'";
319 "Bitwidth to be used in compression.
320 This has since been replaced in M-Plane version
321 2.0.0 with the iq-bitwidth schema node";
324 leaf compression-method {
325 type bf-compression-method-def;
327 "Compression method which can be supported by the beamforming";
330 uses compresion-format-grp {
335 // *********** Deprecated ***********
337 grouping compression-formats {
340 "Grouping deicated to list compression formats as choice.";
342 uses compresion-format-grp {
347 grouping compresion-format-grp {
350 "Grouping to for compression format choice";
352 choice compression-format {
355 "Choice of compression format for particular element.
356 Note: This metod is deprecated. All should be done as emumeration as details are configured
357 by udCompHdr in CU-Plane messaging.";
359 case no-compresison {
360 description "Compression for beam weights is not supported.";
362 case block-floating-point {
363 description "Block floating-point compression and decompression is supported.";
369 description "Exponent bit width size in number of bits used when encoding in udCompParam.";
373 case block-floating-point-selective-re-sending {
375 "Block floating-point with selective re sending compression and decompression is supported.";
381 description "Exponent bit width size in number of bits used when encoding in udCompParam.";
386 description "Block scaling compression and decompression is supported.";
390 "Common scaler for compressed PRB";
395 description "u-Law compression and decompression method is supported.";
396 leaf comp-bit-width {
400 description "Bit with for u-law compression";
407 "the shift applied to the entire PRB";
411 case beam-space-compression {
412 description "Beamspace compression and decompression is supported. Applies to beamforming weights only.";
413 leaf-list active-beam-space-coeficient-mask {
416 "active beamspace coefficient indices associated with the compressed beamforming vector";
421 "Common scaler for compressed beamforming coefficients";
425 case modulation-compression {
426 description "Modulation compression and decompression is supported.";
431 description "Constellation shift flag";
434 leaf mod-comp-scaler {
438 description "Modulation compression scaler value.";
442 case modulation-compression-selective-re-sending {
443 description "Modulation compression with selective re sending and decompression is supported.";
448 description "Constellation shift flag";
451 leaf sres-mod-comp-scaler {
455 description "Modulation compression scaler value.";
462 grouping compression-params {
465 "Parameters to define compression";
467 leaf compression-type {
468 type compression-type-def;
471 "Compression type that O-DU wants to be supported";
475 when "../compression-type = 'STATIC'";
479 "Bit-width to be used in compression.
480 This has since been replaced in M-Plane version
481 2.0.0 with the iq-bitwidth schema node";
484 uses compression-formats {
489 grouping compression-parameters {
492 "Parameters used to define description type";
497 "Bit-width to be used in compression";
500 uses compression-formats {
505 grouping format-of-iq-sample {
508 "Indicates module capabilities about IQ samples";
510 leaf dynamic-compression-supported {
514 "Informs if radio supports dynamic compression method";
517 leaf realtime-variable-bit-width-supported {
521 "Informs if O-RU supports real-time variable bit with";
524 list compression-method-supported {
526 uses compression-parameters {
531 "List of supported compression methods by O-RU
532 Note: if O-RU supports different compression methods per endpoint
533 then please refer do endpoints to have information what
534 exactly is supported on a particular endpoint";
537 leaf syminc-supported {
541 "Informs if symbol number increment command in a C-Plane is
545 leaf regularization-factor-se-supported {
549 "Informs if regularizationFactor in section type 5 is
550 supported(true) or not(false)";
553 leaf little-endian-supported {
558 "All O-RUs support bigendian byte order. This node informs if module supports the
559 the optional capability for little endian byte order for C/U plane data flows.
561 Note - little endian support does not invalidate bigendian support.";
565 // *********** Deprecated End ***********