Sei sulla pagina 1di 50

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

UNP

UNIVERSIDAD NACIONAL DE
PIURA

FACULTAD DE CIENCIAS
DEPARTAMENTO ACADMICO DE CIENCIAS

INGENIERA ELECTRNICA Y TELECOMUNICACIONES

MDULO DE LABORATORIO DE PROCESAMIENTO DIGITAL DE

SEALES II
PIURA PER
2014-I

Procesamiento Digital de Seales II

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

UNP

NOTA FINAL

__________

CURSO

... . . . . . . . . . . .
..

ALUMNO (A)

... . . . . . . . . . . .
..

... . . . . . . . . . . .
..

CDIGO

: .............................................

FACULTAD

: .............................................

SEMESTRE
ACADMICO

SEMANA: ..........

: .............................................

DIA: ..............................

HORA:

PROF. TEORA

: .............................................

PROF. PRCTICA

: .............................................

Procesamiento Digital de Seales II

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

UNP

CONTENIDO

PRESENTACIN

LABORATORIO I: FILTROS DIGITALES

LABORATORIO lI: PROCESAMIENTO DE IMAGENES

10

LABORATORIO III: PROCESAMIENTO DE IMGENES EN


TIEMPO REAL

17

LABORATORIO IV: RECONOCIEMIENTO DE PATRONES

20

Procesamiento Digital de Seales II

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

UNP

PRESENTACION
El procesamiento digital de seales es un rea de la ingeniera que se dedica al
anlisis y procesamiento de seales (audio, voz) que son discretas. Aunque
comnmente las seales en la naturaleza nos llegan en forma analgica, tambin
existen casos en que estas son por su naturaleza discretas.
Uno de los beneficios principales del Procesamiento Digital de Seales es que las
transformaciones de seales son ms sencillas de realizar. Una de las ms
importantes transformadas es la Transformada de Fourier Discreta (TFD). Esta
transformada convierte la seal del dominio del tiempo al dominio de la frecuencia.
Una herramienta a utilizar es MATLAB (laboratorio de matrices) es un software
matemtico que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de
programacin propio.
Entre sus prestaciones bsicas se hallan: la manipulacin de matrices, la
representacin de datos y funciones, la implementacin de algoritmos, la creacin de
interfaces de usuario (GUI) y la comunicacin con programas en otros lenguajes y con
otros dispositivos hardware.
El laboratorio de ingeniera electrnica y telecomunicaciones agradece a los
involucrados en el desarrollo del presente mdulo y est llano a recibir crticas sobre el
presente trabajo para su posterior revisin y mejora.

Procesamiento Digital de Seales II

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

UNP

LABORATORIO I: FILTROS DIGITALES


OBJETIVOS
Aplicar diferentes mtodos para el diseo de filtros digitales.
Reconocer las ventajas y desventajas de cada prototipo de filtro.
Disear e implementar filtros de respuesta finita al impulso (FIR).
Valorar las ventajas y desventajas relativas entre filtros IIR y FIR

FUNDAMENTO TERICO
Un filtro digital es un sistema discreto utilizado para extraer caractersticas desde el
dominio de la frecuencia sobre seales muestreadas. La operacin de filtrado se
realiza por medio de clculos directos con las seales muestreadas. Las ventajas que
presentan los filtros digitales frente a los analgicos son las siguientes:
-

Respuesta dinmica: El ancho de banda del filtro digital est limitado por la
frecuencia de muestreo, mientras que en los filtros analgicos con componentes
activos suelen estar restringidos por los amplificadores operacionales.

Intervalo dinmico: En filtros analgicos aparecen derivas que limitan por abajo el
rango y se saturan con la alimentacin. En cambio en los filtros digitales es fijado
por el nmero de bits que representa la secuencia, y el lmite inferior por el ruido de
cuantificacin y los errores de redondeo.

Adaptabilidad: Un filtro digital puede ser implementado en soporte fsico (hardware)


