What is the Difference Between Beamforming and Precoding?

I’ve got an email with this question last week. There is not one but many possible answers to this question, so I figured that I write a blog post about it.

One answer is that beamforming and precoding are two words for exactly the same thing, namely to use an antenna array to transmit one or multiple spatially directive signals.

Another answer is that beamforming can be divided into two categories: analog and digital beamforming. In the former category, the same signal is fed to each antenna and then analog phase-shifters are used to steer the signal emitted by the array. This is what a phased array would do. In the latter category, different signals are designed for each antenna in the digital domain. This allows for greater flexibility since one can assign different powers and phases to different antennas and also to different parts of the frequency bands (e.g., subcarriers). This makes digital beamforming particularly desirable for spatial multiplexing, where we want to transmit a superposition of signals, each with a separate directivity. It is also beneficial when having a wide bandwidth because with fixed phases the signal will get a different directivity in different parts of the band. The second answer to the question is that precoding is equivalent to digital beamforming. Some people only mean analog beamforming when they say beamforming, while others use the terminology for both categories.

Analog beamforming uses phase-shifters to send the same signal from multiple antennas but with different phases. Digital beamforming designs different signals for each antennas in the digital baseband. Precoding is sometimes said to be equivalent to digital beamforming.

A third answer is that beamforming refers to a single-user transmission with one data stream, such that the transmitted signal consists of one main-lobe and some undesired side-lobes. In contrast, precoding refers to the superposition of multiple beams for spatial multiplexing of several data streams.

A fourth answer is that beamforming refers to the formation of a beam in a particular angular direction, while precoding refers to any type of transmission from an antenna array. This definition essentially limits the use of beamforming to line-of-sight (LoS) communications, because when transmitting to a non-line-of-sight (NLoS) user, the transmitted signal might not have a clear angular directivity. The emitted signal is instead matched to the multipath propagation so that the multipath components that reach the user add constructively.

A fifth answer is that precoding consists of two parts: choosing the directivity (beamforming) and choosing the transmit power (power allocation).

I used to use the word beamforming in its widest meaning (i.e., the first answer), as can be seen in my first book on the topic. However, I have since noticed that some people have a more narrow or specific interpretation of beamforming. Therefore, I nowadays prefer only talking about precoding. In Massive MIMO, I think that precoding is the right word to use since what I advocate is a fully digital implementation, where the phases and powers can be jointly designed to achieve high capacity through spatial multiplexing of many users, in both NLoS and LOS scenarios.

