SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Utp sirn_s0_generalidades
 Utp sirn_s0_generalidades Utp sirn_s0_generalidades
Utp sirn_s0_generalidades
jcbenitezp
 
Laboratorio modulación am y fm
Laboratorio modulación am y fmLaboratorio modulación am y fm
Laboratorio modulación am y fm
Juan Jose Mora
 
Redes de compensacion
Redes de compensacionRedes de compensacion
Redes de compensacion
UNEFA
 
Probabilidad de error de símbolo m pam modificado
Probabilidad de error de símbolo m pam modificadoProbabilidad de error de símbolo m pam modificado
Probabilidad de error de símbolo m pam modificado
Pato Villacis
 
Detección y corrección de errores
Detección y corrección de erroresDetección y corrección de errores
Detección y corrección de errores
santi_rafael7777
 
Diseño con amplificadores operacionales y circuitos integrados analógicos 3ra...
Diseño con amplificadores operacionales y circuitos integrados analógicos 3ra...Diseño con amplificadores operacionales y circuitos integrados analógicos 3ra...
Diseño con amplificadores operacionales y circuitos integrados analógicos 3ra...
SANTIAGO PABLO ALBERTO
 
Modulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicionModulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicion
Alieth Guevara
 
Ejercicios (Series de Fourier)
Ejercicios (Series de Fourier)Ejercicios (Series de Fourier)
Ejercicios (Series de Fourier)
ERICK CONDE
 

Mais procurados (20)

Utp sirn_s0_generalidades
 Utp sirn_s0_generalidades Utp sirn_s0_generalidades
Utp sirn_s0_generalidades
 
Laboratorio modulación am y fm
Laboratorio modulación am y fmLaboratorio modulación am y fm
Laboratorio modulación am y fm
 
Redes de compensacion
Redes de compensacionRedes de compensacion
Redes de compensacion
 
Clase 13 la onda plana uniforme TE
Clase 13 la onda plana uniforme TEClase 13 la onda plana uniforme TE
Clase 13 la onda plana uniforme TE
 
Sistemas lineales discretos
Sistemas lineales discretosSistemas lineales discretos
Sistemas lineales discretos
 
Probabilidad de error de símbolo m pam modificado
Probabilidad de error de símbolo m pam modificadoProbabilidad de error de símbolo m pam modificado
Probabilidad de error de símbolo m pam modificado
 
Señales Periódicas y Simetría Par e Impar
Señales Periódicas y Simetría Par e ImparSeñales Periódicas y Simetría Par e Impar
Señales Periódicas y Simetría Par e Impar
 
Detección y corrección de errores
Detección y corrección de erroresDetección y corrección de errores
Detección y corrección de errores
 
Dsp7
Dsp7Dsp7
Dsp7
 
S9. transformada inversa-de_laplace
S9. transformada inversa-de_laplaceS9. transformada inversa-de_laplace
S9. transformada inversa-de_laplace
 
Diseño con amplificadores operacionales y circuitos integrados analógicos 3ra...
Diseño con amplificadores operacionales y circuitos integrados analógicos 3ra...Diseño con amplificadores operacionales y circuitos integrados analógicos 3ra...
Diseño con amplificadores operacionales y circuitos integrados analógicos 3ra...
 
Tema 4 codificación de canal
Tema 4   codificación de canalTema 4   codificación de canal
Tema 4 codificación de canal
 
Tabla de resistencias y capacitores comerciales reales
Tabla de resistencias y capacitores comerciales realesTabla de resistencias y capacitores comerciales reales
Tabla de resistencias y capacitores comerciales reales
 
Integrales complejas
Integrales complejasIntegrales complejas
Integrales complejas
 
Codigo Hamming
Codigo HammingCodigo Hamming
Codigo Hamming
 
Modulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicionModulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicion
 
Ejercicios de coinvolución- analisis de señales
Ejercicios de coinvolución- analisis de señalesEjercicios de coinvolución- analisis de señales
Ejercicios de coinvolución- analisis de señales
 
Radio a galena
Radio a galenaRadio a galena
Radio a galena
 
Ejercicios (Series de Fourier)
Ejercicios (Series de Fourier)Ejercicios (Series de Fourier)
Ejercicios (Series de Fourier)
 
Polarización por divisor de voltaje
Polarización por divisor de voltajePolarización por divisor de voltaje
Polarización por divisor de voltaje
 

