Patent Description:
In both Long Term Evolution (LTE) and Fifth Generation (<NUM>) standards, Multiple Input Multiple Output (MIMO) antenna technologies play an essential role in improving system capacity. It not only enhances the conventional point-to-point link, but also enables new types of links such as multiuser MIMO. A large family of MIMO techniques has been developed for various links and with various amounts of available channel state information in both LTE and <NUM>.

Channel State Information (CSI) at the network side is indispensable to fully exploit the potential of such complex multiple antennas techniques. In a Frequency Division Duplexing (FDD) system, the User Equipment (UE) provides the network side with quantized CSI through a feedback channel, which can occupy a significant portion of Uplink (UL) capacity. Fortunately, in a Time Division Duplexing (TDD) system, UL and Downlink (DL) channels are reciprocal, i.e., channel reciprocity holds. To be specific, in a cellular TDD system, the UL channel and the DL channel are the same. Channel reciprocity comes from the fact that propagation of electromagnetic wave is reversible, i.e., if the electromagnetic wave is arriving at point B from point A through a specific path, the electromagnetic wave emitted at point B can arrive at point A through the same path. The same traveling path suggests that path attenuation, delay, and phase offset are the same. In a wireless communication system, this implies that the channel from A to B is the same as the channel from B to A. Thus, in a TDD system, channel reciprocity can be used to reduce the feedback overhead. It is a promising direction of advanced MIMO techniques. When perfect CSI is available at the transmitter, linear precoding can be used to increase spectrum efficiency or enhance link reliability.

Assumption of perfect CSI at the transmitter is often unrealistic, however. In some practical systems, CSI is sent to the transmitter through a finite rate feedback channel. The receiver usually selects the best precoder from a codebook, which is designed in advance and stored at both the transmitter and the receiver. The index of the selected precoder (which may be a quantized precoder) is then sent to the transmitter through the feedback channel. The feedback would occupy a certain portion of the scarce UL resources, which decreases spectrum efficiency of UL transmissions. Since the capacity of the UL channel is limited, quantization error inevitably exists. Quantization error would degrade the gain of closed loop linear precoding.

To obtain UL CSI, UEs are scheduled to transmit pilot signals at predetermined times and using predetermined frequency tones. The base station then estimates the UL channel based on the received pilot signals. In commercial wireless communication systems, such as LTE, the UL pilot signal is called a Sounding Reference Signal (SRS). The SRS signal is transmitted periodically over a bandwidth indicated by the base station. If the SRS is not available, an alternative is to use a Demodulation Reference Signal (DMRS) as the UL pilot signal when PUSCH is transmitted.

After obtaining the estimated UL channel, the base station can use it to calculate the DL beam index as well as its corresponding precoding matrix (beamforming weights). Alternatively, the UE may estimate the beam index and report it to the base station with CSI reporting. Beamforming improves network coverage and cell-edge throughput by increasing the range of signals, improving signal gain, and reducing interference.

As discussed in the previous section, the existing solutions either obtain the beam index and its corresponding weights from the UE's feedback channel in an FDD system, or derive them from the UL pilot channel in a TDD system using channel reciprocal property. In both FDD and TDD systems, noise, interference, and other channel impairments can cause the obtained beam index to fluctuate and, as a result, the beam index may not be reliable, e.g., the beam index so obtained may not accurately reflect the channel condition. As a result, the system capacity may be reduced, e.g., because the network used a wrong beam index to do DL transmission which has lower channel quality than the correct beam index.

Document <CIT> discloses a technique to adaptively generate a parameter value for data transmission. Queue entries in a queue are updated. The queue is indexed by a parameter according to a transmission status of a current packet in a data stream. The current packet is transmitted using a current value of the parameter. A plurality of performance scores are calculated based on the queue entries. A best value of the parameter that corresponds to a best score in the plurality of performance scores is selected.

Document <CIT> discloses a computing device that maintains an input history in memory. This input history includes input strings that have been previously entered into the computing device. When the user begins entering characters of an input string, a predictive input engine is activated. The predictive input engine receives the input string and the input history to generate a candidate list of predictive inputs which are presented to the user. The user can select one of the inputs from the list, or otherwise continue entering characters. The computing device generates the candidate list by combining frequency and recency information of the matching strings from the input history. Additionally, the candidate list can be manipulated to present a variety of candidates.