o mediante un programa de ordenador (software).

Ausencia de problemas de componentes: Los parmetros de los filtros se


representan por medio de nmeros binarios y no derivan con el tiempo. Al no haber
componentes, no hay problemas de tolerancia o deriva de componentes, y ningn
otro problema asociado con un comportamiento no ideal de resistencias,
condensadores, bobinas o amplificadores.
Partiendo de la ecuacin en diferencias que modela el comportamiento dinmico
de estos sistemas:

en el caso de tener todos los coeficientes ai iguales a cero se tendr un filtro


FIR, con lo que quedar la ecuacin reducida a:

siendo m el orden del filtro y tendr una funcin de transferencia en z del tipo:

Procesamiento Digital de Seales II

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

UNP

Obsrvese que en estos tipos de filtros cada valor de la secuencia de salida slo
depende de un nmero finito de valores de la secuencia de entrada. Adems tambin
se desprende la carencia de polos en la funcin de transferencia. En cambio, las
expresiones de los filtros recursivos corresponden a:

Y su funcion de transferencia en z a:

Filtros no Recursivos (FIR)


Un filtro no-recursivo es aquel cuya salida est calculada exclusivamente a partir de
valores de entrada.
Los filtros no recursivos tienen ventajas muy interesantes que les hacen ser ampliamente
utilizados en mltiples aplicaciones. La caracterstica ms destacable es su facilidad de
diseo para conseguir una respuesta en frecuencias de fase lineal, esto es, la seal que
pase a travs de l no ser distorsionada. Los FIR son por su propia constitucin estables,
no habiendo problemas en su diseo o fase de implementacin.

Bsicamente hay dos mtodos para el diseo de filtros no recursivos:


El primero trata de definir la respuesta en frecuencia del filtro para luego determinar
los coeficientes del filtro mediante la transformada inversa de Fourier; mientras que la
segunda estrategia utiliza mtodos de optimizacin capaz de ir modificando los
coeficientes del filtro para aproximarlo a la respuesta en frecuencia deseada.
Su expresin en el dominio discreto es:
N 1

Yn bk x(n k )
k 0

El orden del filtro est dado por N, es decir, el nmero de coeficientes. Tambin la
salida puede ser expresada como la convolucin de una seal de entrada x[n] con un
filtro h[n]:

Y
n

h x

N 1

k 0

n k

Procesamiento Digital de Seales II

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

UNP

Especificacin de los filtros digitales:


Pasa Bajo

Pasa Alto

Pasa Banda

Rechaza Banda

Filtros Recursivos (IIR)


Un filtro recursivo es aquel que adems de los valores de entrada emplea valores
previos de salida, los cuales se almacenan en la memoria del procesador
La ventaja de los filtros IIR respecto a los FIR es la de tener un menor orden del filtro
para iguales especificaciones de diseo. Aunque la desventaja es la falta de desfase
lineal introducido por el filtro, as como la necesidad de realizar estudios de
estabilidad, pues sta no est garantizada en el diseo.
Los coeficientes del filtro en el dominio s son transformados a uno equivalente en el
dominio z, los coeficientes de la discretizacin formarn el filtro IIR.
Su expresin en el dominio discreto es:
M

Y [n] bk x[n k ] akY [n k ]


k 0

k 0

El orden del filtro est dado por el mximo entre M y N. La transformada Z del
mismo es:
M

H(z)

bk z

k 0
N

1 ak z
k 1

Procesamiento Digital de Seales II

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

Ejercicio 1.
Tenemos una Seal cuyo vector es {-1,2,5,-3,4,6,7,-2,9,7,5}, realizarle un filtrado
pasa bajas de dicha seal (graficarlas).
%Codigo en matlab
entrada=[-1 2 5 -3 4 6 7 -2 9 7
5]; Lz = length(entrada);
u = [zeros(1,3)
entrada]; N = 3;
for k = 1:1:Lz; w
= u(k:k+N)

