Sie sind auf Seite 1von 20

Universidad Tcnica Particular de Loja

Escuela de Electrnica y Telecomunicaciones

Procesamiento de Seales

Generador de Seales Seno y Coseno en un


Microcontrolador

INTEGRANTES: Katherine Ivanova Remache Santamara


Carlos Alfredo Romero Len

Generador de Seales Seno y Coseno en un


Microcontrolador
RESUMEN
En el presente proyecto trata, sobre una forma de generar seales seno y coseno en un
microcontrolador, para la generacin de las seales senoidales y cosenoidales, primero
debemos generar los coeficientes que corresponden a cada seal en el microcontrolador
mediante las series de Taylor, tambin, 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 seales seno y coseno en un
microcontrolador.
Objetivos especficos.- Dentro de los objetivos especficos a alcanzar tenemos:
 Dar a conocer una forma de generar seales seno y coseno.
 Disear un sistema que permita generar seales seno y coseno, en un microcontrolador,
la cual se la podr utilizar de acuerdo a la comodidad del usuario.
INTRODUCCIN
En el presente proyecto se analizan temas bsicos relacionados a las series de Taylor,
el muestreo, el teorema de muestreo, cuantizacin 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 funcin f de nmeros reales o complejos que es infinitamente
diferenciable en un entorno de nmeros 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 ms compacta como:


 + +

 
!




  = 



 


 ,
!

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 funcin con derivada n-sima en x=a, se cumple
lim

, !
!"

=0

2. Si en un entorno E(a) existe fn+1(x), entonces  &


 existe algn 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 frmula de Mac-Laurin


 = 0 +

0

 
 
  ' ( '
+
 + +
 +

 + 1!
1!
2!
!

Esta ltima expresin es el desarrollo de Mac-Laurin con el resto de Lagrange. [1]


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

La expresin 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 continuacin se presenta el cdigo 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
segn el grado que se utilice de la serie de Taylor.
3) Cdigo 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.^51/5040.*frec.^7.*x.^7+1/362880.*frec.^9.*x.^91/39916800.*frec.^11.*x.^11+1/6227020800.*frec.^13.*x.^131/1307674368000.*frec.^15.*x.^15+1/355687428096000.*frec.^17.*x.^171/121645100408832000.*frec.^19.*x.^19)) % funcion sen(x) construida con las series de
taylor
y=amplitud*sin(frec.*x) % funcin sen(x) dada ya por matlab
plot (x,y,x,tayl,'-.r') %graficar en la misma pantalla ambas grficas
grid on % activar la grilla
%leyendas de las grficas
h = legend('Funcin sen(x) dada','Funcin sen(x) con taylor',3);
set(h,'Interpreter','none')
%ubicacin en el eje x

Xlabel({'MARGEN DE ERROR ENTRE FUNCIN SEN(X)}';'CONSTRUIDA CON


TAYLOR Y UNA FUNCIN SEN(X)DADA);

Fig. 1 Funcin 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 tambin va a ser mucho menor.
4) Aproximacin de la funcin cos(x)
Utilizando las mismas especificaciones de la seal 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
+   = 1 +

0
1
0
1
0
  +  + - + +
1!
2!
3!
4!
5!

