X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=data-model%2Fyang%2Fsim%2Fx-ran%2Fx-ran-ru-fh%2Fxran-beamforming.yang;fp=data-model%2Fyang%2Fsim%2Fx-ran%2Fx-ran-ru-fh%2Fxran-beamforming.yang;h=3e6c9952ffa4340941578f155558ce3dad01a562;hb=f0ca64c521826efafe05e3804653106575820520;hp=0000000000000000000000000000000000000000;hpb=44703c16d6fd906f65c94633ae9a3a9b49c1abcf;p=scp%2Foam%2Fmodeling.git diff --git a/data-model/yang/sim/x-ran/x-ran-ru-fh/xran-beamforming.yang b/data-model/yang/sim/x-ran/x-ran-ru-fh/xran-beamforming.yang new file mode 100644 index 0000000..3e6c995 --- /dev/null +++ b/data-model/yang/sim/x-ran/x-ran-ru-fh/xran-beamforming.yang @@ -0,0 +1,325 @@ +module xran-beamforming { + yang-version 1.1; + namespace "urn:xran:beamforming:1.0"; + prefix "xran-bf"; + + import xran-uplane-conf { + prefix up; + } + + import xran-module-cap { + prefix "mcap"; + } + + organization "xRAN Forum"; + + contact + "www.xran.org"; + + description + "This module defines the beamforming capabilitites of an RU. + Only RUs that support beamforming shall support this module. + + Copyright 2018 the xRAN Forum. + + 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 xRAN Forum nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission."; + + revision "2018-07-20" { + description + "version 1.0.0 - First release of the xRAN YANG M-Plane models. + + This version of the model supports v01.00 of the corrsponding xRAN + M-Plane Specification."; + reference "XRAN-FH.MP.0-v01.00"; + } + + feature MODIFY-BF-CONFIG { + description + "This feature indicates that the RU supports an optional feature to + modify beamforming configuration information"; + } + + typedef beam-reference { + type leafref { + path "/xran-bf:beamforming-config/xran-bf:per-band-config/xran-bf:beam-information/xran-bf:beamforming-properties/xran-bf:beam-id"; + } + description + "This type is used by data models that need to reference a beam."; + } + container beamforming-config { + config false; + description + "A set of configuration data for the RU's beam forming functionality"; + + list per-band-config { + key band-number; + description "beamforming information per band"; + 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"; + } + + 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"; + } + container static-properties { + description + "the static beamforming related information"; + leaf beamforming-type { + type enumeration { + enum COMMON { + description "A common beam ID is used for entire band"; + } + enum DIFFERENT { + description "Different beam IDs can be assigned for each PRB/RE"; + } + } + description + "This value indicates supporting beamforming type in RU"; + } + + leaf number-of-beams { + type uint16; + description + "This value indicates the number of beam patterns RU can generate + and apply to the signal of each RU port (both DL and UL). + This value is equivalent to the maximum number of used beam IDs."; + } + + leaf number-of-polarizations { + type uint8; + description + "This value indicates the number of polarizations supported at RU."; + } + + leaf number-of-panels { + type uint8; + description + "This value indicates the number of antenna panels supported at RU."; + } + } + + container beam-information { + description + "beam information which relates to the current beamforming configuration"; + 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 RU. + These parameters can be used by the beamforming control by the NETCONF client. + 'numberOfBeamformingProperties' indicaets the size of the array."; + + + 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."; + + leaf coarse-fine { + type enumeration { + enum COARSE-BEAM { + description "the beam-id corresponds to a coarse beam"; + } + enum FINE-BEAM { + description "the beam-id corresponds to a fine beam"; + } + } + description + "This value indicates the beam resolution."; + } + + leaf beam-groups-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 neighbor-beam { + type beam-reference; + description + "A list of neighbor beams which might restrict co-scheduling due + to interference."; + } + } + } + } + } + container ue-specific-beamforming { + presence + "Indicates that the 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 RU of Section Type 6 for + signalling UE-specific channel information to the RU"; + leaf max-number-of-ues { + type uint8; + description + "Indicates tha maximum number of UE -specific channel information + data sets supported by the RU"; + } + } + container operational-properties { + if-feature MODIFY-BF-CONFIG; + description "properties for dynamic beam weight/attribute support"; + + 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 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 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 RU supports the capability + to store the modified beamforming weight information file in the + reset persistent memory"; + } + } + + leaf beamforming-trough-attributes-supported { + type boolean; + description + "Informs if beamforming can be controlled providing attributes to RU + (like angles, beamwidth)."; + } + + leaf beamforming-trough-ue-channel-info-supported { + type boolean; + description + "Informs if beamforming can be controlled by UE information."; + } + } + + rpc activate-beamforming-config { + if-feature MODIFY-BF-CONFIG; + description + "rpc to activate beamforming config information by indicating the file + stored in the folder xRAN/beam-weights in advance"; + input { + leaf beamforming-config-file { + type string; + mandatory true; + description + "file name stored in xRAN/beamforming/ folder is indicated"; + } + leaf band-number { + type leafref { + path "/mcap:module-capability/mcap:band-capabilities/mcap:band-number"; + } + description + "The band to which the beam configuration applies"; + } + } + output { + leaf status { + type enumeration { + enum ACCEPTED { + description "RU has accepted the beamforming weight/attribute file"; + } + enum REJECTED { + description + "RU has rejected the beamforming weight/attribute file. The 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 { + leaf band-number { + type leafref { + path "/mcap:module-capability/mcap:band-capabilities/mcap:band-number"; + } + description + "The band to which the beamforming information is updated"; + } + description + "this notification indicates that the beamforming properties are updated"; + + } +}