z(k) =
sum(w)/length(w) end;
n = 0: Lz1; figure()
plot(n, entrada, 'r');hold on
plot(n, z, 'b--');grid; hold
of; xlabel('Muestras (n)');
ylabel('Amplitud');
legend('entrada','salida');

UNP

10
entrada
salida

Amplitud

6
4
2
0
-2

-40

5
6
Muestras (n)

10

Ejercicio 2.
Filtrar una seal senoidal de frecuencia F=5hz, fs=50 aplicando filtro FIR butterworth
de primer orden
Seal de Entrada

%Codigo en matlab
t=(0:.01:1);
F=5;fs=50;wn=F/fs
s=sin(2*pi*F*t);
subplot(2,1,1)
plot(t,s)

title('Seal de Entrada')
[B,A]=butter(1,wn);
salida=filter(B,A,s);
subplot(2,1,2)
plot(t,salida)

title('Seal Filtrada con


Butterworth n=1')

1
0.5
0
-0.5
-10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

Seal Filtrada con Butterworth n=1

0.8

0.9

1
0.5
0
-0.5
-10

0.1

0.2

0.3

0.4

0.5

0.6

Procesamiento Digital de Seales II

0.7

0.8

0.9

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

UNP

Cuestionario
1. Implemente un filtro que minimize los efectos del ruido en la salida. Utilize graficas
para mostrar el efecto de filtrado utilizado. Dado el siguiente codigo:
t = 0:0.001:0.6;

x = sin(2*pi*50*t)+sin(2*pi*120*t); y
= x + 2*randn(size(t));
plot(1000*t(1:50),y(1:50))
title('Seal con ruido') xlabel('time
(milisegundos)')

2. Disee un filtro pasa-altos de tipo Butterworth con frecuencia de corte 500 Hz. Para
obtener el filtro digital correspondiente, suponga que se procesarn seales con
frecuencia de muestreo 2000 Hz. (Grafique las respuestas)
3. Investigue la generacin de filtros FIR con fase lineal y realice pruebas con ondas
generadas a partir de la suma de senoidales de diferente frecuencia y fase cero.
Utilice algn filtro IIR y compare los resultados obtenidos.

Procesamiento Digital de Seales II

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

UNP

LABORATORIO II: PROCESAMIENTO DE IMAGENES

OBJETIVOS

Capacidad de disear e implantar algoritmos para peculiares aplicaciones.

Capacidad de generar procedimientos especficos a partir de algoritmos


generales, orientados a la resolucin de problemas que hagan uso del
procesamiento de imgenes.
Elaboracin de aplicaciones en entornos de desarrollo y empleo de libreras de
funciones de procesamiento de imgenes.

FUNDAMENTO TERICO
El Procesamiento de imgenes tiene como objetivo mejorar el aspecto de las
imgenes y hacer ms evidentes en ellas ciertos detalles que se desean hacer notar.
La imagen puede haber sido generada de muchas maneras, por ejemplo,
fotogrficamente, o electrnicamente, por medio de monitores de televisin.
El procesamiento de las imgenes se puede en general hacer por medio de mtodos
pticos, o bien por medio de mtodos digitales, en una computadora.
Operaciones Bsicas en Imgenes
Operaciones Puntuales: Llamadas as debido a que se aplica una funcin f a cada
punto (pixel) de la imagen, es decir el valor inicial del pixel es cambiado y el nuevo valor
se obtiene de q(x,y)=f(p(x,y))
Operador Identidad: La funcin q=p, por lo que obtendramos la misma imagen.
Operador Inverso o Negativo: la funcion q=255-p, la imagen de salida es el inverso de
la imagen de entrada.
Operador Umbral: Ahora tenemos un umbral u, donde:
q=0 para p <= u; y
q=255 para p > u;

Operador Intervalo de Umbral Binario: Ahora contamos con dos umbrales u1 y u2, y
la funcin que estara dada por:
q= 255 para p <= u1 || p >= u2;
y q= 0 para u1 < p < u2;

Procesamiento Digital de Seales II

10

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

UNP

Operador Umbral de Escala de Grises: Sean dos umbrales u1 y u2, obtenemos una
imagen de salida con los valores de nivel de gris que estn en ese intervalo, y 0 para el
resto, entonces la funcin q sera:
q= 255 para p <= u1 || p >= u2;
y q= p para u1 < p < u2;
Operador de Extensin: Tenemos los umbrales u1 y u2, la imagen de salida contiene a
los valores de grises que se encuentran en este intervalo, y adems elimina los valores de
grises que se encuentran fuera de se intervalo, la funcin q se denota por:
q= 255 para p <= u1 || p >= u2; y q=
(p-u1)*255/(u2-u1) ,para u1< p

Operaciones de Vecindad:
En la imagen de salida de este operador, el nuevo pixel se determina por la
combinacin los valores de los pixeles vecinos, y para esto se utiliza una mscara,
que viene a ser una matriz que contiene valores de acuerdo al tipo de vecindad que se
use. Entonces el nuevo pixel se determina por la suma ponderada de los 8 vecinos
con la mscara definida.
Desarrolle las siguientes instrucciones para procesar imgenes usando el matlab
1. Entrada y salida de imgenes a.
Lectura

A = imread('imagen.tif');
b. Grabacin
imwrite(A,nombre_de_archivo)

c. Presentacin.
imshow(A)
2. Propiedades
a. Tamao
[Rows, Cols, RGB] = size()
b. Tipo de dato
C = class(A)

c. Extrae colores de una imagen


RGB R = A(:,:,1)
G = A(:,:,2)

B = A(:,:,3)

3. Conversin de tipos
a. Convierte a double
D = double(A)
Procesamiento Digital de Seales II

11

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

UNP

b. Convierte a enteros sin signo de 8 y 16


bits E = uint8(A)
E = uint16(A)
c. Convierte a imagen en
gris G = rgb2gray(A)
4. Variacin de forma
a. Cambio de tamao

A = imread('imagen.jpg'); J
= imresize(A, 0.5); figure,
imshow(A)

figure, imshow(J)

b. Rotacin
R = imrotate(A, 45);

5. Histograma.

a. Generacin del histograma.


subplot(2,2,1), imshow(G);

0
0

50

100

150

200

250

50

100

150

200

250

subplot(2,2,2), imhist(G);
subplot(2,2,3), imshow(J);
subplot(2,2,4), imhist(J);

Procesamiento Digital de Seales II

12

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

UNP

b. Ecualizacin
de
una
imagen. H= histeq(H);

6. Ajuste de imgenes
a. Ajuste de imgenes <ms brillo> J
= imadjust(G, [0 1], [0.2 1],1 );
1500

1000

500

0
0

50

100

150

200

250

50

100

150

200

250

2000
1500
1000
500
0
0

b. Ajuste de imgenes <ms contrastre> J


= imadjust(G, [0.3 1], [0 1],1 );
1500

1000

500

0
0

50

100

150

200

250

50

100

150

200

250

10000
8000
6000
4000
2000

0
0

7. Binarizacin de la imagen.
a. Binarizacin.
im2bw(A,150/256)

Procesamiento Digital de Seales II

13

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

UNP

Herramienta imtool
Cargar una imagen con imtool de esta manera:
Imtool(trees.tif)

Para mostrar las regiones de los pixeles de la imagen elegimos inspect pxel values
o vamos a tool / pxel region, donde podemos ver cada valor los pixeles (RGB) en
cierta region seleccionada.

Procesamiento Digital de Seales II

14

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

Podemos ver el mapa de colores que esta predefinidos por matlab para las
imgenes eligiendo tools / choose colormap

Ejercicio 1.
Tomando la imagen colores.bmp mostrar los colores RGB por separado

clear
[X,map]=imread('colores.bmp');
subplot(2,2,1)

imshow(X)
subplot(2,2,2)
imshow(X(:,:,1))
subplot(2,2,3)
imshow(X(:,:,2))
subplot(2,2,4)
imshow(X(:,:,3))

Ejercicio 2.
Implementar un algoritmo para extraer el negativo de una imagen

im=imread('trees.tif');
for i=1 : 258
for j=1 : 350
im3(i,j)=255-im(i,j);
end

UNP

end

imshow(im3)
Procesamiento Digital de Seales II

15

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

UNP

Ejercicio 3.
Detectar los bordes de la imagen mediante sobel, canny.
Imagen original

im=imread('colores.bmp');
im2=rgb2gray(im); ib=edge(im2,'sobel');
figure

imshow(im) title('Imagen original')


figure
imshow(ib)

Bordes de la imagen

title('Bordes de la imagen')

Cuestionario

1. Elegir una imagen *.bmp y procesarla diseando los algoritmos para las
siguientes operaciones (respectivas graficas):
-

Operador Umbral

Operador Umbral binario

Operador Escala de grises

Operador Extension

2. Crear un codigo para la deteccion y conteo de objetos de una cualquier figura en


formato blanco y negro

3. Averigue acerca de los diferentes filtros: Canny, Prewitt, laplaciano, e implemente


una mascara propia para la deteccin de bordes con sus respectivos ejemplos en
matlab (graficas)

Procesamiento Digital de Seales II

16

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

UNP

LABORATORIO III: PROCESAMIENTO DE IMGENES


EN TIEMPO REAL

OBJETIVOS

Conocimientos de inicializacin de imgenes en tiempo real.

Disear e Implantar algoritmos para procesar imgenes en tiempo real

Aplicacin de filtrado de imgenes en tiempo real.

FUNDAMENTO TERICO
Para poder ver nuestra Webcam por el software MATLAB tenemos que saber que
controlador tenemos instalado para eso ejecutamos:
Imaqhwinfo
InstalledAdaptors: {'coreco' 'winvideo'}
MATLABVersion: '7.8 (R2009a)'
ToolboxName: 'Image Acquisition Toolbox'
ToolboxVersion: '3.3 (R2009a)'
De los adaptadores instalados utilizaremos el winvideo. Luego tenemos que saber
cual es el identificador de nuestra Webcam para ello utilizaremos el comando:
Info=imaqhwinfo('winvideo')
AdaptorDllName: [1x88 char]
AdaptorDllVersion: '3.3 (R2009a)'
AdaptorName: 'winvideo'
DeviceIDs: {[1]}
DeviceInfo: [1x2 struct]
Para visualizar los tipos de formatos que soporta la webcam
info.DeviceInfo.SupportedFormats
Columns 1 through 4
'I420_320x240' 'I420_160x120' 'I420_176x144' 'I420_352x288'
Columns 5 through 8

'I420_640x480' 'RGB24_320x240' 'RGB24_160x120' 'RGB24_176x144'


Columns 9 through 10
'RGB24_352x288' 'RGB24_640x480'

Procesamiento Digital de Seales II

17

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

UNP

Para capturar y visualizar el video utilizaremos los comandos:


vid=videoinput('winvideo',1,'RGB24_320x240');
preview(vid)

Para capturar una foto de la webcam empleamos:


foto=getsnapshot(vid)
image(foto)

50

100

150

200

50

100

150

200

250

300

Ejercicio 1.
Detectar los bordes de una imagen en tiempo real aplicando el filtro sobel.
vid=videoinput('winvideo',1);
preview(vid);

for i=1:200,

frame = getsnapshot(vid);
im2=rgb2gray(frame);

[BW threshold] =
edge(im2,'sobel'); Factor = .7;
BWs = edge(im2,'sobel', threshold *
Factor); imshow(BWs)
end

Procesamiento Digital de Seales II

18

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

UNP

50

100

150

200

50

100

150

200

250

300

Cuestionario
1. Elaborar un programa que permita la captura de una secuencia de 50 imgenes y
que detecte un color determinado creando una regin donde encierre el rea del
color.
2. Disear un algoritmo para visualizar en otra ventana los diferentes procesamientos
que se le apliquen en tiempo real. La aplicacin de estos operadores tiene variar
en un tiempo infinito.
-

Operador Escala de grises

Operador Negativo

Operador Umbral

Operador Umbral binario

Operador Extensin

3. Disear un algoritmo para que realice el siguiente proceso en tiempo real.


a. La cmara inicialmente debe reconocer un color especifico ubicado en
una regin de toda la imagen.
b. Una vez detectada la imagen se extraer el objeto del color detectado.
c. Al ubicar el objeto dentro de la regin de la imagen el programa deber
encerrar en una regin todos los pixeles relacionados con el color
previamente programado.

Procesamiento Digital de Seales II

19

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

UNP

LABORATORIO IV: RECONOCIMIENTO DE


PATRONES

OBJETIVOS

Disear y aprender el algoritmo de entrenamiento del Perceptron.

Conocer la manera como se pueden simular redes neuronales en MATLAB.

Aprender a utilizar la herramienta de matlab para entrenamiento de


redes neuronales.

FUNDAMENTO TERICO
Reconocimiento de patrones se le llama al hecho de identificar distintos estmulos
como perteneciendo a la misma clase, como siendo del mismo tipo.
Los sistemas lineales tienen un mnimo nico en el espacio del error, por lo tanto el
problema de entrenamiento no es tan grave. En la mayora de los casos los valores de
convergencia se pueden calcular directamente de las entradas y salidas deseadas.
Hay casos en los que se dan problemas numricos que dificultan esta tarea.
Afortunadamente, existen herramientas (el algoritmo Widrow-Hof) con las que
siempre se puede encontrar un error mnimo para el problema

Enfoques de Reconocimiento de patrones


o Reconocimiento Estadstico de Patrones.- Este enfoque se basa en la teora de
probabilidad y estadstica y supone que se tiene un conjunto de medidas
numricas con distribuciones de probabilidad conocidas y a partir de ellas se hace
el reconocimiento.
o Reconocimiento Sintctico de Patrones.- Este enfoque se basa en encontrar las

relaciones estructurales que guardan los objetos de estudio, utilizando la teora de


lenguajes formales. El objetivo es construir una gramtica que describa la
estructura del universo de objetos.
Procesamiento Digital de Seales II

20

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

UNP

Redes Neuronales.- Este enfoque supone que tiene una estructura de neuronas
interconectadas que se estimulan unas a otras, las cuales pueden ser entrenadas para
dar una cierta respuesta cuando se le presentan determinados valores.

o Reconocimiento Lgico Combinatorio de Patrones.- Este enfoque se basa en la


idea de que la modelacin del problema debe ser lo ms cercana posible a la
realidad del mismo, sin hacer suposiciones que no estn fundamentadas. Uno de
los aspectos esenciales del enfoque es que las caractersticas utilizadas para
describir a los objetos de estudio deben ser tratadas cuidadosamente.
Una Red Neuronal Artificial (RNA o red) es un conjunto estructurado de elementos de
procesamiento simples y adaptables, los cuales, a travs de un proceso de
entrenamiento mediante ejemplos prototipo (entrenamiento supervisado), almacenan
conocimiento de tipo experiencial y lo hacen disponible para su uso.
Una neurona lineal se puede entrenar para aprender funciones lineales o puede ser
utilizada para encontrar una aproximacin lineal a una funcin no lineal.

Arquitectura
Se llama de capa nica la red en la que slo hay un nivel de nodos procesadores
entre entradas y salidas. Otra caracterstica de esta red es que est conectada al
mximo, que quiere decir que todos los nodos procesadores estn conectados a todas
las entradas. Redes con una sola capa de procesamiento son relativamente fciles de
entrenar.
Se llama red multicapa, cuando hay nodos procesadores que no estn conectados
directamente a las salidas. A estos nodos procesadores se les denomina 'escondidos'
y si estn en un mismo nivel de procesamiento, ste se convierte en una 'capa
escondida'. Estos nodos escondidos presentan u problema para el entrenamiento de

la red el cual analizaremos con ms detalle ms adelante.

Procesamiento Digital de Seales II

21

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

Arquitectura de una red Lineal

Funcion de Activacion
Las cinco funciones tipicas que determinan los distintos tipos de neuronas son:
1. Funcin lineal
2. Funcin escaln
3. Funcin Sigmoidea
4. Funcin Tangente Sigmoidea
5. Funcin Gaussiana

UNP

Procesamiento Digital de Seales II

22

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

UNP

En matlab existe una herramienta para el desarrollo y entrenamiento de redes


neuronales mas populares bajo el ambiente de Matlab. Tales como: Perceptrn,
Adaline, Backpropagation, redes de Base Radial, SOM, Elman, Hopfield, LVQ.
Esta herramienta es una coleccin de funciones construidas predefinidas en una
ambiente numrico de computo de MATLAB.
Estas funciones predefinidas pueden ser llamadas por el usuario para simular
diferentes tipos de modelos neuronales.

Interfaz grafica de la herramienta de redes neuronales

Procesamiento Digital de Seales II


Laboratorio de Ingeniera Electrnica y Telecomunicaciones

23

UNP

Algunas funciones para redes neuronales:


Hardlim
Hardlims
Initp
Learnp
Plotpc
Plotpv
Simup
Learnpn
Trainp

Funcin de transferencia de lmite estricto.


Funcin de transferencia de lmite estricto simtrica.
Inicializa una capa del perceptrn.
Regla de aprendizaje del perceptrn.
Grfica la clasificacin del perceptrn.
Grfica los vectores entrenamiento del perceptrn.
Simula una capa del perceptrn.
Normaliza la regla de aprendizaje del perceptron.
Entrena una capa del perceptrn con la regla de aprendizaje.

Ejercicio1:
Disear un algoritmo de una red perceptron en matlab para que nuestra red aprenda
la compuerta OR

Vectors to be Classified
1.5

P(2)

0.5

-0.5
-0.5

0.5
P(1)

Procesamiento Digital de Seales II

1.5

24

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

UNP

Ejercicio 2:
Hacer un algoritmo utilizando RNA Perceptron para solucionar el problema de la AND
(Especificar los Pesos y Bias)

1.5

P(2)

0.5

Vectors to be Classified

-0.5
-0.5

1.5

P(2)

0.5

0.5
P(1)

Vectors to be Classified

1.5

-0.5
-0.5

0.5
P(1)

Procesamiento Digital de Seales II

1.5

25

Laboratorio de Ingeniera Electrnica y Telecomunicaciones

UNP

Cuestionario
1. Disee y entrene un algoritmo en MATLAB del Perceptron para identificar los
nmeros del 0 al 9 donde cada nmero se puede definir en una matriz de 7x5, por
ejemplo el nmero 2 sera :

2. Trate de resolver el problema de la XOR con una RNA Perceptron, genere su


cdigo en matlab del entrenamiento con sus respectivas graficas y a que
conclusin se lleg.
3.
4. Hacer una red que resuelva la funcin ((A OR B) AND (NOT(C) OR A)). Crear su
Cdigo en Matlab y sus respectivas Graficas. Anota en una tabla comparativa los
siguientes parmetros:

Estructura
utilizada. Epochs.
Tiempo aproximado de entrenamiento de la
red. Tiempo de clculo de la salida, etc.

Procesamiento Digital de Seales II

26

Potrebbero piacerti anche