Document <CIT> discloses a pre-<NUM>th-Generation (<NUM>) or <NUM> communication system to be provided for supporting higher data rates beyond <NUM>th-Generation (<NUM>) communication systems such as Long Term Evolution (LTE). An operating method for controlling interference between base stations in a wireless communication system includes determining at least one or more beam indexes of a first base station, receiving resource information of a second base station from the second base station, determining a frequency resource of the first base station based on the at least one or more beam indexes of the first base station and the resource information of the second base station, and communicating with a user equipment using information about the determined frequency resource of the first base station.

Document <CIT> discloses an apparatus comprising a determination section that determines adaptive modulation parameters used to transmit a transmission packet directed to a mobile station based on channel quality between the own station and said mobile station and QoS of said transmission packet. It stores data transmitted from a control station (RNC; Radio Network Controller) which is a higher-level station. The data has been stored in a queue corresponding to the mobile station to which that transmission data is directed and the priority class. This priority class is notified from the higher-level station concurrently with the transmission data and is, for example, a service class which is a classified QoS represented by a real-time characteristic of data.

In the enclosed embodiments, a new beam index filtering algorithm is proposed on top of the existing solutions, which can make the selection of beam index more robust and improve the system capacity.

According to the present disclosure, methods and base stations according to the independent claims are provided. Developments are set forth in the dependent claims.

Furthermore, the embodiments of the invention are those defined by the claims. Moreover, examples and embodiments, which are not covered by the claims are presented not as embodiments of the invention, but as background art or examples useful for understanding the invention.

Methods and systems for Long Term Evolution (LTE) and Fifth Generation (<NUM>) beam index filtering are presented. According to one aspect, a method for beam index filtering comprises receiving a beam index for a User Equipment (UE); storing the received beam index into a queue that stores N number of estimated beam indexes, N being greater than one; selecting a beam index from the queue according to a filtering algorithm; and using the selected beam index for transmissions to the UE. In one embodiment, a majority vote algorithm is employed to select the beam index that appears most often in the queue. Where there is a tie between two or more beam indexes, the beam index that was most recently added to the queue is selected. The same concepts may be applied to filter parameters other than beam indexes.

According to one aspect of the present disclosure, a method, performed in a base station in a telecommunications network, for beam index filtering, comprises: receiving an estimated beam index that was estimated based on information received from a UE; storing the received beam index into a queue of length N for storing received beam indexes, N being greater than one; selecting a beam index from the queue according to a filtering algorithm; and using the selected beam index for transmissions to the UE.

In some embodiments, storing the received beam index into a queue of length N for storing received beam indexes comprises storing the estimated beam index into a First-In, First-Out (FIFO) of length N.

In some embodiments, selecting the beam index comprises selecting the beam index that appears most often in the queue.

In some embodiments, selecting the beam index comprises determining that more than one beam index appears most often in the queue and selecting, from those beam indexes that appear most often in the queue, the beam index that was most recently added to the queue.

In some embodiments, each entry within the queue is assigned a corresponding weight, and selecting the beam index comprises: for each entry in the queue, determining the beam index value in that entry, and incrementing a count of the number of times that the beam index value has appeared in the queue during this selection step according to the corresponding weight for that entry; and after all entries in the queue have been processed, selecting the beam index with the highest count.

In some embodiments, incrementing the count comprises incrementing the count by a value corresponding to a weight assigned to the queue entry currently being processed.

In some embodiments, each queue entry has the same weight.

In some embodiments, at least one queue entry has a different weight than another queue entry.

In some embodiments, a newer queue entry has a higher weight than an older queue entry.

In some embodiments, the method further comprises modifying the weight assigned to at least one of the entries within the queue.

In some embodiments, modifying the weight assigned to at least one of the entries within the queue comprises dynamically modifying the weight based on channel conditions.

In some embodiments, dynamically modifying the weight based on channel conditions comprises dynamically modifying the weight based on movement of the UE.

In some embodiments, the method further comprises initializing the queue prior to storing the received beam index into the queue.

In some embodiments, initializing the queue comprises setting each queue entry to an initialization value.

In some embodiments, setting each queue entry to an initialization value comprises setting each queue entry to a value that is not a value beam index value and wherein the initialization values are ignored during the selection step.

In some embodiments, the method further comprises dynamically changing the length N of the queue based on channel conditions.

In some embodiments, dynamically changing the length N of the queue based on channel conditions comprises dynamically changing the length N of the queue based on movement of UE.

In some embodiments, receiving the beam index comprises receiving the beam index that was reported from the UE.

In some embodiments, receiving the beam index comprises receiving the beam index that was calculated by the base station based on signals received from the UE.

