Modulo de PDS II
description
Transcript of Modulo de PDS II
-
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 1
-
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 2
-
Laboratorio de Ingeniera Electrnica y Telecomunicaciones UNP
CONTENIDO
PRESENTACIN 4
LABORATORIO I: FILTROS DIGITALES 5
LABORATORIO lI: PROCESAMIENTO DE IMAGENES 10
LABORATORIO III: PROCESAMIENTO DE IMGENES EN 17
TIEMPO REAL
LABORATORIO IV: RECONOCIEMIENTO DE PATRONES 20
Procesamiento Digital de Seales II 3
-
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 4
-
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 5
-
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]:
N 1 Yn
hk xn k k 0
Procesamiento Digital de Seales II 6
-
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 N
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
bk z k
H(z) k 0 N 1 ak z k
k 1
Procesamiento Digital de Seales II 7
-
Laboratorio de Ingeniera Electrnica y Telecomunicaciones UNP 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: Lz-1; figure() plot(n, entrada, 'r');hold on plot(n, z, 'b--');grid; hold off; xlabel('Muestras (n)'); ylabel('Amplitud'); legend('entrada','salida');
10
entrada
8
salida
6
Am
plit
ud 4
2
0
-2
-40 1 2 3 4 5 6 7 8 9 10
Muestras (n)
Ejercicio 2. Filtrar una seal senoidal de frecuencia F=5hz, fs=50 aplicando filtro FIR butterworth de primer orden %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')
Seal de Entrada
1
0.5
0
-0.5
-10 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
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 0.8 0.9 1
Procesamiento Digital de Seales II 8
-
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 9
-
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;
Operador Intervalo de Umbral Binario: Ahora contamos con dos umbrales u1 y u2, y la funcin que estara dada por:
q= 255 para 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 = 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 = 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);
subplot(2,2,2), imhist(G);
subplot(2,2,3), imshow(J);
subplot(2,2,4), imhist(J);
0 0 0 0
0 50 100 150 200 250 0 0 0 0 0
0 50 100 150 200 250
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 J
= imadjust(G, [0 1], [0.2 1],1 );
1500
1000
500
0 0 50 100 150 200 250
2000
1500
1000
500
0 0 50 100 150 200 250
b. Ajuste de imgenes J
= imadjust(G, [0.3 1], [0 1],1 );
1500
1000
500 0 0 50 100 150 200 250
10000 8000
6000 4000
2000 0
0 50 100 150 200 250
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 UNP 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
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) title('Bordes de la imagen')
Cuestionario
Bordes de la imagen
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-Hoff) 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 o 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 UNP
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
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 23
-
Laboratorio de Ingeniera Electrnica y Telecomunicaciones UNP
Algunas funciones para redes neuronales:
Hardlim Funcin de transferencia de lmite estricto.
Hardlims Funcin de transferencia de lmite estricto simtrica.
Initp Inicializa una capa del perceptrn.
Learnp Regla de aprendizaje del perceptrn.
Plotpc Grfica la clasificacin del perceptrn.
Plotpv Grfica los vectores entrenamiento del perceptrn.
Simup Simula una capa del perceptrn.
Learnpn Normaliza la regla de aprendizaje del perceptron.
Trainp 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
P(2
)
Vectors to be Classified
1.5
1
0.5
0
-0.5
-0.5 0 0.5 1 1.5
P(1)
Procesamiento Digital de Seales II 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)
P(2
)
Vectors to be Classified 1.5
1
0.5
0
-0.5 -0.5 0 0.5 1 1.5
P(1)
P(2
)
Vectors to be Classified
1.5
1
0.5
0
-0.5 -0.5 0 0.5 1 1.5
P(1)
Procesamiento Digital de Seales II 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