Design and implementation of an fmcw radar signal processing module for automotive applications



Yüklə 1,87 Mb.
Pdf görüntüsü
səhifə13/15
tarix04.07.2018
ölçüsü1,87 Mb.
#53413
1   ...   7   8   9   10   11   12   13   14   15

34

CHAPTER 4. SYSTEM IMPLEMENTATION

The architecture of the implementation can be seen in the Figure 4.2.

The figure shows the hardware blocks implemented in the FPGA and the

communication channels between that blocks and SDRAM. The widths of

the data buses between FFT block, AXI DMA block and Memory Interface

Core are 64 bit. The Microblaze core and AXI-Lite channels of the AXI DMA

blocks are connected to the 100 MHz clock source. The channels of the FFT

cores and the other channels of the AXI DMA blocks run at 200 MHz clock

frequency and the main memory runs at 400 MHz clock frequency.

Based on the provided input data, such as range of the target, its veloc-

ity and angular information, the Microblaze core generates an input data in

single-precision floating-point arithmetic and stores it in the SDRAM. Fol-

lowing that, the Microblaze initializes the AXI DMA block to read the data

stored in the SDRAM, transfer it to the first FFT block and writes back the

output data from the block. In the design, a single AXI DMA and single

FFT block are used for the processing of the whole 3D array. With the cur-

rent design, having multiple DMA and FFT blocks will not accelerate the

processing since all the instructions of the Microblaze run sequentially.

Figure 4.2: The architecture of the implementation

After finishing the first FFT processing, the Microblaze will perform a

transpose operation (see Figure 4.3) on the data stored in the SDRAM.

As it was mentioned in the previous section, this operation is done using



4.3. THE ARCHITECTURE AND OPERATION

35

the Microblaze core by doing the column-wise reads from the SDRAM and



row-wise writes to the SDRAM. The output of this operation is a matrix in

12x512x32 3D format. Following that, the Microblaze will instruct the second

AXI DMA block to start fetching the data from the SDRAM, transfer it to

the second FFT block and write back the results from it. After completion

of the second FFT operation, the Microblaze will transpose the data for

the last FFT processing. The output of this transpose operation will have

512x32x12 3D matrix format where the third dimension contains the data

from all virtual antennas. The Microblaze now can instruct the DMA block

to transfer the data for the third FFT process. Although we have 12 data

samples available, based on the Equation 3.8 in Chapter 3, 32 point FFT will

be performed on the data. This means that the fetched data vector will be

padded with zeros before processing. Consequently, the third FFT process

can use the same hardware blocks used in the second FFT since they both

need the same number of point FFT core. In a similar way, the output of

the third FFT will be stored in the SDRAM.

Figure 4.3: An example transpose operation

In this phase, we have a 3 dimensional matrix that contains a frequency

spectrum of all the signals from all virtual antennas. The Microblaze now

can read the data and process it accordingly to calculate the range, velocity

and angle information. This is achieved by using the range, velocity and




36

CHAPTER 4. SYSTEM IMPLEMENTATION

angle equations derived in Chapter 2.

The range of a target and it’s velocity are found as following; first, 2D

FFT processed signal data from the first virtual antenna is taken and it’s

absolute value is calculated, then, a maximum value in the 2D matrix and

it’s location were found, following that, based on the row (range bin - r

b

) and



column (velocity bin - v

b

) location information, the range and the velocity



of the target were calculated. Based on the Equation 2.17 in Chapter 2, the

range can be found as:

R =

f

b



c

=



r

b

f



s

c

2αN



(4.1)

where f


s

is the sampling frequency of the mixed signal and equals to:

f

s

= N/T



(4.2)

In a similar way, based on the Equation 2.19 in Chapter 2, the velocity

of the target can be found as:

v =


f

d

c



2f

c

=



v

b

f



ch

c

2f



c

n

(4.3)



where f

ch

is the chirp frequency and equals to:



f

ch

= 1/T



(4.4)

The angle information is found as following; first, data samples were taken

from all virtual antennas based on the row and column information from the

previous calculation making a snapshot vector, second, absolute values of the

vector elements were calculated and stored in a vector, following that, angle

bin values were calculated using the Equation 2.32 in Chapter 2, finally,

based on the bin location of the maximum value of the vector, the angle

value is found. The distance between virtual antenna elements was taken

to be equal to the distance between receiving antennas. It should be noted

that the first half of the snapshot vector represents the positive angles which

range between 0

o

and 90



o

, while the second half of the vector will contain

the magnitude of the angle bin values in -90

o

- 0



o

range. Consequently, by

combining them together we will have a bird’s-eye view in -90

o

- 90



o

range.


In Chapter 3 we found the real-time requirements for the FFT processes.

These values were 35.6 µs, 2.22 µs and 0.21 µs for the first, second and

the third FFT respectively. According to Xilinx’s Core Generator tool, gen-

erated 1024 point single-precision floating-point FFT with natural ordered

output has 4237 clock cycle latency, whereas the 32 point FFT under the

same conditions has 228 clock cycle latency. For 200 MHz clock frequency,




Yüklə 1,87 Mb.

Dostları ilə paylaş:
1   ...   7   8   9   10   11   12   13   14   15




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə