SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
Universidad Técnica Particular de Loja


Escuela de Electrónica y Telecomunicaciones


          Procesamiento de Señales



     Generador de Señales Seno y Coseno en un
                Microcontrolador



INTEGRANTES: Katherine Ivanova Remache Santamaría
                Carlos Alfredo Romero León




                        1
Generador de Señales Seno y Coseno en un
              Microcontrolador

RESUMEN

En el presente proyecto trata, sobre una forma de generar señales seno y coseno en un
microcontrolador, para la generación de las señales senoidales y cosenoidales, primero
debemos generar los coeficientes que corresponden a cada señal en el microcontrolador
mediante las series de Taylor, también, con un mecanismo externo se modificara tanto
amplitud como frecuencia, dichos coeficiente los enviamos por un puerto de salida del
microcontrolador, la cual va a estar conectada a una DAC que se encargara de procesar los
datos recolectados, y logrando así obtener la onda deseada.


                                           OBJETIVOS
Objetivo general.- El objetivo principal del proyecto es generar señales seno y coseno en un
microcontrolador.
Objetivos específicos.- Dentro de los objetivos específicos a alcanzar tenemos:
    Dar a conocer una forma de generar señales seno y coseno.
    Diseñar un sistema que permita generar señales seno y coseno, en un microcontrolador,
    la cual se la podrá utilizar de acuerdo a la comodidad del usuario.

 INTRODUCCIÓN
    En el presente proyecto se analizan temas básicos relacionados a las series de Taylor,
el muestreo, el teorema de muestreo, cuantización y microcontrolador, debido a que estos
temas son de gran importancia para llevar a cabo los objetivos propuestos.

   A. Series de Taylor

La serie de Taylor de una función f de números reales o complejos que es infinitamente
diferenciable en un entorno de números reales o complejos a, es la serie de potencias, el
polinomio siguiente se llama el polinomio de Taylor de grado n en x=a:
                      ′               ′′
    ,     =       +       !
                              −   +        !
                                               −   +    !
                                                              −      +⋯+          !
                                                                                      −

que puede ser escrito de una manera más compacta como:



                                               2
∞

                                                =                                 −           ,
                                                                      !

Donde: n! es el factorial de n y f (n)(a) denota la n-ésima derivada de f en el punto a; la
derivada cero de f es definida como la propia f y (x − a)0 y 0! son ambos definidos como
uno.

La diferencia f(x)-Pn,a(x se llama resto o Error, y se designa por Pn,a (x)

                       ,   =            −       ,             ⇒               =       ,           +   ,


    1) Teorema de Taylor:

1. Si f es una función con derivada n-ésima en x=a, se cumple

                                                    lim   →∞
                                                                          ,
                                                                              =0

2. Si en un entorno E(a) existe fn+1(x), entonces ∀ ∈                                             existe algún c, comprendido
   entre a y x, tal que
   Formula de Lagrange


                                            ,             =                       −
                                                                      +1

   Con lo que el desarrollo de Taylor con el residuo de Lagrange queda así:

                               ′                              ′′
                 =         +                −             +                   −           + ⋯+                       −
                               1!                                 2!                                      !
                           +                          −
                                       +1 !

   Cuando a=0 se llama fórmula de Mac-Laurin

                                   ′
                                    0                ′′
                  =    0 +                  +                         + ⋯+                            +
                                   1!                2!                                   !                   +1 !

        Esta última expresión es el desarrollo de Mac-Laurin con el resto de Lagrange. [1]

    2) Aproximación de la función sen(x)

    Utilizando la series de Taylor con n=0 hasta n=5 para aproximar f(x)=sen(x) en el
punto x=0.


                                                                  3
La expresión del polinomio de Taylor de grado 5 para f(x) en el punto x=0 viene dado
por:
                          ′                  ′′
               =    0 +           −0 +                        −0           +           −0       +       −0   +
                              !                   !                            !                    !
                                                                  −0
                                                      !

     Así calculamos la primera hasta la quinta derivada en el punto x=0, así como f(0)
obtenemos:
f(x) = sen(x) => f(0) = sen(0) = 0
f’(x) = cos(x) => f(0) = cos(0) = 1
f’’(x) = -sen(x) => f(0) = -sen(0) = 0
f3(x) = -cos(x) => f(0) = -cos(0) =-1
f4(x ) = sen(x) => f(0) = sen(0) = 0
f5(x ) = sen(x) => f(0) = sen(0) = 0


                                  =0+             +               −            +       +
                                         !                !            !           !        !


                                                  =       −           +

    A continuación se presenta el código en matlab utilizando las series de Taylor para
generar los coeficientes de las funciones seno y coseno y el margen de error que se presenta
según el grado que se utilice de la serie de Taylor.

   3) Código En Matlab

syms x
x=0:0.001:0.15;
frec=62.83; % frecuencia a 10hz debido a que w=2*pi*f de donde f=10
amplitud=15; % es la amplitud de la onda seno
tayl=amplitud.*((frec.*x-1/6.*frec.^3.*x.^3+1/120.*frec.^5.*x.^5-
1/5040.*frec.^7.*x.^7+1/362880.*frec.^9.*x.^9-
1/39916800.*frec.^11.*x.^11+1/6227020800.*frec.^13.*x.^13-
1/1307674368000.*frec.^15.*x.^15+1/355687428096000.*frec.^17.*x.^17-
1/121645100408832000.*frec.^19.*x.^19)) % funcion sen(x) construida con las series de
taylor
y=amplitud*sin(frec.*x) % función sen(x) dada ya por matlab
plot (x,y,x,tayl,'-.r') %graficar en la misma pantalla ambas gráficas
grid on % activar la grilla
%leyendas de las gráficas
h = legend('Función sen(x) dada','Función sen(x) con taylor',3);
set(h,'Interpreter','none')
%ubicación en el eje x


                                                              4
Xlabel({'MARGEN DE ERROR ENTRE FUNCIÓN SEN(X)}';'CONSTRUIDA CON
TAYLOR Y UNA FUNCIÓN SEN(X)DADA);




                                     Fig. 1 Función seno

    En el momento de hacer la serie de Taylor de mayor grado, va existir un menor
porcentaje de error, como se pudo observar en la grafica anterior, la serie de Taylor es de
grado 19, por lo que se puede concluir que si el grado es mucho mayor la onda roja va a ser
similar a la onda azul y por ende el grado de error también va a ser mucho menor.

   4) Aproximación de la función cos(x)

    Utilizando las mismas especificaciones de la señal anterior se obtiene:

f(x)=cos(x) => f(0)=cos(0)=1
f’(x)=-sen(x) => f(0)=-sen(0)=0
f’’(x)= -cos(x) => f(0)=-cos(0)=-1
f3(x)= sen(x) => f(0)= sen(0)=0
f4(x)= cos(x) => f(0)= cos(0)=1
f5(x)= -sen(x) => f(0)= -sen(0)=0

                                     0    1            0         1        0
                             =1+        −          +         +        +
                                     1!   2!           3!        4!       5!
                                                   1         1
                                         =1−            +
                                                   2        24

   5) Código en Matlab

syms x
x=0:0.001:0.15;
frec=62.83; % frecuencia a 10hz debido a que w=2*pi*f de donde f=10

                                               5
amplitud=15; % es la amplitud de la onda seno
tayl=amplitud.*((1-1/2.*frec.^2.*x.^2+1/24.*frec.^4.*x.^4-
1/720.*frec.^6.*x.^6+1/40320.*frec.^8.*x.^8-
1/3628800.*frec.^10.*x.^10+1/479001600.*frec.^12.*x.^12-
1/87178291200.*frec.^14.*x.^14+1/20922789888000.*frec.^16.*x.^16-
1/6402373705728000.*frec.^18.*x.^18)) % funcion sen(x) construida con las series de
taylor
y=amplitud*cos(frec.*x) % función sen(x) dada ya por matlab
plot (x,y,x,tayl,'-.r') %graficar en la misma pantalla ambas gráficas
grid on % activar la grilla
%leyendas de las gráficas
h = legend('Función cos(x) dada','Función cos(x) con taylor',3);
set(h,'Interpreter','none')
%ubicación en el eje x
Xlabel({'MARGEN DE ERROR ENTRE FUNCIÓN SEN(X)}';'CONSTRUIDA CON
TAYLOR Y UNA FUNCIÓN COS(X)DADA'});




                                 Fig. 2 Función coseno

   6) Error de Truncamiento

     Al agregar más términos a la serie, su valor resulta ser más exacto y obviamente
mientras menos términos posean, más inexacta es. El error de truncamiento muestra la
diferencia entre el valor aproximado y el real, esto significa que mientras más términos
tenga la serie, tal error es más pequeño. [2] y [3]

                           Etr=Valor real-Valor Aproximado.

   B. Muestreo

   El muestreo de señales es el primer paso en el procesamiento de señales discretas
(DSP). Para procesar una señal analógica por medios digitales, debemos convertirla en una

                                           6
señal digital en dos pasos. Primero, debemos muestrearla, en intervalos uniformes ts. La
cantidad discreta nts se relaciona con el índice entero n. Luego debemos cuantizar los
valores de la muestra (amplitudes). Tanto el muestreo como la cuantización conducen a una
pérdida potencial de información. Sin embargo la señal puede muestrearse sin pérdida de
información si es de banda limitada a una frecuencia más alta fB y muestreada a intervalos
menores que      . Este es el célebre teorema de muestreo. Si el intervalo de muestreo supera
el valor critico   , un fenómeno conocido como alias se manifiesta por sí solo.

    Componentes de la señal analógica a altas frecuencias aparecen (por el alias) a bajas
frecuencias en la señal muestreada. Esto resulta en una señal muestreada con una menor
frecuencia máxima. Los efectos de alias son imposibles de suprimir una vez que se
adquiere las muestras. Por ello es común limitar la banda de la señal antes del muestreo
(empleando filtro pasa-bajas).

    Debemos limitar las amplitudes de la señal a un número finito de niveles. Este proceso
se denomina cuantización, produce efectos no lineales que pueden describirse en métodos
estadísticos. La cuantización conduce a sí mismo a una perdida reversible de información y
se considera casi siempre solo en la etapa final de cualquier diseño.

    1) Alias y el teorema de muestreo

     La señal muestreada debe ser una representación única de la señal analógica. Para una
senoide x(t)=cos(2πfot+θ), una velocidad de muestreo S >2fo asegura que la frecuencia
digital de la señal muestreada caiga en el periodo principal -0.5 ≤ F ≤ 0.5 y permita una
correspondencia única con la señal analógica subyacente.

    De manera general, el teorema de muestreo afirma que para una correspondencia única
con la señal analógica y la versión reconstruida a partir de sus muestras (empleando la
misma velocidad de muestreo), la velocidad de muestreo debe exceder dos veces la
frecuencia más alta de la señal fmáx. La velocidad critica S=2fmáx se llama velocidad de
Nyquist y      =      recibe el nombre de intervalo de Nyquist. Para la senoide
x(t)=cos(2πfot+θ), la velocidad de Nyquist es SN=2fo=2/T y corresponde a tomar dos
muestras por periodo (debido a que el intervalo de muestreo es TS=T/2 ).

     El fenómeno, donde una senoide reconstruida aparece a una frecuencia inferior que la
original, se denomina creación de un alias.

    C. Cuantización

    Cuantizar es redondear o truncar las amplitudes de la señal para reducirlas a un
conjunto finito de valores. Puesto que la cuantización solo afecta a la amplitud de la señal
para reducirlas a un conjunto finito de valores.




                                             7
Puesto que la cuantización solo afecta a la amplitud de la señal, es posible cuantizar
señales analógicas y de tiempo discreto. Las señales cuantizadas de tiempo discreto se
conocen como señales digitales.

     Cada muestra cuantizada está representada por un grupo (palabras) de ceros y unos
(bits) que pueden procesarse de manera digital. Cuanto más fina sea la cuantización, mayor
será la palabra. Al igual que sucede con el muestreo, la cuantización impropia conduce a
perdidas de información. Pero a diferencia de la muestra no importa cuán fina sea la
cuantización sus efectos son irreversibles, ya que las longitudes de la palabra son
necesariamente finitas.

   1) Cuantizadores uniformes

     Los cuantizadores son dispositivos que operan sobre una señal para producir un
número finito de niveles de amplitud o niveles de cuantización. La práctica común es
utilizar cuantizadores uniformes con niveles de cuantización iguales.

    El número de niveles L de la mayor parte de los cuantizadores utilizados en un
convertidor analógico a digital es invariablemente una potencia de 2. Si L=2B, cada uno de
los niveles queda codificado en un número binario y cada valor de la señal queda
representado en forma binaria como una palabra de B bits, la cual corresponde a su valor
cuantizado.

     La señal puede cuantizarse mediante redondeo a nivel de cuantización más próximo,
por truncamiento a nivel menor que el siguiente superior, o por truncamiento en magnitud y
signo, un proceso que es similar al truncamiento de los valores absolutos seguidos del
empleo del signo apropiado. [3]

   D. Convertidor Analógico-digital

    Se componen de dos circuitos: el muestreador y el cuantizador digital.

    La misión del muestreador es mantener la señal analógica constante durante el periodo
de muestreo. [4] y [5]

    El convertidor digital-analógico permite que la señal codificada y cuantizada sea
convertida en una señal analógica. [6].
   E. Microcontrolador

    Un microcontrolador es un circuito integrado de alta escala de integración que
incorpora la mayor parte de los elementos que configuran un controlador.




                                            8
Fig. 3 El microcontrolador
     Todas las partes del computador están contenidas en su interior y sólo salen al exterior
las líneas que gobiernan los periféricos.
     Un microcontrolador dispone normalmente de los siguientes componentes:
 •   Procesador o UCP (Unidad Central de Proceso).
 •   Memoria RAM para Contener los datos.
 •   Memoria para el programa tipo ROM/PROM/EPROM.
 •   Líneas de E/S para comunicarse con el exterior.
 •   Diversos módulos para el control de periféricos (temporizadores, Puertas Serie y
     Paralelo, CAD: Conversores Analógico/Digital, CDA: Conversores Digital/Analógico,
     etc.).
 •   Generador de impulsos de reloj que sincronizan el funcionamiento de todo el sistema.

     1) Memoria

    En los microcontroladores la memoria de instrucciones y datos está integrada en el
propio chip.

     Una parte debe ser no volátil, tipo ROM, y se destina a contener el conjunto de
instrucciones que ejecuta la aplicación. Otra parte de memoria es del tipo RAM, volátil, y
                                                                           RAM
se destina a guardar las variables y los datos.

     Según el tipo de memoria ROM que dispongan los microcontroladores, la aplicación y
utilización de los mismos es diferente. Una de las versiones de memoria no volátil que se
pueden encontrar en los microcontroladores esta la memoria flash.
                      os

     Se trata de una memoria no volátil, de bajo consumo, que se puede escribir y borrar, es
programable en el circuito, es más rápida que la EEPROM y tolera más ciclos de
escritura/borrado.

     2) Puertas de Entrada y Salida

     La principal utilidad de las líneas de E/S es comunicar al computador interno con los
periféricos exteriores.


                                             9
Según los controladores de periféricos que posea cada modelo de microcontrolador, las
líneas de E/S se destinan a proporcionar el soporte a las señales de entrada, salida y control.
[7]

                                      DESARROLLO

El objetivo de este proyecto es generar señales senoidales y cosenoidales, y esta nos debe
proporcionar las siguientes funciones: Ser variable en frecuencia y en amplitud.


Para el desarrollo de la práctica se deben seguir los siguientes pasos:
   1. Generar los coeficientes de la onda mediante las series de Taylor en valores
      decimales, las cuales las redondearemos para posteriormente ordenarlas en una
      matriz de datos y almacenarlas en la memoria del microcontrolador.

       Cabe recalcar que para la generación de los valores decimales de las ondas mediante
       las series de Taylor tenemos que utilizar el mayor grado posible para llegar un
       periodo de la onda y posteriormente repetirla mediante un ciclo repetitivo.

   2. La memoria del microcontrolador y su programación, se utilizará dicha memoria
      con el objetivo de almacenar los coeficientes generados previamente, para su
      posterior utilización.

   3. Los coeficientes generados los obtendremos de la salida de uno de los puertos del
      microcontrolador, y los ingresaremos en la DAC, que se encargara de generar la
      onda analógica de acuerdo a valores de referencia establecidos.

   4. Manipulación de las ondas manualmente, se logrará mediante un mecanismo
      externo al microcontrolador, con el cual se variará su frecuencia y amplitud de
      acuerdo a las necesidades existentes. Para la manipulación de la amplitud de la señal
      se la realiza por medio de un potenciómetro.

   5. Este mecanismo externo, se la realiza por medio de pulsadores, donde cada pulso, se
      incrementa o decrementa la frecuencia, todo esto va de acuerdo con el código del
      programa en el microcontrolador.[3]


                            HERRAMIENTAS A UTILIZAR

Compilador C CodevisionAVR, utilizado para programar el microcontrolador para el fin
del proyecto.




                                              10
Fig. 3 CodevisionAVR

Simulador de dispositivos eléctricos y electrónicos Isis Profesional




                                          Fig. 4 Isis Profesional

Se utiliza las Ecuaciones de Taylor para calcular los coeficientes de la función seno y
coseno.
                 ′               ′′
     =       +       !
                         −   +        !
                                              −      +⋯+        !
                                                                    −   +   !
                                                                                −




                                                    11
ALGORITMO DE PROGRAMACIÓN




                          Generar coeficiente de la
                         onda mediante las series de
                                  Taylor.



                            Redondeo de valores.



                         Almacenar los valores en la
                        memoria del microcontrolador.



                        Lectura de datos y selección de
Amplitud y frecuencia        señal requerida en el        Onda seno y coseno
                               microcontrolador




                          Reconstrucción de la señal
                              mediante la DAC.



                               Resultado de la
                             onda requerida por
                                 el usuario




                                     12
CODIGO EN CODEVISIÓN

#include <mega32.h>
#include <delay.h>
#include <stdio.h>
 float tayl, tay;
float num;
int x=0, k=0;
flash char sinewave[]={
0, 0, 1, 1, 1, 1 , 1 , 1, 1, 1, 1 , 1 , 2, 2, 2 , 2, 2 , 2 , 2, 2 , 2, 2, 3, 3, 3, 3 ,
3 , 3, 3 , 3, 3, 3, 4 , 4 , 4 , 4 , 4, 4, 4 , 4 , 4 , 4 , 4 , 5 , 5 , 5, 5, 5 , 5, 5, 5, 5 ,
5, 5, 5 , 6 , 6 , 6 , 6, 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 7 , 7, 7 , 7, 7, 7, 7, 7 , 7 ,
7, 7, 7 , 7 , 7 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8, 8 , 8 ,
8 , 9, 9, 9 , 9, 9, 9, 9, 9, 9 , 9, 9, 9, 9, 9 , 9, 9 , 9 , 9, 9, 9, 9 , 9, 9, 9 , 10 ,
10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10,
9 , 9 , 9 , 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 , 9, 9, 9, 9, 9, 9,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 , 7 , 7 , 7 , 7 , 7 ,
7 , 7 , 7, 7 , 7, 7 , 7 , 7 , 7 , 6, 6 , 6 , 6 , 6, 6 , 6 , 6, 6,
6, 6 , 6, 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 ,5 , 4 , 4 , 4
, 4 , 4 , 4, 4 , 4 , 4 , 4 , 4 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3
, 2 , 2 , 2, 2 , 2, 2, 2 , 2 , 2 , 2 , 2 , 1 , 1 , 1 , 1 , 1 , 1 , 1
, 1 , 1 , 1 , 0 , 0 , 0 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -2
, -2 ,-2 , -2 , -2 , -2 , -2 , -2 , -2 , -2 , -3 , -3 , -3 , -3 , -3 , -3 , -3 , -3
, -3 , -3 , -4 , -4 , -4 ,-4 , -4 , -4 , -4 , -4 , -4 , -4 , -4 , -5 , -5 , -5 , -5
, -5 , -5 , -5 , -5 , -5 , -5 , -5 , -5 , -6 ,-6 , -6 , -6 , -6 , -6 , -6 , -6 , -
6 , -6 , -6 , -6 , -7 , -7 , -7 , -7 , -7 , -7 , -7 , -7 , -7 , -7 ,-7 , -7 , -7 ,
-7 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8
, -8 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -
9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -10 , -10 , -10 , -10 , -10 , -10 , -10 ,
-10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 ,-10 , -10 , -10 , -9 , -9 ,
-9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -8 , -8 , -8 , -8 , -8 , -8 , -8
, -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8, -8 , -7 , -7 , -7 , -7 , -7 , -7 , -7
, -7 , -7 , -7 , -7 , -7 , -7 , -7 , -6 , -6 , -6 , -6 , -6 , -6 , -6 , -6 , -6 , -
6 , -6 , -6 , -6 , -5 , -5 , -5 , -5 , -5 , -5 , -5 , -5 , -5 , -5 , -5 ,-4 , -4 ,
-4 , -4 , -4 , -4 , -4 , -4 , -4 , -4 , -4 , -3 , -3 , -3 , -3 , -3 , -3 , -3 , -3 ,
-3 , -3 , -3 , -2 , -2 , -2 , -2 , -2 , -2 , -2 , -2 , -2 , -2 , -1 , -1 , -1 , -1 ,
-1 , -1 , -1 , -1 , -1 , -1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ,
1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2, 2
, 2, 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 4 , 4 , 4 , 4 , 4 ,
4, 4 , 4, 4 , 4, 4 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5
, 6 , 6 , 6 , 6 , 6, 6, 6 , 6, 6 , 6 , 6 , 6 , 6 , 7 , 7 , 7 , 7 , 7
, 7 , 7 , 7 , 7 , 7 , 7 , 7 , 7, 7, 7 , 8, 8 , 8 , 8 , 8 , 8 , 8 ,
8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8, 8 , 9 , 9 , 9 , 9 , 9 ,
9 , 9 , 9 , 9 , 9 ,9 , 9 ,9 , 9 , 9 , 9 , 9 , 9 , 9 , 9 , 9, 9 , 9,
9 , 9 , 9 , 9 , 9 , 9 , 9 , 9 ,9 , 9 ,9 , 9 , 9 , 9 , 9 , 9 , 9 , 9
, 9, 9 , 9, 9 , 9 ,9 , 9 , 9 , 9 , 9 , 9 ,9 , 9 ,9 , 9 , 9 , 9 ,
9 , 9 , 9 , 8 , 8, 8 , 8, 8, 8 ,8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 ,8
                                          13
, 7     , 7 , 7 , 7     , 7 , 7 , 7, 7, 7 , 7, 7, 6 , 6 , 6 , 6 , 6 , 6 , 6
, 6     , 5 ,5 , 5      , 5 ,5 , 5 , 5 , 4 , 4, 4, 4 , 4, 4 , 3 , 3 , 3 , 3
, 3    , 3 , 2 ,2         , 2 , 2 , 2 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , -1 , -1 , -
1 ,    -1 , -2 , -2    , -2 , -2 , -3 , -3 , -3 , -4 , -4 , -4 , -5 , -5 , -5 , -6 , -6 ,
-6 ,    -7 , -7 , -8   , -8 , -8 , -9 , -9 , -10 ,-10 , -10 ,-11 , -11 ,-12 , -12 , -13 ,
-13    , -14 , -14

};