1
1
+   = 1   +  2
24
5) Cdigo 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.^41/720.*frec.^6.*x.^6+1/40320.*frec.^8.*x.^81/3628800.*frec.^10.*x.^10+1/479001600.*frec.^12.*x.^121/87178291200.*frec.^14.*x.^14+1/20922789888000.*frec.^16.*x.^161/6402373705728000.*frec.^18.*x.^18)) % funcion sen(x) construida con las series de
taylor
y=amplitud*cos(frec.*x) % funcin sen(x) dada ya por matlab
plot (x,y,x,tayl,'-.r') %graficar en la misma pantalla ambas grficas
grid on % activar la grilla
%leyendas de las grficas
h = legend('Funcin cos(x) dada','Funcin cos(x) con taylor',3);
set(h,'Interpreter','none')
%ubicacin en el eje x
Xlabel({'MARGEN DE ERROR ENTRE FUNCIN SEN(X)}';'CONSTRUIDA CON
TAYLOR Y UNA FUNCIN COS(X)DADA'});

Fig. 2 Funcin coseno


6) Error de Truncamiento
Al agregar ms trminos a la serie, su valor resulta ser ms exacto y obviamente
mientras menos trminos posean, ms inexacta es. El error de truncamiento muestra la
diferencia entre el valor aproximado y el real, esto significa que mientras ms trminos
tenga la serie, tal error es ms pequeo. [2] y [3]
Etr=Valor real-Valor Aproximado.
B. Muestreo
El muestreo de seales es el primer paso en el procesamiento de seales discretas
(DSP). Para procesar una seal analgica por medios digitales, debemos convertirla en una
6

seal 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 cuantizacin conducen a una
prdida potencial de informacin. Sin embargo la seal puede muestrearse sin prdida de
informacin si es de banda limitada a una frecuencia ms alta fB y muestreada a intervalos

menores que  . Este es el clebre teorema de muestreo. Si el intervalo de muestreo supera
3

el valor critico

 3

, un fenmeno conocido como alias se manifiesta por s solo.

Componentes de la seal analgica a altas frecuencias aparecen (por el alias) a bajas


frecuencias en la seal muestreada. Esto resulta en una seal muestreada con una menor
frecuencia mxima. Los efectos de alias son imposibles de suprimir una vez que se
adquiere las muestras. Por ello es comn limitar la banda de la seal antes del muestreo
(empleando filtro pasa-bajas).
Debemos limitar las amplitudes de la seal a un nmero finito de niveles. Este proceso
se denomina cuantizacin, produce efectos no lineales que pueden describirse en mtodos
estadsticos. La cuantizacin conduce a s mismo a una perdida reversible de informacin y
se considera casi siempre solo en la etapa final de cualquier diseo.
1) Alias y el teorema de muestreo
La seal muestreada debe ser una representacin nica de la seal analgica. Para una
senoide x(t)=cos(2fot+), una velocidad de muestreo S >2fo asegura que la frecuencia
digital de la seal muestreada caiga en el periodo principal -0.5 F 0.5 y permita una
correspondencia nica con la seal analgica subyacente.
De manera general, el teorema de muestreo afirma que para una correspondencia nica
con la seal analgica y la versin reconstruida a partir de sus muestras (empleando la
misma velocidad de muestreo), la velocidad de muestreo debe exceder dos veces la
frecuencia ms alta de la seal fmx. La velocidad critica S=2fmx se llama velocidad de

Nyquist y 45 =  recibe el nombre de intervalo de Nyquist. Para la senoide
3

x(t)=cos(2fot+), 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 fenmeno, donde una senoide reconstruida aparece a una frecuencia inferior que la
original, se denomina creacin de un alias.
C. Cuantizacin

Cuantizar es redondear o truncar las amplitudes de la seal para reducirlas a un


conjunto finito de valores. Puesto que la cuantizacin solo afecta a la amplitud de la seal
para reducirlas a un conjunto finito de valores.

Puesto que la cuantizacin solo afecta a la amplitud de la seal, es posible cuantizar


seales analgicas y de tiempo discreto. Las seales cuantizadas de tiempo discreto se
conocen como seales digitales.
Cada muestra cuantizada est representada por un grupo (palabras) de ceros y unos
(bits) que pueden procesarse de manera digital. Cuanto ms fina sea la cuantizacin, mayor
ser la palabra. Al igual que sucede con el muestreo, la cuantizacin impropia conduce a
perdidas de informacin. Pero a diferencia de la muestra no importa cun fina sea la
cuantizacin 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 seal para producir un
nmero finito de niveles de amplitud o niveles de cuantizacin. La prctica comn es
utilizar cuantizadores uniformes con niveles de cuantizacin iguales.
El nmero de niveles L de la mayor parte de los cuantizadores utilizados en un
convertidor analgico a digital es invariablemente una potencia de 2. Si L=2B, cada uno de
los niveles queda codificado en un nmero binario y cada valor de la seal queda
representado en forma binaria como una palabra de B bits, la cual corresponde a su valor
cuantizado.
La seal puede cuantizarse mediante redondeo a nivel de cuantizacin ms prximo,
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 Analgico-digital
Se componen de dos circuitos: el muestreador y el cuantizador digital.
La misin del muestreador es mantener la seal analgica constante durante el periodo
de muestreo. [4] y [5]
El convertidor digital-analgico permite que la seal codificada y cuantizada sea
convertida en una seal analgica. [6].
E. Microcontrolador
Un microcontrolador es un circuito integrado de alta escala de integracin que
incorpora la mayor parte de los elementos que configuran un controlador.

Fig. 3 El microcontrolador
Todas las partes del computador estn contenidas en su interior y slo salen al exterior
las lneas que gobiernan los perifricos.

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.
Lneas de E/S para comunicarse con el exterior.
Diversos mdulos para el control de perifricos (temporizadores, Puertas Serie y
Paralelo, CAD: Conversores Analgico/Digital, CDA: Conversores Digital/Analgico,
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 voltil, tipo ROM, y se destina a contener el conjunto de
instrucciones que ejecuta la aplicacin. Otra parte de memoria es del tipo RAM,
RAM voltil, y
se destina a guardar las variables y los datos.
Segn el tipo de memoria ROM que dispongan los microcontroladores, la aplicacin y
utilizacin de los mismos es diferente. Una de las versiones de memoria no voltil que se
pueden encontrar en los
os microcontroladores esta la memoria flash.
Se trata de una memoria no voltil, de bajo consumo, que se puede escribir y borrar, es
programable en el circuito, es ms rpida que la EEPROM y tolera ms ciclos de
escritura/borrado.
2) Puertas de Entrada y Salida
La principal utilidad de las lneas de E/S es comunicar al computador interno con los
perifricos exteriores.