According to another aspect of the present disclosure, a base station configured to communicate with a UE comprises a radio interface and processing circuitry configured to perform the steps of any of the foregoing embodiments.

The subject matter of the present disclosure provides several advantages over conventional methods and systems. The use of a filter that uses a series of beam indexes estimated over a period of time produces a beam index selection that is less susceptible to transient interference and that more accurately follows long-term changes in channel conditions. The use of a filter makes the selection of beam index more robust and thus improves the system capacity, and also helps reduce fluctuations in the beam index, which is especially beneficial for over the air driving tests or other scenarios where the UE is in motion. In lab tests, this approach resulted in a <NUM>% improvement in DL cell throughput over existing solutions. In field tests, this approach resulted in a <NUM>% improvement in cell throughput compared to existing solutions. These improvements in performance were due in large part to a higher Modulation and Coding Scheme (MCS) index and a lower Block Error Rate (BLER) that resulted from proper selection of optimal beam indexes by the filtering algorithm. Moreover, for this solution, the computation complexity to select the best beam for transmission is relatively low, yet provides substantial improvements in performance.

Some examples of a radio access node include, but are not limited to, a base station (e.g., a New Radio (NR) Base Station (gNB) in a Third Generation Partnership Project (3GPP) Fifth Generation (<NUM>) NR network or an enhanced or evolved Node B (eNB) in a 3GPP Long Term Evolution (LTE) network), a high-power or macro base station, a low-power base station (e.g., a micro base station, a pico base station, a home eNB, or the like), and a relay node.

<FIG> illustrates an exemplary system for LTE and <NUM> beam index filtering according to some embodiments of the present disclosure. In the embodiment illustrated in <FIG>, a filter <NUM> includes an input data queue <NUM> and a data selection module <NUM>. In the embodiment illustrated in <FIG>, the filter <NUM> periodically receives beam indexes estimated by conventional means (such as where the base station estimates the beam index for a UE based on a received pilot signal, e.g., a Sounding Reference Signal (SRS) or a Demodulation Reference Signal (DMRS), or where the base station obtains a beam index from CSI reporting by a UE), stores the most recent N number of estimated beam indexes, selects a beam index based on a filtering algorithm, and outputs the selected beam index. The selected beam indexes periodically output by the filter <NUM> have been filtered to remove or reduce the effects of noise and interference on the estimation of beam indexes by conventional means.

In the embodiment illustrated in <FIG>, the filter <NUM> periodically receives a new input data value and stores the new input data value in the input data queue <NUM>. In one embodiment, the input data queue <NUM> may be a First-In, First-Out (FIFO) data queue, meaning that the N most recently received input data values move through the FIFO (from left to right in <FIG>) and the N+<NUM>st input data value is discarded. Although the embodiments illustrated in <FIG> and described herein receive and process estimated beam indexes, the same concepts may be applied to other types of data. Likewise, although the embodiment illustrated in <FIG> is for a value of N = <NUM>, other values of N are also contemplated. Moreover, as will be described in more detail below, in some embodiments the value of N used may be variable, e.g., the value of N used may dynamically change over time, such as in response to channel conditions, for example. In some embodiments, the filter <NUM> receives a series of estimated beam indexes that represent the same channel at different times. If the UE stays in the same location and the channel condition does not change (e.g., there is no noise), all of the estimated beam indexes would be the same value. On the other hand, if the UE is experiencing variable channel conditions (e.g., because the UE is moving or experiencing noise), the estimated beam indexes may be different. In this scenario, the filter tries to select the optimum beam index, which gives the best performance.

In the embodiment illustrated in <FIG>, N = <NUM>, and so the input data queue <NUM> has <NUM> queue slots labeled "queue slot <NUM>" through "queue slot <NUM>," which may be abbreviated as Q[<NUM>] through Q[<NUM>]. When a new estimated beam index is put into queue slot <NUM>, the previous value in queue slot <NUM> is moved into queue slot <NUM>, the previous value in queue slot <NUM> is moved into queue slot <NUM>, and so on, with the previous value of queue slot <NUM> moved into queue slot <NUM> and the previous value of queue slot <NUM> discarded.

The data selection module <NUM> takes as input at least some of the input data values stored in the input data queue <NUM> and uses them to calculate an output data value. In the embodiment illustrated in <FIG>, the data selection module <NUM> takes as input all N different input data values stored in the input data queue <NUM> and selects one of the stored values to be output as the output data value. In some embodiments, the data selection module <NUM> uses a "majority vote" algorithm, i.e., whichever input data value appears most often within the input data queue <NUM> is selected by the data selection module <NUM> to be the output data value. In some embodiments, if a set of two or more input data values are tied for the first place, the data selection module <NUM> will choose the input data value within the set that occurred most recently.

