Getting Started with the CORDIC Accelerator Using Stm32cubeg4 MCU Package
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Fortran 90 Overview
1 Fortran 90 Overview J.E. Akin, Copyright 1998 This overview of Fortran 90 (F90) features is presented as a series of tables that illustrate the syntax and abilities of F90. Frequently comparisons are made to similar features in the C++ and F77 languages and to the Matlab environment. These tables show that F90 has significant improvements over F77 and matches or exceeds newer software capabilities found in C++ and Matlab for dynamic memory management, user defined data structures, matrix operations, operator definition and overloading, intrinsics for vector and parallel pro- cessors and the basic requirements for object-oriented programming. They are intended to serve as a condensed quick reference guide for programming in F90 and for understanding programs developed by others. List of Tables 1 Comment syntax . 4 2 Intrinsic data types of variables . 4 3 Arithmetic operators . 4 4 Relational operators (arithmetic and logical) . 5 5 Precedence pecking order . 5 6 Colon Operator Syntax and its Applications . 5 7 Mathematical functions . 6 8 Flow Control Statements . 7 9 Basic loop constructs . 7 10 IF Constructs . 8 11 Nested IF Constructs . 8 12 Logical IF-ELSE Constructs . 8 13 Logical IF-ELSE-IF Constructs . 8 14 Case Selection Constructs . 9 15 F90 Optional Logic Block Names . 9 16 GO TO Break-out of Nested Loops . 9 17 Skip a Single Loop Cycle . 10 18 Abort a Single Loop . 10 19 F90 DOs Named for Control . 10 20 Looping While a Condition is True . 11 21 Function definitions . 11 22 Arguments and return values of subprograms . 12 23 Defining and referring to global variables . -
Quick Overview: Complex Numbers
Quick Overview: Complex Numbers February 23, 2012 1 Initial Definitions Definition 1 The complex number z is defined as: z = a + bi (1) p where a, b are real numbers and i = −1. Remarks about the definition: • Engineers typically use j instead of i. • Examples of complex numbers: p 5 + 2i; 3 − 2i; 3; −5i • Powers of i: i2 = −1 i3 = −i i4 = 1 i5 = i i6 = −1 i7 = −i . • All real numbers are also complex (by taking b = 0). 2 Visualizing Complex Numbers A complex number is defined by it's two real numbers. If we have z = a + bi, then: Definition 2 The real part of a + bi is a, Re(z) = Re(a + bi) = a The imaginary part of a + bi is b, Im(z) = Im(a + bi) = b 1 Im(z) 4i 3i z = a + bi 2i r b 1i θ Re(z) a −1i Figure 1: Visualizing z = a + bi in the complex plane. Shown are the modulus (or length) r and the argument (or angle) θ. To visualize a complex number, we use the complex plane C, where the horizontal (or x-) axis is for the real part, and the vertical axis is for the imaginary part. That is, a + bi is plotted as the point (a; b). In Figure 1, we can see that it is also possible to represent the point a + bi, or (a; b) in polar form, by computing its modulus (or size), and angle (or argument): p r = jzj = a2 + b2 θ = arg(z) We have to be a bit careful defining φ, since there are many ways to write φ (and we could add multiples of 2π as well). -
Fortran Math Special Functions Library
IMSL® Fortran Math Special Functions Library Version 2021.0 Copyright 1970-2021 Rogue Wave Software, Inc., a Perforce company. Visual Numerics, IMSL, and PV-WAVE are registered trademarks of Rogue Wave Software, Inc., a Perforce company. IMPORTANT NOTICE: Information contained in this documentation is subject to change without notice. Use of this docu- ment is subject to the terms and conditions of a Rogue Wave Software License Agreement, including, without limitation, the Limited Warranty and Limitation of Liability. ACKNOWLEDGMENTS Use of the Documentation and implementation of any of its processes or techniques are the sole responsibility of the client, and Perforce Soft- ware, Inc., assumes no responsibility and will not be liable for any errors, omissions, damage, or loss that might result from any use or misuse of the Documentation PERFORCE SOFTWARE, INC. MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THE DOCUMENTATION. THE DOCU- MENTATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. PERFORCE SOFTWARE, INC. HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS WITH REGARD TO THE DOCUMENTATION, WHETHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PAR- TICULAR PURPOSE, OR NONINFRINGEMENT. IN NO EVENT SHALL PERFORCE SOFTWARE, INC. BE LIABLE, WHETHER IN CONTRACT, TORT, OR OTHERWISE, FOR ANY SPECIAL, CONSEQUENTIAL, INDIRECT, PUNITIVE, OR EXEMPLARY DAMAGES IN CONNECTION WITH THE USE OF THE DOCUMENTATION. The Documentation is subject to change at any time without notice. IMSL https://www.imsl.com/ Contents Introduction The IMSL Fortran Numerical Libraries . 1 Getting Started . 2 Finding the Right Routine . 3 Organization of the Documentation . 4 Naming Conventions . -
Einstein's Velocity Addition Law and Its Hyperbolic Geometry
View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Elsevier - Publisher Connector Computers and Mathematics with Applications 53 (2007) 1228–1250 www.elsevier.com/locate/camwa Einstein’s velocity addition law and its hyperbolic geometry Abraham A. Ungar∗ Department of Mathematics, North Dakota State University, Fargo, ND 58105, USA Received 6 March 2006; accepted 19 May 2006 Abstract Following a brief review of the history of the link between Einstein’s velocity addition law of special relativity and the hyperbolic geometry of Bolyai and Lobachevski, we employ the binary operation of Einstein’s velocity addition to introduce into hyperbolic geometry the concepts of vectors, angles and trigonometry. In full analogy with Euclidean geometry, we show in this article that the introduction of these concepts into hyperbolic geometry leads to hyperbolic vector spaces. The latter, in turn, form the setting for hyperbolic geometry just as vector spaces form the setting for Euclidean geometry. c 2007 Elsevier Ltd. All rights reserved. Keywords: Special relativity; Einstein’s velocity addition law; Thomas precession; Hyperbolic geometry; Hyperbolic trigonometry 1. Introduction The hyperbolic law of cosines is nearly a century old result that has sprung from the soil of Einstein’s velocity addition law that Einstein introduced in his 1905 paper [1,2] that founded the special theory of relativity. It was established by Sommerfeld (1868–1951) in 1909 [3] in terms of hyperbolic trigonometric functions as a consequence of Einstein’s velocity addition of relativistically admissible velocities. Soon after, Varicakˇ (1865–1942) established in 1912 [4] the interpretation of Sommerfeld’s consequence in the hyperbolic geometry of Bolyai and Lobachevski. -
Old-Fashioned Relativity & Relativistic Space-Time Coordinates
Relativistic Coordinates-Classic Approach 4.A.1 Appendix 4.A Relativistic Space-time Coordinates The nature of space-time coordinate transformation will be described here using a fictional spaceship traveling at half the speed of light past two lighthouses. In Fig. 4.A.1 the ship is just passing the Main Lighthouse as it blinks in response to a signal from the North lighthouse located at one light second (about 186,000 miles or EXACTLY 299,792,458 meters) above Main. (Such exactitude is the result of 1970-80 work by Ken Evenson's lab at NIST (National Institute of Standards and Technology in Boulder) and adopted by International Standards Committee in 1984.) Now the speed of light c is a constant by civil law as well as physical law! This came about because time and frequency measurement became so much more precise than distance measurement that it was decided to define the meter in terms of c. Fig. 4.A.1 Ship passing Main Lighthouse as it blinks at t=0. This arrangement is a simplified model for a 1Hz laser resonator. The two lighthouses use each other to maintain a strict one-second time period between blinks. And, strict it must be to do relativistic timing. (Even stricter than NIST is the universal agency BIGANN or Bureau of Intergalactic Aids to Navigation at Night.) The simulations shown here are done using RelativIt. Relativistic Coordinates-Classic Approach 4.A.2 Fig. 4.A.2 Main and North Lighthouses blink each other at precisely t=1. At p recisel y t=1 sec. -
3.2 the CORDIC Algorithm
UC San Diego UC San Diego Electronic Theses and Dissertations Title Improved VLSI architecture for attitude determination computations Permalink https://escholarship.org/uc/item/5jf926fv Author Arrigo, Jeanette Fay Freauf Publication Date 2006 Peer reviewed|Thesis/dissertation eScholarship.org Powered by the California Digital Library University of California 1 UNIVERSITY OF CALIFORNIA, SAN DIEGO Improved VLSI Architecture for Attitude Determination Computations A dissertation submitted in partial satisfaction of the requirements for the degree Doctor of Philosophy in Electrical and Computer Engineering (Electronic Circuits and Systems) by Jeanette Fay Freauf Arrigo Committee in charge: Professor Paul M. Chau, Chair Professor C.K. Cheng Professor Sujit Dey Professor Lawrence Larson Professor Alan Schneider 2006 2 Copyright Jeanette Fay Freauf Arrigo, 2006 All rights reserved. iv DEDICATION This thesis is dedicated to my husband Dale Arrigo for his encouragement, support and model of perseverance, and to my father Eugene Freauf for his patience during my pursuit. In memory of my mother Fay Freauf and grandmother Fay Linton Thoreson, incredible mentors and great advocates of the quest for knowledge. iv v TABLE OF CONTENTS Signature Page...............................................................................................................iii Dedication … ................................................................................................................iv Table of Contents ...........................................................................................................v -
CORDIC-Like Method for Solving Kepler's Equation
A&A 619, A128 (2018) Astronomy https://doi.org/10.1051/0004-6361/201833162 & c ESO 2018 Astrophysics CORDIC-like method for solving Kepler’s equation M. Zechmeister Institut für Astrophysik, Georg-August-Universität, Friedrich-Hund-Platz 1, 37077 Göttingen, Germany e-mail: [email protected] Received 4 April 2018 / Accepted 14 August 2018 ABSTRACT Context. Many algorithms to solve Kepler’s equations require the evaluation of trigonometric or root functions. Aims. We present an algorithm to compute the eccentric anomaly and even its cosine and sine terms without usage of other transcen- dental functions at run-time. With slight modifications it is also applicable for the hyperbolic case. Methods. Based on the idea of CORDIC, our method requires only additions and multiplications and a short table. The table is inde- pendent of eccentricity and can be hardcoded. Its length depends on the desired precision. Results. The code is short. The convergence is linear for all mean anomalies and eccentricities e (including e = 1). As a stand-alone algorithm, single and double precision is obtained with 29 and 55 iterations, respectively. Half or two-thirds of the iterations can be saved in combination with Newton’s or Halley’s method at the cost of one division. Key words. celestial mechanics – methods: numerical 1. Introduction expansion of the sine term and yielded with root finding methods a maximum error of 10−10 after inversion of a fifteen-degree Kepler’s equation relates the mean anomaly M and the eccentric polynomial. Another possibility to reduce the iteration is to use anomaly E in orbits with eccentricity e. -
CORDIC V6.0 Logicore IP Product Guide
CORDIC v6.0 LogiCORE IP Product Guide Vivado Design Suite PG105 August 6, 2021 Table of Contents IP Facts Chapter 1: Overview Navigating Content by Design Process . 5 Core Overview . 5 Feature Summary. 6 Applications . 6 Licensing and Ordering . 7 Chapter 2: Product Specification Performance. 8 Resource Utilization. 9 Port Descriptions . 9 Chapter 3: Designing with the Core Clocking. 12 Resets . 12 Protocol Description – AXI4-Stream . 12 Functional Description. 17 Input/Output Data Representation . 30 Chapter 4: Design Flow Steps Customizing and Generating the Core . 38 System Generator for DSP. 44 Constraining the Core . 44 Simulation . 45 Synthesis and Implementation . 46 Chapter 5: C Model Features . 47 Overview . 47 Installation . 48 C Model Interface. 49 CORDIC v6.0 Send Feedback 2 PG105 August 6, 2021 www.xilinx.com Compiling . 53 Linking. 53 Dependent Libraries . 54 Example . 55 Chapter 6: Test Bench Demonstration Test Bench . 56 Appendix A: Upgrading Migrating to the Vivado Design Suite. 58 Upgrading in the Vivado Design Suite . 58 Appendix B: Debugging Finding Help on Xilinx.com . 62 Debug Tools . 63 Simulation Debug. 64 AXI4-Stream Interface Debug . 65 Appendix C: Additional Resources and Legal Notices Xilinx Resources . 66 Documentation Navigator and Design Hubs . 66 References . 67 Revision History . 67 Please Read: Important Legal Notices . 68 CORDIC v6.0 Send Feedback 3 PG105 August 6, 2021 www.xilinx.com IP Facts Introduction LogiCORE IP Facts Table Core Specifics This Xilinx® LogiCORE™ IP core implements a Versal™ ACAP -
Hyperbolic Trigonometry in Two-Dimensional Space-Time Geometry
Hyperbolic trigonometry in two-dimensional space-time geometry F. Catoni, R. Cannata, V. Catoni, P. Zampetti ENEA; Centro Ricerche Casaccia; Via Anguillarese, 301; 00060 S.Maria di Galeria; Roma; Italy January 22, 2003 Summary.- By analogy with complex numbers, a system of hyperbolic numbers can be intro- duced in the same way: z = x + hy; h2 = 1 x, y R . As complex numbers are linked to the { ∈ } Euclidean geometry, so this system of numbers is linked to the pseudo-Euclidean plane geometry (space-time geometry). In this paper we will show how this system of numbers allows, by means of a Cartesian representa- tion, an operative definition of hyperbolic functions using the invariance respect to special relativity Lorentz group. From this definition, by using elementary mathematics and an Euclidean approach, it is straightforward to formalise the pseudo-Euclidean trigonometry in the Cartesian plane with the same coherence as the Euclidean trigonometry. PACS 03 30 - Special Relativity PACS 02.20. Hj - Classical groups and Geometries 1 Introduction Complex numbers are strictly related to the Euclidean geometry: indeed their invariant (the module) arXiv:math-ph/0508011v1 3 Aug 2005 is the same as the Pythagoric distance (Euclidean invariant) and their unimodular multiplicative group is the Euclidean rotation group. It is well known that these properties allow to use complex numbers for representing plane vectors. In the same way hyperbolic numbers, an extension of complex numbers [1, 2] defined as z = x + hy; h2 =1 x, y R , { ∈ } are strictly related to space-time geometry [2, 3, 4]. Indeed their square module given by1 z 2 = 2 2 | | zz˜ x y is the Lorentz invariant of two dimensional special relativity, and their unimodular multiplicative≡ − group is the special relativity Lorentz group [2]. -
IEEE Standard 754 for Binary Floating-Point Arithmetic
Work in Progress: Lecture Notes on the Status of IEEE 754 October 1, 1997 3:36 am Lecture Notes on the Status of IEEE Standard 754 for Binary Floating-Point Arithmetic Prof. W. Kahan Elect. Eng. & Computer Science University of California Berkeley CA 94720-1776 Introduction: Twenty years ago anarchy threatened floating-point arithmetic. Over a dozen commercially significant arithmetics boasted diverse wordsizes, precisions, rounding procedures and over/underflow behaviors, and more were in the works. “Portable” software intended to reconcile that numerical diversity had become unbearably costly to develop. Thirteen years ago, when IEEE 754 became official, major microprocessor manufacturers had already adopted it despite the challenge it posed to implementors. With unprecedented altruism, hardware designers had risen to its challenge in the belief that they would ease and encourage a vast burgeoning of numerical software. They did succeed to a considerable extent. Anyway, rounding anomalies that preoccupied all of us in the 1970s afflict only CRAY X-MPs — J90s now. Now atrophy threatens features of IEEE 754 caught in a vicious circle: Those features lack support in programming languages and compilers, so those features are mishandled and/or practically unusable, so those features are little known and less in demand, and so those features lack support in programming languages and compilers. To help break that circle, those features are discussed in these notes under the following headings: Representable Numbers, Normal and Subnormal, Infinite -
A Review on Hardware Accelerator Design and Implementation of CORDIC Algorithm for a Gaming Application
International Journal of Innovative Technology and Exploring Engineering (IJITEE) ISSN: 2278-3075, Volume-9 Issue-9, July 2020 A Review on Hardware Accelerator Design and Implementation of CORDIC Algorithm for a Gaming Application Trupthi B, Jalendra H E, Srilaxmi C P, Varun M S, Geethashree A Abstract - Co-ordinate Digital rotation computer is the full The conversion of rectangular to polar and polar to form of CORDIC.CORDIC is a process for finding functions rectangular function are the two major operations in using less hardware like shifts, subs/adds and then compares. It's CORDIC. Basically, they are the two different co-ordinates the algorithm used for some elementary functions which are calculated in real-time and many conversions like from to represent the 2D plane. The Rectangular form is rectangular to polar co-ordinate and vice versa. Rectangular to represented by a real part (horizontal axis) and an imaginary polar and polar to rectangular is an important operation in (Vertical axis) part of the vector. The Rectangular form is CORDIC which are generally used in ALUs, wireless shown by a real part (horizontal axis) and an imaginary communications, DSP processors etc. This paper proposes the (Vertical axis) part of the vector [8].The rectangular co- implementation of physical design for CORDIC algorithm for ordinates are in the form of (x, y) where „x‟ stands for a polar to rectangular and rectangular to polar conversions, by the use of RTL code in written in Verilog and fed to pre-processor, horizontal plane and „y‟ stands for the vertical plane from cordic core and post processor. -
Hyperbolic Geometry
Flavors of Geometry MSRI Publications Volume 31,1997 Hyperbolic Geometry JAMES W. CANNON, WILLIAM J. FLOYD, RICHARD KENYON, AND WALTER R. PARRY Contents 1. Introduction 59 2. The Origins of Hyperbolic Geometry 60 3. Why Call it Hyperbolic Geometry? 63 4. Understanding the One-Dimensional Case 65 5. Generalizing to Higher Dimensions 67 6. Rudiments of Riemannian Geometry 68 7. Five Models of Hyperbolic Space 69 8. Stereographic Projection 72 9. Geodesics 77 10. Isometries and Distances in the Hyperboloid Model 80 11. The Space at Infinity 84 12. The Geometric Classification of Isometries 84 13. Curious Facts about Hyperbolic Space 86 14. The Sixth Model 95 15. Why Study Hyperbolic Geometry? 98 16. When Does a Manifold Have a Hyperbolic Structure? 103 17. How to Get Analytic Coordinates at Infinity? 106 References 108 Index 110 1. Introduction Hyperbolic geometry was created in the first half of the nineteenth century in the midst of attempts to understand Euclid’s axiomatic basis for geometry. It is one type of non-Euclidean geometry, that is, a geometry that discards one of Euclid’s axioms. Einstein and Minkowski found in non-Euclidean geometry a This work was supported in part by The Geometry Center, University of Minnesota, an STC funded by NSF, DOE, and Minnesota Technology, Inc., by the Mathematical Sciences Research Institute, and by NSF research grants. 59 60 J. W. CANNON, W. J. FLOYD, R. KENYON, AND W. R. PARRY geometric basis for the understanding of physical time and space. In the early part of the twentieth century every serious student of mathematics and physics studied non-Euclidean geometry.