Wireless communication - how beamforming works in multi-antenna OFDM systems?

13 ビュー (過去 30 日間)
Thien Hieu
Thien Hieu 2023 年 9 月 16 日
コメント済み: Thien Hieu 2023 年 10 月 4 日
Hi everyone, I am new in channel estimation area and I am having quetions about FFT, beamforming... in a multi antenna OFDM system.
I hope you could spend a little time to answer it if you know about it ^^ Thank you in advance.
As I read some papers and some codes, I saw that the system (with single antenna) works as follows:
  • I have a bit stream of 0s and 1s that needs to be transmitted (assume that this already includes pilots, guards...), for example, the stream has the length of 384 bits.
  • I modulate it (for example, with 64-QAM), the order M=64=2^6 here is the number of subcarriers in my OFDM system, now I have a string of 384/6=64 symbols
  • I use IFFT to represent it in time-domain, which is 64 samples now, then I add cyclic prefix (for example, with length 16), I get a stream (or should I call waveform?) of 80 samples. For convinience, I would call this stream (waveform) is tx_out.
My question appears here. For the SISO system, I see that in the code we just simply take the convolution between the channel response (in time-domain) and this tx_out stream (waveform) to get the received stream.
So, my question here is how should I do here with the multiple antenna system? For example, for MISO sytem, we have the channel matrix, for example if we have 8 transmit antenna.
  • I read that we have the beamforming matrix, but its formula is , which is in frequency domain, so I don't know how to use it here, in time-domain
  • I aslo read that we have the steering , which are just the angles. After we multiply our tx_out with these angles, we have 8 different waveforms, we take the convolution respectively with . Then, we take their sum and add noise, we finnaly get the waveform at the receiver. Is that correct? could we use these steering angles instead of the beamforming?
My other (minor) question is that: after I get the received waveform, I transfer it back to frequency domain, how can I estimate back 8 channels, while I just have 1 waveform?
My question is quite long but hope you get what I am asking about.
Thank you for your time.

回答 (1 件)

Abhimenyu
Abhimenyu 2023 年 10 月 4 日
Hi Thien,
I understand that you want to learn about beamforming process in multiple antenna systems. Following are the answers to your queries sequentially:
  • In a MISO system, you can use weights and combine the signals from multiple antennas to maximize the received signal power at the receiver. The beamforming matrix is typically derived in the frequency domain but can be applied to the time-domain as well. You can multiply the transmit waveform(“tx_out”) with the beamforming matrix to obtain the transmitted waveforms from each antenna. These waveforms can then be convolved with the channel responses for each antenna and summed to obtain the received waveform at the receiver.
  • Steering vectors are vectors that represent the phase shifts or delays of the signals from each antenna to a certain direction or user. Steering vectors can be used to design beamforming weights in frequency domain, by multiplying them with the data symbols on each subcarrier. 
  • For the estimation, after receiving the waveform you can convert back to frequency domain using “fft” operation. You can use OFDM pilot symbols that are inserted to transmitted waveform. By comparing the received pilot symbols with their known values, you can estimate the channel response for each transmit-receive antenna pair.
To know more, you can refer to the following links from MATLAB documentation on beamforming, fft and Wireless communications” respectively:
  1. https://www.mathworks.com/help/phased/beamforming.html
  2. https://www.mathworks.com/help/matlab/ref/fft.html
  3. https://www.mathworks.com/help/overview/wireless-communications.html
I hope this helps!
Thank you,
Abhimenyu.

カテゴリ

Help Center および File ExchangeWireless Communications についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by