flash char triwave[]={

 -1, -1,      -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1
, -1 , -1    , -1 , -1 , -1 , -1 , -1 , -1 , -1, -1, -1 , -1 , -1 , -1 , -1 , -1 , -1 ,
-1 , -1 ,    -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 ,
-1 , -1,     -1, -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 ,
-1 , -1 ,    -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1,
 -1 , -1,     -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1
, -1 , -1    , -1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,
1 , 1,      1 , 1 , 1 , 1 , 1 , 1 , 1 , 1, 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1
, 1 , 1     , 1 , 1 , 1 , 1 , 1 , 1 , 1, 1 , 1, 1 , 1 , 1 , 1 , 1 , 1 ,
1 , 1,      1 , 1, 1 , 1 , 1, 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1
, 1, 1      , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1, 1 , 1 , 1 , 1 , 1 , 1 ,
1 , 1 ,     1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,1                };

       flash char squawave[]={

 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10
, 10 , 10 , 10 , 10 , 10 , 10, 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10
, 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10, 10 , 10 , 10 , 10
, 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 ,
10 , 10 , 10, 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 ,
10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10, 10 , 10 , 10 , 10 , 10 , 10 , 10 ,
10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10, 10 ,
10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 ,10 , 10 , 10 , 10 , 10 , 10
, 10 , 10 , 10 , 10 , 10, 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10
, 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10, 10 , 10 , 10 , 10 , 10
, 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 ,
10 , 10, 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 ,10 , 10 , 10 ,
10 , 10 , 10 , 10 , 10 , 10 , 10 , 10, 10 , 10 , -10 ,-10 , -10 , -10 , -10 , -10
, -10 , -10 , -10 , -10 , -10, -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10, -10 ,
-10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 ,
-10 , -10 , -10 , -10 , -10 , -10, -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -
10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10, -10 , -10 , -
10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 ,-10 , -10 , -10 , -10 , -10 , -10 , -10 , -
10 , -10 , -10 , -10 , -10, -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -
10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10, -10 , -10 , -10 , -
10 , -10 , -10 , -10 , -10 , -10 , -10 ,-10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 ,-
                                           14
10 , -10 , -10 , -10, -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -
10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10,
-10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 ,
-10 , -10 , -10 , -10 , -10 , -10 , -10, -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -
10 , -10 ,-10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10, -10 , -
10 , -10 , -10 , 10       };

void main(void)
{
int frec, amplitud,b,C, resultado;
char i, inc=1;
int j;
k=1;
frec=1;
amplitud =1;

PORTC=0x00;
DDRC=0x00;

PORTD=0x00;
DDRD=0xFF;

while (1)
   {

if(PINB.0==0) {
inc=inc+1;
  delay_ms(500);

  }
if(PINB.1==0) {
   inc=inc-1;
   delay_ms(500);
  }
  if(inc==1 && PINB.1==0){
   inc=1;
   }
  if(PINB.2==0) {
   for (x=0; x<=255; x=x+inc)
        {
          PORTD=sinewave[x];
        }
  }
  if(PINB.3==0){
  for (x=0; x<=255; x=x+inc)
        {
          PORTD=triwave[x];
                                         15
}
        }
 if(PINB.4==0){
for (x=0; x<=255; x=x+inc)
      {
         PORTD=squawave[x];
      }
        }
  };
  }

                         CIRCUITO UTILIZADO




                               16
SIMULACIONES




     17
RESULTADOS




18
CRONOGRAMA




CONCLUSIONES

  •   Las series de Taylor nos permite aproximar el valor de una función a su valor real
      con un grado de error y esta depende de el numero de términos que se utilice.
  •   Al agregar más términos a la serie de Taylor, su valor resulta ser más exacto, es
      decir mientras menos términos tenga la serie el error será más grande.
  •   El muestreo de señales es el primer paso en el procesamiento de señales discretas
      (DSP).
  •   Para procesar una señal analógica primero se la debe muestrear en intervalos
      uniformes, luego debemos cuantizarla.
  •   Tanto el muestreo como la cuantización conducen a una pérdida potencial de
      información.
  •   En los microcontroladores la memoria de instrucciones y datos está integrada en el
      propio chip. Una parte es volátil, tipo ROM y la otra es de tipo RAM, volátil.
  •   Los principales recursos específicos que incorporan los microcontroladores son:
      temporizadores,    Perro guardián o "Watchdog", Protección ante fallo de
      alimentación o "Brownout", Estado de reposo o de bajo consumo, Conversor A/D
      (CAD), Comparador analógico, Conversor D/A (CDA), Modulador de anchura de
      impulsos o PWM.

REFERENCIAS BIBLIOGRAFICAS

 [1]. Molinas P, Martínez P. Aplicaciones de la derivada. UOC. MECD. Consultado el
      24 de mayo de 2010. Disponible en: http://www.acienciasgalilei.com/mat/pdf-
      mat/aplicaciones_derivadas.pdf
 [2]. Las series de Taylor. Consultado el 22 de mayo de 2010. Disponible en:
      http://lc.fie.umich.mx/~calderon/programacion/Mnumericos/STaylor.html
 [3]. Mejía José Fernando. Desarrollo en las series de Taylor. Consultado el 22 de mayo
      de                      2010.                     Disponible                    en:
      http://descartes.cnice.mec.es/materiales_didacticos/Desarrollo_serie_taylor/Desarro
      llo_en_serie_de_taylor.htm

                                          19
[4]. Sistemas de tiempo real. Practica1: Implementación de sistemas discretos. 2008.
     Consultado      el     13      de     abril    de    2010.    Disponible      en:
     http://www.fic.udc.es/files/asignaturas/81STR/anexos/p1.pdf
[5]. Tratamiento Digital de Señales. Muestreo y Cuantización. Consultado el 28 de abril
     de                     2010.                     Disponible                   en:
     www.tecnun.es/asignaturas/tratamiento%20digital/tema5.pdf
[6]. Procesamiento de señales analógicas y digitales. AMBARDAR ASHOCK. Segunda
     Edición. THOMSON LEARNING. México. 2002.
[7]. Introducción a los microcontroladores. Consultado el 25 de abril de 2010.
     Disponible en: www.monografias.com/microcontroladores




                                         20

Más contenido relacionado

La actualidad más candente

Serie de-taylor-y-maclaurin
Serie de-taylor-y-maclaurinSerie de-taylor-y-maclaurin
Serie de-taylor-y-maclaurinFaveeLa Natsuko
 
Primer parcial solucionario
Primer parcial solucionarioPrimer parcial solucionario
Primer parcial solucionarioclimancc
 
Ejercicio - Serie de maclaurin
Ejercicio - Serie de maclaurinEjercicio - Serie de maclaurin
Ejercicio - Serie de maclaurinJhony Caranguay
 
Concavidad puntos de inflexión asintotas
Concavidad puntos de inflexión asintotasConcavidad puntos de inflexión asintotas
Concavidad puntos de inflexión asintotasfreddy remache
 
Calculo 4 trab 2. final.
Calculo 4 trab 2. final.Calculo 4 trab 2. final.
Calculo 4 trab 2. final.luis_traviezo
 
Serie de Taylor
Serie de TaylorSerie de Taylor
Serie de TaylorRodrigo GC
 
Ejercicios resueltos 2011
Ejercicios resueltos 2011Ejercicios resueltos 2011
Ejercicios resueltos 2011Deyvid Atens
 
Examen selecti
Examen selectiExamen selecti
Examen selectieverkike
 
M2 prevt integracion
M2 prevt integracionM2 prevt integracion
M2 prevt integracionasd asdfg
 
Derivación
Derivación Derivación
Derivación Mariamne3
 
2 epn señales y efectos falta con y sin gui
2 epn señales y efectos falta con y sin gui2 epn señales y efectos falta con y sin gui
2 epn señales y efectos falta con y sin guiRafael Medina Velasco
 
Trabajo computacion runge kutta
Trabajo computacion runge kuttaTrabajo computacion runge kutta
Trabajo computacion runge kuttavictoriaalcazar
 
Derivada
DerivadaDerivada
Derivadauneve
 

La actualidad más candente (18)

Serie de-taylor-y-maclaurin
Serie de-taylor-y-maclaurinSerie de-taylor-y-maclaurin
Serie de-taylor-y-maclaurin
 
Primer parcial solucionario
Primer parcial solucionarioPrimer parcial solucionario
Primer parcial solucionario
 
Clase martes 18 de mayo
Clase martes 18 de mayoClase martes 18 de mayo
Clase martes 18 de mayo
 
Tema4
Tema4Tema4
Tema4
 
Ejercicio - Serie de maclaurin
Ejercicio - Serie de maclaurinEjercicio - Serie de maclaurin
Ejercicio - Serie de maclaurin
 
