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

Series de taylor y fourier
Series de taylor y fourierSeries de taylor y fourier
Series de taylor y fouriernilsa
 
Trabajo series de taylor
Trabajo series de taylorTrabajo series de taylor
Trabajo series de taylorFredy
 
Taller 1. serie de taylor
Taller 1. serie de taylorTaller 1. serie de taylor
Taller 1. serie de taylorNORAIMA
 
Serie de-taylor-y-maclaurin
Serie de-taylor-y-maclaurinSerie de-taylor-y-maclaurin
Serie de-taylor-y-maclaurinFaveeLa Natsuko
 
Desarrollos En Serie De Taylor
Desarrollos En Serie De TaylorDesarrollos En Serie De Taylor
Desarrollos En Serie De TaylorERICK CONDE
 
Ejercicio - Serie de maclaurin
Ejercicio - Serie de maclaurinEjercicio - Serie de maclaurin
Ejercicio - Serie de maclaurinJhony Caranguay
 
Serie de taylor
Serie de taylorSerie de taylor
Serie de taylorNatalia
 
1.5 serie de taylor
1.5 serie de taylor1.5 serie de taylor
1.5 serie de taylorgcenich
 
Serie de Taylor
Serie de TaylorSerie de Taylor
Serie de TaylorRodrigo GC
 
Raices de ecuaciones
Raices de ecuacionesRaices de ecuaciones
Raices de ecuacionesluisrial15
 
T student ejemplos
T student ejemplosT student ejemplos
T student ejemploskaremlucero
 
Tstudentejemplos 120319172547-phpapp02
Tstudentejemplos 120319172547-phpapp02Tstudentejemplos 120319172547-phpapp02
Tstudentejemplos 120319172547-phpapp02VicNoee
 

La actualidad más candente (20)

Series de taylor y fourier
Series de taylor y fourierSeries de taylor y fourier
Series de taylor y fourier
 
Trabajo series de taylor
Trabajo series de taylorTrabajo series de taylor
Trabajo series de taylor
 
Taller 1. serie de taylor
Taller 1. serie de taylorTaller 1. serie de taylor
Taller 1. serie de taylor
 
Serie de-taylor-y-maclaurin
Serie de-taylor-y-maclaurinSerie de-taylor-y-maclaurin
Serie de-taylor-y-maclaurin
 
Desarrollos En Serie De Taylor
Desarrollos En Serie De TaylorDesarrollos En Serie De Taylor
Desarrollos En Serie De Taylor
 
Ejercicio - Serie de maclaurin
Ejercicio - Serie de maclaurinEjercicio - Serie de maclaurin
Ejercicio - Serie de maclaurin
 
Serie de taylor
Serie de taylorSerie de taylor
Serie de taylor
 
1.5 serie de taylor
1.5 serie de taylor1.5 serie de taylor
1.5 serie de taylor
 
1.5 serie de taylor
1.5 serie de taylor1.5 serie de taylor
1.5 serie de taylor
 
1.5 serie de taylor
1.5 serie de taylor1.5 serie de taylor
1.5 serie de taylor
 
Serie de Taylor
Serie de TaylorSerie de Taylor
Serie de Taylor
 
Raices de ecuaciones
Raices de ecuacionesRaices de ecuaciones
Raices de ecuaciones
 
Ejercicios serie de fourier
Ejercicios serie de fourierEjercicios serie de fourier
Ejercicios serie de fourier
 
T student ejemplos
T student ejemplosT student ejemplos
T student ejemplos
 
Derivadas
DerivadasDerivadas
Derivadas
 
Tstudentejemplos 120319172547-phpapp02
Tstudentejemplos 120319172547-phpapp02Tstudentejemplos 120319172547-phpapp02
Tstudentejemplos 120319172547-phpapp02
 
Seriespot0910 (1)
Seriespot0910 (1)Seriespot0910 (1)
Seriespot0910 (1)
 
Division sint
Division sintDivision sint
Division sint
 
Teoremas de los límites
Teoremas de los límitesTeoremas de los límites
Teoremas de los límites
 
Límites de funciones
Límites de funcionesLímites de funciones
Límites de funciones
 

Similar a TECNOLOGÍA SEÑAL

Generador de señales seno en un microcontrolador
Generador de señales seno en un microcontroladorGenerador de señales seno en un microcontrolador
Generador de señales seno en un microcontroladorkattyusca
 