A filter that performs such a function is herein referred to as a "Median N filter. " In the embodiment illustrated in <FIG>, the Median N filter is used to filter the estimated beam indexes and thus make the selection of a beam index more robust and reduce the beam index fluctuation, especially for over the air driving tests. After obtaining the beam indexes that were generated based on the existing solutions, the beam indexes are filtered by the Median N filter, where N is the number of N most recently estimated beam indexes. The majority vote strategy is used by the Median N filter to select the best beam index for transmission.

Referring to the specific embodiment illustrated in <FIG>, for example, N = <NUM>, which means that the <NUM> most recently estimated beam indexes are stored. In the example illustrated in <FIG>, the input data queue <NUM> contains only three different data values: beam index <NUM> (IDX0), which shows up three times; beam index <NUM> (IDX1), which shows up five times; and beam index <NUM> (IDX5), which shows up one time. Using the majority vote algorithm, beam index <NUM> "wins," and so the data selection module <NUM> will select IDX1 as the selected beam index that is output by Median <NUM> filter algorithm.

The operation of the filter structure <NUM> illustrated in <FIG> will now be described using pseudo code. In some embodiments, there are three distinct events that should be handled: (a) system initialization, (b) the arrival of a new input data value, and (c) performance of the selection function to generate an output data value. These three events will now be described in turn.

At system initialization, which may also be referred to herein as "system setup," all N queue slots of the input data queue <NUM> are set to a value that is used to indicate that the slot contains invalid or uninitialized data. In one embodiment, for example, valid beam index values are integers from <NUM> to <NUM>, and so a value of "-<NUM>" may be used to indicate an uninitialized slot. The following is the pseudo code for this operation:
<IMG>.

Upon arrival of a new input data value (e.g., when a new estimated beam index value is obtained), the contents of the input data queue <NUM> are right shifted with Q[<NUM>] = Q[<NUM>], Q[<NUM>] = Q[<NUM>],. , Q[<NUM>] = Q[<NUM>], and the most recent estimated beam index is stored in Q[<NUM>]. The following is the pseudo code for this operation:
<IMG>.

When a Downlink (DL) data is to be scheduled for transmission, the data selection module <NUM> operates to select the best beam index for the DL transmission. In the embodiment illustrated in <FIG>, the data selection module <NUM> performs a majority vote algorithm to make this selection, i.e., the beam index value with the maximum number of the occurrences in the queue is selected. In case of a tie between two (or more) different beam index values, the more recent beam index value is selected. The following is the pseudo code for this operation:
<IMG>
<IMG>.

Thus, in <FIG>, a Median N filter design is used to select the best beam index filter: an input data queue <NUM> is used to store the most recent N estimated beam indexes and a data selection module <NUM> selects the best beam index using a majority vote algorithm.

In some embodiments, the length of the input data queue <NUM> may be modified, i.e., the value of N may dynamically change or be changed over time. In one embodiment, where the filter <NUM> operates to select a beam index, for example, the filter length N may be adjusted in response to detection of the speed of movement of the UE that is providing the channel feedback or other information. The speed of the UE may be derived from Doppler shift measurements, for example. In one embodiment, if it is determined that the UE is moving rapidly, the length of the input data queue <NUM> may be decreased (N is decreased) to improve the filter's responsiveness to actual, real changes in beam index. Likewise, if it determined that the UE is static or relatively static, the length of the input data queue <NUM> may be increased (N is increased) to improve the filter's ability to reject transient noise or interference. It should be noted that the length N of the input data queue <NUM> may be changed or changed over time for reasons other than detection of the speed of movement of a UE, including, but not limited to, changes in cell or channel conditions, a desire to change the filter's responsiveness and/or noise rejection characteristics, or other reasons.

In one embodiment, after obtaining the estimated beam indexes based on the existing solutions, the beam indexes are filtered using a filter algorithm that produces as an output a beam index to be used. In one embodiment, the estimated beam indexes are input into a Median N filter, where N is the number of N most recently estimated beam indexes. In one embodiment, a majority vote strategy is used by the Median N filter to select the best beam index, e.g., the beam index that occurs most often within the N samples is the beam index that is selected for use. In one embodiment, the algorithm is implemented in a sliding window fashion, e.g., where only the latest N estimated beam index values are used.

