When Are Downlink Pilots Needed?

Pilots are predefined reference signals that are transmitted to let the receiver estimate the channel. While many communication systems have pilot transmissions in both uplink and downlink, the canonical communication protocol in Massive MIMO only contains uplink pilots. In this blog post, I will explain when downlink pilots are needed and why we can omit them in Massive MIMO.

Consider the communication link between a single-antenna user and an M-antenna base station (BS). The channel vector $\mathbf{h} \in \mathbb{C}^M$ varies over time and frequency in a way that is often modeled as random fading. In each channel coherence blocks, the BS selects a precoding vector $\mathbf{w} \in \mathbb{C}^M$ and uses it for downlink transmission. The precoding reduces the multiantenna vector channel to an effective single-antenna scalar channel

    $$g = \mathbf{h}^{T} \mathbf{w}.$$

The receiving user does not need to know the full M-dimensional vectors $\mathbf{h}$ and $\mathbf{w}$. However, to decode the downlink data in a successful way, it needs to learn the complex scalar channel $g$. The difficulty in learning $g$ depends strongly on the mechanism of precoding selection. Two examples are considered below.

Codebook-based precoding

In this case, the BS tries out a set of different precoding vectors from a codebook (e.g., a grid of beams, as shown to the right) by sending one downlink pilot signal through each one of them. The user measures $g$ for each one of them and feeds back the index of the one that maximizes the channel gain |g|. The BS will then transmit data using that precoding vector. During the data transmission, $g \in \mathbb{C}$ can have any phase, but the user already knows the phase and can compensate for it in the decoding algorithm.

If multiple users are spatially multiplexed in the downlink, the BS might use another precoding vector than the one selected by the user. For example, regularized zero-forcing might be used to suppress interference. In that case, the magnitude |g| of the channel changes, but the phase remains the same. If phase-shift keying (PSK) is used for communication, such that no information is encoded in the signal amplitude, no estimation of |g| is needed for decoding (but it can help to reduce the error probability). If quadrature amplitude modulation (QAM) is used instead, the user needs to learn also |g| to decode the data. The unknown magnitude can be estimated blindly based on the received signals. Hence, no further pilot transmission is needed.

Reciprocity-based precoding

In this case, the user transmits a pilot signal in the uplink, which enables the BS to directly estimate the entire channel vector $\mathbf{h}$. For the sake of argument, suppose this estimation is perfect and that maximum ratio transmission with $\mathbf{w}=\mathbf{h}^*/\| \mathbf{h} \|$ is used for downlink data transmission. The effective channel gain will then be

    $$g = \mathbf{h}^{T} \frac{\mathbf{h}^*}{\| \mathbf{h} \|} = \| \mathbf{h} \|,$$

which is a positive scalar. Hence, the user only needs to learn the magnitude of  $g$ because the phase is always zero. Estimation of  |g| can be implemented without downlink pilots, either by relying on channel hardening or by blind estimation based on the received signals. The former only works well in Massive MIMO with very many antennas, while the latter can be done in any system (including codebook-based precoding).


We generally need to compensate for the channel’s phase-shift at some place in a wireless system. In codebook-based precoding, the compensation is done at the user-side, based on the received signals from the downlink pilots. This is the main approach in 4G systems, which is why downlink pilots are so commonly used. In contrast, when using reciprocity-based precoding, the phase-shifts are compensated for at the BS-side using the uplink pilots. In either case, explicit pilot signals are only needed in one direction: uplink or downlink. If the estimation is imperfect, there will be some remaining phase ambiguity, which can be estimated blindly since we know that it is small (i.e., of all possible phase-rotations that could have resulted in the received signal, the smallest one is most likely).

When we have access to TDD spectrum, we can choose between the two precoding methods mentioned above. The reciprocity-based approach is preferable in terms of less overhead signaling; one pilot per user instead of one per index in the codebook (the codebook size needs to grow with the number of antennas), and no feedback is needed. That is why this approach is taken in the canonical form of Massive MIMO.

