Patent Description:
<CIT> discloses compression of baseband signals in base transceiver systems. A signal compression method and apparatus for a base transceiver system (BTS) in a wireless communication network provides efficient transfer of compressed signal samples over serial data links in the system. For the uplink, an RF unit of the BTS compresses baseband signal samples resulting from analog to digital conversion of a received analog signal followed by digital downconversion. The compressed signal samples are transferred over the serial data link to the baseband processor then decompressed prior to normal signal processing. For the downlink, the baseband processor compresses baseband signal samples and transfers the compressed signal samples to the RF unit. The RF unit decompresses the compressed samples prior to digital upconversion and digital to analog conversion to form an analog signal for transmission over an antenna. Compression and decompression can be incorporated into operations of conventional base stations and distributed antenna systems, including OBSAI or CPRI compliant systems.

The current disclosure relates network analysis, particularly analysis of packets between a distributed unit and at least one radio unit of a base station. With the adoption of distributed base station and <NUM> new radio technologies, modern day base stations are no longer monolithic and is divided into three major components: central unit, distributed unit, and radio unit. The central unit processes non-real time protocols and services, and the distributed unit processes physical level protocols and latency-critical real time services. The radio unit(s) carry out link layer and physical layer signal processing when transmitting and receiving radio signals. Accordingly, this allows for development and deployment of base stations with components from different vendors. However, due to this, it is important to ensure that the configurations of the various components are compatible with each other to ensure that the base station is operating correctly. One such way of evaluating this is via analysis of live packets transmitted between the distributed unit and the radio units. This can be performed using packet sniffers and analyzers.

Packet sniffers and analyzers are used to intercept or capture packets mid transmission between the distributed unit and the radio units, and then utilize these packets to perform network analysis. However, to be able to correctly parse and interpret the packets, the packet analyzer requires information about packet format. This is particularly relevant to IQ data frames as defined in OR_AN (Open Radio Access Networks) specifications. The IQ data frame includes a plurality of optional parameters which may or may not be present in the data frame. Similarly, the length of the IQ sample may be set between <NUM>-<NUM> bits and therefore may not be known to the packet analyzer. Determining the bit length of the IQ sample is important to verify the configurations of the distributed unit and the radio unit. Conventionally, this is provided to the packet analyzer manually and there is subject to human error. Additionally, in some circumstances, this information may not be known and accordingly may not be provided to the packet analyzer. Accordingly, there is a need for a method and packet analyzer which automatically determines the bit length of the IQ sample.

<FIG> illustrates an example system <NUM> incorporating a packet analyzer device <NUM> for intercepting and analyzing data frames. The example system <NUM> includes a base station <NUM>. The base station <NUM> may be connected to a cellular network (not shown in <FIG>) comprising of other base stations and the network core. In an example, base station <NUM> may be a part of a radio access network of a wireless communication system, e.g. a cellular communication system. The wireless communication system may operate according to specifications of Universal Mobile Telecommunication System or any one of its evolution versions, e.g. Long-Term Evolution (LTE) or LTE-Advanced, a second-generation mobile telecommunication system such as Global System for Mobile Communications, or a system operating strictly on unlicensed frequency bands. An example of a system operating on the unlicensed bands is IEEE <NUM> (Wi-Fi) and, as a consequence, the base station may be considered broadly as an access point providing a terminal device with wireless access to other networks such as the Internet.

The base station <NUM> comprises a central unit (CU) <NUM>, one or more distributed units (shown in <FIG> as distributed unit <NUM>), and one or more radio units (shown in <FIG> as radio units <NUM>, <NUM>). The central unit <NUM> and the distributed unit (DU) <NUM> may be jointly referred to as baseband unit (BBU). The central unit <NUM> processes non-real time protocols and services, and the distributed unit <NUM> processes physical level protocols and latency-critical real time services. The radio units (RU <NUM> and RU <NUM>) carry out link layer and physical layer signal processing when transmitting and receiving radio signals. The connections between the various radio units (<NUM>, <NUM>) and the distributed unit <NUM> are based on ethernet and focus on various aspects in relation to the radio units such as antenna data, beamforming control, management, and synchronization. Examples of protocols used between the distributed unit <NUM> and the radio units (<NUM> and <NUM>) include O-RAN with eCPRI or IEEE1914. <NUM> (RoE) as antenna data transport layer and optional UDP over IPv4 or IPv6 as the routable transport layer, etc..