In the examples above, a majority vote algorithm is used to select a beam index. This algorithm may be implemented using integer values, i.e., without using real numbers or floating point operations, and can be very fast due to the low computational complexity and small resource footprint. However, other algorithms may be used instead. For example, the filter <NUM> may employ an Infinite Impulse Response (IIR) filter instead of a majority vote algorithm, but IIR uses real (not integer) values, which results in higher computational complexity and/or a larger resource footprint.

<FIG> illustrates another exemplary system of LTE and <NUM> beam index filtering according to some embodiments of the present disclosure. In the embodiment illustrated in <FIG>, the data selection module <NUM> may employ a weighted majority vote algorithm, e.g., where each of the estimated beam indexes stored in the filtering queue has a corresponding weight, ω, depending on its entry location. The weight assigned to the queue entry will be used for calculating the beam index count value by the data selection module <NUM>. In some embodiments, the most recently received input data values are given a higher weight than the least recently received input data values, e.g., ω0 > ω1 >. These embodiments have the benefit that careful selection of weights may naturally prevent the occurrence of a tie between two or more values. Such algorithms may require real numbers, i.e., floating point calculations. A fixed point calculation can also be used if the weights are carefully designed.

The following is the Pseudo code for this operation:
<IMG>
<IMG>.

In some embodiments, one or more of the weights may be dynamically modified over time, and may be modified in response to changing channel conditions, e.g., due to noise, movement of the UE, or other activity or phenomena that may be occurring. In one embodiment, for example, it may be determined that more recently received beam indexes are beginning to suffer higher than usual levels of variability compared to less recently received beam indexes. This can be an indicator of a recent increase in noise or other interference compared to less recently received beam indexes. In such cases, the weights of the more recently received beam indexes may be decreased in order that the noisy data is less likely to erroneously skew the filter output.

In another embodiment, if a UE is detected to be moving fast, the weights associated with the more recent received beam indexes may be increased in recognition that the more recent beam indexes are more likely to provide an accurate indication of the UE's location compared to older beam indexes. Similarly, the weights associated with the older beam indexes may be reduced. Likewise, then the UE is not moving at all, each entry in the queue may be assigned equal weights.

In some embodiments, both the length N of the input queue and the weights assigned to the queue entries may be changed. For example, in some embodiments, the length N of the input queue and the weights assigned to each respective queue entry may be dynamically changed based on UE movement or other UE condition as well as based on network conditions, external factors, policy factors, or for other reasons.

For some types of data, such as in the case of a beam index, the value selected should be one of the discrete values that were received as input - i.e., the input data selection module <NUM> should not calculate an average or perform any other mathematical interpolation or extrapolation. However, for other types of data, such mathematical calculations may be appropriate or beneficial; thus, in other embodiments, the filter <NUM> may perform a different kind of selection function, such as choosing a discrete value that most closely corresponds to the running average of the data stored in the input data queue <NUM>, for example, or a calculation rather than a selection.

Although the examples described herein involve DL transmissions, the proposed methodology may also be applied to Uplink (UL) transmissions or in any application in which input data is susceptible to noise and would benefit from the filtering techniques described herein. Although some of the examples described herein use a queue of length <NUM> (i.e., N = <NUM>), other queue lengths may be used. Although some of the examples described herein involve input data having only one of eight possible values, the same principles may be applied in scenarios where input data can have different numbers of possible values, or can have an infinite number of possible values, etc..

<FIG> is a flow chart illustrating an exemplary process for LTE and <NUM> beam index filtering according to some embodiments of the present disclosure. This process will be now described with reference to <FIG> and <FIG>. In the embodiment illustrated in <FIG>, the process is as follows:.

At step <NUM>, an initialization step is performed, during which the data structures used for storing N different input data values is cleared, set to an initial value, or otherwise initialized. In the filter <NUM> illustrated in <FIG>, the input data queue <NUM> is initialized, e.g., the contents of the queue are cleared or set to some initial or default value. Other initialization steps may be performed in addition to or instead of the steps described above. In some embodiments, this initialization step <NUM> may be skipped or omitted entirely.

At step <NUM>, an input data value is received. In some embodiments, the filter <NUM> receives an estimated beam index. In some embodiments, the estimated beam index was generated via conventional means.

At step <NUM>, the received input value is stored into an input data queue that stores N different input data values, such as the input data queue <NUM> in <FIG>. In some embodiments, the input data queue <NUM> operates as a FIFO.

