AN77-07 Digital Beamforming with Multiple Transmit Antennas Inras GmbH Altenbergerstraße 69 4040 Linz, Austria Email: office@inras.at Phone: +43 732 2468 6384 Linz, July 2015
1 Digital Beamforming with Multiple Transmit Antennas In this application note we show how to implement digital beamforming (DBF) algorithms with multiple transmit antennas based on a two-dimensional Fourier transform of the measured IF signals. The 77-GHz MIMO frontend MIMO-77-TX4RX8 has four transmit and eight receive antennas. The receive antennas are arranged as uniform linear array. In this example we activate all transmit antenna and use the collected receive signals to estimate the angle of incidence. In addition, this application note shows how to implement different antenna activation sequences. At first the Radarbook with the MIMO frontend must be powered on and a connection to the PC must be established. For the current example it is required that the Radarbook, SeqTrig, and Mimo77 class are included to the Matlab path. After generating a class object and powering the frontend Brd = Mimo77('PNet','192.168.1.1'); Brd.BrdPwrEna() the transmit waveform can be configured. The positions of the receive antennas can be accessed by calling the method RfGet('RxPosn'). In Fig. 1 the arrangement of the antennas for a front view of the radar system is shown. The spacing between the receive antennas is half of the free-space Figure 1: Antenna positions for a front view of the radar system. wavelength at 77 GHz. The position of the transmit antennas can be accessed by calling the method RfGet('TxPosn'). The transmit antennas are equally spaced in a distance of 7 λ 2. Therefore, a virtual antenna array with 29 equally spaced elements is generated. Three virtual antenna positions overlap and can be used for correcting the phase information in case of moving targets. In this example we will not consider any motion compensation algorithm. Instead the additional signals from the overlapping elements are neglected. For DBF a set of calibration data must be loaded from the EEPROM of the frontend in order to correct for the phase and amplitude mismatch of the measured IF signals. CalCfg.Mask = 1; CalCfg.Len = 64; CalData = Brd.BrdGetCalData(CalCfg); The array CalData contains 32 complex weights for the receive channels of the virtual array. The frontends form Inras are shipped with a default calibration set. If available, different calibration Inras GmbH 2 AnHa
data can be used instead. A more detailed description how to access the calibration data is given in the application note AN77-04 (Accessing the Calibration Data). FMCW Measurements After setting up the connection to the Radarbook, the RF chips must be enabled Brd.RfRxEna(); Brd.RfTxEna(1, 31); and FMCW measurements with the desired activation sequence can be configured with a configuration structure. Cfg.fStrt = 76e9; Cfg.fStop = 77e9; Cfg.TRampUp = 256e-6; Cfg.TRampDo = 32e-6; Cfg.TInt = 100e-3; Cfg.Tp = 500e-6; Cfg.N = 500; Cfg.NrFrms = 10; Cfg.TxSeq = [1, 2, 3, 4]; The timing for the current transmit waveform is shown in Fig. 2. The parameter Tp defines the chirp repetition interval and the time TInt is the duration between adjacent measurements. Figure 2: Transmit waveform with four antennas activated sequentially. The array Cfg.TxSeq defines the activation sequence of the antennas. In the current example the antennas are activated one after the other. Different sequences of arbitrary length can also be used. For instance Cfg.TxSeq = [1 2 3 4 3 2 1] would also be possible. Thereafter, the measurements can be started by calling Inras GmbH 3 AnHa
Brd.RfMeas('ExtTrigUp_TxSeq',Cfg); In the current example we use an increased interval TInt of 200 ms, because the signal processing and the visualization is done during measurements are conducted. Evaluating the Reflectivity Map In this application note we use a two-dimensional Fourier transform to estimate a cost function JOpt, which corresponds to the spatial distribution of the targets. At first the 32 different IF signals are recorded and stored in a two-dimensional array DataV. The additional signals from the overlapping elements are neglected. % Record data for Tx1 DataV(:,1:8)= Data(12:end,:); % Record data for Tx2 DataV(:,8:15)= Data(12:end,:); % Record data for Tx3 DataV(:,15:22)= Data(12:end,:); % Record data for Tx4 DataV(:,22:29)= Data(12:end,:); In the described measurement mode, a frame counter and a sequence ID are used to number the subsequent measurements. The frame counter is linearly increasing and the sequence ID identifies the activated antenna. Hence, the sequence ID can be used to map the measurements to the activated antenna. Thereafter the range profile RP for the measured data is calculated RP = fft(datav.*win2d.*mcaldata,nfft,1).*brd.fusca/scawin; RPExt = RP(RMinIdx:RMaxIdx,:); and the desired range bins between R Min and R Max are extracted. The range bins after the Fourier transform of size NFFT are defined by the vector vrange = [0:NFFT-1].'./NFFT.*fs.*c0/(2.*kf); In the above equation k f denotes the chirp rate, c 0 is the speed of the electromagnetic wave in free-space, and f s is the sampling frequency. For the calculation of the range profile a hanning window Win2D is used and in addition an array mcaldata with the calibration data is used to calibrate the measured signals. The calculated range profile is scaled to dbv at the input of the Inras GmbH 4 AnHa
AD8283. In order to get an unbiased estimate the gain of the window function is corrected. In Fig. 3 the calculated range profiles are displayed. The shown measurements have been conducted Figure 3: Range profiles for the eight receive channels. indoor with a corner cube placed in a distance of 2.5 m directly in front of the radar. In the next step the Fourier transform with respect to the receive channels is calculated. JOpt = fftshift(fft(rpext.*winant2d,nfftant,2)/scawinant,2); The size of the discrete Fourier transform is given be NFFTAnt and again a hanning window WinAnt2D is used to calculate the cost function. The resulting two-dimensional array JOpt is proportional to the reflectivity map of the target scene. In Fig. 4 the reflectivity map is shown. Figure 4: Reflectivity map of the target scene. The x-axis is scaled to the angle of incidence and the range is plotted on the y-axis. The corner cube was positioned at an angle of 0. At the position of the corner cube a dominant reflection can be observed. Inras GmbH 5 AnHa
Only for visualization purposes it can be useful to scale the image to its maximum value and suppress the sidelobes. In the left plot of Fig. 5 the cost function is scaled to the maximum and reflections below a threshold are suppressed. In the plot the dominant reflection form the corner Figure 5: Left: Normalized reflectivity map of the target scene; Right: Normalized reflectivity map in a polar coordinate system. cube is clearly visible. In the right plot of Fig. 5 the reflectivity map is plotted in a polar coordinate system. In this plot the position of the reflection in the xy-plane is observable. To generate the polar representation a surf plot is used and the pixels of the cost function are printed at their position in the xy-plane. For this reason the arrays mx and my are generated to define the positions of the pixels. To analyze the improvement of the angular resolution, the estimated cost function for the same target scence with eight virtual antennas is shown in Fig. 6. Figure 6: Left: Normalized reflectivity map of the target scene with eight virtual antennas; Right: Normalized reflectivity map in a polar coordinate system with eight virtual antennas. Inras GmbH 6 AnHa