<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE document PUBLIC "-//CNX//DTD CNXML 0.5 plus MathML//EN" "http://cnx.rice.edu/cnxml/0.5/DTD/cnxml_mathml.dtd">
<document xmlns="http://cnx.rice.edu/cnxml" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" xmlns:md="http://cnx.rice.edu/mdml/0.4" id="id2255528">
  <name>Sin and Cos using CORDIC</name>
  <metadata>
  <md:version>1.3</md:version>
  <md:created>2008/04/16 18:33:02 GMT-5</md:created>
  <md:revised>2008/04/21 11:39:05.999 GMT-5</md:revised>
  <md:authorlist>
      <md:author id="lmmorenox">
      <md:firstname>Luis</md:firstname>
      <md:othername>Mario</md:othername>
      <md:surname>Moreno</md:surname>
      <md:email>lmmorenox@utpl.edu.ec</md:email>
    </md:author>
  </md:authorlist>

  <md:maintainerlist>
    <md:maintainer id="lmmorenox">
      <md:firstname>Luis</md:firstname>
      <md:othername>Mario</md:othername>
      <md:surname>Moreno</md:surname>
      <md:email>lmmorenox@utpl.edu.ec</md:email>
    </md:maintainer>
  </md:maintainerlist>
  
  <md:keywordlist>
    <md:keyword>CORDIC</md:keyword>
    <md:keyword>cos</md:keyword>
    <md:keyword>sin</md:keyword>
  </md:keywordlist>

  <md:abstract>Calculation of trigonometrical functions sin and cos , using the CORDIC algorithm</md:abstract>
</metadata>
  <content>
    <para id="id2255550">lightgraygray0.5</para>
    <section id="uid1">
      <name>Contents</name>
      <list id="id2255563" type="bulleted">
        <item id="uid2">Look up table
</item>
        <item id="uid3">Variables de Entrada
</item>
        <item id="uid4">Iteracion Cero
</item>
        <item id="uid5">n- Iteraciones
</item>
        <item id="uid6">Valores Obtenidos
</item>
        <item id="uid7">Referencias
</item>
      </list>
      <para id="id2255625">%Calculation of trigonometrical functions cos(theta) and sen(theta)
</para>
      <para id="id2255635">%by CORDIC algorithm
</para>
      
      
      
      
      <para id="id2255684">n=9; %Number of iterations
</para>
    </section>
    <section id="uid8">
      <name>Look up table</name>
      <para id="id2255704">lutai=[45.00000
</para>
      <para id="id2255712">       26.56505
</para>
      <para id="id2255721">       14.03624
</para>
      <para id="id2255730">        7.12501
</para>
      <para id="id2255739">        3.57633
</para>
      <para id="id2255748">        1.78991
</para>
      <para id="id2255756">        0.89517
</para>
      <para id="id2255765">        0.44761
</para>
      <para id="id2255774">        0.22381];
</para>
    </section>
    <section id="uid9">
      <name>Variables de Entrada</name>
      <para id="id2255793">xo=.6072;    % coordenada en X=C
</para>
      <para id="id2255802">yo=0;        % coordenada en Y=0
</para>
      <para id="id2255812">zo=45;       % Ingrese el angulo en grados
</para>
      <para id="id2255822">ao=sign(zo); %Comprobacion de Signo
</para>
    </section>
    <section id="uid10">
      <name>Iteracion Cero</name>
      <para id="id2255841">x=xo-yo*ao*(2^-(0));
</para>
      <para id="id2255854">y=yo+xo*ao*(2^-(0));
</para>
      <para id="id2255865">z=zo-ao*lutai(1); %Carga de primer valor de angulo
</para>
      <para id="id2255877">zo=z;  %Actualizar zo
</para>
      <para id="id2255886">xo=x;  %Actualizar xo
</para>
      <para id="id2255895">yo=y;  %Actualizar yo
</para>
      <para id="id2255905">if zo&gt;=0  %Comprobacion de signo
</para>
      <para id="id2255917">    ai=+1;
</para>
      <para id="id2255925"> else
</para>
      <para id="id2255934">    ai=-1;
</para>
      <para id="id2255944">end
</para>
    </section>
    <section id="uid11">
      <name>n- Iteraciones</name>
      <para id="id2255962">    for i=1:n-1
</para>
      <para id="id2255973">      x=xo-yo*ai*(2^-(i));
</para>
      <para id="id2255986">      y=yo+xo*ai*(2^-(i));
</para>
      <para id="id2255997">      z=zo-ai*lutai(i+1);
</para>
      <para id="id2256008">      if z&gt;=0  %Comprobacion de signo
</para>
      <para id="id2256021">         ai=+1;
</para>
      <para id="id2256029">      else
</para>
      <para id="id2256038">         ai=-1;
</para>
      <para id="id2256049">      end
</para>
      <para id="id2256058">      zo=z;      %actualizar zo
</para>
      <para id="id2256067">      xo=x;      %actualizar xo
</para>
      <para id="id2256076">      yo=y;      %actualizar yo
</para>
      <para id="id2256085">    end
</para>
    </section>
    <section id="uid12">
      <name>Valores Obtenidos</name>
      <para id="id2256103">cosine=x % Coseno
</para>
      <para id="id2256112">seno1=y  % Seno
</para>
      <para id="id2256129">lightgray </para>
      <para id="id2256140">cosine =
</para>
      <para id="id2256148"> 
</para>
      <para id="id2256156">    0.7093
</para>
      <para id="id2256165"> 
</para>
      <para id="id2256173"> 
</para>
      <para id="id2256182">seno1 =
</para>
      <para id="id2256190"> 
</para>
      <para id="id2256199">    0.7047
</para>
      <para id="id2256207"> 
</para>
      <para id="id2256216">black</para>
    </section>
    <section id="uid13">
      <name>Referencias</name>
      <para id="id2256230">- Jack E. Volder The CORDIC Trigonometric Computing Technique IRE Transcactions EC-8, 1959, 330-334</para>
<!--empty paragraphs get left behind.-->
      <para id="id2256239">- Amaya Ferney*,Velasco Jaime :DiseÃ±o de la tangente inversa usando el algoritmo CORDIC</para>
<!--empty paragraphs get left behind.-->
      <para id="id2256255"> *Grupo de Automatica y Robotica, GAR, Universidad Javeriana, Cali, Colombia
</para>
      <para id="id2256265"> E-mail: foamaya@puj.edu.co, jvelasco@univalle.edu.co\end{verbatim}
</para>
      <para id="id2256277"> 
</para>
      <para id="id2256286"> 
</para>
      <para id="id2256294"> 
</para>
      <para id="id2256302">\end{document}
</para>
      <para id="id2256311"> 
</para>
<!--empty paragraphs get left behind.-->
    </section>
  </content>
</document>