Destaque

Derivada Polinomios en C
Derivada Polinomios en CDerivada Polinomios en C
Derivada Polinomios en C
Abraham
 
Manual del proteus
Manual del proteusManual del proteus
Manual del proteus
ayreonmx
 
Antenas yagi uda
Antenas yagi udaAntenas yagi uda
Antenas yagi uda
Arkso
 

Destaque (20)

Teorema de muestreo
Teorema de muestreoTeorema de muestreo
Teorema de muestreo
 
“Muestreo, Reconstrucción y Controladores Digitales”
“Muestreo, Reconstrucción y Controladores Digitales”“Muestreo, Reconstrucción y Controladores Digitales”
“Muestreo, Reconstrucción y Controladores Digitales”
 
Pcm
PcmPcm
Pcm
 
Electronica digital
Electronica digitalElectronica digital
Electronica digital
 
Muestreo
MuestreoMuestreo
Muestreo
 
Control digital
Control digitalControl digital
Control digital
 
3.PCM Digitalizacion de señal analogica
3.PCM Digitalizacion de señal analogica3.PCM Digitalizacion de señal analogica
3.PCM Digitalizacion de señal analogica
 
Practica1m
Practica1mPractica1m
Practica1m
 
6 5tiposmascomunesdeantenas-110331232601-phpapp01
6 5tiposmascomunesdeantenas-110331232601-phpapp016 5tiposmascomunesdeantenas-110331232601-phpapp01
6 5tiposmascomunesdeantenas-110331232601-phpapp01
 
Antennas Inalambricas
Antennas InalambricasAntennas Inalambricas
Antennas Inalambricas
 
Derivada Polinomios en C
Derivada Polinomios en CDerivada Polinomios en C
Derivada Polinomios en C
 
Presentacion Antenas[1]
Presentacion Antenas[1]Presentacion Antenas[1]
Presentacion Antenas[1]
 
Presentacion antenas
Presentacion antenasPresentacion antenas
Presentacion antenas
 
Manual del proteus
Manual del proteusManual del proteus
Manual del proteus
 
Practico #3: Diseño de Antena Yagi
Practico #3: Diseño de Antena YagiPractico #3: Diseño de Antena Yagi
Practico #3: Diseño de Antena Yagi
 
construccion antena yagi
construccion antena yagiconstruccion antena yagi
construccion antena yagi
 
El transistor ujt
El transistor ujtEl transistor ujt
El transistor ujt
 
Antenas yagi uda
Antenas yagi udaAntenas yagi uda
Antenas yagi uda
 
Mat lab manipulación de señales de audio
Mat lab manipulación de señales de audioMat lab manipulación de señales de audio
Mat lab manipulación de señales de audio
 
150 circuitos de electronica 2
150 circuitos de electronica 2150 circuitos de electronica 2
150 circuitos de electronica 2
 

Semelhante a Generador de señales seno en un microcontrolador

Expansión polinomial en series de taylor
Expansión polinomial en series de taylorExpansión polinomial en series de taylor
Expansión polinomial en series de taylor
luis
 
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)
José Manuel Gómez Vega
 
Primer parcial solucionario
Primer parcial solucionarioPrimer parcial solucionario
Primer parcial solucionario
climancc
 
Interpretacion de derivadas
Interpretacion de derivadasInterpretacion de derivadas
Interpretacion de derivadas
jorgeenriquediaz
 
Optimizacion de sistemas
Optimizacion de sistemasOptimizacion de sistemas
Optimizacion de sistemas
theCJ
 
Trabajo series de taylor
Trabajo series de taylorTrabajo series de taylor
Trabajo series de taylor
Fredy
 

Semelhante a Generador de señales seno en un microcontrolador (20)

TECNOLOGÍA SEÑAL
TECNOLOGÍA SEÑALTECNOLOGÍA SEÑAL
TECNOLOGÍA SEÑAL
 
Expansión polinomial en series de taylor
Expansión polinomial en series de taylorExpansión polinomial en series de taylor
Expansión polinomial en series de taylor
 
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
 
Calculo avanzado-formula de taylor
Calculo avanzado-formula de taylorCalculo avanzado-formula de taylor
Calculo avanzado-formula de taylor
 
Primer parcial solucionario
Primer parcial solucionarioPrimer parcial solucionario
Primer parcial solucionario
 
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
 

Generador de señales seno en un microcontrolador

  • 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