Segn los controladores de perifricos que posea cada modelo de microcontrolador, las
lneas de E/S se destinan a proporcionar el soporte a las seales de entrada, salida y control.
[7]
DESARROLLO
El objetivo de este proyecto es generar seales senoidales y cosenoidales, y esta nos debe
proporcionar las siguientes funciones: Ser variable en frecuencia y en amplitud.

Para el desarrollo de la prctica 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 generacin 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 programacin, se utilizar dicha memoria
con el objetivo de almacenar los coeficientes generados previamente, para su
posterior utilizacin.
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 analgica de acuerdo a valores de referencia establecidos.
4. Manipulacin 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 manipulacin de la amplitud de la seal
se la realiza por medio de un potencimetro.
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 cdigo 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 elctricos y electrnicos Isis Profesional

Fig. 4 Isis Profesional


Se utiliza las Ecuaciones de Taylor para calcular los coeficientes de la funcin seno y
coseno.
  = 
 +


!


 +


!


 + +

11

 
!

 6


 +

'
' !

ALGORITMO DE PROGRAMACIN

Generar coeficiente de la
onda mediante las series de
Taylor.

Redondeo de valores.

Almacenar los valores en la


memoria del microcontrolador.

Amplitud y frecuencia

Lectura de datos y seleccin de


seal requerida en el
microcontrolador

Reconstruccin de la seal
mediante la DAC.

Resultado de la
onda requerida por
el usuario

12

Onda seno y coseno

CODIGO EN CODEVISIN
#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
, 6
, 3
1 ,
-6 ,
-13

, 7 , 7 , 7
, 5 ,5 , 5
, 3 , 2 ,2
-1 , -2 , -2
-7 , -7 , -8
, -14 , -14

, 7 , 7 , 7, 7, 7 , 7, 7, 6 , 6 , 6 , 6 , 6 , 6 , 6
, 5 ,5 , 5 , 5 , 4 , 4, 4, 4 , 4, 4 , 3 , 3 , 3 , 3
, 2 , 2 , 2 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , -1 , -1 , , -2 , -2 , -3 , -3 , -3 , -4 , -4 , -4 , -5 , -5 , -5 , -6 , -6 ,
, -8 , -8 , -9 , -9 , -10 ,-10 , -10 ,-11 , -11 ,-12 , -12 , -13 ,

};
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 funcin a su valor real
con un grado de error y esta depende de el numero de trminos que se utilice.
Al agregar ms trminos a la serie de Taylor, su valor resulta ser ms exacto, es
decir mientras menos trminos tenga la serie el error ser ms grande.
El muestreo de seales es el primer paso en el procesamiento de seales discretas
(DSP).
Para procesar una seal analgica primero se la debe muestrear en intervalos
uniformes, luego debemos cuantizarla.
Tanto el muestreo como la cuantizacin conducen a una prdida potencial de
informacin.
En los microcontroladores la memoria de instrucciones y datos est integrada en el
propio chip. Una parte es voltil, tipo ROM y la otra es de tipo RAM, voltil.
Los principales recursos especficos que incorporan los microcontroladores son:
temporizadores,
Perro guardin o "Watchdog", Proteccin ante fallo de
alimentacin o "Brownout", Estado de reposo o de bajo consumo, Conversor A/D
(CAD), Comparador analgico, Conversor D/A (CDA), Modulador de anchura de
impulsos o PWM.

REFERENCIAS BIBLIOGRAFICAS
[1]. Molinas P, Martnez P. Aplicaciones de la derivada. UOC. MECD. Consultado el
24 de mayo de 2010. Disponible en: http://www.acienciasgalilei.com/mat/pdfmat/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]. Meja 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: Implementacin 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 Seales. Muestreo y Cuantizacin. Consultado el 28 de abril
de
2010.
Disponible
en:
www.tecnun.es/asignaturas/tratamiento%20digital/tema5.pdf
[6]. Procesamiento de seales analgicas y digitales. AMBARDAR ASHOCK. Segunda
Edicin. THOMSON LEARNING. Mxico. 2002.
[7]. Introduccin a los microcontroladores. Consultado el 25 de abril de 2010.
Disponible en: www.monografias.com/microcontroladores

20

Das könnte Ihnen auch gefallen