1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Digital system design II pipelined 128 points FFTIFFT

70 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

HA NOI UNIVERSITY OF SCIENCE AND TECHNOLOGY ELECTRICAL AND ELECTRONICS ENGINEERING  Digital System Design II Pipelined 128 points FFT/IFFT Instructor: Nguyen Duc Minh Class: ET-E4 K63 Team: 11 Member 1: Le Bao Ngoc -20182930 Member 2: Vu Minh Nhat-20182931 Member 2: Vu Minh Duct-20182911 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat TABLE OF CONTENTS I)Overview of our project II)Specification III)FFT-128 Algorithm IV)ASMD and block diagram of FFT-128 V)Implement Algorithm on C++ VI)Implentation And Result VII)Acknowledgement TIEU LUAN MOI download : skknchat123@gmail.com moi nhat I)Overview of our project 1)Introduction In our electronics and telecommunications industry, spectrum analysis such as energy spectrum, amplitude spectrum, phase spectrum of signals in general and spectrum of digital signals in particular in the frequency domain plays a very important role It tells us how the frequency components contribute to the signal, how their energy is, how to use energy effectively… From that we have a way to handle that signal appropriately The problem is how to transform the digital signal from the time domain to the frequency domain to observe its spectrum The simplest answer is to use the Discrete Fourier Transform (DFT) Discrete Fourier transform is used in many fields, it is used in speech processing, image processing, It would not be an exaggeration to say that anything related to digital signal processing requires Fourier transforms However, the use of discrete Fourier transform has a problem, that is, the computation is relatively complicated when the data length to be calculated increases But as we know an image file, or any signal, is usually quite long, so if you just calculate the DFT normally, the execution time will be very long and complicated, so it won't satisfied time requirements Although the DFT machine produces good products, but the speed is too slow, the manufacturer will certainly not be satisfied at all That is why the fast Fourier transform (FFT) algorithm Transform) was created 2)Overview of FFT The idea of the FFT algorithm is the divide-and-conquer technique Instead of calculating the DFT for an entire signal with a large length, we will perform a DFT calculation for each smaller signal segment in that signal and then from the obtained result we calculate the DFT of the original signal to be calculated first FFT has a very important role: - FFT has improved the speed and accuracy of digital signal processing TIEU LUAN MOI download : skknchat123@gmail.com moi nhat - FFT opens up a very wide field of spectrum analysis: telecommunications, astronomy, geophysics management, medical diagnosis,… - The FFT has rekindled the interests of many branches of mathematics that were previously fully exploited - FFT has laid the foundation for computing other transformations such as Walsh transform,Hamadard transform, Haar transform,… => Idea: Center’s goal is a FFT algorithm/architecture with the programmability necessary to meet the variety of functional FFT demands of future wireless and other signal processing applications So, our project of the FFT128 core architecture to explain its proper use FFT128 soft core is the unit to perform the Fast Fourier Transform (FFT) It performs one dimensional 128 – complex point FFT The data and coefficient widths are adjustable in the range to 16 II)Specification 1)Interface: The FFT128 processor has the minimum multiplier number which is equal to This fact makes this core attractive to implement in ASIC When configuring in Xilinx FPGA, these multipliers are implemented in DSP48 units respectively The customer can select the input data, output data, and coefficient widths which provide application dynamic range needs This can minimize both logic hardware and memory volume TIEU LUAN MOI download : skknchat123@gmail.com moi nhat *Signal Description: Signal CLK RST start n[6:0] DR[15:0] DI[15:0] fft_ready shift[3:0] DOR[19:0] DIR[19:0] k[6:0] Output_ready OVF1 OVF2 *Note: input and output data are represented by 16 and 20 bit twos complement complex integers, respectively The twiddle coefficients are 16bit wide numbers 2)Typical core interconnection TIEU LUAN MOI download : skknchat123@gmail.com moi nhat The core interconnection depends on the application nature where it is used The simple core interconnection considers the calculation of the unlimited data stream which are inputted in each clock cycle The data source, for example, the analog-to-digital converter, FFT128 is the core, which is customized as one with inner data buffers The FFT algorithm starts with the impulse START The respective results are outputted after the READY impulse and followed by the address code ADDR The signal START is needed for the global synchronization, and can be generated once before the system operation The input data have the natural order, and can be numbered from to 63 When inner data buffers are configured then the output data have the natural order When inner data buffers are configured then the output data have the 8-th inverse order, the order is 0,8,16, 56,1,9,17, III)FFT-128 Algorithm 1)Basic of FFT algorithm *From the radix2 FFT, we now have other bases like radix 4, radix 8, along with various types of FFT calculation constructs such as parallelism, SDF(single delay feedback), MDC (multipath delay commutator), in-place (in-place),floods, increasingly affirm the important role of FFT Here we only study the DIF frequency division FFT Let x[n] be a sequence of length N The discrete Fourier transform DFT of x[n] is calculated according to the following formula: TIEU LUAN MOI download : skknchat123@gmail.com moi nhat (1) 2π If we set W knN=e− j N kn, this coefficients is called twiddle factor, this formula ca nbe written as: a)FFT radix-2 Detail of FFT-radix 2: From formula (2),we can have: TIEU LUAN MOI download : skknchat123@gmail.com moi nhat Divide X1 and X2 is N-points DFT Transform FFT radix-2 butterfly model The above architecture is called the butterfly architecture, which is a fundamental element in all FFT computing techniques Thus, the number of real multiplications N to be performed is the number of real calculation needed: 4( ¿¿2 = N2 => Thus, the number of calculations to be performed has been significantly reduced compared to performing a direct DFT calculation of the sequence x[n] To achieve even more efficiency we divide the sequence x1(n) and x2(n) into subsequences Here is a comparison table of the number of complex calculations that need to be performed between calculating DFT directly and the use of FFT radix-2: TIEU LUAN MOI download : skknchat123@gmail.com moi nhat b)FFT radix-4 The essence of this algorithm is to combine radix-2 bases into radix-4 base However, the radix-4 algorithm has advantage over the radix-2 algorithm We see that, for every radix-2 bases, we have to multiply the twiddle factor, which remains radix- We just multiply the twiddle factor after the 2nd layer and the previous layer just multiply with coefficient -j - trivial coefficient, so when done by computer will reduce the number of complex calculations and improve the complexity TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 2)Algorithm of FFT-128 An 128-point DFT computes a sequence x(n) of 128 complex-valued numbers given another sequence of data X(k) of length 128 according to the formula(k = to 127): (1) To simplify the notation, the complex-valued phase factor e –j2nk/128 is: W128 = cos(2/128) – j sin(2/128) =>The FFT algorithms take advantage of the symmetry and periodicity properties of W128n to greatly reduce the number of calculations that the DFT requires In an FFT implementation the real and imaginary components of twiddle factors The basic of the FFT is that a DFT can be divided into smaller DFTs In the processor FFT128 a mixed radix and 16 FFT algorithm is used It divides DFT into two smaller DFTs of the length and 16, as it is shown in the formula: TIEU LUAN MOI download : skknchat123@gmail.com moi nhat b[7][4] = 98133.22+246292.69i b[7][5] = 315524.47+234315.06i b[7][6] = -62212.00+-26687.47i b[7][7] = -194484.47+41739.19i b[8][0] = -14545.19+-128961.22i b[8][1] = 95847.44+-145785.47i b[8][2] = -172053.22+199310.34i b[8][3] = 26420.79+232521.31i b[8][4] = -232156.75+238695.28i TIEU LUAN MOI download : skknchat123@gmail.com moi nhat b[8][5] = 265438.56+140123.47i b[8][6] = -67068.81+164107.66i b[8][7] = 98133.22+246292.69i b[9][0] = 473152.00+378656.00i b[9][1] = -119255760.00+-79477920.00i b[9][2] = -44412144.00+107713128.00i b[9][3] = -68875792.00+-13955128.00i b[9][4] = 166352.00+215054688.00i 11111 1111111111 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 11111 1111111111 b[9][5] = 102260928.00+-20779862.00i b[9][6] = 107616392.00+259506272.00i b[9][7] = 597596288.00+-399871232.00i b[10][0] = 521046.62+-325177.88i b[10][1] = -349903.88+349044.12i b[10][2] = -112325.67+316327.75i b[10][3] = -39048.58+-26262.25i b[10][4] = -82777.97+25873.89i TIEU LUAN MOI download : skknchat123@gmail.com moi nhat b[10][5] = 87888.97+13034.93i b[10][6] = 10090.28+-41235.25i b[10][7] = 315524.47+234315.06i b[11][0] = 802654.00+290248.00i b[11][1] = 2973330944.00+-591657984.00i b[11][2] = 537231.38+4731880960.00i b[11][3] = -2973127424.00+-591014784.00i b[11][4] = 269118.00+812888.00i b[11][5] = -885129472.00+-591250048.00i TIEU LUAN MOI download : skknchat123@gmail.com moi nhat b[11][6] = 467928.62+858560.00i b[11][7] = -395038912.00+-591297536.00i b[12][0] = 192538.27+-499212.94i b[12][1] = -260158.02+-511264.12i b[12][2] = 102383.93+219354.16i b[12][3] = -30952.76+-241507.16i b[12][4] = 60944.11+146385.39i b[12][5] = 9795.65+-37228.34i 11100 0011001000 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 11110 0010001011 b[12][6] = -12323.17+3856.47i b[12][7] = -62212.00+-26687.47i b[13][0] = 645272.00+380984.00i b[13][1] = -27354.38+47669.89i b[13][2] = 909136.00+347344.00i b[13][3] = 305379.62+20842.20i b[13][4] = 176400.02+851808.00i b[13][5] = 40534.06+6719.95i TIEU LUAN MOI download : skknchat123@gmail.com moi nhat b[13][6] = 442792.00+848920.00i 11111 b[13][7] = 238008.66+3944.60i 11010 b[14][0] = 266097.38+-119806.88i b[14][1] = -1516922.62+1313029.12i b[14][2] = 36940.27+-123510.10i b[14][3] = -72998.95+-57996.77i b[14][4] = -18900.14+-221693.56i b[14][5] = 112692.78+79197.13i b[14][6] = 88507.09+36214.27i TIEU LUAN MOI download : skknchat123@gmail.com moi nhat b[14][7] = -194484.47+41739.19i b[15][0] = 549304.00+485144.00i b[15][1] = -99656.21+45452.12i b[15][2] = 768856.00+454880.00i b[15][3] = -42461.36+12117.91i b[15][4] = 76824.00+434080.03i b[15][5] = 312264.66+-10280.56i b[15][6] = 396856.00+947416.00i 11111 1111111111 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 11111 1111111111 b[15][7] = 248540.66+-19685.41i VI)Implentation And Result 1)Main Verilog code for pipelined FFT-128(each module’s code in main modue of FFT-128 will be attach with my report) TIEU LUAN MOI download : skknchat123@gmail.com moi nhat TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 2)Create testbench Input data waveform: Output data waveform: TIEU LUAN MOI download : skknchat123@gmail.com moi nhat Output Waveform On Modelsim RTL Schematic Of Design *Synthesis On Vivado: Synthesis overview on chip xc7a100tcsg324-3 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat Post-implementation after utilization The following table illustrates the performance of the FFT128 core with two data buffers based on BlockRAMs in Xilinx Virtex device when implementing 128point FFT for 10 and 16-bit data and coefficients Note that DSP48 units in all projects are used The results are derived using the Xilinx ISE 9.1 tool VII)Acknowledgement - Find out about the company structure, the positions that graduates can apply later recruit - Improve soft skills such as teamwork, planning, time division time, communication - Orientation to jobs after graduation, improve basic knowledge department, specializing in electronics - See the shortcomings and limitations of your own knowledge and skills to can be replenished in a timely manner - Applying knowledge learned in class and self-finding knowledge solve the problem - Learn more useful knowledge such as programming MatLab, C++, TIEU LUAN MOI download : skknchat123@gmail.com moi nhat Verilog language - A preliminary understanding of the hardware verification process in IC design TIEU LUAN MOI download : skknchat123@gmail.com moi nhat TIEU LUAN MOI download : skknchat123@gmail.com moi nhat ... -ROTATOR128 – complex multiplier with twiddle factor ROM, described in ROTATOR128.v, WROM128.v; -CT128 – counter modulo 128 Below all the components are described more precisely *BUFRAM128: BUFRAM128... FFT -128 Core: Block diagram of the FFT128 core with two data buffers Components: -BUFRAM128 – data buffer with row writing and column reading, described in BUFRAM128C.v, RAM2x128C.v, RAM128.v... CONTENTS I)Overview of our project II) Specification III)FFT -128 Algorithm IV)ASMD and block diagram of FFT -128 V)Implement Algorithm on C++ VI)Implentation And Result VII)Acknowledgement TIEU LUAN

Ngày đăng: 26/09/2022, 18:39

Xem thêm:

w