89 thoughts on “What is the Difference Between Beamforming and Precoding?”

    1. Yes, that is what I meant. You are right that it is important to say this explicitly when dealing with multi-antenna communications. I have updated the text. Thank you!

  1. I think “Massive Precoding” would make more sense as “Precoding” is well known already in classical MIMO. By classical MIMO I mean non-massive MIMO.

  2. Maybe a pseudo sixth answer is that precoding can be viewed as beamforming in the eigen direction of the channel rather than in any physical angular direction! However, in the TDD based massive MIMO with fewer resolvable paths (say mmWave) is it possible to set the downlink precoder as the steering matrix containing the angles of arrival estimated in the uplink? In that case, I think, the precoder maximizing the achievable rate and ‘conventional’ beamformer become similar!

    1. You are right, eigenbeamforming is a terminology that is being used even when the eigenvector does not correspond to correspond to a physical direction.

      If there is only a small number of resolvable paths, I think that the optimal precoder will be a linear combination of the steering vectors for the angles of arrivals of these paths. If the angles are all similar, the resulting beam will be almost as the steering vector of one of the angles. If the angles are very different, none of the steering vectors will be a good match.

      1. Just curious if there is a physical description of ‘eigen-direction of the channel’? Assuming an N-by-K complex channel matrix H contains gains and phase shifts per transmit-receive antenna, how the ‘channel direction’ information is embedded in H and what it actually means.

        1. I discourage from talking about eigen-directions of multiuser MIMO channels. It will just lead to confusion. (The terminology is more appropriate for point-to-point MIMO channels.)

  3. With analog beamforming, changing the phase of each antenna will create a specific antenna pattern pointing to a certain direction. I am wondering if the same happens with digital beamforming?

    1. Any analog beamforming can be implemented by digital beamforming, but the opposite is not true.

      With digital beamforming you can create antenna patterns that are not achievable with analog beamforming. It will basically be a superposition of any number of analog beams, resulting in an antenna pattern that might not have a distinct direction. For example, it can be tailored to a user channel to provide a strong signal in a non-line-of-sight situation (with many multipath components in different directions). In addition to that, you can assign different antenna patterns to different parts of the frequency spectrum, while analog beamforming must assign the same phases to the entire frequency band.

      1. Can you explain how the system detects multipath and forms its beam to better reach the receptor?
        Does the receptor need to send a sortof carrier signal so the transmitter can replicate how it’s been transformed by the multiple bounces?

        1. Yes, that is basically what is done. The transmitter sends a known signal (called a pilot) and the receiver analyzes the received signal. Since the transmitted signal is known, it can determine how the channel filtered it. It is not necessary to untangle all the multipath components but the important thing is to learn their joint effect.

      2. Dear Prof. Emil Björnson.

        Thanks for the great explanation.

        You said, it can be tailored to a user channel to provide a strong signal in a non-line-of-sight situation (with many multipath components in different directions).
        However, if we don’t have enough multipath components (in NLoS), will it affect the performance of digital beamforming

        1. Here is a simple description: The NLOS channel will consist of multiple paths. Digital beamforming can be adapted to all of them, while analog beamforming must choose one to be adapted to.

          The fewer paths there are, the smaller the difference will be between digital and analog beamforming.

          1. Thank you professor for this insight “Digital beamforming can be adapted to all of them, while analog beamforming must choose one to be adapted to. The fewer paths there are, the smaller the difference will be between digital and analog beamforming”. I totally agree with you.

      3. Hi Emil,
        If we design a perfect precoding, it can create any number of beams at the same time.
        (serving any number of user with perfect SINR.)
        Is it right?

        1. I’m not sure how you define “perfect precoding”.

          Yes, the transmitter can transmit a superposition of any number of beams. However, the beams are not lasers but have a beamwidth determined by the aperture. If you try to send more beams than you have antennas, they will overlap in space to a large extent.

          A main idea of Massive MIMO (having many more antennas than users) is to send fewer beams than you have antennas so that they won’t overlap an therefore the interference can be made small.

          1. I really appreciate your comment.
            My thought is that digital beamforming doesn’t create a physical beam (still omni-direction) but cancels the others UE’s interferences at same time through precoding. Then perfect precoding means BS can serve infinite users because we can cancel any interference.

            And why is number of beams limited by number of antennas?

          2. No, this is not how it works. Digital beamforming is a digital implementation of analog beamforming, which gives you the opportunity to send many beams at the same time.

            The number of beams is not limited, but the angular width of each beam is limited by the number of antennas (the aperture of the array). So if you generate too many beams, they will be overlapping and then the interference is high.

  4. I wonder that how can we get different directivity in different parts of the bands when phases of the signals are fixed?
    Please, explain in more detail.

    1. That is not possible and this is one of the key limitations of analog beamforming. If you have a strongly frequency-selective channel (e.g., non-line-of-sight propagation) you need different directivity in different parts of the band, which can be achieved by digital beamforming but not by analog beamforming.

  5. Professor Bjornson – I really enjoy your Youtube videos immensely. Since I’m new to learning about massive MIMO, can you simply tell me the most practical multiplier over the current LTE spectral efficiency with Massive MIMO? I’ve read multipliers up to and beyond 50. But looking for something practical that can be implemented. Also, and equally important, how much more of a mulitiplier does beamforming add to the MIMO mutlplier? I’m looking for X and Y below — SE with mMIMO and beamforming =(1.8 b/s/Hz)X(maximum practical MIMO multiplier below 6 GHz {assume 100 antenna elements}) X (beamforming multiplier). Thank you very much!

  6. Professor Bjornson thank you for this blog. I have a basic question to verify that I understood well. So if we consider ZF in massive MIMO for exemple serving simultaneously 10 users with M = 100 Tx antennas. The ZF beamformer at Tx will send signal corresponding to the different Rx users and also nulls from other antennas? The shaped beam for each user should contain the power in the estimated eigendirection and nulls I suppose from other antennas in the array?

    1. Each channel from the 100 TX antennas to one of the Rx users is represented by a 100-length vector. When transmitting to user 1, you find a beamforming direction (i.e., a vectors) that is orthogonal to the channels of user 2,…,10, but as parallel to the channel of user 1 as is possible under the orthogonality constraint. When you have done this for every user, you take each user’s beamforming vector multiply it with the intended signal of that user and add it all up. As a consequence, every antenna sends a combination of the signals from all the users.

      I’m not sure what you mean with “eigendirections” since this word has many different meanings in the literature, but it is not important here.

      For more details, you can check out my article:

      Emil Björnson, Mats Bengtsson, Björn Ottersten, “Optimal Multiuser Transmit Beamforming: A Difficult Problem with a Simple Solution Structure,” IEEE Signal Processing Magazine, vol. 31, no. 4, pp. 142-148, July 2014.

  7. In LTE digital beamforming, exactly how does the precoding matrix indicator (PMI) from a UE helps eNodeB in which direction to point the beam to that UE. I mean just be multiplying the symbols with precoding weights how beam is formed pointing exactly to the UE. How the angular direction intelligence built in to the PMI and how does the UE knows such angular intelligence for eNodeB to reach it.

    1. This is hard to answer precisely. There are many different transmission modes in LTE and what is standardized is typically what the UE should transmit and receive, while there is some flexibility in what the eNodeB can do.

      However, the typical digital beamforming in LTE consists of a codebook of precoding vectors, which I believe corresponds to different angular directions. The PMI is then used to select the most suitable precoding vector in the codebook. This approach is ok for single-user precoding, but not efficient for multi-user precoding, you need to fine-tune the precoding to reduce interference. In canonical Massive MIMO, this is achieved by sending uplink pilots to estimate the full channels, so that you can do zero-forcing or similar methods.

      1. Choosing a precoding vector from the codebook only guarantees the chosen is best in the codebook, while it may not be optimal among any possible precoding vectors, am I right? In massive MIMO, the eNodeB will find the real optimal precoding for each user? So codebook is not used anymore?

  8. Dear Dr. Björnson,

    First off: many thanks for the clarity with which you explain these issues! If you allow, I have a few questions/double-checks to further enhance my understanding:

    1. You write ‘what I advocate is a fully digital implementation’. Despite the optimality in terms of achievable performacnce, from other sources I learned that pure digital beamforming would be too expensive in terms of required components and also be too power-hungry, which is why hybrid digital/analog solutions are recommended elsewhere. I’d appreciate you comments on this view.

    2. Does such a hybrid solution still suffer from the undesirable characteristic of analog beamforming that you cannot direct beams differently in different parts of the frequency band/carrier? Would the key advantage then be that the hybrid approach supports single-user spatial multiplexing, while pure analog beamforming does not?

    3. Regarding the comment that was made by Dr. Shafin (‘that precoding can be viewed as beamforming in the eigendirection of the channel rather than in any physical angular direction’), just to double-check: in case of a perfect LOS channel, the mentioned eigendirection is (I hope) actually identical to the physical angular direction towards the receiver location, right?

    4. You state ‘precoding refers to the superposition of multiple beams for spatial multiplexing of several data streams’. In my understanding, transmission mode TM6 in LTE uses precoding based on PMI feedback for single-codeword/data stream transmission, so I suppose precoding is then not equivalent to spatial multiplexing, or am I misunderstanding?

    Thanks again, your explanations are much appreciated.



    1. 1. It is often said that a full digital implementation would be too expensive or power-hungry, but that argument (gut-feeling) is misleading since it builds on the assumption that we would use the same hardware components as in contemporary networks. The MAMMOET project (https://mammoet-project.eu) has demonstrated how to design Massive MIMO in an efficient manner. I recommend “Difference 2” in the following paper, which discusses what the actual bottlenecks of digital implementation is: https://arxiv.org/abs/1803.11023

      2. The digital part in hybrid beamforming can be used to get different beams in different parts of the band, as long as the beams are formed as linear combinations of the beams created in the analog domain.

      3. Correct.

      4. The terminology can be confusing since “precoding” and “spatial multiplexing” are terms being used in both single-user and multi-user communications. TM6 uses precoding/beamforming to serve a single user with a single data stream.

  9. Dear Dr. Björnson,

    Thanks for the detailed explanation.
    Regarding the second answer ‘precoding is equivalent to digital beamforming’, I think it’s not accurate in some cases. I would say from standard perspective, precoding describes the mapping between data layers and ‘logical’ antenna port. When the number of ‘logical’ antenna port is smaller than the number of TXRUs (antenna port to TXRU is not 1-to-1 mapping), precoding is not equivalent to digital beamforming. There is another mapping between the ‘logical’ antenna port and the TXRUs. (I am not sure what to call this mapping relationship) What’s your thinking?

    1. I don’t know the detailed standardization language, but I suppose you are right. I would personally call the entire mapping from the data layer to the physical antenna ports as “precoding”, even if one decides to split it up into one “data layer to logical port” mapping and one “logical port to physical antenna port” mapping.

  10. Hi Professor Björnson, I have a question about the analog beamforming. In hybrid digital and analog beamforming systems, the analog beamforming consisted with the Phase-shifter networks can only adjust the phase of signals. Why don’t we put some devices into the analog beamforming to adjust the amplitude of the signals? The function of Phase-shifters is to adjust the phase of the signals. So, is there any device that can adjust the amplitude of the signals and work together with the Phase-shifters in analog beamforming?

    1. I’m quite sure that you could build the system that you describe, but you would need a separate amplifier for each antenna and then the step towards a full digital implementation is small.

  11. Can you explain the difference between 3 types of power constraints:
    1. trace (Q) <= P.
    2. Q <= P (semidefinite matrix inequality, P is diagonal matrix with diagonal elements i_th are power buget for i_th user).
    3. Q_ii <= P_i.
    where P is the total power budget of all users, P_i is the maximum budget for i_th user and Q is the correlation matrix between all users. Q = E[x*x^H]. (x is user signal vector).

    1. I suppose you are asking about how to interpret these types of power constraints?

      1: The total power may not be larger than P, but it can be distributed arbitrarily between the antennas. Note that trace(Q) = \sum_i Q_ii.

      2 and 3: These are essentially the same thing and put a constraint on the maximum power for each individual antenna.

      1. Thanks alot Dr. Emil,
        1. I still wonder in some papers, they said 2 is for independent users (no cooperation, no sharing information) but in 3, they can “cooperate with each other in terms of signaling”?
        2. Moreover, can you explain in more detail mathematically? why in 1 they can share between each other but not in 2, 3?

        1. 1. I’m unsure how exactly 2 differs in interpretation from 3. 2 does indeed allow for cooperation between the users (Q-P can be positive semi-definite even if Q is non-diagonal). I suggest that you contact the authors of those papers to get their explanation.

          2. Constraint 1 means \sum_i Q_ii <= constant so you can assign the power in any way you like between the diagonal elements in Q. In contrast, Constraint 3 means Q_11 <= constant, Q_22 <= constant, ..., so there is a strict upper limit for each of the diagonal values. One cannot "borrow" power from one antenna and give it to another.

  12. Hi,

    Thanks for your comprehensive explanation.

    1- Assuming using digital beamforming, is it possible that an array antenna generates a single beam direction in different frequencies (Like different sub-carriers in OFDM) at the same time? if so, how ?

    2- The same question but for multiple beams. I mean, is it possible that an array antenna generates multiple beams in different frequencies at the same time?


    1. 1. Yes, that is what is normally done in digital beamforming. You select a different beamforming/precoding vector for each subcarrier.

      2. Yes, this is actually what multi-user MIMO (and Massive MIMO) is about.

      I recommend you to read my book “Massive MIMO Networks” (you can download it from massivemimobook.com) for further details on how this is done.

  13. Thanks for such a nice explanation, I have been confused about this topic for a very long time now.

    Just to be clear, with digital beamforming (aka precoding), we can create multiple antenna lobes which can carry independent data streams, and this can be done for different frequency bands for both LOS and NLOS directions by just giving time delay and different power to each individual antennas. Is this the goal of using MU-MIMO with precoding for 5G? I think the numerical computing strength required for doing this kind of thing will only be possible for base stations and handheld devices might have to wait for some time.

    Whereas the analog beamforming using phase shifters can only steer one single lobe in any direction. This means that all the beamforming would be done in digital domain in the future?

    1. “Is this the goal of using MU-MIMO with precoding for 5G?” – Yes

      “I think the numerical computing strength required for doing this kind of thing will only be possible for base stations and handheld devices might have to wait for some time.” – It is actually not as complicated as it seems. I recommend you to read this article as well: http://ma-mimo.ellintech.se/2018/12/05/computers-werent-powerful-enough-to-operate-it/

      “This means that all the beamforming would be done in digital domain in the future?” – Yes, the future is going to be digital. But the first generation of mmWave systems will probably be analog or some hybrid between analog and digital, since these approaches are quicker to implement.

  14. Thanks for your great blog.
    I’m new to MIMO and confuse several concepts. Below are my questions.

    1) Capacity gain (or multiplexing gain)
    . This gain is possible due to multiple use of same time/frequency resources.
    . Gain of single user spatial multiplexing = rank(H), H is channel matrix
    q0) Multi user MIMO still uses same resources for multi users?
    q1) What is the capacity gain of Multi user MIMO?
    q2) There is no capacity gain but SNR improvement (due to beamforming) if multiple users use different resources.

    2) Open loop spatial multipexing
    . Closed loop spatial multiplexing uses singular value Decomposition to separate multi stream.
    . I read Zero forcing (ZF), MMSE are algorithms used by Rx side when Open loop. Another web site explaining massive MIMO says
    ZF and MMSE is used either Rx (detection) or Tx (Precoding).
    q3) Which is right?

    3) Closed Loop Tx Diversity vs Beamforming
    . Open loop Diversity use uncorrelated multi path while Beamforming focus energy (This means correlated path).
    They have same purpose but use different method.
    q4) Closed loop diversity (precoding) is the same as beamforming?


    1. q0: Yes, multi-user MIMO uses the same time/frequency resources for multiple users. It is like single-user MIMO, but the antennas at one side of the channel belong to different devices and this affects what kind of transmitter/receiver processing that can be done.

      q1: It is basically the same as in single-user MIMO: min(number of base station antennas, number of users * number of user antennas) = rank(H), if H is the total channel matrix of all the users.

      q2: An SNR improvement leads to higher capacity, but I suppose you mean that there is no multiplexing gain (no factor in front of the logarithm in the capacity expression).

      q3: ZF and MMSE are families of methods that can be used for both detection and precoding.

      q4: Precoding and beamforming can mean the same thing, but not always: http://ma-mimo.ellintech.se/2017/10/03/what-is-the-difference-between-beamforming-and-precoding/

      Have you read the first chapter of my book Massive MIMO Networks (https://massivemimobook.com)? Some of these things are explained in that book.

  15. Honorable Professor Björnson, I have two very basic questions, I don’t know whyIi am so confused about these things.
    1. In the partially connected analog beamforming method, why every RF chain is connect to [(total Antennas)/(total RF Chains)] number of antennas. Why not half of the antennas or 1/4th and so on?
    2. Why should the number of RF chains be greater than the number of data streams?

    1. 1. If more than one RF chain are connected to the same antenna, you need circuitry to add the analog signals together. This leads to power losses, which is why the partially connected method only connects one RF chain per antenna.

      2. The number of RF chains basically determine how many different “beams” that you can create. If you want to give each data stream a unique beam, which is needed to separate the signals at the receivers, you need to have more RF chains than streams.

      1. Dear Emil,
        How many users can fall into a beam? Or will one user be allocated a beam? How can we explain this with respect to analog, digital and hybrid beamforming?

        So, Num of RF chains = Num of different beams
        Say if we have 10 RF chains connected to say n antenna arrays (with x antenna elements in each array), we could create 10 beams simultaneously at different angles? (LOS and NLOS) and in continuation with my first question. So these 10 beams can be allocated to how many users?

        1. With 10 RF chains, you can generate up to 10 orthogonal (non-overlapping) beams. For example, you can serve up to 10 users with different beams that don’t interfere with each other (using the zero-forcing method).

          Alternatively, you can create any number of partially overlapping beams. So in principle you can serve any number of users with different beams, but since the beams will be overlapping the interference will be large when you have more users than RF chains.

          1. Thank you Prof Emil,

            An other thing i would like to know is:

            Will the beamforming vector be different for two users if they are served by one beam? or will it differ?

            Thank you

          2. If you want to apply the same beam to two users, their beamforming vectors are equal.

          3. Dear professor Bjornson,

            I really enjoyed this website. I have been reading about Massive MIMO for my master thesis, and I always had some shadows in my mind, that were taken for granted in many papers as being simple.
            About the previous comment, that we’ve had 10 RF chains, so we could use 10 separate beams, does it mean that we can use 10 separate beams at each time/freq resource? Or just totally 10 users?
            This question comes into my mind, since I know that many companies, have 3 or 4 RF chains in each RAU, and this would be a really low number, if it means the total number of users that might be served.
            I have also another question. Having ZF means that we are doing the digital precoding?

            Thanks in advance

          4. Yes, with 10 RF chains you can send 10 separate beams. With a digital implementation, you can easily change the beams for every time/frequency resource.

            With ZF, you can create as many spatial nulls (zeros) as you have RF chains, using digital processing.

  16. Hi nice explanation… I just want to clarify some doubts regarding precoding and digital beam forming.
    I know that there are differences between analog and digital beamforming but the confusion lies in digital part.
    I was going through some of LTE specs and I found that precoding exists for some of the Transmission modes. (Codebook index method) but it is not applicable for 5G NR and some of the transmission modes in LTE.
    “What is the exact precoding technique used in 5G NR?”
    “What are the exact differences between precoding and beamforming in 5G?”
    Please elaborate this.
    Thanks in advance….

    1. There are plenty of details in 5G NR, which I don’t know exactly and wouldn’t be able to summarize in a short blog post, so I recommend you to read a book on the topic. “5G Physical Layer: Principles, Models and Technology Components” by Ali Zaidi et al. is recommended.

  17. Hi Emil,

    When we describe 3D beam-forming, it is often graphed as an bunch of antennas pointing different beams both horizontally and vertically to the users in a high rise building for example. When I see a graph like this, it intuitively leads me to link this to analog beamforming towards users with LOS signal. But is 3D-beamforming more processed in the digital domain? If so, do the beams actually appear to be physical beams pointing to specific directions?
    Another questions, do TM7 and TM8 correspond to analog or digital beamforming? Many thanks.

    1. The illustration that you mention is correct for LOS signaling. But keep in mind that analog beamforming can only create one beam at a time, while digital beamforming can be used to create many simultaneous beams; for example, towards users at different floors in different high rise buildings.

      TM7 and TM8 are for digital beamforming.

      1. My thought is that transmitting signal through precoding is still omni-directional signal. (Not like analog beamforming create a
        directional beam.), but for every receiver, each receiving signal is independent.
        Is it correct?

  18. In digital or analog beamforming, if the antenna spacing exceeds a certain spacing (depending on the wavelength), grating lobes are observed. Grating lobes represent wasted power and increased interference. How does antenna spacing affect precoding in the NLoS and LoS cases ?

    1. When you increase the antenna spacing, the main lobe becomes narrower but grating lobes appear. The total power that is “wasted” in non-desired directions is the same but it is radiated in different directions, so which choice that is better depends on how the array geometry interplays with the propagation environment. For example, it is common to design cellular antenna panels so that their grating lobes are going upwards, towards the sky, where there might not be any users and therefore no harm from the interference. Generally speaking, the best way to not waste power on interference is to have more antennas so that one can get narrow beams without grating lobes.

      Sections 7.3 and 7.4 in my book Massive MIMO Networks (https://massivemimobook.com) describe these considerations in more detail than I can cover here.

  19. 1. Can we create multiple directional beams, with different beamwidths (in order to improve coverage area in Massive MIMO fixed scenarios, i.e., both Tx and Users are fixed.)

    Is it possible to create multiple directional beams with different beamwidths to cover an area. What would change in such conditions with respect to antennae configuration?

    2. What exactly is beamsteering? How can you explain beamsteering in fixed and mobile scenarios?

    1. 1. The beamwidth is generally determined by the aperture of the array, so a Massive MIMO array will have narrower beamwidths than a small array. But there are anyway methods to create wider beams for control signaling and other things that are transmitted without knowing where the receiver will be. This is explained in this thesis: https://doi.org/10.3384/diss.diva-149898

      2. Beamsteering is just another name for beamforming. I don’t recommend using.

  20. Prof Emil,
    1. I need to know about one statement that i saw in few paper like “The excess degree of freedom (DoFs) at massive antenna arrays can be used for generating artificial noise (AN) sequence to degrade the passive eavesdropper’s ability of intercepting confidential information” Here what is artificial noise? what are its type? and how it degrades the eavesdropper ability to intercept information…Please explain!

    2. Can you guide me, in future how can I start working on hybrid pre-coding security with any new idea?

    1. 1. Artificial noise is a Gaussian noise-like signal that the transmitter generates and sends in all directions, except the ones of the desired users. The chance is therefore high that the eavesdropper will be receive the artificial noise in addition to the desired signals. The artificial noise reduces the SNR at the eavesdropper, making it harder for it to decode the signals.

      2. My general advice is to identify the relevant previous works, categorize what has been done and look for open issues that haven’t been addressed.

      1. Thank you very much…please answer an additional question in connection to my previous question, how transmitter will know about desired user?

        1. There is a standard access procedure in wireless networks, where particular time-frequency resources are reserved for contacting the base station or inactive users terminals. Then the base station schedule users on particular time-frequency resources, so it knows exactly which users are active and when.

  21. Dear Emil
    I have a question which confused me for a long time.
    As I know, the analog beamforming need high mutual antenna correlation. So the antenna element spacing of antenna array should be lower than one wavelength. Normally 0.5*wavelength. But for digital beamforming, it need low mutual antenna correlation and the antenna element spacing of antenna array should be higher than one wavelength. In my mind, hybrid digital/analog solution combines two beamforming solutions which have different prerequisites of antenna element spacing. So how to implement the hybrid digital/analog solution. Thanks.

    1. Analog beamforming is a special case of digital beamforming where the there are strict requirements on which beamforming coefficients that can be selected. However, the basic physics is the same in both cases: You need an antenna spacing of 0.5*wavelength or smaller to achieve sample the spatial domain well enough to avoid “spatial aliasing” (i.e., grating lobes in wrong directions). In a nutshell, the total aperture of the array determines the beamwidth of the beamforming while the antenna spacing determines whether or not there will be grating lobes. Section 7.4 in my book Massive MIMO networks (massivemimobook.com) explains these things in detail.

  22. I am going to prepare a paper for my MSc degree on 5G wireless communication using hybrid beamforming design. What will you advice me to have knowledge of this title?

    1. There is a huge amount of previous work on hybrid beamforming design, thus I think it is hard to identify something new that you can work on in a Master degree. If you anyway want to do it, I recommend you to read recent survey papers on the topic and look for open problems that are mentioned in those papers.

  23. Very nice post! Perhaps you could say “spatial coding” instead of “precoding”. The latter suggests that it can only be applied at the transmitter, but the beamforming/spatial coding can also applied at the receiver

    1. Yes, spatial coding might be more descriptive, but it also makes the list of terms that mean the same thing even longer…

      I usually use the term “transmit precoding” when describing the transmitter and “receive combining” when describing the receiver.

  24. Dear Professor Björnson,

    in O-RAN specifications they always highlight that Beamforming and Precoding are two different functions and they depict these two functions as different boxes in their diagrams. Precoding can even be located optionally on O-DU or O-RU. Reading through the specs is not very clear what the differences are but I think I understood that they use Precoding when talking about multiplexing different data streams (layers) for the same user while Beamforming when talking about creating multiple beams each one targeting a given user. Is this reasonable in your opinion?

    1. I’m not familiar with how O-RAN is defining their terminology. But I think this reinforces the point that different people/organizations mean different things with these words. I think that, in most cases, beamforming is a simple method than precoding (maybe even a special case).

    1. Yes, in fact, it is the best way to achieve an array gain because you can always fully adapt the beamforming to the channel, so you get the maximum possible array gain.

  25. Emil,

    Great blog. What research has been done on the in building channel models (i.e., WIFI has done A-F) for 5G with mMIMO Precoding and DBF. What are the channel limits for MU in these geometries which may result in diminishing returns on spectral efficiency from the addition spatial multiplexing layers (transceivers) per small cell gNB? Can the system performance improve with Network MIMO nodes spatially distributed (assuming time sync)? Thanks

  26. So concise, so intense, I always learn from this blog!
    All students in the world should be aware of this blog!

  27. Hi Emil,
    1 ) If we use digital beamforming for different users, we get capacity gain. Will there be any beamforming gain (considering a single user) and how can it be compared to analog beamforming gain (with same signal to all antennas)?
    2 ) How are the bandwidth requirements of the channel change from analog to hybrid to digital beamforming?

    1. 1) Yes, every user gets a beamforming gain, which is at least as large as with analog beamforming. Digital beamforming can do everything that analog beamforming can do, but also much more. A user that stands right in front of the antenna will get exactly the same beamforming gain with digital and analog beamforming, but if the user is located at other places (with many reflections and scattering), then digital beamforming give a stronger ability to tune the transmission to the channel.

      2) The channel changes over the frequency domain (but the variations are fairly small in line-of-sight conditions). Analog beamforming is unable to adapt to that, while digital beamforming can fully adapt to the frequency-variations. Hybrid beamforming lies somewhere in between. The hybrid approach is defining a number of analog beams and then allow for frequency-variations within those beams. See Figure 3 in the following article: https://arxiv.org/pdf/1803.11023

  28. What is the maximum number of layers in 5G for antenna port configuration for massive MIMO 64T64R , 256T256R MIMO config

    I want 5G NR….. number of codeword vs number of layers vs number of antenna port mapping

    1. I don’t have an answer to this question. I recommend you to consult some recent book on the NR standard.

  29. Hi Emil
    mMIMO (64T/64R) versus Distributed MIMO (4T/4R)……..what is the better approach to in-building system design to max SE?

    1. I think a distributed MIMO system will give a more consistent SE level in the building, even if mMIMO might be better at a few places.

Leave a Reply

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