Generador de señales seno en un microcontrolador
Generador de señales seno en un microcontroladorGenerador de señales seno en un microcontrolador
Generador de señales seno en un microcontroladorkattyusca
 
Generador de señales seno en un microcontrolador
Generador de señales seno en un microcontroladorGenerador de señales seno en un microcontrolador
Generador de señales seno en un microcontroladorkattyusca
 
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. ComplementoPablo García y Colomé
 
Funcione Polinomiales
Funcione PolinomialesFuncione Polinomiales
Funcione PolinomialesAlfredo208743
 
Calculo Concavidad
Calculo ConcavidadCalculo Concavidad
Calculo ConcavidadElba Garcia
 
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
 
Matriz Asociada a la Aplicacion
Matriz Asociada a la AplicacionMatriz Asociada a la Aplicacion
Matriz Asociada a la Aplicacionalgebragr4
 
Tabla de-indeterminaciones
Tabla de-indeterminacionesTabla de-indeterminaciones
Tabla de-indeterminacionesSabena29
 
Clase del lunes 7 de abril 2014
Clase del lunes 7 de abril 2014Clase del lunes 7 de abril 2014
Clase del lunes 7 de abril 2014Gonzalo Jiménez
 
Aplicacion de la derivada
Aplicacion de la derivadaAplicacion de la derivada
Aplicacion de la derivadayicel abella
 
Combinatorios con numerador fraccionario o negativo y binomio de newton (Repa...
Combinatorios con numerador fraccionario o negativo y binomio de newton (Repa...Combinatorios con numerador fraccionario o negativo y binomio de newton (Repa...
Combinatorios con numerador fraccionario o negativo y binomio de newton (Repa...Enrique Ramon Acosta Ramos
 
Proyecto de aplicación de la primera y segunda derivada
Proyecto de aplicación de la primera y segunda derivadaProyecto de aplicación de la primera y segunda derivada
Proyecto de aplicación de la primera y segunda derivadaLeo Eduardo Bobadilla Atao
 

Similar a TECNOLOGÍA SEÑAL (20)

Generador de señales seno en un microcontrolador
Generador de señales seno en un microcontroladorGenerador de señales seno en un microcontrolador
Generador de señales seno en un microcontrolador
 
Generador de señales seno en un microcontrolador
Generador de señales seno en un microcontroladorGenerador de señales seno en un microcontrolador
Generador de señales seno en un microcontrolador
 
Generador de señales seno en un microcontrolador
Generador de señales seno en un microcontroladorGenerador de señales seno en un microcontrolador
Generador de señales seno en un microcontrolador
 
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
 
Funcione Polinomiales
Funcione PolinomialesFuncione Polinomiales
Funcione Polinomiales
 
Definicion derivada
Definicion derivadaDefinicion derivada
Definicion derivada
 
Sucesiones
SucesionesSucesiones
Sucesiones
 
Blog
BlogBlog
Blog
 
Blog
BlogBlog
Blog
 
Calculo Concavidad
Calculo ConcavidadCalculo Concavidad
Calculo Concavidad
 
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)
 
Sucesiones97
Sucesiones97Sucesiones97
Sucesiones97
 
Matriz Asociada a la Aplicacion
Matriz Asociada a la AplicacionMatriz Asociada a la Aplicacion
Matriz Asociada a la Aplicacion
 
Tabla de-indeterminaciones
Tabla de-indeterminacionesTabla de-indeterminaciones
Tabla de-indeterminaciones
 
Clase del lunes 7 de abril 2014
Clase del lunes 7 de abril 2014Clase del lunes 7 de abril 2014
Clase del lunes 7 de abril 2014
 
Aplicacion de la derivada
Aplicacion de la derivadaAplicacion de la derivada
Aplicacion de la derivada
 
Python
PythonPython
Python
 
Fourier.pdf
Fourier.pdfFourier.pdf
Fourier.pdf
 
Combinatorios con numerador fraccionario o negativo y binomio de newton (Repa...
Combinatorios con numerador fraccionario o negativo y binomio de newton (Repa...Combinatorios con numerador fraccionario o negativo y binomio de newton (Repa...
Combinatorios con numerador fraccionario o negativo y binomio de newton (Repa...
 
Proyecto de aplicación de la primera y segunda derivada
Proyecto de aplicación de la primera y segunda derivadaProyecto de aplicación de la primera y segunda derivada
Proyecto de aplicación de la primera y segunda derivada
 

Último

9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 

Último (13)

9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

TECNOLOGÍA SEÑAL

  • 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