At step <NUM>, a data selection function is performed using data stored in the input data queue. In some embodiments, the data selection function is performed by the data selection module <NUM>. In some embodiments, the data selection function employs a majority vote algorithm that selects as the output value whichever input value occurred the most often in the input data queue <NUM>. In some embodiments, the data selection function performed by the data selection module <NUM> ignores queue slots that contain the initial or default value and thus only considers data within queue slots that contain input data values that have been received and stored to the input data queue <NUM>. In some embodiments, the data selection function operates to select one of the input data values as the data value to be output. In some embodiments, the data values stored within the input data queue <NUM> may be weighted, e.g., multiplied or scaled with weighting factors, as part of the data selection function. In some embodiments, the data value output by the data selection function is the unweighted data value, i.e., the weighted values are used to select an unweighted value to be output.

At step <NUM>, the selected data value is output. The flow then returns to step <NUM>, where the process waits until the next input data value is received, after which it performs steps <NUM>, <NUM>, and <NUM> and again returns to step <NUM> and waits. In some embodiments, an initialization trigger event will cause the flow to immediately go to initialization step <NUM> and continue from there.

<FIG> is a flow chart illustrating an exemplary process for data input filtering according to some embodiments of the present disclosure. This generic process may be used to filter any type of input data, including estimated beam indexes, parameters, or other data types and values. In the embodiment illustrated in <FIG>, the process is as follows:.

At step <NUM>, an initialization step is performed, during which the data structures used for storing N different input data values is cleared, set to an initial value, or otherwise initialized. Other initialization steps may be performed in addition to or instead of the steps described above. In some embodiments, this initialization step <NUM> may be skipped or omitted entirely.

At step <NUM>, an input data value is received. In some embodiments, the input data comprises a parameter or other data that will be used for communication with a UE. In some embodiments, the parameter or other data is generated or estimated based on information received from or associated with the UE. In some embodiments, the parameter or other data is related to a condition of the UE, a condition of the network in which the UE is operating, and/or a condition of a communication channel between the UE and the network in which the UE is operating. The concepts described herein may likewise be applied to other types of data.

At step <NUM>, the received input value is stored into an input data queue that stores N different input data values (N > <NUM>), such as input data queue of length N. In some embodiments, the input data queue operates as a FIFO. In some embodiments, the input data queue stores data values for the same data item (e.g., a parameter, a measured value, etc.) but taken, received, or measured at different points in time. In these embodiments, the input data queue can be considered to be storing a running log (or historical record) of the same data item over a period of time.

At step <NUM>, a filtered input data value is calculated based on a content (or contents) of the input data queue according to a filtering algorithm. In some embodiments, the filtering algorithm comprises a data selection function. In some embodiments, the data selection function is performed by a data selection module. In some embodiments, the data selection function employs a majority vote algorithm that selects as the output value whichever input value occurred the most often in the input data queue. In some embodiments, the data selection function ignores queue slots that contain the initial or default value and thus only considers data within queue slots that contain input data values that have been received and stored to the input data queue. In some embodiments, the data selection function operates to select one of the input data values as the data value to be output. In some embodiments, the data values stored within the input data queue may be weighted, e.g., multiplied or scaled with weighting factors, as part of the data selection function.

In some embodiments, the data value output by the data selection function is the unweighted data value, i.e., the weighted values are used to select an unweighted value to be output. In some embodiments, the filtering algorithm comprises a mathematical function that uses the contents of the queue as inputs to the mathematical function. Examples of mathematical functions used by the filtering algorithm include, but are not limited to, calculation of an average or a weighted average of the data values present within the queue, calculation of a trend over time of the data values present within the queue, and/or identifying and excluding outliers of the data values present within the queue.

At step <NUM>, the filtered data value is used for communications with a UE. In some embodiments, the data value being filtered comprises a parameter for communications with the UE. The flow then returns to step <NUM>, where the process waits until the next input data value is received, after which it performs steps <NUM>, <NUM>, and <NUM> and again returns to step <NUM> and waits. In some embodiments, an initialization trigger event will cause the flow to immediately go to initialization step <NUM> and continue from there.

