1 module o-ran-beamforming {
3 namespace "urn:o-ran:beamforming:1.0";
6 import o-ran-uplane-conf {
10 import o-ran-module-cap {
14 import o-ran-compression-factors {
18 organization "O-RAN Alliance";
24 "This module defines the beamforming capabilitites of an O-RU.
25 Only O-RUs that support beamforming shall support this module.
27 Copyright 2019 the O-RAN Alliance.
29 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
30 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
31 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
32 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
33 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
34 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
35 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
36 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
37 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
38 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
39 POSSIBILITY OF SUCH DAMAGE.
41 Redistribution and use in source and binary forms, with or without
42 modification, are permitted provided that the following conditions are met:
44 * Redistributions of source code must retain the above copyright notice,
45 this list of conditions and the above disclaimer.
46 * Redistributions in binary form must reproduce the above copyright notice,
47 this list of conditions and the above disclaimer in the documentation
48 and/or other materials provided with the distribution.
49 * Neither the Members of the O-RAN Alliance nor the names of its
50 contributors may be used to endorse or promote products derived from
51 this software without specific prior written permission.";
53 revision "2019-06-19" {
57 1) adding possibilities to provide more compression types for beamforming";
59 reference "ORAN-WG4.M.0-v01.00";
62 revision "2019-04-01" {
66 1) corrested xPATH boolean check from TRUE to true";
68 reference "ORAN-WG4.M.0-v01.00";
71 revision "2019-02-04" {
75 1) imported model from xRAN
76 2) changed namespace and reference from xran to o-ran";
78 reference "ORAN-WG4.M.0-v01.00";
82 feature MODIFY-BF-CONFIG {
84 "This feature indicates that the O-RU supports an optional feature to
85 modify beamforming configuration information";
88 typedef beam-reference {
90 path "/o-ran-bf:beamforming-config/o-ran-bf:per-band-config/o-ran-bf:beam-information/o-ran-bf:beamforming-properties/o-ran-bf:beam-id";
93 "This type is used by data models that need to reference a beam.";
97 grouping beamforming-parameters {
98 leaf max-number-of-beam-ids {
102 "Maximum number of supported Beam ID assigned to domain beamforming control";
105 leaf initial-beam-id {
109 "First Beam ID that can be used for addressing of domain beams";
112 description "Group of common beamforming parameters";
115 grouping granularity-parameters {
116 leaf frequency-granularity {
120 "Frequency granularity: per carrier component";
125 "Frequency granularity: per band";
129 description "Supported time granularity of time-domain beamforming.";
132 leaf time-granularity {
136 "Time granularity: per slot";
141 "Time granularity: per symbol";
145 description "Supported time granularity of time-domain beamforming.";
150 grouping array-lists {
152 "Grouping for array lists";
156 path "/up:user-plane-configuration/up:tx-arrays/up:name";
158 description "tx arrays belonging to this band number";
162 path "/up:user-plane-configuration/up:rx-arrays/up:name";
164 description "rx arrays belonging to this band number";
168 grouping static-properties {
170 "Grouping for static beamforming properties";
172 leaf rt-bf-weights-update-support {
175 "The parameter informs if O-RU supports real time beamforming weights update through C-Plane messaging";
178 choice beamforming-type {
180 container frequency-domain-beams {
181 when "../rt-bf-weights-update-support = 'true'";
182 uses beamforming-parameters;
183 uses cf:compression-details;
185 list additional-compression-method-supported {
186 key "iq-bitwidth compression-type";
187 uses cf:compression-details;
190 "List of additional supported compression methods by O-RU";
195 description "Set of parameters valid for O-RU, that supports beamforming in frequency domain.";
199 container time-domain-beams {
200 when "../rt-bf-weights-update-support = 'true'";
201 uses beamforming-parameters;
202 uses granularity-parameters;
203 uses cf:compression-details;
205 list additional-compression-method-supported {
206 key "iq-bitwidth compression-type";
207 uses cf:compression-details;
210 "List of additional supported compression methods by O-RU";
215 description "Set of parameters valid for O-RU, that supports beamforming in time domain.";
219 container hybrid-beams {
220 when "../rt-bf-weights-update-support = 'true'";
221 uses beamforming-parameters;
222 uses granularity-parameters;
223 uses cf:compression-details;
225 list additional-compression-method-supported {
226 key "iq-bitwidth compression-type";
227 uses cf:compression-details;
230 "List of additional supported compression methods by O-RU";
235 description "Set of parameters valid for O-RU, that supports hybrid beamforming - in both time and frequency domain.";
238 "This value indicates beamforming type supported by O-RU";
241 leaf number-of-beams {
244 "This value indicates the max number of beam patterns O-RU can generate
245 and apply to the signal of each O-RU port (both DL and UL).
246 This value is equivalent to the maximum number of used beam IDs.";
250 grouping beamforming-property {
252 "Grouping for beamforming property";
257 description "the beam-id corresponds to a coarse beam";
260 description "the beam-id corresponds to a fine beam";
264 "This value indicates the beam resolution.";
270 "Beams with same beamGroupsID can be transmitted simultaneously.";
273 leaf-list coarse-fine-beam-relation {
276 "List of related coarse/fine beam.";
279 leaf-list neighbour-beams {
282 "A list of neighbor beams which might restrict co-scheduling due
287 grouping beamforming-properties-element {
289 "Grouping for beamforming-properties element";
294 "This value indicates the beam ID whose beamforming properties are
295 described in the container.";
298 container beamforming-property {
300 "Structure containing single set of beamforming properties.";
302 uses beamforming-property;
308 "Band information for the beamforming
309 related to the band number from module capabilities";
313 path "/mcap:module-capability/mcap:band-capabilities/mcap:band-number";
316 "band information for the beamforming information
317 related to the band number of module capabilities";
321 grouping per-band-config-element {
323 "Grouping for per band config element";
328 container static-properties {
330 "the static beamforming related information";
332 uses static-properties;
335 container beam-information {
337 "Beam information which exposes beamforming related O-RU capabilities.";
338 leaf number-of-beamforming-properties {
341 "This parameter indicates the number of beamFormingProperties entries.";
344 list beamforming-properties {
347 "Array for the beamforming properties at O-RU.
348 These parameters can be used by the beamforming control by the NETCONF client.
349 'numberOfBeamformingProperties' indicaets the size of the array.";
351 uses beamforming-properties-element;
356 grouping operational-properties {
358 "Grouping for operational properties";
360 leaf number-of-writeable-beamforming-files {
366 "This leaf indicates the maximum number of writeable beamforming files
367 containing beamweights and/or attributes that the O-RU can store, taking
368 into account the maximum number of beam-IDs as defined by 3GPP
372 leaf update-bf-non-delete {
376 "When set to TRUE, indicates that an O-RU supports the capability
377 to apply the modified beamforming weight information by using rpc
378 activate-beamforming-weight without deletion of tx-array-carriers and
379 rx-array-carriers in advance, i.e., to a deactivated carrier";
382 leaf persistent-bf-files {
386 "When set to TRUE, indicates that the O-RU supports the capability
387 to store the modified beamforming weight information file in the
388 reset persistent memory";
392 grouping beamforming-supported-type {
394 "Grouping for type of beamforming supported";
396 leaf beamforming-trough-attributes-supported {
399 "Informs if beamforming can be controlled providing attributes to O-RU
400 (like angles, beamwidth).";
403 leaf beamforming-trough-ue-channel-info-supported {
406 "Informs if beamforming can be controlled by UE information.";
410 grouping beamforming-config {
412 "Grouping for beamforming configuration";
414 list per-band-config {
416 description "beamforming information per band";
418 uses per-band-config-element;
421 container ue-specific-beamforming {
423 "Indicates that the O-RU supports optional Section Type '6' Fields
424 (used for sending channel information for a specific UE)";
427 "Information related to supput by the O-RU of Section Type 6 for
428 signalling UE-specific channel information to the O-RU";
429 leaf max-number-of-ues {
432 "Indicates tha maximum number of UE -specific channel information
433 data sets supported by the O-RU";
436 container operational-properties {
437 if-feature MODIFY-BF-CONFIG;
438 description "properties for dynamic beam weight/attribute support";
440 uses operational-properties;
444 container beamforming-config {
447 "A set of configuration data for the O-RU's beam forming functionality";
449 uses beamforming-config;
450 uses beamforming-supported-type;
454 rpc activate-beamforming-config {
455 if-feature MODIFY-BF-CONFIG;
457 "rpc to activate beamforming config information by indicating the file
458 stored in the folder O-RAN/beam-weights in advance";
460 leaf beamforming-config-file {
464 "file name stored in O-RAN/beamforming/ folder is indicated";
473 description "O-RU has accepted the beamforming weight/attribute file";
477 "O-RU has rejected the beamforming weight/attribute file. The O-RU
478 should then use the default beamforming file.";
482 description "Status of activation of beamforming config information";
485 when "../status='REJECTED'";
488 "Detailed error Message when the status is rejected, e.g.,
489 because new beam forming file is attempted to be applied to a
490 carrier which is still active, or the beam-id does not exist.";
496 //notification statement
497 notification beamforming-information-update {
500 "this notification indicates that the beamforming properties are updated for particular band";