The packet analyzer device <NUM> is configured to intercept or capture one or more data frames or packets between the distributed unit <NUM> and at least one of the radio units (<NUM> and <NUM>). The packet analyzer device <NUM> processes the captured data frames to perform network analysis. The packet analyzer device <NUM> is configured to determine a bit length of an IQ sample in a first data frame from the one or more captured data frames. Based on the bit length of the IQ sample in the first data frame, the packet analyzer device <NUM> can check if the configuration between the distributed unit <NUM> and the radio units (<NUM> and <NUM>) is correct. Additionally, the packet analyzer device <NUM> is configured to parse the IQ data in the first data frame based on the determined bit length. These aspects in relation to the determination of the bit length of the IQ sample further explained in the description of <FIG>.

<FIG> illustrates a method <NUM> of determining a bit length of an IQ sample associated with a first data frame. The first data frame is transmitted over the user plane between the distributed unit <NUM> and the radio units (<NUM> and <NUM>) and is used for transmitting IQ data (i.e. I data and Q data). Accordingly, the first data frame includes I and Q data, the bitlength of the IQ data being unknown to the packet analyzer <NUM>. The first data frame is based on eCPRI specifications on the transport layer and on ORAN specifications on the application layer. In other words, the application layer payload is based on IQ data format as mentioned ORAN specifications and this is wrapped in the transport layer payload which is in accordance with the eCPRI specifications. Accordingly, the first data frame includes fields as mentioned in the eCPRI and OR_AN specifications.

In an example, the method <NUM> is implemented by the packet analyzer device <NUM>. At step <NUM>, the packet analyzer device <NUM> determines a first parameter associated with a payload length of the first data frame. In an example, the first parameter is provided in a header of the first data frame. For example, the data frame is based on eCPRI (Common Public Radio Interface) interface specifications. The payload length (also referred to as payload size) in specified in a common header in accordance with the eCPRI specifications. An example eCPRI common header format <NUM> is illustrated in <FIG>. The eCPRI common header format <NUM> includes a eCPRI protocol revision parameter <NUM> indicative of protocol version, reserved section <NUM> which includes one or more reserved bits in accordance to the eCPRI specifications, an eCPRI messages concatenation indicator <NUM>, a eCPRI message type parameter <NUM> which indicates the type of services conveyed by the data frame and a eCPRI payload size parameter <NUM> which indicates the size in bytes of the payload part corresponding to the data frame. It does not include any padding bytes.

Then, at step <NUM>, the packet analyzer device <NUM> determines a second parameter indicative of a number of physical resource blocks in the first data frame. In an example, the second parameter is provided in the first data frame. For example, where the data frame is based on OR_AN IQ data frame format as specified in the ORAN specifications. Accordingly, in an example, the number of physical data blocks is provided as variable numPRBu of size <NUM> byte in the sixteenth octet of the data frame.

Then, at step <NUM>, the packet analyzer device <NUM> detects a presence of a compression header based on the first and second parameters. For example, the packet analyzer performs a modulo operation on the first parameter indicative of the payload size of the data frame, using the second parameter indicative of the number of physical resource blocks in the data frame, to check if the payload size is a multiple of the number of physical resource blocks. If the module operation returns a zero (i.e. the payload size is a multiple of the number of physical resource blocks), then there are no extra bytes and accordingly, the packet analyzer <NUM> determines that no compression header is present. However, if the module operation returns a reminder, (i.e. the payload size is not a multiple of the number of physical resource blocks), then the packet analyzer <NUM> determines that there is a compression header in the data frame.