División Algebraica
División AlgebraicaDivisión Algebraica
División Algebraica
 
Concavidad puntos de inflexión asintotas
Concavidad puntos de inflexión asintotasConcavidad puntos de inflexión asintotas
Concavidad puntos de inflexión asintotas
 
Calculo 4 trab 2. final.
Calculo 4 trab 2. final.Calculo 4 trab 2. final.
Calculo 4 trab 2. final.
 
Clase martes 18 de mayo
Clase martes 18 de mayoClase martes 18 de mayo
Clase martes 18 de mayo
 
Asintotrasss
AsintotrasssAsintotrasss
Asintotrasss
 
Serie de Taylor
Serie de TaylorSerie de Taylor
Serie de Taylor
 
Ejercicios resueltos 2011
Ejercicios resueltos 2011Ejercicios resueltos 2011
Ejercicios resueltos 2011
 
Examen selecti
Examen selectiExamen selecti
Examen selecti
 
M2 prevt integracion
M2 prevt integracionM2 prevt integracion
M2 prevt integracion
 
Derivación
Derivación Derivación
Derivación
 
2 epn señales y efectos falta con y sin gui
2 epn señales y efectos falta con y sin gui2 epn señales y efectos falta con y sin gui
2 epn señales y efectos falta con y sin gui
 
Trabajo computacion runge kutta
Trabajo computacion runge kuttaTrabajo computacion runge kutta
Trabajo computacion runge kutta
 
Derivada
DerivadaDerivada
Derivada
 

Destacado (20)

¿Qué es lo que ves? - Hugo Almanza
¿Qué es lo que ves? - Hugo Almanza¿Qué es lo que ves? - Hugo Almanza
¿Qué es lo que ves? - Hugo Almanza
 
Apoyo en Arequipa
Apoyo en ArequipaApoyo en Arequipa
Apoyo en Arequipa
 
Gritos do Silêncio...
Gritos do Silêncio...Gritos do Silêncio...
Gritos do Silêncio...
 
Presentation1
Presentation1Presentation1
Presentation1
 
B gmatematitsi angl
B gmatematitsi anglB gmatematitsi angl
B gmatematitsi angl
 
Education and interactivism
Education  and interactivismEducation  and interactivism
Education and interactivism
 
Pechakucha resident evil1
Pechakucha resident evil1Pechakucha resident evil1
Pechakucha resident evil1
 
Una brújula para Juárez
Una brújula para JuárezUna brújula para Juárez
Una brújula para Juárez
 
2001 10-16-infopython
2001 10-16-infopython2001 10-16-infopython
2001 10-16-infopython
 
Tierra y Universo
Tierra y UniversoTierra y Universo
Tierra y Universo
 
La Canción que Dios nos canta
La Canción que Dios nos cantaLa Canción que Dios nos canta
La Canción que Dios nos canta
 
Power point
Power pointPower point
Power point
 
Internaldynamics1314
Internaldynamics1314Internaldynamics1314
Internaldynamics1314
 
Folder Acquarelle
Folder AcquarelleFolder Acquarelle
Folder Acquarelle
 
NAIARA LOG MB
NAIARA LOG MBNAIARA LOG MB
NAIARA LOG MB
 
yesica
yesicayesica
yesica
 
Radio slide
Radio slideRadio slide
Radio slide
 
Innovación educativa con recursos abiertos
Innovación educativa con recursos abiertosInnovación educativa con recursos abiertos
Innovación educativa con recursos abiertos
 
Nti
NtiNti
Nti
 
Mansilla, Oseira, Verges, Ramirez
Mansilla, Oseira, Verges, RamirezMansilla, Oseira, Verges, Ramirez
Mansilla, Oseira, Verges, Ramirez
 

Similar a Generador de señales seno y coseno en microcontrolador usando series de Taylor

Similar a Generador de señales seno y coseno en microcontrolador usando series de Taylor (20)

TECNOLOGÍA SEÑAL
TECNOLOGÍA SEÑALTECNOLOGÍA SEÑAL
TECNOLOGÍA SEÑAL
 
A. Cálculo Integral. Capítulo I. Sucesiones y Series. Complemento
A. Cálculo Integral. Capítulo I. Sucesiones y Series. ComplementoA. Cálculo Integral. Capítulo I. Sucesiones y Series. Complemento
A. Cálculo Integral. Capítulo I. Sucesiones y Series. Complemento
 
Python
PythonPython
Python
 
Ejercicios serie de fourier
Ejercicios serie de fourierEjercicios serie de fourier
Ejercicios serie de fourier
 
Integracion
IntegracionIntegracion
Integracion
 
Varios problemas de cálculo numérico (teoría del MEF-FEM)
Varios problemas de cálculo numérico (teoría del MEF-FEM)Varios problemas de cálculo numérico (teoría del MEF-FEM)
Varios problemas de cálculo numérico (teoría del MEF-FEM)
 
Mr1i 753-2007-2
Mr1i 753-2007-2Mr1i 753-2007-2
Mr1i 753-2007-2
 
Inecuacio..[1] 1
Inecuacio..[1] 1Inecuacio..[1] 1
Inecuacio..[1] 1
 
Inecuacio..[1] 1
Inecuacio..[1] 1Inecuacio..[1] 1
Inecuacio..[1] 1
 
Interpretación de la derivada
Interpretación de la derivadaInterpretación de la derivada
Interpretación de la derivada
 
Logaritmos
LogaritmosLogaritmos
Logaritmos
 
La derivada ii
La derivada iiLa derivada ii
La derivada ii
 
Funcione Polinomiales
Funcione PolinomialesFuncione Polinomiales
Funcione Polinomiales
 
Interpretacion de derivadas
Interpretacion de derivadasInterpretacion de derivadas
Interpretacion de derivadas
 
Sucesiones
SucesionesSucesiones
Sucesiones
 
Optimizacion de sistemas
Optimizacion de sistemasOptimizacion de sistemas
Optimizacion de sistemas
 
Trabajo series de taylor
Trabajo series de taylorTrabajo series de taylor
Trabajo series de taylor
 
Interpretacion de derivadas1267608478248 (1)
Interpretacion de derivadas1267608478248 (1)Interpretacion de derivadas1267608478248 (1)
Interpretacion de derivadas1267608478248 (1)
 
interpretacion_de_derivadas. 7mo EPET n° 9..ppt
interpretacion_de_derivadas. 7mo EPET n° 9..pptinterpretacion_de_derivadas. 7mo EPET n° 9..ppt
interpretacion_de_derivadas. 7mo EPET n° 9..ppt
 
El trascendental número de euler 2
El trascendental número de euler 2 El trascendental número de euler 2
El trascendental número de euler 2
 

