+++ /dev/null
-module o-ran-beamforming {
- yang-version 1.1;
- namespace "urn:o-ran:beamforming:1.0";
- prefix "o-ran-bf";
-
- import o-ran-uplane-conf {
- prefix "up";
- }
-
- import o-ran-module-cap {
- prefix "mcap";
- }
-
- import o-ran-compression-factors {
- prefix "cf";
- }
-
- organization "O-RAN Alliance";
-
- contact
- "www.o-ran.org";
-
- description
- "This module defines the beamforming capabilitites of an O-RU.
- Only O-RUs that support beamforming shall support this module.
-
- Copyright 2019 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 "2019-06-19" {
- description
- "version 1.1.1
-
- 1) adding possibilities to provide more compression types for beamforming";
-
- reference "ORAN-WG4.M.0-v01.00";
- }
-
- revision "2019-04-01" {
- description
- "version 1.1.0
-
- 1) corrested xPATH boolean check from TRUE to true";
-
- 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 MODIFY-BF-CONFIG {
- description
- "This feature indicates that the O-RU supports an optional feature to
- modify beamforming configuration information";
- }
-
- typedef beam-reference {
- type leafref {
- 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";
- }
- description
- "This type is used by data models that need to reference a beam.";
- }
-
-
- grouping beamforming-parameters {
- leaf max-number-of-beam-ids {
- type uint16;
- mandatory true;
- description
- "Maximum number of supported Beam ID assigned to domain beamforming control";
- }
-
- leaf initial-beam-id {
- type uint16;
- mandatory true;
- description
- "First Beam ID that can be used for addressing of domain beams";
- }
-
- description "Group of common beamforming parameters";
- }
-
- grouping granularity-parameters {
- leaf frequency-granularity {
- type enumeration {
- enum CC {
- description
- "Frequency granularity: per carrier component";
- }
-
- enum BAND {
- description
- "Frequency granularity: per band";
- }
- }
- mandatory true;
- description "Supported time granularity of time-domain beamforming.";
- }
-
- leaf time-granularity {
- type enumeration {
- enum SLOT {
- description
- "Time granularity: per slot";
- }
-
- enum SYMBOL {
- description
- "Time granularity: per symbol";
- }
- }
- mandatory true;
- description "Supported time granularity of time-domain beamforming.";
- }
- description "";
- }
-
- grouping array-lists {
- description
- "Grouping for array lists";
-
- leaf-list tx-array {
- type leafref {
- path "/up:user-plane-configuration/up:tx-arrays/up:name";
- }
- description "tx arrays belonging to this band number";
- }
- leaf-list rx-array {
- type leafref {
- path "/up:user-plane-configuration/up:rx-arrays/up:name";
- }
- description "rx arrays belonging to this band number";
- }
- }
-
- grouping static-properties {
- description
- "Grouping for static beamforming properties";
-
- leaf rt-bf-weights-update-support {
- type boolean;
- description
- "The parameter informs if O-RU supports real time beamforming weights update through C-Plane messaging";
- }
-
- choice beamforming-type {
- case frequency {
- container frequency-domain-beams {
- when "../rt-bf-weights-update-support = 'true'";
- uses beamforming-parameters;
- uses cf:compression-details;
-
- list additional-compression-method-supported {
- key "iq-bitwidth compression-type";
- uses cf:compression-details;
-
- description
- "List of additional supported compression methods by O-RU";
- }
-
- description "";
- }
- description "Set of parameters valid for O-RU, that supports beamforming in frequency domain.";
- }
-
- case time {
- container time-domain-beams {
- when "../rt-bf-weights-update-support = 'true'";
- uses beamforming-parameters;
- uses granularity-parameters;
- uses cf:compression-details;
-
- list additional-compression-method-supported {
- key "iq-bitwidth compression-type";
- uses cf:compression-details;
-
- description
- "List of additional supported compression methods by O-RU";
- }
-
- description "";
- }
- description "Set of parameters valid for O-RU, that supports beamforming in time domain.";
- }
-
- case hybrid {
- container hybrid-beams {
- when "../rt-bf-weights-update-support = 'true'";
- uses beamforming-parameters;
- uses granularity-parameters;
- uses cf:compression-details;
-
- list additional-compression-method-supported {
- key "iq-bitwidth compression-type";
- uses cf:compression-details;
-
- description
- "List of additional supported compression methods by O-RU";
- }
-
- description "";
- }
- description "Set of parameters valid for O-RU, that supports hybrid beamforming - in both time and frequency domain.";
- }
- description
- "This value indicates beamforming type supported by O-RU";
- }
-
- leaf number-of-beams {
- type uint16;
- description
- "This value indicates the max number of beam patterns O-RU can generate
- and apply to the signal of each O-RU port (both DL and UL).
- This value is equivalent to the maximum number of used beam IDs.";
- }
- }
-
- grouping beamforming-property {
- description
- "Grouping for beamforming property";
-
- leaf beam-type {
- type enumeration {
- enum COARSE {
- description "the beam-id corresponds to a coarse beam";
- }
- enum FINE {
- description "the beam-id corresponds to a fine beam";
- }
- }
- description
- "This value indicates the beam resolution.";
- }
-
- leaf beam-group-id {
- type uint16;
- description
- "Beams with same beamGroupsID can be transmitted simultaneously.";
- }
-
- leaf-list coarse-fine-beam-relation {
- type beam-reference;
- description
- "List of related coarse/fine beam.";
- }
-
- leaf-list neighbour-beams {
- type beam-reference;
- description
- "A list of neighbor beams which might restrict co-scheduling due
- to interference.";
- }
- }
-
- grouping beamforming-properties-element {
- description
- "Grouping for beamforming-properties element";
-
- leaf beam-id {
- type uint16;
- description
- "This value indicates the beam ID whose beamforming properties are
- described in the container.";
- }
-
- container beamforming-property {
- description
- "Structure containing single set of beamforming properties.";
-
- uses beamforming-property;
- }
- }
-
- grouping band-num {
- description
- "Band information for the beamforming
- related to the band number from module capabilities";
-
- leaf band-number {
- type leafref {
- path "/mcap:module-capability/mcap:band-capabilities/mcap:band-number";
- }
- description
- "band information for the beamforming information
- related to the band number of module capabilities";
- }
- }
-
- grouping per-band-config-element {
- description
- "Grouping for per band config element";
-
- uses band-num;
- uses array-lists;
-
- container static-properties {
- description
- "the static beamforming related information";
-
- uses static-properties;
- }
-
- container beam-information {
- description
- "Beam information which exposes beamforming related O-RU capabilities.";
- leaf number-of-beamforming-properties {
- type uint16;
- description
- "This parameter indicates the number of beamFormingProperties entries.";
- }
-
- list beamforming-properties {
- key beam-id;
- description
- "Array for the beamforming properties at O-RU.
- These parameters can be used by the beamforming control by the NETCONF client.
- 'numberOfBeamformingProperties' indicaets the size of the array.";
-
- uses beamforming-properties-element;
- }
- }
- }
-
- grouping operational-properties {
- description
- "Grouping for operational properties";
-
- leaf number-of-writeable-beamforming-files {
- type uint8 {
- range "1 .. max";
- }
- mandatory true;
- description
- "This leaf indicates the maximum number of writeable beamforming files
- containing beamweights and/or attributes that the O-RU can store, taking
- into account the maximum number of beam-IDs as defined by 3GPP
- TS38.214 v15.x.x";
- }
-
- leaf update-bf-non-delete {
- type boolean;
- default false;
- description
- "When set to TRUE, indicates that an O-RU supports the capability
- to apply the modified beamforming weight information by using rpc
- activate-beamforming-weight without deletion of tx-array-carriers and
- rx-array-carriers in advance, i.e., to a deactivated carrier";
- }
-
- leaf persistent-bf-files {
- type boolean;
- default false;
- description
- "When set to TRUE, indicates that the O-RU supports the capability
- to store the modified beamforming weight information file in the
- reset persistent memory";
- }
- }
-
- grouping beamforming-supported-type {
- description
- "Grouping for type of beamforming supported";
-
- leaf beamforming-trough-attributes-supported {
- type boolean;
- description
- "Informs if beamforming can be controlled providing attributes to O-RU
- (like angles, beamwidth).";
- }
-
- leaf beamforming-trough-ue-channel-info-supported {
- type boolean;
- description
- "Informs if beamforming can be controlled by UE information.";
- }
- }
-
- grouping beamforming-config {
- description
- "Grouping for beamforming configuration";
-
- list per-band-config {
- key band-number;
- description "beamforming information per band";
-
- uses per-band-config-element;
- }
-
- container ue-specific-beamforming {
- presence
- "Indicates that the O-RU supports optional Section Type '6' Fields
- (used for sending channel information for a specific UE)";
- config false;
- description
- "Information related to supput by the O-RU of Section Type 6 for
- signalling UE-specific channel information to the O-RU";
- leaf max-number-of-ues {
- type uint8;
- description
- "Indicates tha maximum number of UE -specific channel information
- data sets supported by the O-RU";
- }
- }
- container operational-properties {
- if-feature MODIFY-BF-CONFIG;
- description "properties for dynamic beam weight/attribute support";
-
- uses operational-properties;
- }
- }
-
- container beamforming-config {
- config false;
- description
- "A set of configuration data for the O-RU's beam forming functionality";
-
- uses beamforming-config;
- uses beamforming-supported-type;
- }
-
-
- rpc activate-beamforming-config {
- if-feature MODIFY-BF-CONFIG;
- description
- "rpc to activate beamforming config information by indicating the file
- stored in the folder O-RAN/beam-weights in advance";
- input {
- leaf beamforming-config-file {
- type string;
- mandatory true;
- description
- "file name stored in O-RAN/beamforming/ folder is indicated";
- }
-
- uses band-num;
- }
- output {
- leaf status {
- type enumeration {
- enum ACCEPTED {
- description "O-RU has accepted the beamforming weight/attribute file";
- }
- enum REJECTED {
- description
- "O-RU has rejected the beamforming weight/attribute file. The O-RU
- should then use the default beamforming file.";
- }
- }
- mandatory true;
- description "Status of activation of beamforming config information";
- }
- leaf error-message {
- when "../status='REJECTED'";
- type string;
- description
- "Detailed error Message when the status is rejected, e.g.,
- because new beam forming file is attempted to be applied to a
- carrier which is still active, or the beam-id does not exist.";
- }
- }
- }
-
-
- //notification statement
- notification beamforming-information-update {
- uses band-num;
- description
- "this notification indicates that the beamforming properties are updated for particular band";
- }
-}