Add WG4 yangs published 2023-03 (v11)
[scp/oam/modeling.git] / data-model / yang / published / o-ran / ru-fh / o-ran-compression-factors@2021-12-01.yang
diff --git a/data-model/yang/published/o-ran/ru-fh/o-ran-compression-factors@2021-12-01.yang b/data-model/yang/published/o-ran/ru-fh/o-ran-compression-factors@2021-12-01.yang
new file mode 100644 (file)
index 0000000..402ea94
--- /dev/null
@@ -0,0 +1,567 @@
+module o-ran-compression-factors {
+  yang-version 1.1;
+  namespace "urn:o-ran:compression-factors:1.0";
+  prefix "o-ran-compression-factors";
+
+
+  organization "O-RAN Alliance";
+
+  contact
+    "www.o-ran.org";
+
+  description
+    "This module defines the module capabilities for
+    the O-RAN Radio Unit U-Plane configuration.
+
+    Copyright 2021 the O-RAN Alliance.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
+    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+    this list of conditions and the above disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+    this list of conditions and the above disclaimer in the documentation
+    and/or other materials provided with the distribution.
+    * Neither the Members of the O-RAN Alliance nor the names of its
+    contributors may be used to endorse or promote products derived from
+    this software without specific prior written permission.";
+
+  revision "2021-12-01" {
+    description
+      "version 8.0.0
+
+      1) typographical corrections in descriptions.
+      2) Configuration for Beamforming weights were added together with changes
+         and updates to compressions.
+      3) add new beamspace compression enumeration for BEAMSPACE_TYPEII.";
+
+   reference "ORAN-WG4.M.0-v08.00";
+  }
+
+  revision "2021-03-22" {
+   description
+     "version 4.1.0
+
+     1) typographical corrections in descriptions.";
+
+   reference "ORAN-WG4.M.0-v04.00";
+  }
+
+  revision "2020-08-10" {
+   description
+     "version 4.0.0
+
+     1) supporting compression types per endpoint
+     2) adding feature for configurable fs-offset for compression";
+
+   reference "ORAN-WG4.M.0-v04.00";
+  }
+
+   revision "2020-04-17" {
+    description
+      "version 3.0.0
+
+      1) adding selective RE sending compression types";
+
+    reference "ORAN-WG4.M.0-v03.00";
+  }
+
+  revision "2019-07-03" {
+    description
+      "version 1.1.0
+
+      1) changes related to compression bit-width presentation";
+
+    reference "ORAN-WG4.M.0-v01.00";
+  }
+
+  revision "2019-02-04" {
+    description
+      "version 1.0.0
+
+      1) imported model from xRAN
+      2) changed namespace and reference from xran to o-ran";
+
+    reference "ORAN-WG4.M.0-v01.00";
+  }
+
+  feature CONFIGURABLE-FS-OFFSET {
+    description
+      "Presence of this feature means that O-RU supports configurable fs-offset for compression.";
+  }
+
+  typedef ci-compression-method-def {
+    type enumeration {
+      enum NO_COMPRESSION {
+        description
+          "No compression will be used";
+      }
+
+      enum BLOCK_FLOATING_POINT {
+        description
+          "Block floating point compression and decompression will be used";
+      }
+
+      enum BLOCK_SCALING {
+        description
+          "Block scaling compression and decompresion will be used";
+      }
+
+      enum U_LAW {
+        description
+          "u-Law compression and decompresion method will be used";
+      }
+    }
+    description
+      "Available compression methods for channel information (e.g., ST6).";
+  }
+
+  typedef compression-type-def {
+    type enumeration {
+      enum STATIC {
+        description
+          "Indicates that static compression method will be used (both compression and IQ bitwidth)";
+      }
+      enum DYNAMIC {
+        description
+          "Indicates that dynamic compression method will be used";
+      }
+    }
+    description
+      "Compression type that O-DU wants to be supported";
+  }
+
+  typedef bf-compression-method-def {
+    type enumeration {
+      enum NO_COMPRESSION {
+        description
+          "No compression will be used";
+      }
+      enum BLOCK_FLOATING_POINT {
+        description
+          "Block floating point compression and decompression will be used";
+      }
+
+      enum BLOCK_SCALING {
+        description
+          "Block scaling compression and decompresion will be used";
+      }
+
+      enum U_LAW {
+        description
+          "u-Law compression and decompresion method will be used";
+      }
+
+      enum BEAMSPACE {
+        description
+          "Beamspace compression and decompression will be used";
+      }
+
+      enum VOID_1 {
+        description
+          "Leftover of modulation, not to be used for beamforming weights";
+      }
+
+      enum VOID_2 {
+        description
+          "Leftover of block-floating-point-selective-re-sending, not to be used for beamforming weights";
+      }
+
+      enum VOID_3 {
+        description
+          "Leftover of modulation-compression-selective-re-sending, not to be used for beamforming weights";
+      }
+
+      enum BEAMSPACE_TYPEII {
+        description
+          "Beamspace compression typeII and decompression will be used ";
+      }
+    }
+    description
+      "Available compression methods for beamforming weights.";
+  }
+
+  typedef compression-method-def {
+    type enumeration {
+      enum NO_COMPRESSION {
+        description
+          "No compression will be used";
+      }
+      enum BLOCK_FLOATING_POINT {
+        description
+          "Block floating point compression and decompression will be used";
+      }
+
+      enum BLOCK_SCALING {
+        description
+          "Block scaling compression and decompresion will be used";
+      }
+
+      enum U_LAW {
+        description
+          "u-Law compression and decompresion method will be used";
+      }
+
+      enum VOID_1 {
+        description
+          "Leftover of beamspace, not to be used for IQ data.";
+      }
+
+      enum MODULATION {
+        description
+          "Modulation compression and decompression will be used";
+      }
+
+      enum BLOCK-FLOATING-POINT-SELECTIVE-RE-SENDING {
+        description
+          "block floating point with selective re sending
+          compression and decompression will be used";
+      }
+
+      enum MODULATION-COMPRESSION-SELECTIVE-RE-SENDING {
+        description
+          "modulation compression with selective re sending
+          compression and decompression will be used";
+      }
+    }
+    description
+      "Available compression methods for the data.";
+  }
+
+  grouping compression-method-grouping {
+    description
+      "Grouping for compression method.";
+
+    leaf iq-bitwidth {
+      type uint8;
+      description
+        "Bit-width to be used in compression";
+    }
+
+    leaf compression-method {
+      type compression-method-def;
+      description
+        "Compression method which can be supported by the O-RU";
+    }
+  }
+
+  grouping compression-details {
+    description "";
+
+    leaf iq-bitwidth {
+      type uint8;
+      description
+        "Bitwidth to be used in compression";
+    }
+
+    leaf compression-type {
+      type compression-type-def;
+      mandatory true;
+      description
+        "Compression type that O-DU wants to be supported";
+    }
+
+    leaf bitwidth {
+      when "../compression-type = 'STATIC'";
+      type uint8;
+      status deprecated;
+      description
+        "Bitwidth to be used in compression.
+        This has since been replaced in M-Plane version
+        2.0.0 with the iq-bitwidth schema node";
+    }
+
+    leaf compression-method {
+      type compression-method-def;
+      description
+        "Compression method which can be supported by the O-RU";
+    }
+
+    uses compresion-format-grp {
+      status deprecated;
+    }
+  }
+
+  grouping bf-compression-details {
+    description "Compression formats defined for beamforming";
+
+    leaf iq-bitwidth {
+      type uint8;
+      description
+        "Bitwidth to be used in compression";
+    }
+
+    leaf compression-type {
+      type compression-type-def;
+      mandatory true;
+      description
+        "Compression type that O-DU wants to be supported";
+    }
+
+    leaf bitwidth {
+      when "../compression-type = 'STATIC'";
+      type uint8;
+      status deprecated;
+      description
+        "Bitwidth to be used in compression.
+        This has since been replaced in M-Plane version
+        2.0.0 with the iq-bitwidth schema node";
+    }
+
+    leaf compression-method {
+      type bf-compression-method-def;
+      description
+        "Compression method which can be supported by the beamforming";
+    }
+
+    uses compresion-format-grp {
+      status deprecated;
+    }
+  }
+
+// *********** Deprecated ***********
+
+  grouping compression-formats {
+    status deprecated;
+    description
+      "Grouping deicated to list compression formats as choice.";
+
+    uses compresion-format-grp {
+      status deprecated;
+    }
+  }
+
+  grouping compresion-format-grp {
+    status deprecated;
+    description
+      "Grouping to for compression format choice";
+
+    choice compression-format {
+      status deprecated;
+      description
+        "Choice of compression format for particular element.
+         Note: This metod is deprecated. All should be done as emumeration as details are configured
+         by udCompHdr in CU-Plane messaging.";
+
+      case no-compresison {
+        description "Compression for beam weights is not supported.";
+      }
+      case block-floating-point {
+        description "Block floating-point compression and decompression is supported.";
+
+        leaf exponent {
+          type uint8 {
+            range "4";
+          }
+          description "Exponent bit width size in number of bits used when encoding in udCompParam.";
+        }
+      }
+
+      case block-floating-point-selective-re-sending {
+        description
+          "Block floating-point with selective re sending compression and decompression is supported.";
+
+        leaf sres-exponent {
+          type uint8 {
+            range "4";
+          }
+          description "Exponent bit width size in number of bits used when encoding in udCompParam.";
+        }
+      }
+
+      case block-scaling {
+        description "Block scaling compression and decompression is supported.";
+        leaf block-scalar {
+          type uint8;
+            description
+              "Common scaler for compressed PRB";
+        }
+      }
+
+      case u-law {
+        description "u-Law compression and decompression method is supported.";
+        leaf comp-bit-width {
+          type uint8 {
+            range "0..15";
+          }
+          description "Bit with for u-law compression";
+        }
+        leaf comp-shift {
+          type uint8 {
+            range "0..15";
+          }
+          description
+            "the shift applied to the entire PRB";
+        }
+      }
+
+      case beam-space-compression {
+        description "Beamspace compression and decompression is supported. Applies to beamforming weights only.";
+        leaf-list active-beam-space-coeficient-mask {
+          type uint8;
+          description
+            "active beamspace coefficient indices associated with the compressed beamforming vector";
+        }
+        leaf block-scaler {
+          type uint8;
+          description
+            "Common scaler for compressed beamforming coefficients";
+        }
+      }
+
+      case modulation-compression {
+        description "Modulation compression and decompression is supported.";
+        leaf csf {
+          type uint8 {
+            range "0..1";
+          }
+          description "Constellation shift flag";
+        }
+
+        leaf mod-comp-scaler {
+          type uint16 {
+            range "0..32767";
+          }
+          description "Modulation compression scaler value.";
+        }
+      }
+
+      case modulation-compression-selective-re-sending {
+        description "Modulation compression with selective re sending and decompression is supported.";
+        leaf sres-csf {
+          type uint8 {
+            range "0..1";
+          }
+          description "Constellation shift flag";
+        }
+
+        leaf sres-mod-comp-scaler {
+          type uint16 {
+            range "0..32767";
+          }
+          description "Modulation compression scaler value.";
+        }
+      }
+
+    }
+  }
+
+  grouping compression-params {
+    status deprecated;
+    description
+      "Parameters to define compression";
+
+    leaf compression-type {
+      type compression-type-def;
+      mandatory true;
+      description
+        "Compression type that O-DU wants to be supported";
+    }
+
+    leaf bitwidth {
+      when "../compression-type = 'STATIC'";
+      type uint8;
+      status deprecated;
+      description
+        "Bit-width to be used in compression.
+        This has since been replaced in M-Plane version
+        2.0.0 with the iq-bitwidth schema node";
+    }
+
+    uses compression-formats {
+      status deprecated;
+    }
+  }
+
+  grouping compression-parameters {
+    status deprecated;
+    description
+      "Parameters used to define description type";
+
+    leaf iq-bitwidth {
+      type uint8;
+      description
+        "Bit-width to be used in compression";
+    }
+
+    uses compression-formats {
+      status deprecated;
+    }
+  }
+
+  grouping format-of-iq-sample {
+    status deprecated;
+    description
+      "Indicates module capabilities about IQ samples";
+
+    leaf dynamic-compression-supported {
+      type boolean;
+
+      description
+        "Informs if radio supports dynamic compression method";
+    }
+
+    leaf realtime-variable-bit-width-supported {
+      type boolean;
+
+      description
+        "Informs if O-RU supports real-time variable bit with";
+    }
+
+    list compression-method-supported {
+      status deprecated;
+      uses compression-parameters {
+        status deprecated;
+      }
+
+      description
+        "List of supported compression methods by O-RU
+         Note: if O-RU supports different compression methods per endpoint
+               then please refer do endpoints to have information what
+               exactly is supported on a particular endpoint";
+    }
+
+    leaf syminc-supported {
+      type boolean;
+
+      description
+        "Informs if symbol number increment command in a C-Plane is
+         supported or not";
+    }
+
+    leaf regularization-factor-se-supported {
+      type boolean;
+
+      description
+        "Informs if regularizationFactor in section type 5 is
+         supported(true) or not(false)";
+    }
+
+    leaf little-endian-supported {
+      type boolean;
+      default false;
+
+      description
+        "All O-RUs support bigendian byte order. This node informs if module supports the
+        the optional capability for little endian byte order for C/U plane data flows.
+
+        Note - little endian support does not invalidate bigendian support.";
+    }
+  }
+
+// *********** Deprecated End ***********
+
+}