Generador de señales seno y coseno en microcontrolador usando series de Taylor

  • 1. Universidad Técnica Particular de Loja Escuela de Electrónica y Telecomunicaciones Procesamiento de Señales Generador de Señales Seno y Coseno en un Microcontrolador INTEGRANTES: Katherine Ivanova Remache Santamaría Carlos Alfredo Romero León 1
  • 2. Generador de Señales Seno y Coseno en un Microcontrolador RESUMEN En el presente proyecto trata, sobre una forma de generar señales seno y coseno en un microcontrolador, para la generación de las señales senoidales y cosenoidales, primero debemos generar los coeficientes que corresponden a cada señal en el microcontrolador mediante las series de Taylor, también, con un mecanismo externo se modificara tanto amplitud como frecuencia, dichos coeficiente los enviamos por un puerto de salida del microcontrolador, la cual va a estar conectada a una DAC que se encargara de procesar los datos recolectados, y logrando así obtener la onda deseada. OBJETIVOS Objetivo general.- El objetivo principal del proyecto es generar señales seno y coseno en un microcontrolador. Objetivos específicos.- Dentro de los objetivos específicos a alcanzar tenemos: Dar a conocer una forma de generar señales seno y coseno. Diseñar un sistema que permita generar señales seno y coseno, en un microcontrolador, la cual se la podrá utilizar de acuerdo a la comodidad del usuario. INTRODUCCIÓN En el presente proyecto se analizan temas básicos relacionados a las series de Taylor, el muestreo, el teorema de muestreo, cuantización y microcontrolador, debido a que estos temas son de gran importancia para llevar a cabo los objetivos propuestos. A. Series de Taylor La serie de Taylor de una función f de números reales o complejos que es infinitamente diferenciable en un entorno de números reales o complejos a, es la serie de potencias, el polinomio siguiente se llama el polinomio de Taylor de grado n en x=a: ′ ′′ , = + ! − + ! − + ! − +⋯+ ! − que puede ser escrito de una manera más compacta como: 2
  • 3. = − , ! Donde: n! es el factorial de n y f (n)(a) denota la n-ésima derivada de f en el punto a; la derivada cero de f es definida como la propia f y (x − a)0 y 0! son ambos definidos como uno. La diferencia f(x)-Pn,a(x se llama resto o Error, y se designa por Pn,a (x) , = − , ⇒ = , + , 1) Teorema de Taylor: 1. Si f es una función con derivada n-ésima en x=a, se cumple lim →∞ , =0 2. Si en un entorno E(a) existe fn+1(x), entonces ∀ ∈ existe algún c, comprendido entre a y x, tal que Formula de Lagrange , = − +1 Con lo que el desarrollo de Taylor con el residuo de Lagrange queda así: ′ ′′ = + − + − + ⋯+ − 1! 2! ! + − +1 ! Cuando a=0 se llama fórmula de Mac-Laurin ′ 0 ′′ = 0 + + + ⋯+ + 1! 2! ! +1 ! Esta última expresión es el desarrollo de Mac-Laurin con el resto de Lagrange. [1] 2) Aproximación de la función sen(x) Utilizando la series de Taylor con n=0 hasta n=5 para aproximar f(x)=sen(x) en el punto x=0. 3
  • 4. La expresión del polinomio de Taylor de grado 5 para f(x) en el punto x=0 viene dado por: ′ ′′ = 0 + −0 + −0 + −0 + −0 + ! ! ! ! −0 ! Así calculamos la primera hasta la quinta derivada en el punto x=0, así como f(0) obtenemos: f(x) = sen(x) => f(0) = sen(0) = 0 f’(x) = cos(x) => f(0) = cos(0) = 1 f’’(x) = -sen(x) => f(0) = -sen(0) = 0 f3(x) = -cos(x) => f(0) = -cos(0) =-1 f4(x ) = sen(x) => f(0) = sen(0) = 0 f5(x ) = sen(x) => f(0) = sen(0) = 0 =0+ + − + + ! ! ! ! ! = − + A continuación se presenta el código en matlab utilizando las series de Taylor para generar los coeficientes de las funciones seno y coseno y el margen de error que se presenta según el grado que se utilice de la serie de Taylor. 3) Código En Matlab syms x x=0:0.001:0.15; frec=62.83; % frecuencia a 10hz debido a que w=2*pi*f de donde f=10 amplitud=15; % es la amplitud de la onda seno tayl=amplitud.*((frec.*x-1/6.*frec.^3.*x.^3+1/120.*frec.^5.*x.^5- 1/5040.*frec.^7.*x.^7+1/362880.*frec.^9.*x.^9- 1/39916800.*frec.^11.*x.^11+1/6227020800.*frec.^13.*x.^13- 1/1307674368000.*frec.^15.*x.^15+1/355687428096000.*frec.^17.*x.^17- 1/121645100408832000.*frec.^19.*x.^19)) % funcion sen(x) construida con las series de taylor y=amplitud*sin(frec.*x) % función sen(x) dada ya por matlab plot (x,y,x,tayl,'-.r') %graficar en la misma pantalla ambas gráficas grid on % activar la grilla %leyendas de las gráficas h = legend('Función sen(x) dada','Función sen(x) con taylor',3); set(h,'Interpreter','none') %ubicación en el eje x 4
  • 5. Xlabel({'MARGEN DE ERROR ENTRE FUNCIÓN SEN(X)}';'CONSTRUIDA CON TAYLOR Y UNA FUNCIÓN SEN(X)DADA); Fig. 1 Función seno En el momento de hacer la serie de Taylor de mayor grado, va existir un menor porcentaje de error, como se pudo observar en la grafica anterior, la serie de Taylor es de grado 19, por lo que se puede concluir que si el grado es mucho mayor la onda roja va a ser similar a la onda azul y por ende el grado de error también va a ser mucho menor. 4) Aproximación de la función cos(x) Utilizando las mismas especificaciones de la señal anterior se obtiene: f(x)=cos(x) => f(0)=cos(0)=1 f’(x)=-sen(x) => f(0)=-sen(0)=0 f’’(x)= -cos(x) => f(0)=-cos(0)=-1 f3(x)= sen(x) => f(0)= sen(0)=0 f4(x)= cos(x) => f(0)= cos(0)=1 f5(x)= -sen(x) => f(0)= -sen(0)=0 0 1 0 1 0 =1+ − + + + 1! 2! 3! 4! 5! 1 1 =1− + 2 24 5) Código en Matlab syms x x=0:0.001:0.15; frec=62.83; % frecuencia a 10hz debido a que w=2*pi*f de donde f=10 5
  • 6. amplitud=15; % es la amplitud de la onda seno tayl=amplitud.*((1-1/2.*frec.^2.*x.^2+1/24.*frec.^4.*x.^4- 1/720.*frec.^6.*x.^6+1/40320.*frec.^8.*x.^8- 1/3628800.*frec.^10.*x.^10+1/479001600.*frec.^12.*x.^12- 1/87178291200.*frec.^14.*x.^14+1/20922789888000.*frec.^16.*x.^16- 1/6402373705728000.*frec.^18.*x.^18)) % funcion sen(x) construida con las series de taylor y=amplitud*cos(frec.*x) % función sen(x) dada ya por matlab plot (x,y,x,tayl,'-.r') %graficar en la misma pantalla ambas gráficas grid on % activar la grilla %leyendas de las gráficas h = legend('Función cos(x) dada','Función cos(x) con taylor',3); set(h,'Interpreter','none') %ubicación en el eje x Xlabel({'MARGEN DE ERROR ENTRE FUNCIÓN SEN(X)}';'CONSTRUIDA CON TAYLOR Y UNA FUNCIÓN COS(X)DADA'}); Fig. 2 Función coseno 6) Error de Truncamiento Al agregar más términos a la serie, su valor resulta ser más exacto y obviamente mientras menos términos posean, más inexacta es. El error de truncamiento muestra la diferencia entre el valor aproximado y el real, esto significa que mientras más términos tenga la serie, tal error es más pequeño. [2] y [3] Etr=Valor real-Valor Aproximado. B. Muestreo El muestreo de señales es el primer paso en el procesamiento de señales discretas (DSP). Para procesar una señal analógica por medios digitales, debemos convertirla en una 6
  • 7. señal digital en dos pasos. Primero, debemos muestrearla, en intervalos uniformes ts. La cantidad discreta nts se relaciona con el índice entero n. Luego debemos cuantizar los valores de la muestra (amplitudes). Tanto el muestreo como la cuantización conducen a una pérdida potencial de información. Sin embargo la señal puede muestrearse sin pérdida de información si es de banda limitada a una frecuencia más alta fB y muestreada a intervalos menores que . Este es el célebre teorema de muestreo. Si el intervalo de muestreo supera el valor critico , un fenómeno conocido como alias se manifiesta por sí solo. Componentes de la señal analógica a altas frecuencias aparecen (por el alias) a bajas frecuencias en la señal muestreada. Esto resulta en una señal muestreada con una menor frecuencia máxima. Los efectos de alias son imposibles de suprimir una vez que se adquiere las muestras. Por ello es común limitar la banda de la señal antes del muestreo (empleando filtro pasa-bajas). Debemos limitar las amplitudes de la señal a un número finito de niveles. Este proceso se denomina cuantización, produce efectos no lineales que pueden describirse en métodos estadísticos. La cuantización conduce a sí mismo a una perdida reversible de información y se considera casi siempre solo en la etapa final de cualquier diseño. 1) Alias y el teorema de muestreo La señal muestreada debe ser una representación única de la señal analógica. Para una senoide x(t)=cos(2πfot+θ), una velocidad de muestreo S >2fo asegura que la frecuencia digital de la señal muestreada caiga en el periodo principal -0.5 ≤ F ≤ 0.5 y permita una correspondencia única con la señal analógica subyacente. De manera general, el teorema de muestreo afirma que para una correspondencia única con la señal analógica y la versión reconstruida a partir de sus muestras (empleando la misma velocidad de muestreo), la velocidad de muestreo debe exceder dos veces la frecuencia más alta de la señal fmáx. La velocidad critica S=2fmáx se llama velocidad de Nyquist y = recibe el nombre de intervalo de Nyquist. Para la senoide x(t)=cos(2πfot+θ), la velocidad de Nyquist es SN=2fo=2/T y corresponde a tomar dos muestras por periodo (debido a que el intervalo de muestreo es TS=T/2 ). El fenómeno, donde una senoide reconstruida aparece a una frecuencia inferior que la original, se denomina creación de un alias. C. Cuantización Cuantizar es redondear o truncar las amplitudes de la señal para reducirlas a un conjunto finito de valores. Puesto que la cuantización solo afecta a la amplitud de la señal para reducirlas a un conjunto finito de valores. 7
  • 8. Puesto que la cuantización solo afecta a la amplitud de la señal, es posible cuantizar señales analógicas y de tiempo discreto. Las señales cuantizadas de tiempo discreto se conocen como señales digitales. Cada muestra cuantizada está representada por un grupo (palabras) de ceros y unos (bits) que pueden procesarse de manera digital. Cuanto más fina sea la cuantización, mayor será la palabra. Al igual que sucede con el muestreo, la cuantización impropia conduce a perdidas de información. Pero a diferencia de la muestra no importa cuán fina sea la cuantización sus efectos son irreversibles, ya que las longitudes de la palabra son necesariamente finitas. 1) Cuantizadores uniformes Los cuantizadores son dispositivos que operan sobre una señal para producir un número finito de niveles de amplitud o niveles de cuantización. La práctica común es utilizar cuantizadores uniformes con niveles de cuantización iguales. El número de niveles L de la mayor parte de los cuantizadores utilizados en un convertidor analógico a digital es invariablemente una potencia de 2. Si L=2B, cada uno de los niveles queda codificado en un número binario y cada valor de la señal queda representado en forma binaria como una palabra de B bits, la cual corresponde a su valor cuantizado. La señal puede cuantizarse mediante redondeo a nivel de cuantización más próximo, por truncamiento a nivel menor que el siguiente superior, o por truncamiento en magnitud y signo, un proceso que es similar al truncamiento de los valores absolutos seguidos del empleo del signo apropiado. [3] D. Convertidor Analógico-digital Se componen de dos circuitos: el muestreador y el cuantizador digital. La misión del muestreador es mantener la señal analógica constante durante el periodo de muestreo. [4] y [5] El convertidor digital-analógico permite que la señal codificada y cuantizada sea convertida en una señal analógica. [6]. E. Microcontrolador Un microcontrolador es un circuito integrado de alta escala de integración que incorpora la mayor parte de los elementos que configuran un controlador. 8
  • 9. Fig. 3 El microcontrolador Todas las partes del computador están contenidas en su interior y sólo salen al exterior las líneas que gobiernan los periféricos. Un microcontrolador dispone normalmente de los siguientes componentes: • Procesador o UCP (Unidad Central de Proceso). • Memoria RAM para Contener los datos. • Memoria para el programa tipo ROM/PROM/EPROM. • Líneas de E/S para comunicarse con el exterior. • Diversos módulos para el control de periféricos (temporizadores, Puertas Serie y Paralelo, CAD: Conversores Analógico/Digital, CDA: Conversores Digital/Analógico, etc.). • Generador de impulsos de reloj que sincronizan el funcionamiento de todo el sistema. 1) Memoria En los microcontroladores la memoria de instrucciones y datos está integrada en el propio chip. Una parte debe ser no volátil, tipo ROM, y se destina a contener el conjunto de instrucciones que ejecuta la aplicación. Otra parte de memoria es del tipo RAM, volátil, y RAM se destina a guardar las variables y los datos. Según el tipo de memoria ROM que dispongan los microcontroladores, la aplicación y utilización de los mismos es diferente. Una de las versiones de memoria no volátil que se pueden encontrar en los microcontroladores esta la memoria flash. os Se trata de una memoria no volátil, de bajo consumo, que se puede escribir y borrar, es programable en el circuito, es más rápida que la EEPROM y tolera más ciclos de escritura/borrado. 2) Puertas de Entrada y Salida La principal utilidad de las líneas de E/S es comunicar al computador interno con los periféricos exteriores. 9
  • 10. Según los controladores de periféricos que posea cada modelo de microcontrolador, las líneas de E/S se destinan a proporcionar el soporte a las señales de entrada, salida y control. [7] DESARROLLO El objetivo de este proyecto es generar señales senoidales y cosenoidales, y esta nos debe proporcionar las siguientes funciones: Ser variable en frecuencia y en amplitud. Para el desarrollo de la práctica se deben seguir los siguientes pasos: 1. Generar los coeficientes de la onda mediante las series de Taylor en valores decimales, las cuales las redondearemos para posteriormente ordenarlas en una matriz de datos y almacenarlas en la memoria del microcontrolador. Cabe recalcar que para la generación de los valores decimales de las ondas mediante las series de Taylor tenemos que utilizar el mayor grado posible para llegar un periodo de la onda y posteriormente repetirla mediante un ciclo repetitivo. 2. La memoria del microcontrolador y su programación, se utilizará dicha memoria con el objetivo de almacenar los coeficientes generados previamente, para su posterior utilización. 3. Los coeficientes generados los obtendremos de la salida de uno de los puertos del microcontrolador, y los ingresaremos en la DAC, que se encargara de generar la onda analógica de acuerdo a valores de referencia establecidos. 4. Manipulación de las ondas manualmente, se logrará mediante un mecanismo externo al microcontrolador, con el cual se variará su frecuencia y amplitud de acuerdo a las necesidades existentes. Para la manipulación de la amplitud de la señal se la realiza por medio de un potenciómetro. 5. Este mecanismo externo, se la realiza por medio de pulsadores, donde cada pulso, se incrementa o decrementa la frecuencia, todo esto va de acuerdo con el código del programa en el microcontrolador.[3] HERRAMIENTAS A UTILIZAR Compilador C CodevisionAVR, utilizado para programar el microcontrolador para el fin del proyecto. 10
  • 11. Fig. 3 CodevisionAVR Simulador de dispositivos eléctricos y electrónicos Isis Profesional Fig. 4 Isis Profesional Se utiliza las Ecuaciones de Taylor para calcular los coeficientes de la función seno y coseno. ′ ′′ = + ! − + ! − +⋯+ ! − + ! − 11
  • 12. ALGORITMO DE PROGRAMACIÓN Generar coeficiente de la onda mediante las series de Taylor. Redondeo de valores. Almacenar los valores en la memoria del microcontrolador. Lectura de datos y selección de Amplitud y frecuencia señal requerida en el Onda seno y coseno microcontrolador Reconstrucción de la señal mediante la DAC. Resultado de la onda requerida por el usuario 12
  • 13. CODIGO EN CODEVISIÓN #include <mega32.h> #include <delay.h> #include <stdio.h> float tayl, tay; float num; int x=0, k=0; flash char sinewave[]={ 0, 0, 1, 1, 1, 1 , 1 , 1, 1, 1, 1 , 1 , 2, 2, 2 , 2, 2 , 2 , 2, 2 , 2, 2, 3, 3, 3, 3 , 3 , 3, 3 , 3, 3, 3, 4 , 4 , 4 , 4 , 4, 4, 4 , 4 , 4 , 4 , 4 , 5 , 5 , 5, 5, 5 , 5, 5, 5, 5 , 5, 5, 5 , 6 , 6 , 6 , 6, 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 7 , 7, 7 , 7, 7, 7, 7, 7 , 7 , 7, 7, 7 , 7 , 7 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8, 8 , 8 , 8 , 9, 9, 9 , 9, 9, 9, 9, 9, 9 , 9, 9, 9, 9, 9 , 9, 9 , 9 , 9, 9, 9, 9 , 9, 9, 9 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10, 9 , 9 , 9 , 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 , 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 7, 7 , 7, 7 , 7 , 7 , 7 , 6, 6 , 6 , 6 , 6, 6 , 6 , 6, 6, 6, 6 , 6, 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 ,5 , 4 , 4 , 4 , 4 , 4 , 4, 4 , 4 , 4 , 4 , 4 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 2 , 2 , 2, 2 , 2, 2, 2 , 2 , 2 , 2 , 2 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -2 , -2 ,-2 , -2 , -2 , -2 , -2 , -2 , -2 , -2 , -3 , -3 , -3 , -3 , -3 , -3 , -3 , -3 , -3 , -3 , -4 , -4 , -4 ,-4 , -4 , -4 , -4 , -4 , -4 , -4 , -4 , -5 , -5 , -5 , -5 , -5 , -5 , -5 , -5 , -5 , -5 , -5 , -5 , -6 ,-6 , -6 , -6 , -6 , -6 , -6 , -6 , - 6 , -6 , -6 , -6 , -7 , -7 , -7 , -7 , -7 , -7 , -7 , -7 , -7 , -7 ,-7 , -7 , -7 , -7 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , - 9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 ,-10 , -10 , -10 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -9 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8 , -8, -8 , -7 , -7 , -7 , -7 , -7 , -7 , -7 , -7 , -7 , -7 , -7 , -7 , -7 , -7 , -6 , -6 , -6 , -6 , -6 , -6 , -6 , -6 , -6 , - 6 , -6 , -6 , -6 , -5 , -5 , -5 , -5 , -5 , -5 , -5 , -5 , -5 , -5 , -5 ,-4 , -4 , -4 , -4 , -4 , -4 , -4 , -4 , -4 , -4 , -4 , -3 , -3 , -3 , -3 , -3 , -3 , -3 , -3 , -3 , -3 , -3 , -2 , -2 , -2 , -2 , -2 , -2 , -2 , -2 , -2 , -2 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2, 2 , 2, 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 4 , 4 , 4 , 4 , 4 , 4, 4 , 4, 4 , 4, 4 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 6 , 6 , 6 , 6 , 6, 6, 6 , 6, 6 , 6 , 6 , 6 , 6 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 7, 7, 7 , 8, 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8, 8 , 9 , 9 , 9 , 9 , 9 , 9 , 9 , 9 , 9 , 9 ,9 , 9 ,9 , 9 , 9 , 9 , 9 , 9 , 9 , 9 , 9, 9 , 9, 9 , 9 , 9 , 9 , 9 , 9 , 9 , 9 ,9 , 9 ,9 , 9 , 9 , 9 , 9 , 9 , 9 , 9 , 9, 9 , 9, 9 , 9 ,9 , 9 , 9 , 9 , 9 , 9 ,9 , 9 ,9 , 9 , 9 , 9 , 9 , 9 , 9 , 8 , 8, 8 , 8, 8, 8 ,8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 ,8 13
  • 14. , 7 , 7 , 7 , 7 , 7 , 7 , 7, 7, 7 , 7, 7, 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 5 ,5 , 5 , 5 ,5 , 5 , 5 , 4 , 4, 4, 4 , 4, 4 , 3 , 3 , 3 , 3 , 3 , 3 , 2 ,2 , 2 , 2 , 2 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , -1 , -1 , - 1 , -1 , -2 , -2 , -2 , -2 , -3 , -3 , -3 , -4 , -4 , -4 , -5 , -5 , -5 , -6 , -6 , -6 , -7 , -7 , -8 , -8 , -8 , -9 , -9 , -10 ,-10 , -10 ,-11 , -11 ,-12 , -12 , -13 , -13 , -14 , -14 }; flash char triwave[]={ -1, -1, -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1, -1, -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1, -1, -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1, -1 , -1, -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1, 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1, 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1, 1 , 1, 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1, 1 , 1, 1 , 1 , 1, 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1, 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1, 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,1 }; flash char squawave[]={ 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10, 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10, 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10, 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10, 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10, 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 ,10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10, 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10, 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10, 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 ,10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10, 10 , 10 , -10 ,-10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10, -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10, -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10, -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , - 10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10, -10 , -10 , - 10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 ,-10 , -10 , -10 , -10 , -10 , -10 , -10 , - 10 , -10 , -10 , -10 , -10, -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , - 10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10, -10 , -10 , -10 , - 10 , -10 , -10 , -10 , -10 , -10 , -10 ,-10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 ,- 14
  • 15. 10 , -10 , -10 , -10, -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , - 10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10, -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10, -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , - 10 , -10 ,-10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10 , -10, -10 , - 10 , -10 , -10 , 10 }; void main(void) { int frec, amplitud,b,C, resultado; char i, inc=1; int j; k=1; frec=1; amplitud =1; PORTC=0x00; DDRC=0x00; PORTD=0x00; DDRD=0xFF; while (1) { if(PINB.0==0) { inc=inc+1; delay_ms(500); } if(PINB.1==0) { inc=inc-1; delay_ms(500); } if(inc==1 && PINB.1==0){ inc=1; } if(PINB.2==0) { for (x=0; x<=255; x=x+inc) { PORTD=sinewave[x]; } } if(PINB.3==0){ for (x=0; x<=255; x=x+inc) { PORTD=triwave[x]; 15
  • 16. } } if(PINB.4==0){ for (x=0; x<=255; x=x+inc) { PORTD=squawave[x]; } } }; } CIRCUITO UTILIZADO 16
  • 19. CRONOGRAMA CONCLUSIONES • Las series de Taylor nos permite aproximar el valor de una función a su valor real con un grado de error y esta depende de el numero de términos que se utilice. • Al agregar más términos a la serie de Taylor, su valor resulta ser más exacto, es decir mientras menos términos tenga la serie el error será más grande. • El muestreo de señales es el primer paso en el procesamiento de señales discretas (DSP). • Para procesar una señal analógica primero se la debe muestrear en intervalos uniformes, luego debemos cuantizarla. • Tanto el muestreo como la cuantización conducen a una pérdida potencial de información. • En los microcontroladores la memoria de instrucciones y datos está integrada en el propio chip. Una parte es volátil, tipo ROM y la otra es de tipo RAM, volátil. • Los principales recursos específicos que incorporan los microcontroladores son: temporizadores, Perro guardián o "Watchdog", Protección ante fallo de alimentación o "Brownout", Estado de reposo o de bajo consumo, Conversor A/D (CAD), Comparador analógico, Conversor D/A (CDA), Modulador de anchura de impulsos o PWM. REFERENCIAS BIBLIOGRAFICAS [1]. Molinas P, Martínez P. Aplicaciones de la derivada. UOC. MECD. Consultado el 24 de mayo de 2010. Disponible en: http://www.acienciasgalilei.com/mat/pdf- mat/aplicaciones_derivadas.pdf [2]. Las series de Taylor. Consultado el 22 de mayo de 2010. Disponible en: http://lc.fie.umich.mx/~calderon/programacion/Mnumericos/STaylor.html [3]. Mejía José Fernando. Desarrollo en las series de Taylor. Consultado el 22 de mayo de 2010. Disponible en: http://descartes.cnice.mec.es/materiales_didacticos/Desarrollo_serie_taylor/Desarro llo_en_serie_de_taylor.htm 19
  • 20. [4]. Sistemas de tiempo real. Practica1: Implementación de sistemas discretos. 2008. Consultado el 13 de abril de 2010. Disponible en: http://www.fic.udc.es/files/asignaturas/81STR/anexos/p1.pdf [5]. Tratamiento Digital de Señales. Muestreo y Cuantización. Consultado el 28 de abril de 2010. Disponible en: www.tecnun.es/asignaturas/tratamiento%20digital/tema5.pdf [6]. Procesamiento de señales analógicas y digitales. AMBARDAR ASHOCK. Segunda Edición. THOMSON LEARNING. México. 2002. [7]. Introducción a los microcontroladores. Consultado el 25 de abril de 2010. Disponible en: www.monografias.com/microcontroladores 20