21 thoughts on “When Are Downlink Pilots Needed?”

  1. Dear Prof. Björnson, I fully agree with your argumentation. However, an often asked question I got on the topic of massive MIMO TDD is the extension towards multiple antennas at the user side.
    In reciprocity-based precoding the user has to send an uplink pilot sequentially (in time) for each antenna in order to obtain the downlink channel at the BS.
    This maybe become a problem in mm-wave systems when both ends use many antennas.
    Do you also work on massive MIMO considering multiple antennas at the user side?

    1. I wrote a paper about this a few years ago:

      Xueru Li, Emil Björnson, Shidong Zhou, Jing Wang, “Massive MIMO with Multi-Antenna Users: When are Additional User Antennas Beneficial?,” Proceedings of International Conference on Telecommunications (ICT), Thessaloniki, Greece, May 2016. (http://arxiv.org/pdf/1603.09052)

      If the number of antennas is small, we could potentially assign multiple pilots per user to enable multiple data streams or coherent combining of the signals to/from the antennas. But if the user has a large number of antennas, we can probably not afford that. Using grid of beams at one side (or both sides) of the link could be a potential solution. This seems to be what 3GPP has in mind. But as far as I know, there is theory that support it begin the optimal way operating.

  2. Is there an application in Massive MIMO that code-book pre-coding is used? What metrics are applied to design a code book?

    1. Codebook-based precoding is supported in 5G as a complement to reciprocity-based precoding. Codebooks are needed in FDD mode, and it is also a convenient solution when having a hybrid or analog implementation. You can read the details about the 5G codebooks in books on the standard. I would guess that the codebooks contains a grid of beams that cover all angular directions of interest.

  3. Hi Dr. Bjornson,
    Thanks for your interesting and informative blog.
    Regarding the pilot transmission in uplink, I’m facing a difficulty.
    First, based on what is written in the literature, apparently all users simultaneously transmit pilots on the whole frequency band. Am I right? If this is true there might be a characteristic for the users which BS discriminates between them and estimates their channel and most probably their DoAs! (I’m not sure but probably the pilots are orthogonal in time domain! So there is probably some concerns regarding the synchronized receiving for the orthogonality to hold)
    I would be grateful if you provide us some details on the modulation of the pilots and how they are transmitted in Massive MIMO.

    Second, there is not a clear physical layer description for Massive MIMO signalling and data transmission. I don’t know the modulation for Massive MIMO, is it OFDM? Is it single carrier FDE?
    It would me much appreciated if you elaborate on this as well.

    Finally, regarding the length of pilot transmissions and the period on which the pilots are re-transmitted again. I recall a video by Dr Erik Larsson in which he explained the TDD frame structure and made some detailed description on the frame.
    I think it was as follows:
    “Downlink Data+DL pilot (which is unnecessary) + UL Pilot + UL Data”

    The question is how often the pilots are re-transmitted?
    Every coherence block ?
    And In case of receiving the pilots are we able to estimate the covariance matrix of the channel (any second-order statistics of the channel) or we need to use the estimate of the channel itself?

    I have studied the book of :
    “Fundamentals of Massive MIMO”, however the above ambiguities are remaining in my mind.

    It would be kind of you if you answer my detailed questions.

    With Best Regards,

    1. 1) The pilots are orthogonal “spreading sequences”, so one can say that the users are discriminated in the code domain. A special case of a spreading code is where the users transmit at different channel uses in the time domain.

      2) Massive MIMO is a general concept for how to communicate using many antennas. It can be utilized in practice using many different modulation schemes. Most papers consider a “block fading” model, where the time-frequency resources are divided into coherence blocks. As explained in Chapter 2 of “Fundamentals of Massive MIMO”, this can be implemented using OFDM. It is also OFDM that is considered in 4G and 5G, when Massive MIMO is implemented.

      3) They are transmitted once per coherence block. Since the channel takes one realization per coherence block, one can estimate the current channel using the received pilot. I you want to estimate the covariance matrix, then you need to utilize received pilots in many different coherence blocks.

  4. Hi Prof Emil
    I have one question regarding this statement.

    For example, regularized zero-forcing might be used to suppress interference. In that case, the magnitude |g| of the channel changes, but the phase remains the same. But how would the phase remain the same if g was equal to h^T*w during training and after RZF it would be h^T*p where p is a column of the precoding matrix and not equal w?

    1. If the phase of h^T*w and h^T*p are not the same, then you can simply rotate the phase of all the elements in p so that the phase becomes the same. The core idea is that the transmitter is free to pick the phase of the precoder and it can do it so that the receiver doesn’t have to estimate the phase of h^T*p. Note that rotating the phase of all the elements in p will not change the interference caused to other users.

  5. Hello. Professor Bjornson
    First, thank you for your informative blog.
    I should claim that i have been learning much about massive MIMO in this blog contents and also from the answers that receive from you in your blog.
    Second, i want to know that if the user in the massive MIMO system utilizes all subcarries so how many pilot does the user utilize for channel estimation? Knowing that all subcarriers have the bandwidth greater than coherence bandwidth.

    1. The subcarriers have a bandwidth that is smaller than the coherence bandwidth. A user needs one pilot per coherence block. So you can take the entire bandwidth that the user is using and divide by the coherence bandwidth. This will give you the number of coherence blocks over the frequency domain, which equals the number of pilots that need to be sent at the same time. However, the easiest thing is to learn what is done in one coherence block and then you know what happens in every block.

      1. Thank you for your answer.
        Can I reslut from your answer that an OFDM frame which compose of several OFDM symbols is divided to several coherence blocks and when we want to model a system which uses all subcarriers of a frame for a user, like massive MIMO, it is sufficient to write the system relations for only one coherence block.

        1. I cannot explain this better than what is already done in Chapter 2 of Fundamentals of Massive MIMO, which I referred to earlier.

  6. Hello Professor Bjornson.
    As always, thank you very much for giving attention to the question.
    According to Section 3 of your book, each BS should estimate the channels between itself and all active UEs in the network.
    I want to know that whether in practice, is it done like this or the BS only estimates the channels to UEs in its cell.
    Especially, I want to know that does the BS design its precoder based on the channel estimation of all UEs or only the UEs in its cell?

    1. This is up to the one who implements the BS to decide. Section 4 describes methods that only require the channels within the cell (MR, ZF, RZF, S-MMSE) and one method that requires the channel to users in all cells (M-MMSE).

      The precoding selection is not standardized in 3GPP, so there is no answer to what is done in practice. I would guess that MR and RZF are the methods that are being used in practical networks today, but future networks might use something different.

  7. Hi, Professor Bjornson.
    Thanks for your attention.
    I want to know, whether there should be a relation between the Rank of the channel covariance matrix and the vector space of the pilot vectors?
    Is it essential that the number of orthogonal pilots to be equal to the rank of the covariance martix of the channel.
    Note the we suppose the channel is zero mean complex guassian.

    1. No, these things are unrelated. It is enough with a single pilot to estimate the entire channel to a user, irrespective of the rank of the covariance matrix.

  8. Hello, Professor Bjornson.
    Thanks for your attention.
    Wishing to be safe and healthy.
    According to relation (3.1) of your book at section 3, the pilot sequences are transmitted as a vector. I want to know that whether we can transmit all a vector elements simultanously, in practice?
    I think the pilot symbols should be transmitted individually and continously in practice and in the receiver after receiving all pilot sequence we can do estimation precedure?
    Is this true?
    Thank you.

    1. Each sample of a pilot sequence must be transmitted at a different signal sample. As illustrated in Figure 2.2, these samples can either be separated in time or frequency.

  9. Hi Sir,

    Sorry for disturbing you.
    I will be grateful if you could give me some insights regarding channel estimation in massive MIMO system.
    It is mentioned in this post that “the canonical communication protocol in Massive MIMO only contains uplink pilots”. But in the case of a FDD based massive MIMO system, there will be a need for downlink pilots to enable UEs to estimate the channel and then feed it back the BS. In a such system, are there any books or resources explaining how the downlink pilot signals as well as the spectral nulls are inserted along each transmitting antenna?

    Thank you

    1. The methods for selecting the precoding is essentially the same in both TDD and FDD. It is different forms of regularized zero-forcing that one would like to utilize. The difficulty is to send downlink pilots and feed back information efficiently.

      Here are some papers on the topic of FDD MIMO:

      Multiuser MIMO Achievable Rates with Downlink Training and Channel State Feedback

      Downlink Training Techniques for FDD Massive MIMO Systems: Open-Loop and Closed-Loop Training with Memory

      If you want to learn how they implement this in the 5G standard, I think the following book can be useful: “Advanced Antenna Systems for 5G Network Deployments: Bridging the Gap Between Theory and Practice”

Leave a Reply

Your email address will not be published. Required fields are marked *