<FIG> illustrates one example of a cellular communications network <NUM> according to some embodiments of the present disclosure. In the embodiments described herein, the cellular communications network <NUM> is a <NUM> NR network. In this example, the cellular communications network <NUM> includes base stations <NUM>-<NUM> and <NUM>-<NUM>, which in LTE are referred to as eNBs and in <NUM> NR are referred to as gNBs, controlling corresponding macro cells <NUM>-<NUM> and <NUM>-<NUM>. The base stations <NUM>-<NUM> and <NUM>-<NUM> are generally referred to herein collectively as base stations <NUM> and individually as base station <NUM>. Likewise, the macro cells <NUM>-<NUM> and <NUM>-<NUM> are generally referred to herein collectively as macro cells <NUM> and individually as macro cell <NUM>. The cellular communications network <NUM> may also include a number of low power nodes <NUM>-<NUM> through <NUM>-<NUM> controlling corresponding small cells <NUM>-<NUM> through <NUM>-<NUM>. The low power nodes <NUM>-<NUM> through <NUM>-<NUM> can be small base stations (such as pico or femto base stations) or Remote Radio Heads (RRHs), or the like. Notably, while not illustrated, one or more of the small cells <NUM>-<NUM> through <NUM>-<NUM> may alternatively be provided by the base stations <NUM>. The low power nodes <NUM>-<NUM> through <NUM>-<NUM> are generally referred to herein collectively as low power nodes <NUM> and individually as low power node <NUM>. Likewise, the small cells <NUM>-<NUM> through <NUM>-<NUM> are generally referred to herein collectively as small cells <NUM> and individually as small cell <NUM>. The base stations <NUM> (and optionally the low power nodes <NUM>) are connected to a core network <NUM>.

<FIG> is a schematic block diagram of a radio access node <NUM> according to some embodiments of the present disclosure. The radio access node <NUM> may be, for example, a base station <NUM> or <NUM>. As illustrated, the radio access node <NUM> includes a control system <NUM> that includes one or more processors <NUM> (e.g., Central Processing Units (CPUs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), and/or the like), memory <NUM>, and a network interface <NUM>. The one or more processors <NUM> are also referred to herein as processing circuitry. In addition, the radio access node <NUM> includes one or more radio units <NUM> that each includes one or more transmitters <NUM> and one or more receivers <NUM> coupled to one or more antennas <NUM>. The radio units <NUM> may be referred to or be part of radio interface circuitry. In some embodiments, the radio unit(s) <NUM> is external to the control system <NUM> and connected to the control system <NUM> via, e.g., a wired connection (e.g., an optical cable). However, in some other embodiments, the radio unit(s) <NUM> and potentially the antenna(s) <NUM> are integrated together with the control system <NUM>. The one or more processors <NUM> operate to provide one or more functions of a radio access node <NUM> as described herein. In some embodiments, the function(s) are implemented in software that is stored, e.g., in the memory <NUM> and executed by the one or more processors <NUM>.

As used herein, a "virtualized" radio access node is an implementation of the radio access node <NUM> in which at least a portion of the functionality of the radio access node <NUM> is implemented as a virtual component(s) (e.g., via a virtual machine(s) executing on a physical processing node(s) in a network(s)). As illustrated, in this example, the radio access node <NUM> includes the control system <NUM> that includes the one or more processors <NUM> (e.g., CPUs, ASICs, FPGAs, and/or the like), the memory <NUM>, and the network interface <NUM> and the one or more radio units <NUM> that each includes the one or more transmitters <NUM> and the one or more receivers <NUM> coupled to the one or more antennas <NUM>, as described above. The control system <NUM> is connected to the radio unit(s) <NUM> via, for example, an optical cable or the like. The control system <NUM> is connected to one or more processing nodes <NUM> coupled to or included as part of a network(s) <NUM> via the network interface <NUM>. Each processing node <NUM> includes one or more processors <NUM> (e.g., CPUs, ASICs, FPGAs, and/or the like), memory <NUM>, and a network interface <NUM>.

In this example, functions <NUM> of the radio access node <NUM> described herein are implemented at the one or more processing nodes <NUM> or distributed across the control system <NUM> and the one or more processing nodes <NUM> in any desired manner. In some particular embodiments, some or all of the functions <NUM> of the radio access node <NUM> described herein are implemented as virtual components executed by one or more virtual machines implemented in a virtual environment(s) hosted by the processing node(s) <NUM>. As will be appreciated by one of ordinary skill in the art, additional signaling or communication between the processing node(s) <NUM> and the control system <NUM> is used in order to carry out at least some of the desired functions <NUM>. Notably, in some embodiments, the control system <NUM> may not be included, in which case the radio unit(s) <NUM> communicate directly with the processing node(s) <NUM> via an appropriate network interface(s).