Then, at step <NUM>, the packet analyzer device <NUM> determines the bit length of the IQ sample from one of the detected compression header and the first and second parameters. In an example, where the presence of the compression header is detected in the data frame, the bit length (also referred to as bit width) of the IQ sample can be read or extracted from the compression header. As mentioned previously, the data frame is based on ORAN IQ data frame format as specified in the ORAN specifications, and accordingly, the compression header is present in the seventeenth octet of the data frame. In an example, where there is no compression header, the bit length of the IQ sample is calculated from the first and second parameters. In an example, since the bit length is between <NUM> - <NUM> bits, the bit length is determined by iteratively calculating a multiple of a counter (which is increased by <NUM> each iteration), <NUM> (for I and Q data), <NUM> (since there are <NUM> IQ samples per physical resource block), dividing the result by <NUM> (to convert the result into bytes and compare the final result to a division of the first parameter (indicative of payload length) by the second parameter (indicative of number of physical resource blocks). Accordingly, when the above condition is met, the value of the counter is reflective of the bit length of the IQ sample. Additionally, in certain cases, the IQ data may also include a compression parameter and accordingly, <NUM> byte is subtracted from the division of the first parameter by the second parameter prior to comparing the same with the value of the iteratively calculated multiple. This is illustrated using the logic provided below:
<IMG>.

Accordingly, using the above method <NUM>, the bitlength (also referred to as bit width) of the IQ sample of the first data frame may be determined automatically, without any manual intervention. The determined bitlength may be used in subsequent network analysis of the first data frame. In an example, the determined bit length may be used to check the configuration of the distributed unit and to verify if the bitlength as set in the configuration of the distributed unit matches with the bitlength as determined from the first data frame by the packet analyzer. Similarly, determined bit length may be used to check the configuration of the radio unit and to verify if the bitlength as set in the configuration of the radio unit matches with the bitlength as determined from the first data frame by the packet analyzer. In another example, based on the determined bit length, the actual I data and Q data (IQ data) may be parsed by the packet analyzer.

Based on the above method, the presence of compression parameter can be determined using the first and the second parameters as shown above. In an example, the value of the second parameter may not be reflective of the actual number of the physical resource blocks in the data frame. For example, in accordance with the ORAN specifications, when the number of physical resource blocks is greater than <NUM>, the value of the second parameter is set to zero (by either the distributed unit or the radio unit). Accordingly, the packet analyzer device checks if the value of the second parameter as determined from the first data frame is equal to zero (a predefined value). Then, if the value of the second parameter is zero, the packet analyzer device <NUM> modifies the value of the second parameter, based on the sub carrier spacing and the bandwidth frequency associated with the first data frame. In an example, the packet analyzer <NUM> includes a look up table comprising a list of number of physical resource block values index against values of sub carrier spacing and the bandwidth frequency. Accordingly, based on the sub carrier spacing and the bandwidth frequency, the packet analyzer <NUM> device determines a value of number of physical resource block. For example, when the bandwidth frequency is 100Mz and sub carrier spacing is <NUM>, the packet analyzer <NUM> device replaces the value of the second parameter with the value <NUM>.

It is to be noted that while the above method <NUM> is explained in relation to packet analyzer device <NUM>, the above method may be realized in another device or a plurality of devices. For example, the method <NUM> may be implemented in a network management device or a network analyzer which is configured to receive one or more data frames captured by a packet capture service. Accordingly, the present disclosure can take a form of a computer program product comprising program modules accessible from computer-usable or computer-readable medium storing program code for use by or in connection with one or more computers, processing units, or instruction execution system.

Accordingly, the current disclosure describes a packet analyzer device <NUM> as shown in <FIG>. The packet analyzer device <NUM> is capable of or configured to determine a bit length of an IQ sample associated with a first data frame. The packet analyzer device <NUM> comprises a network interface <NUM> capable of intercepting or capturing one or more data frames transmitted between a distributed unit and at least one radio unit. The packet analyzer device <NUM> further includes one or more processors <NUM> connected to a memory module <NUM>. The memory module <NUM> (also referred to as non-transitory storage medium <NUM>) includes a plurality of instructions which when executed on the one or more processors <NUM>, cause the one or more processors <NUM> to determine a first parameter associated with a payload length of the first data frame , determine a second parameter indicative of a number of physical resource blocks in the first data frame , detect a presence of a compression header based on the first and second parameters, and determine the bit length of the IQ sample from one of the detected compression header and the first and second parameters. The above-mentioned description in relation to method <NUM> applies to the determination of the bit length by the one or more processors <NUM> mentioned here.

In an example, the one or more processors <NUM> are further configured to determine a presence of compression parameter based on the first and the second parameters. In another example, the one or more processors <NUM> are configured to extracting a value of the bit length of the IQ sample from the compression header upon detecting the presence of the compression header. In another example, the one or more processors <NUM> are further configured to compare a value of the second parameter against a predefined value and modifying the value of the second parameter based on the comparison, wherein the value of the second parameter is modified based on the sub carrier spacing and the bandwidth frequency associated with the first data frame.

Claim 1:
A method (<NUM>) of determining a bit length of an in-phase and quadrature sample, i.e., an IQ sample, associated with a first data frame, the method (<NUM>) comprising:
capturing one or more data frames between a distributed unit and a radio unit by a packet analyzer, the bitlength of the IQ sample being unknown to the packet analyzer, the one or more data frames includes the first data frame,
a. determining (<NUM>) a first parameter associated with a payload length of the first data frame;
b. determining (<NUM>) a second parameter indicative of a number of physical resource blocks in the first data frame;
c. detecting (<NUM>) a presence of a compression header in the first data frame based on the first and second parameters by performing, by the packet analyzer, a modulo operation on the first parameter indicative of the payload size of the first data frame, using the second parameter indicative of the number of physical resource blocks in the first data frame, to check if the payload size is a multiple of the number of physical resource blocks; and
d. determining (<NUM>) the bit length of the IQ sample from the detected compression header and the first and second parameters, and wherein the determined bitlength of the IQ sample of the first data frame is used for checking a configuration of one of the distributed unit and the radio unit.