VHDL Implementation of CORDIC Algorithm for Wireless LAN

VHDL Implementation of CORDIC Algorithm for Wireless LAN

VHDL implementation of CORDIC algorithm for wireless LAN Master thesis performed in Electronics Systems by Anastasia Lashko, Oleg Zakaznov LiTH−ISY−EX−3515−2004 Linköping, 2004 VHDL implementation of CORDIC algorithm for wireless LAN Master thesis in Electronics Systems at Linköping Institute of Technology by Anastasia Lashko, Oleg Zakaznov LiTH−ISY−EX−3515−2004 Supervisor: Kent Palmkvist Examiner: Kent Palmkvist Linköping, 20th of February, 2004 Avdelning, Institution Datum Division, Department Date 2003−02−20 Institutionen för systemteknik 581 83 LINKÖPING Språk Rapporttyp ISBN Language Report category Svenska/Swedish Licentiatavhandling ISRN LITH−ISY−EX−3515−2004 X Engelska/English X Examensarbete C−uppsats Serietitel och serienummer ISSN D−uppsats Title of series, numbering Övrig rapport ____ URL för elektronisk version http://www.ep.liu.se/exjobb/isy/2004/3515/ Titel VHDL Implementation of CORDIC Algorithm for Wireless LAN Title Författare Anastasia Lashko, Oleg Zakaznov Author Sammanfattning Abstract This work is focused on the CORDIC algorithm for wireless LAN. The primary task is to create a VHDL description for CORDIC vector rotation algorithm. The basic research has been carried out in MATLAB. The VHDL implementation of the CORDIC algorithm is based on the results obtained from the MATLAB simulation. Mentor Graphics FPGA Advantage© for Xilinx 4010XL FPGA has been used for the hardware implementation. Nyckelord Keyword FPGA, CORDIC, implementation, wireless LAN, intearliving, pipelining Abstract This work is focused on the CORDIC algorithm for wireless LAN. The primary task is to create a VHDL description for CORDIC vector rotation algorithm. The basic research has been carried out in MATLAB. The VHDL implementation of the CORDIC algorithm is based on the results obtained from the MATLAB simulation. Mentor Graphics FPGA Advantage© for Xilinx 4010XL FPGA has been used for the hardware implementation. − i − − ii − Acknowledgments This thesis has been written in Electronics Systems division, department of Electrical Engineering, Linköpings Universitet in the contents of the international master program in SoCware − Integrated Systems for Communication and Media. We would like to give thanks to all ISY department staff, especially, our supervisor Kent Palmkvist for his useful advices and continuous attention to us. We also thank all our neighbors, especially Deborah Capello for her help during all the time we were writing our thesis. Special thanks our friend Fedor Merkelov for giving many advices in VHDL language and MATLAB. − iii − − iv − Table of Contents 1 Introduction.........................................................................................1 1.1 About CORDIC..............................................................................1 1.2 Wireless LAN.................................................................................1 1.3 Background....................................................................................2 2 WLAN basics.......................................................................................3 2.1 Modulation.....................................................................................3 2.2 OFDM system model......................................................................4 2.3 Maximum likelihood synchronization.............................................6 2.3.1 Correlation properties of r(·)...................................................6 2.3.2 The likelihood function............................................................7 2.3.3 Simultaneous estimation..........................................................8 2.3.4 Synchronization.......................................................................9 2.4 Correcting sample frequency error................................................10 3 Algorithm...........................................................................................13 3.1 Modes of the CORDIC algorithm.................................................13 3.2 Arithmetics...................................................................................15 3.3 Another method to implement CORDIC algorithm.......................17 4 Solution..............................................................................................19 4.1 MATLAB program.......................................................................19 4.2 VHDL program............................................................................24 4.2.1 Interleaving...........................................................................25 Input control block .....................................................................27 Arithmetic blocks, CORDIC.......................................................28 Output control block...................................................................28 4.2.2 Pipelining..............................................................................29 Input control block......................................................................29 − v − Arithmetic blocks.......................................................................30 Output control block...................................................................30 4.3 FPGA implementation..................................................................31 5 Conclusion..........................................................................................33 5.1 Future work..................................................................................33 References.............................................................................................35 Abbreviations........................................................................................37 Appendix A MATLAB program..........................................................39 Appendix B Wave diagrams................................................................41 − vi − Index of figures Figure 1. QAM constellation......................................................................................3 Figure 2. OFDM system model...................................................................................5 Figure 3. Structure of OFDM signal with cyclically extended frames.........................6 Figure 4. Block diagram of timing and frequency synchronization algorithms...........9 Figure 5. Signals that generate the estimates...............................................................9 Figure 6. Receiver structure for correcting sample frequency error...........................10 Figure 7. The rotation and vectoring modes of the CORDIC algorithm....................13 Figure 8. Block diagram of CORDIC algorithm.......................................................15 Figure 9. Calculations of vector angle.......................................................................20 Figure 10. Angle absolute values..............................................................................21 Figure 11. Accuracy calculation................................................................................22 Figure 12. Main block of VHDL program................................................................24 Figure 13. Structure diagram of interleaved VHDL block........................................25 Figure 14. Input control block..................................................................................27 Figure 15. CORDIC block........................................................................................28 Figure 16. Output control block................................................................................28 Figure 17. Structure diagram of pipelined VHDL architecture..................................29 Figure 18. Input control block..................................................................................29 Figure 19. Arithmetic blocks for pipelined version...................................................30 Figure 20. Output control block................................................................................30 Index of Tables Table 1. CORDIC accuracy and minimal number of steps........................................23 Table 2. Angle calculation........................................................................................26 Table 3. Signal structure...........................................................................................26 Table 4. FPGA utilization.........................................................................................31 − vii − − viii − 1 Introduction 1 1 Introduction 1.1 About CORDIC All trigonometric functions can be computed using vector rotation. The CORDIC (COordinate Rotation DIgital Computer) algorithm was developed by Volder [6] in 1959. It rotates the vector, step−by−step, with a given angle. Additional theoretical work has been done by Walther [7] in 1971. The main principle of CORDIC are calculations based on shift−registers and adders instead of multiplications, what saves much hardware resources. CORDIC is used for polar to rectangular and rectangular to polar conversions and also for calculation of trigonometric functions, vector magnitude and in some transformations, like discrete Fourier transform (DFT) or discrete cosine transform (DCT). In particular case, the CORDIC algorithm is used in wireless LAN (WLAN) by receivers. 1.2 Wireless LAN Wireless LAN is specified with IEEE 802.11 standard. It was accepted in 1999 and led to organization of local networks development. WLAN is a flexible data communications system implemented to extend or substitute for, a wired

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    57 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us