Add supoprt for D release use-case.
[sim/o1-interface.git] / ntsimulator / deploy / o-ran-ru-fh / yang / o-ran-compression-factors@2020-08-10.yang
1 module o-ran-compression-factors {
2   yang-version 1.1;
3   namespace "urn:o-ran:compression-factors:1.0";
4   prefix "o-ran-compression-factors";
5
6
7   organization "O-RAN Alliance";
8
9   contact
10     "www.o-ran.org";
11
12   description
13     "This module defines the module capabilities for
14     the O-RAN Radio Unit U-Plane configuration.
15
16     Copyright 2020 the O-RAN Alliance.
17
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.
29
30     Redistribution and use in source and binary forms, with or without
31     modification, are permitted provided that the following conditions are met:
32
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.";
41
42   revision "2020-08-10" {
43    description
44      "version 4.0.0
45
46      1) supporting compression types per endpoint
47      2) adding feature for configurable fs-offset for compression";
48
49    reference "ORAN-WG4.M.0-v04.00";
50   }
51
52    revision "2020-04-17" {
53     description
54       "version 3.0.0
55
56       1) adding selective RE sending compression types";
57
58     reference "ORAN-WG4.M.0-v03.00";
59   }
60
61   revision "2019-07-03" {
62     description
63       "version 1.1.0
64
65       1) changes related to compression bitwidth presentation";
66
67     reference "ORAN-WG4.M.0-v01.00";
68   }
69
70   revision "2019-02-04" {
71     description
72       "version 1.0.0
73
74       1) imported model from xRAN
75       2) changed namespace and reference from xran to o-ran";
76
77     reference "ORAN-WG4.M.0-v01.00";
78   }
79
80   feature CONFIGURABLE-FS-OFFSET {
81     description
82       "Presence of this feature means that O-RU supports configurable fs-offset for compression.";
83   }
84
85   grouping compression-method-grouping {
86     description
87       "Grouping for compression method.";
88
89     leaf iq-bitwidth {
90       type uint8;
91       description
92         "Bitwidth to be used in compression";
93     }
94
95     leaf compression-method {
96       type enumeration {
97         enum NO_COMPRESSION {
98           description
99             "No compression will be used";
100         }
101         enum BLOCK_FLOATING_POINT {
102           description
103             "Block floating point compression and decompression will be used";
104         }
105
106         enum BLOCK_SCALING {
107           description
108             "Block scaling compression and decompresion will be used";
109         }
110
111         enum U_LAW {
112           description
113             "u-Law compression and decompresion method will be used";
114         }
115
116         enum BEAMSPACE {
117           description
118             "Beamspace compression and decompression will be used";
119         }
120
121         enum MODULATION {
122           description
123             "Modulation compression and decompression will be used";
124         }
125         enum BLOCK-FLOATING-POINT-SELECTIVE-RE-SENDING {
126           description
127             "block floating point with selective re sending
128             compression and decompression will be used";
129         }
130         enum MODULATION-COMPRESSION-SELECTIVE-RE-SENDING {
131           description
132             "modulation compression with selective re sending
133             compression and decompression will be used";
134         }
135       }
136       description
137         "Compresion method which can be supported by the O-RU";
138     }
139   }
140
141   grouping compression-formats {
142     description
143       "Grouping deicated to list compression formats as choice";
144
145     choice compression-format {
146       description
147         "Choice of compression format for particular element";
148
149       case no-compresison {
150         description "Compression for beam weights is not supported.";
151       }
152       case block-floating-point {
153         description "Block floating point compression and decompression is supported.";
154
155         leaf exponent {
156           type uint8 {
157             range "4";
158           }
159           description "Exponent bit width size in number of bits used when encoding in udCompParam.";
160         }
161       }
162
163       case block-floating-point-selective-re-sending {
164         description
165           "Block floating point with selective re sending compression and decompression is supported.";
166
167         leaf sres-exponent {
168           type uint8 {
169             range "4";
170           }
171           description "Exponent bit width size in number of bits used when encoding in udCompParam.";
172         }
173       }
174
175       case block-scaling {
176         description "Block scaling compression and decompresion is supported.";
177         leaf block-scalar {
178           type uint8;
179             description
180               "Common scaler for compressed PRB";
181         }
182       }
183
184       case u-law {
185         description "u-Law compression and decompresion method is supported.";
186         leaf comp-bit-width {
187           type uint8 {
188             range "0..15";
189           }
190           description "Bit with for u-law compression";
191         }
192         leaf comp-shift {
193           type uint8 {
194             range "0..15";
195           }
196           description
197             "the shift applied to the entire PRB";
198         }
199       }
200
201       case beam-space-compression {
202         description "Beamspace compression and decompression is supported. Applies to beamforming weights only.";
203         leaf-list active-beam-space-coeficient-mask {
204           type uint8;
205           description
206             "active beamspace coefficient indices associated with the compressed beamforming vector";
207         }
208         leaf block-scaler {
209           type uint8;
210           description
211             "Common scaler for compressed beamforming coefficients";
212         }
213       }
214
215       case modulation-compression {
216         description "Modulation compression and decompression is supported.";
217         leaf csf {
218           type uint8 {
219             range "0..1";
220           }
221           description "Constallation shift flag";
222         }
223
224         leaf mod-comp-scaler {
225           type uint16 {
226             range "0..32767";
227           }
228           description "Modulation compression scaler value.";
229         }
230       }
231
232       case modulation-compression-selective-re-sending {
233         description "Modulation compression with selective re sending and decompression is supported.";
234         leaf sres-csf {
235           type uint8 {
236             range "0..1";
237           }
238           description "Constallation shift flag";
239         }
240
241         leaf sres-mod-comp-scaler {
242           type uint16 {
243             range "0..32767";
244           }
245           description "Modulation compression scaler value.";
246         }
247       }
248
249     }
250   }
251
252   grouping compression-params {
253     description
254       "Parameters to define compression";
255
256     leaf compression-type {
257       type enumeration {
258         enum STATIC {
259           description
260             "Indicates that static compression method will be used (both compression and IQ bitwidth)";
261         }
262         enum DYNAMIC {
263           description
264             "Indicates that dynamic compression method will be used";
265         }
266       }
267       mandatory true;
268       description
269         "Compression type that O-DU wants to be supported";
270     }
271
272 // *********** TO BE REMOVED ***********
273     leaf bitwidth {
274       when "../compression-type = 'STATIC'";
275       type uint8;
276       status deprecated;
277       description
278         "Bitwidth to be used in compression.
279         This has since been replaced in M-Plane version
280         2.0.0 with the iq-bitwidth schema node";
281     }
282 // *************************************
283
284     uses compression-formats;
285   }
286
287   grouping compression-parameters {
288     description
289       "Parameters used to define description type";
290
291     leaf iq-bitwidth {
292       type uint8;
293       description
294         "Bitwidth to be used in compression";
295     }
296
297     uses compression-formats;
298   }
299
300   grouping format-of-iq-sample {
301     description
302       "Indicates module capabilities about IQ samples";
303
304     leaf dynamic-compression-supported {
305       type boolean;
306
307       description
308         "Informs if radio supports dynamic compression method";
309     }
310
311     leaf realtime-variable-bit-width-supported {
312       type boolean;
313
314       description
315         "Informs if O-RU supports realtime variable bit with";
316     }
317
318     list compression-method-supported {
319       uses compression-parameters;
320
321       description
322         "List of supported compression methods by O-RU
323          Note: if O-RU supports different compression methods per endpoint
324                then please refer do endpoints to have information what
325                exactly is supported on a paticular endpoint";
326     }
327
328     leaf syminc-supported {
329       type boolean;
330
331       description
332         "Informs if symbol number increment command in a C-Plane is
333          supported or not";
334     }
335
336     leaf regularization-factor-se-supported {
337       type boolean;
338
339       description
340         "Informs if regularizationFactor in section type 5 is
341          supported(true) or not(false)";
342     }
343
344     leaf little-endian-supported {
345       type boolean;
346       default false;
347
348       description
349         "All O-RUs support bigendian byte order. This node informs if module supports the
350         the optional capability for little endian byte order for C/U plane data flows.
351
352         Note - little endian support does not invalidate bigendian support.";
353     }
354   }
355
356
357   grouping compression-details {
358     description "";
359
360     leaf iq-bitwidth {
361       type uint8;
362       description
363         "Bitwidth to be used in compression";
364     }
365
366     uses compression-params;
367   }
368 }