Large-Scale Antenna Systems (LSAS)—also called “Massive MIMO”, “Large-Scale MIMO”, or “Hyper MIMO”—uses large arrays of service-antennas to transmit selectively and simultaneously high-throughput beams of information to a multiplicity of users. Thus, LSAS is a candidate for providing high-definition television (HDTV) to many subscribers simultaneously. The usual form of LSAS assigns distinct up-link pilot sequences to each subscriber so that unique estimates for the propagation channel between the service-antennas and each terminal can be obtained. However, the maximum number of terminals that can be served by this scheme is limited by the maximum number of orthogonal pilot sequences that can be created during a coherence interval. For example, a mobility of 2 meters/second implies, at a carrier frequency of 1.9 GHz, a maximum coherence interval of 40 milliseconds. For a channel delay-spread of 5 microseconds, there is room for, at most, 8,000 orthogonal pilot sequences. However, because it is not as useful to spend more than half of the coherence interval on pilot transmission, a conventional system serves, at most, 4,000 subscribers simultaneously. Thus, conventional systems are not well suited for high-density areas, where it is desired to serve a relatively large number of subscribers at a same time.
At least one example embodiment relates to a method for supporting multicast.
According to at least one example embodiment, the method includes assigning a pilot sequence to each program from among a plurality of programs such that each program has a unique pilot sequence, and broadcasting the unique pilot sequences for the plurality of programs.
At least one embodiment relates to a method of multicast.
According to at least one example embodiment, a method includes receiving a composite pilot signal associated with a first set of subscriber units. The composite pilot signal may result from pilot sequences sent by the first set of subscriber units. The pilot sequences sent by the first set of subscriber units may be the same, apart from amplitude factors, and associated with a particular one of a plurality of programs. The method may further include determining a composite channel estimate based on the composite pilot signal and the assigned pilot sequence for the particular program. The method may also include transmitting the particular program based on the determined composite channel estimate.
At least one embodiment also related to a multicast unit.
According to at least one example embodiment, the multicast unit is configured to assign a pilot sequence to each program from among a plurality of programs such that each program has a unique pilot sequence, and the multicast unit is configured to broadcast the unique pilot sequences for the plurality of programs.
In another embodiment, the multicast unit is configured to receive a composite pilot signal associated with a first set of subscriber units. The composite pilot signal may result from pilot sequences sent by the first set of subscriber units. The pilot sequences sent by the first set of subscriber units may be the same, apart from amplitude factors, and associated with a particular one of a plurality of programs. The multicast unit may determine a composite channel estimate based on the composite pilot signal and the assigned pilot sequence for the particular program. The multicast unit may transmit the particular program based on the determined composite channel estimate.
Example embodiments will become more fully understood from the detailed description given herein below and the accompanying drawings, wherein like elements are represented by like reference numerals, which are given by way of illustration only and thus are not limiting of example embodiments.
Various example embodiments will now be described more fully with reference to the accompanying drawings in which some example embodiments are shown.
Detailed illustrative embodiments are disclosed herein. However, specific structural and functional details disclosed herein are merely representative for purposes of describing example embodiments. This invention may, however, be embodied in many alternate forms and should not be construed as limited to only the embodiments set forth herein.
Accordingly, while example embodiments are capable of various modifications and alternative forms, the embodiments are shown by way of example in the drawings and will be described herein in detail. It should be understood, however, that there is no intent to limit example embodiments to the particular forms disclosed. On the contrary, example embodiments are to cover all modifications, equivalents, and alternatives falling within the scope of this disclosure. Like numbers refer to like elements throughout the description of the figures.
Although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and similarly, a second element could be termed a first element, without departing from the scope of this disclosure. As used herein, the term “and/or,” includes any and all combinations of one or more of the associated listed items.
When an element is referred to as being “connected,” or coupled,” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. By contrast, when an element is referred to as being “directly connected,” or “directly coupled,” to another element, there are no intervening elements present. Other words used to describe the relationship between elements should be interpreted in a like fashion (e.g., “between,” versus “directly between,” “adjacent,” versus “directly adjacent,” etc.).
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used herein, the singular forms “a,” “an,” and “the,” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes,” and/or “including,” when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It should also be noted that in some alternative implementations, the functions/acts noted may occur out of the order noted in the figures. For example, two figures shown in succession may in fact be executed substantially concurrently or may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
Specific details are provided in the following description to provide a thorough understanding of example embodiments. However, it will be understood by one of ordinary skill in the art that example embodiments may be practiced without these specific details. For example, systems may be shown in block diagrams so as not to obscure the example embodiments in unnecessary detail. In other instances, well-known processes, structures and techniques may be shown without unnecessary detail in order to avoid obscuring example embodiments.
In the following description, illustrative embodiments will be described with reference to acts and symbolic representations of operations (e.g., in the form of flow charts, flow diagrams, data flow diagrams, structure diagrams, block diagrams, etc.) that may be implemented as program modules or functional processes include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types and may be implemented using existing hardware at existing network elements (e.g., base stations, base station controllers, NodeBs, eNodeBs, etc.). Such existing hardware may include one or more Central Processing Units (CPUs), digital signal processors (DSPs), application-specific-integrated-circuits, field programmable gate arrays (FPGAs) computers or the like.
Although a flow chart may describe the operations as a sequential process, many of the operations may be performed in parallel, concurrently or simultaneously. In addition, the order of the operations may be re-arranged. A process may be terminated when its operations are completed, but may also have additional steps not included in the figure. A process may correspond to a method, function, procedure, subroutine, subprogram, etc. When a process corresponds to a function, its termination may correspond to a return of the function to the calling function or the main function.
As disclosed herein, the term “storage medium” or “computer readable storage medium” may represent one or more devices for storing data, including read only memory (ROM), random access memory (RAM), magnetic RAM, core memory, magnetic disk storage mediums, optical storage mediums, flash memory devices and/or other tangible machine readable mediums for storing information. The term “computer-readable medium” may include, but is not limited to, portable or fixed storage devices, optical storage devices, and various other mediums capable of storing, containing or carrying instruction(s) and/or data.
Furthermore, example embodiments may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine or computer readable medium such as a computer readable storage medium. When implemented in software, a processor or processors will perform the necessary tasks.
A code segment may represent a procedure, function, subprogram, program, routine, subroutine, module, software package, class, or any combination of instructions, data structures or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.
The transmitting unit 152, receiving unit 154, memory unit 156, and processing unit 158 may send data to and/or receive data from one another using the data bus 159. The transmitting unit 152 is a device that includes hardware and any necessary software for transmitting wireless signals including, for example, data signals, control signals, and signal strength/quality information via one or more wireless connections to other network elements in a communications system.
The receiving unit 154 is a device that includes hardware and any necessary software for receiving wireless signals including, for example, data signals, control signals, and signal strength/quality information via one or more wireless connections to other network elements in a communications network. The transmitting unit 152 and the receiving unit 154 may employ any well-known LSAS architecture.
The memory unit 156 may be any device capable of storing data including magnetic storage, flash storage, etc.
The processing unit 158 may be any device capable of processing data including, for example, a microprocessor configured to carry out specific operations based on input data, or capable of executing instructions included in computer readable code. For example, it should be understood that the modifications and methods described below may be stored on the memory unit 156 and implemented by the processing unit 158 within multicast unit 151.
Further, it should be understood that the below modifications and methods may be carried out by one or more of the above described elements of the multicast unit 151. For example, the receiving unit 154 may carry out steps of “receiving,” “acquiring,” and the like; transmitting unit 152 may carry out steps of “transmitting,” “outputting,” and the like; processing unit 158 may carry out steps of “determining,” “generating”, “correlating,” “calculating,” and the like; and memory unit 156 may carry out steps of “storing,” “saving,” and the like.
In step S210, the multicast unit 151 assigns a unique pilot sequence to each program from among multiple programs (e.g., audio/video programs, etc.) of a service provider. For example, the multicast unit 151 assigns pilot sequences such that each program has a different pilot sequence compared to other programs of the service provider. The multicast unit 151 may assign the unique pilot sequences such that the unique pilot sequences are orthogonal to one another.
In step S220 of
According to at least one example embodiment, the multicast unit 151 may broadcast an anti-pilot pilot sequence for at least one of the unique pilot sequences. The anti-pilot sequence may have an amplitude factor and may have a sign opposite to that of the unique pilot sequence of the initial program. For example, the anti-pilot sequence may be an arithmetic opposite (i.e., algebraic opposite) of the unique pilot sequence for a particular program. The amplitude factor of the anti-pilot may be determined based on slow-fading coefficients known by the multicast unit 151.
The multicast unit 151 may broadcast the anti-pilot sequence or sequences in the same manner as described above in step S220 with respect to the pilot sequences. In one embodiment, however, an anti-pilot sequence is broadcast in response to a trigger (e.g. a request) from a subscriber unit.
Although step S220 has been described as being performed by the multicast unit 151, example embodiments are not limited thereto. For example, a central server may broadcast the unique pilot sequences for the programs to the subscriber units.
In step S310, the multicast unit 151 receives a composite pilot signal associated with a first set of subscribers. The composite pilot signal may result from pilot sequences sent by the first set of subscriber units. According to at least one example embodiment, the pilot sequences forming the composite pilot signal are the same for each subscriber unit in the first set, apart from amplitude factors, and are associated with one program from among a plurality of programs. Namely, the first set of subscriber units have each requested that same program, and send the same pilot sequence, but with potentially different amplitude factors. As will be appreciated, the multicast unit 151 may receive several such composite pilot signals, each associated with a different program. However, for ease of description, the processing associated with one composite pilot signal for a selected program.
In step S320, the multicast unit 151 determines a composite channel estimate. In general, a channel estimate may be a transfer function that characterizes a particular channel between a transmitter and a receiver. For example, the channel estimate may include channel state information (CSI) that describes the combined effects of scattering, fading, power decay over distance, etc. as a signal propagates over the channel between the transmitter and the receiver. As is well known in the art, channel estimates are used to adapt transmissions based on current channel conditions. The composite channel estimate may be a linear combination of channel estimates for the multiplicity of subscriber units who desire the same program. According to at least one example embodiment, the multicast unit 151 may determine, using any well-known manner of determining channel estimates, the composite channel estimate based on the composite pilot signal and the assigned pilot sequence for the selected program.
In step S330, the multicast unit 151 transmits the selected program based on the determined composite channel estimate. Concurrent with step S330, the multicast unit 151 may perform beam forming for transmitting the selected program using an array of transmit antennas In general, beam forming based on channel estimates is well known in the art. According to at least one example embodiment, however, multicast unit 151 performs the beam forming, in any well-known manner, using the composite channel estimate for the selected program.
While
In step S510, multicast unit receives a composite anti-pilot signal. The composite anti-pilot signal may result from anti-pilot sequences sent by subscriber units in the first set of subscriber units that no longer want to receive a particular program. According to at least one example embodiment, the anti-pilot sequences are the same, apart from amplitude factors, for each subscriber unit that desires to no longer receive the program. Further, the anti-pilot sequences may have an opposite sign or be an arithmetic opposite of the assigned pilot sequence for the program.
In step S520, the multicast unit 151 generates, in any well-known manner of generating channel estimates, an updated composite channel estimate for the program based on the composite channel estimate and the composite anti-pilot signal.
In any well-known manner, the multicast unit 151 generates an composite anti-channel estimate based on the composite anti-pilot signal and the assigned pilot sequence for the program. And, the multicast unit 151 generates the updated channel estimate based on the composite channel estimate and the composite anti-channel estimate. For example, the multicast unit 151 arithmetically combines (e.g., adds) the composite channel estimate and the composite anti-channel estimate. Accordingly, the updated composite channel estimate no longer takes into account those subscriber units that changed from the selected program to a different program or terminated receipt of the selected program.
In step S530, the multicast unit transmits the selected program based on the updated composite channel estimate. As a result of the multicast unit 151 performing steps S510-S530, one or more of the subscriber units in the first set no longer receive the selected program, but the subscriber units in the first set that did not terminate receipt of the selected program still receive the selected program.
In step S600, the multicast unit 151 receives a supplemental composite pilot signal. The supplemental composite pilot signal may results from pilot sequences sent by the second set of subscriber units. The pilot sequences sent by the second set of subscriber units may be the same, apart from amplitude factors, and may be associated with the selected program. The subscriber units or unit in the second set may be different from the first set of subscriber units described in
In step S610, the multicast unit 151 determines a supplemental composite channel estimate in the same manner as described above with respect to step S320 (e.g., in any well-known manner for determining channel estimates), and generates a new channel estimate.
For example, if a subset of the first set of subscriber units has already changed from the selected program, the multicast unit 151 determines the new composite channel estimate based on the updated composite channel estimate (from step S520) and the supplemental composite channel estimate. For example, the multicast unit 151 arithmetically combines (e.g., adds) the updated composite channel estimate and the supplemental composite channel estimate to obtain the new composite channel estimate. In another embodiment, if all of the first set of subscriber units are still receiving the selected program, the multicast unit 151 determines the new composite channel estimate based on the composite channel estimate from step S330 and the supplemental composite channel estimate. For example, the multicast unit 151 arithmetically combines (e.g., adds) the composite channel estimate and the supplemental composite channel estimate to obtain the new composite channel estimate.
The multicast unit 151 then, in step S620, transmits the program according to the new composite channel estimate in the same manner as discussed above with respect to step S340.
By way of further explanation, the operation of a multicast unit 151 according to one or more of the steps described in
According to a specific example of at least one example embodiment, unique orthogonal pilot sequences are assigned, not to subscriber units, but rather to each HDTV program that is available over a service provider's network. For example, in at least one example embodiment, an HDTV program (e.g., the “Muppets”) has an assigned unique pilot sequence. Every subscriber unit that wishes to watch the “Muppets” transmits that same pilot sequence, apart from amplitude factors, such that a multicast unit (e.g., a multicast LSAS service-antenna) receives a composite pilot signal. The multicast unit then generates one composite channel estimate for all of the subscriber units that want to receive the “Muppets”, which constitutes a linear combination of channel estimates to those same subscriber units. During the down-link transmission of data, a linear pre-coding (beam-forming) operation effectively transmits the “Muppets” data using the composite channel estimate, so that a fraction of the signal is selectively sent to each of the subscriber units that want the “Muppets.”
In conventional LSAS, the re-use of pilot sequences is avoided because of the “pilot contamination” effect, which creates directed interference. However, at least one example embodiment takes advantage of pilot contamination to send the same data to multiple subscriber units.
According to at least one example embodiment, subscriber units transmit new up-link pilot sequences at sufficient intervals to accommodate significant changes in the propagation channels. However, channel-changing also requires sending new up-link pilot sequences. A change of channels should occur rapidly (within about 250 milliseconds) to reduce an amount of time a subscriber waits for a new channel to appear after changing from an initial channel to a new channel. Therefore, according to at least one example embodiment, subscriber units may re-send their pilot sequences at intervals of about 250 milliseconds. Furthermore, if “anti-pilots” are employed as described above, then only the subscribers who are changing channels may transmit pilot signals at the shorter 250 millisecond interval. Here, the advantage is that uplink transmission resources of the subscriber units are conserved, typically permitting more time to be spent on downlink data transmission.
Suppose that subscriber number one has been watching the “Muppets”, but now wants to watch the “Rifleman.” To bring this about, subscriber number one may transmit two pilot sequences simultaneously. These two pilot sequences may be transmitted in synchronization with pilot signals from other subscriber units that also wish to change from the “Muppets” to the “Rifleman.” One of the pilot sequences contains the unique pilot sequence that is associated with “The Rifleman,” while the other pilot sequence contains an “anti-pilot” signal sequence associated with the “Muppets.”
According to at least one example embodiment, the anti-pilot sequence is an algebraic opposite (minus-one-times) of the unique pilot sequence for the “Muppets.” The multicast unit correlates the received pilot sequences with each unique pilot sequence of the two programs, and generates a composite channel estimate for “Rifleman” and a new composite channel estimate for “Muppets.” Then, the multicast unit algebraically adds the new “Muppets” composite channel estimate to the old “Muppets” composite channel estimate (recall that the old “Muppets” composite channel estimate is for the former “Muppets” recipients), which cancels-out the “Muppets” composite channel estimate to subscriber number one. The algebraic addition of the new “Rifleman” composite channel estimate to the old “Rifleman” composite channel estimate causes subscriber number one to now receive “The Rifleman.”
In order for cancellation of the “Muppets” composite channel estimate to occur, the amplitude of the composite anti-pilot signal should be carefully calculated. For example, the amplitude of the anti-pilot sequence may be calculated from known slow-fading coefficients.
At least one example embodiment also provides a mechanism for transmission power control on the uplink between subscriber units and multicast units. Inventive concepts relating to up-link power control are described in a general sense below with reference to
According to at least one example embodiment, the multicast unit 151 receives a request from the subscriber units (e.g., the first set of subscriber units). If the request is a request for the selected program, or a request to change from the selected program to a new program, then the multicast unit 151 informs the subscriber units to adjust a transmission power of the pilot sequences (e.g., the pilot sequences that make up the composite pilot signal from step S310) according to transmission attenuation factors associated with each subscriber unit. The transmission attenuation factors may include, but are not limited to, a distance between a subscriber unit and the multicast unit 151 and/or shadow fading. According to at least one example embodiment, the attenuation factors are based on signal characteristics (e.g., amplitude, phase, etc.) of each subscriber unit's uplink transmission to the multicast unit 151.
By way of further explanation, inventive concepts with respect to power control are described below with reference to the “Muppets” example.
Among the subscriber units that are receiving the “Muppets,” some will be close to the multicast unit, and others will be far away. However, it is still desirable to ensure that all of the subscribers receive the same quality signal. Power control on the uplink pilot transmissions may accomplish the desired effect.
For example, the near subscribers transmit a pilot sequence with a reduced power compared to the transmission power of the far subscribers. On the downlink, less transmission power is expended on the near subscribers than on the far subscribers such that the signal is received with the same quality by all of the subscribers. The power levels for uplink transmission may depend on the slow-fading coefficients (calculated from, for example, shadow fading), which can be estimated over periods of time much longer than the coherence interval.
The throughput gain of a scheme according to an example embodiment is approximately equal to the gain in savings on the reverse link pilot overhead:
where J is the number of multicast programs, T is the number of symbols in a coherence interval, and K is the total number of users.
An added advantage a scheme according to at least one example embodiment is that most of the subscribers do not transmit reverse link pilots with full power due to the reverse link power control, whereas in the conventional scheme (i.e., “distinct pilots per subscriber”), all the subscriber units transmit reverse link pilots with full power to achieve optimal channel estimations. Thus, a system according to at least one example embodiment also saves subscriber unit power.
Devices and/or methods for assigning unique pilot sequences to programs of a service provider in a multicast large scale antenna system (LSAS) have been described above. Advantages associated with the above described example embodiments include but are not limited to: allowing a relatively large number of subscribers to be simultaneously served by the system; reducing power consumption and time spent on the uplink transmission, which may allow more time to be spent on downlink transmission such that a high quality signal is provided to each subscriber; and reducing time spent waiting for the system to change channels.
Variations of the example embodiments are not to be regarded as a departure from the spirit and scope of the inventive concepts disclosed herein. All such variations as would be apparent to one skilled in the art are intended to be included within the scope of this disclosure.