+++ /dev/null
-module o-ran-antenna-calibration {
- yang-version 1.1;
- namespace "urn:o-ran:antcal:1.0";
- prefix "o-ran-antcal";
-
- organization "O-RAN Alliance";
-
- contact
- "www.o-ran.org";
-
- description
- "This module defines the configuration required for supporting the optional
- antenna calibration functionality.
-
- 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-07-03 {
- description
- "version 1.0.0
-
- 1) Newly introduced model for supporting optional
- antenna calibration functionality";
-
- reference "ORAN-WG4.MP-v02.00";
- }
-
- grouping antenna-calibration-capabilities {
- description "container for collection of leafs for antenna calibration";
-
- leaf self-calibration-support {
- type boolean;
- default false;
- description
- "Indicates whether O-RU supports self-calibration or not.
-
- When true, indicates O-RU can initiate calibration without receiving an
- rpc";
- }
- leaf number-of-calibration-symbols-per-block-dl {
- type uint8 {
- range "1..max";
- }
- units symbols;
- mandatory true;
- description
- "Indicates how many consecutive symbols are required for DL antenna
- calibration operation";
- }
- leaf number-of-calibration-symbols-per-block-ul {
- type uint8 {
- range "1..max";
- }
- units symbols;
- mandatory true;
- description
- "Indicates how many consecutive symbols are required for UL antenna
- calibration operation";
- }
- leaf interval-between-calibration-blocks {
- type uint8;
- units symbols;
- description
- "if time interval is required between consecutive antenna calibration
- operation, defines this time value as unit of symbols.
-
- A common value is used here for the intervals
- between DL-DL blocks, UL-UL blocks, DL-UL blocks and UL-DL blocks,
- which is the largest minimum interval required between any two adjacent
- calibration blocks.";
- }
- leaf number-of-calibration-blocks-per-step-dl {
- type uint8 {
- range "1..max";
- }
- mandatory true;
- description
- "Indicates how many blocks are required for one step of DL antenna
- calibration operation";
- }
- leaf number-of-calibration-blocks-per-step-ul {
- type uint8 {
- range "1..max";
- }
- mandatory true;
- description
- "Indicates how many blocks are required for one step of UL antenna
- calibration operation";
- }
- leaf interval-between-calibration-steps {
- type uint8;
- units radio-frames;
- description
- "If time interval is required between consecutive step of antenna
- calibration operation, defines this time value as unit of radio frames";
- }
- leaf number-of-calibration-steps {
- type uint8 {
- range "1..max";
- }
- mandatory true;
- description
- "Indicates how many steps are required for whole DL/UL antenna
- calibration operation";
- }
- }
-
- grouping antenna-calibration {
- container antenna-calibration-capabilities {
- config false;
- description
- "Describes the antenna calibration capabilities";
- uses antenna-calibration-capabilities;
- }
- container self-calibration-policy {
- leaf self-calibration-allowed {
- type boolean;
- default false;
- description
- "whether the self-calibration is allowed configured by operator.";
- }
- description
- "Describes the self calibration policy of the operator";
- }
- description
- "Describe the grouping set of antenna calibration";
- }
-
- container antenna-calibration {
- uses antenna-calibration;
- description
- "Describes the antenna calibration top node";
- }
-
- rpc start-antenna-calibration {
- description
- "The antenna calibration operation can start when NETCONF client sends a
- calibration start command with resource allocation parameters.
- These parameters indicate how the O-RU can perform the antenna
- calibration operation; at which Symbol, Slot, and Frame.
- This scheduling information can be generated by O-RU itself.
- However, in a dynamic TDD environment, the DL and UL configuration
- is only determined and known by O-DU. Consequently, only O-DU (NETCONF
- client ) can determine and configure the scheduling and resource
- allocation permitted for use by the antenna calibration operation";
- input {
- leaf symbol-bitmask-dl {
- type string {
- length "14";
- pattern "[01]*";
- }
- mandatory true;
- description
- "Bitmask indicating DL calibration symbol within a calibration slot.
- First character in the string indicate first symbol,
- next character in the string indicate second symbol and so on.
- Value 1 indicates that the symbol may be used for calibration
- and 0 means the symbol shall not be used for calibration.";
- }
- leaf symbol-bitmask-ul {
- type string {
- length "14";
- pattern "[01]*";
- }
- mandatory true;
- description
- "Bitmask indicating UL calibration symbol within a calibration slot.
- First character in the string indicate first symbol,
- next character in the string indicate second symbol and so on.
- Value 1 indicates that the symbol may be used for calibration
- and 0 means the symbol shall not be used for calibration.";
- }
- leaf slot-bitmask-dl {
- type string {
- length "10..255";
- pattern "[01]*";
- }
- mandatory true;
- description
- "Bitmask indicating DL calibration slot within a calibration frame.
- First character in the string indicate first slot,
- next character in the string indicate second slot and so on.
- Value 1 indicates that the slot may be used for calibration
- and 0 means the slot shall not be used for calibration.";
- }
- leaf slot-bitmask-ul {
- type string {
- length "10..255";
- pattern "[01]*";
- }
- mandatory true;
- description
- "Bitmask indicating UL calibration slot within a calibration frame.
- First character in the string indicate first slot,
- next character in the string indicate second slot and so on.
- Value 1 indicates that the slot may be used for calibration
- and 0 means the slot shall not be used for calibration.";
- }
- leaf frame-bitmask-dl {
- type string {
- length "1..255";
- pattern "[01]*";
- }
- mandatory true;
- description
- "Bitmask indicating DL calibration frame within a calibration step.
- First character in the string indicate first radio frame equal to
- the start-SFN, next character in the string indicate the next frame
- and so on.
-
- Value 1 indicates that the frame may be used for calibration
- and 0 means the frame shall not be used for calibration.";
- }
- leaf frame-bitmask-ul {
- type string {
- length "1..255";
- pattern "[01]*";
- }
- mandatory true;
- description
- "Bitmask indicating UL calibration frame within a calibration step.
- First character in the string indicate first radio frame equal to
- the start-SFN, next character in the string indicate the next frame
- and so on.
-
- Value 1 indicates that the frame is may be used for calibration
- and 0 means the frame shall not be used for calibration.";
- }
- leaf calibration-step-size {
- type uint8;
- mandatory true;
- description " Number of frames within a calibration step";
- }
- leaf calibration-step-number {
- type uint8;
- mandatory true;
- description "Number of calibration steps";
- }
- leaf start-sfn {
- type uint16 {
- range "0..1023";
- }
- mandatory true;
- description "start SFN number of the first calibration step";
- }
- }
- output {
- leaf status {
- type enumeration {
- enum ACCEPTED {
- description
- "Status information to indicate that O-RU accepted RPC
- antenna calibration start request";
- }
- enum REJECTED {
- description
- "Status information to indicate that O-RU rejected RPC antenna
- calibration start request";
- }
- }
- mandatory true;
- description
- "Status of whether antenna calibration trigger by RPC is accepted
- by the O-RU";
- }
- leaf error-message {
- when "../status='REJECTED'";
- type string;
- description
- "Detailed error Message when the status is rejected, e.g.,
- because O-RU can not start antenna calibration
- such as already running antenna calibration,
- resource mask mismatch with O-RU antenna calibration capability,
- overlapped DL and UL masks, insufficient memory, O-RU internal reason";
- }
- }
- }
-
-
- notification antenna-calibration-required {
- list dl-calibration-frequency-chunk {
- leaf start-calibration-frequency-dl {
- type uint64;
- description
- "lowest frequency value in Hz of the frequency range is required for
- DL antenna calibration operation.";
- }
- leaf end-calibration-frequency-dl {
- type uint64;
- description
- "highest frequency value in Hz of the frequency range is required for
- DL antenna calibration operation.";
- }
- description
- "min/max frequency of dl spectrum chunk affected by calibration process";
- }
- list ul-calibration-frequency-chunk {
- leaf start-calibration-frequency-ul {
- type uint64;
- description
- "lowest frequency value in Hz of the frequency range is required for
- UL antenna calibration operation.";
- }
- leaf end-calibration-frequency-ul {
- type uint64;
- description
- "highest frequency value in Hz of the frequency range is required for
- UL antenna calibration operation.";
- }
- description
- "min/max frequency of ul spectrum chunk affected by calibration process";
- }
- description
- "this notification indicates that the antenna calibration is required in O-RU";
- }
-
- notification antenna-calibration-result {
- leaf status {
- type enumeration {
- enum SUCCESS {
- description "O-RU has succeeded in calibrating its antenna";
- }
- enum FAILURE {
- description
- "O-RU attemted to calibrate its antenna, but the procedure failed.";
- }
- }
- mandatory true;
- description
- "Status of the antenna calibration procedure which has been triggered
- by accepting an start-antenna-calibration RPC.";
- }
- leaf detailed-reason {
- when "../status='FAILURE'";
- type string;
- description
- "Detailed reason when the status is FAILURE, e.g.,
- O-RU cannot complete the antenna calibration
- because of lack of memory, self-calibration failure, etc";
- }
- description
- "This notification indicates the antenna calibration result";
- }
-}