<FIG> is a schematic block diagram of a UE <NUM> according to some embodiments of the present disclosure. As illustrated, the UE <NUM> includes one or more processors <NUM> (e.g., CPUs, ASICs, FPGAs, and/or the like), memory <NUM>, and one or more transceivers <NUM> each including one or more transmitters <NUM> and one or more receivers <NUM> coupled to one or more antennas <NUM>. The transceiver(s) <NUM> includes radio-front end circuitry connected to the antenna(s) <NUM> that is configured to condition signals communicated between the antenna(s) <NUM> and the processor(s) <NUM>, as will be appreciated by on of ordinary skill in the art. The processors <NUM> are also referred to herein as processing circuitry. The transceivers <NUM> are also referred to herein as radio circuitry. In some embodiments, the functionality of the UE <NUM> described above may be fully or partially implemented in software that is, e.g., stored in the memory <NUM> and executed by the processor(s) <NUM>. Note that the UE <NUM> may include additional components not illustrated in <FIG> such as, e.g., one or more user interface components (e.g., an input/output interface including a display, buttons, a touch screen, a microphone, a speaker(s), and/or the like and/or any other components for allowing input of information into the UE <NUM> and/or allowing output of information from the UE <NUM>), a power supply (e.g., a battery and associated power circuitry), etc..

<FIG> illustrates a telecommunication network connected via an intermediate network to a host computer in accordance with some embodiments of the present disclosure. With reference to <FIG>, in accordance with an embodiment, a communication system includes a telecommunication network <NUM>, such as a 3GPP-type cellular network, which comprises an access network <NUM>, such as a RAN, and a core network <NUM>. The access network <NUM> comprises a plurality of base stations 1006A, 1006B, 1006C, such as NBs, eNBs, gNBs, or other types of wireless Access Points (APs), each defining a corresponding coverage area 1008A, 1008B, 1008C. Each base station 1006A, 1006B, 1006C is connectable to the core network <NUM> over a wired or wireless connection <NUM>. A first UE <NUM> located in coverage area 1008C is configured to wirelessly connect to, or be paged by, the corresponding base station 1006C. A second UE <NUM> in coverage area 1008A is wirelessly connectable to the corresponding base station 1006A.

The OTT connection <NUM> may be transparent in the sense that the participating communication devices through which the OTT connection <NUM> passes are unaware of routing of UL and DL communications. For example, the base station <NUM> may not or need not be informed about the past routing of an incoming DL communication with data originating from the host computer <NUM> to be forwarded (e.g., handed over) to a connected UE <NUM>. Similarly, the base station <NUM> need not be aware of the future routing of an outgoing UL communication originating from the UE <NUM> towards the host computer <NUM>.

<FIG> is a generalized block diagram of a host computer communicating via a base station with a UE over a partially wireless connection in accordance with some embodiments of the present disclosure.

It is noted that the host computer <NUM>, the base station <NUM>, and the UE <NUM> illustrated in <FIG> may be similar or identical to the host computer <NUM>, one of the base stations 1006A, 1006B, 1006C, and one of the UEs <NUM>, <NUM> of <FIG>, respectively.

The wireless connection <NUM> between the UE <NUM> and the base station <NUM> is in accordance with the teachings of the embodiments described throughout this disclosure. One or more of the various embodiments improve the performance of OTT services provided to the UE <NUM> using the OTT connection <NUM>, in which the wireless connection <NUM> forms the last segment. More precisely, the teachings of these embodiments may improve the selection of a beam index in LTE and <NUM> systems and thereby provide benefits such as improved communication performance to UEs in general and especially to UEs that are highly mobile and/or that are operating in environments with significant noise or other types of interference.

In certain embodiments, measurements may involve proprietary UE signaling facilitating the host computer's <NUM> measurements of throughput, propagation times, latency, and the like.

These functional units may be implemented via processing circuitry, which may include one or more microprocessor or microcontrollers, as well as other digital hardware, which may include Digital Signal Processors (DSPs), special-purpose digital logic, and the like.

Claim 1:
A method, performed in a base station (<NUM>, <NUM>) in a telecommunications network (<NUM>), for beam index filtering, the method comprising:
receiving (<NUM>) a beam index for a User Equipment, UE (<NUM>, <NUM>);
storing (<NUM>) the received beam index into a queue of length N for storing received beam indexes, N being greater than one;
selecting (<NUM>) a beam index from the queue according to a filtering algorithm; and
using (<NUM>) the selected beam index for transmissions to the UE.