Modulo de PDS II

26
Laboratorio de Ingeniería Electrónica y Telecomunicaciones UNP UNIVERSIDAD NACIONAL DE PIURA FACULTAD DE CIENCIAS DEPARTAMENTO ACADÉMICO DE CIENCIAS INGENIERÍA ELECTRÓNICA Y TELECOMUNICACIONES MÓDULO DE LABORATORIO DE PROCESAMIENTO DIGITAL DE SEÑALES II PIURA PERÚ 2014-I Procesamiento Digital de Señales II 1

description

teoria basica sobre el analisis de imagenes

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