ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Control Digital


Enviado por   •  18 de Octubre de 2012  •  2.395 Palabras (10 Páginas)  •  698 Visitas

Página 1 de 10

CORRELACIÓN EN MATLAB

>> x1

x1 =

0 3.0000 5.0000 5.0000 5.0000 2.0000 0.5000 0.2500 0

>> x2

x2 =

1 1 1 1 1 0 0 0 1

>> xcorr (x1,x2)

ans =

Columns 1 through 12

0.0000 3.0000 5.0000 5.0000 5.0000 5.0000 8.5000 13.2500 18.0000 20.0000 17.5000 12.7500

Columns 13 through 17

7.7500 2.7500 0.7500 0.2500 0.0000

b) Investigar y proponer ejemplos de aplicación de la correlación usando

MatLab.

APLICAIONES EN MATLAB

Aplicación 1

La primera aplicación de la autocorrelación de una señal es determinar las posibles repeticiones de patrones en la señal. Para comprobar este punto se va a generar una sinusoide de frecuencia igual a 100 Hz con amplitud uno y muestreada a 1 kHZ (consideremos una secuencia de 100 puntos). Determine la autocorrelación de esta señal normalizada a uno y represéntela junto a la secuencia, ¿Qué conclusiones pueden sacar?

El programa en Matlab que implementa lo que nos piden es:

%Generación de la señal

n = 0:99;

x = cos(2*pi*n*0.1);

%Cálculo de la autocorrelación normalizada

y = xcorr(x,'coeff');

%Representación de las dos señales

subplot(221), stem(x,'k'), title('(a)')

subplot(222), plot(x,'k'), title('(b)')

subplot(223), stem(y,'k'),title('(c)')

subplot(224), plot(y,'k'), title('(d)')

La gráfica obtenida al emplear este código se muestra en la figura siguiente. Podemos apreciar que la autocorrelación tiene una longitud doble a la señal temporal. Este hecho se debe a que los desplazamientos, a la hora de calcular la autocorrelación, pueden ser positivos o negativos. El índice central se corresponde con un desplazamiento cero y, se corresponde, lógicamente, con el valor máximo de dicha correlación.

Aplicación 2

Una segunda aplicación relacionada con la anterior es la determinación del desfase entre dos señales. Se pide generar dos sinusoides de frecuencia 50 Hz (Fm = 1 kHz), amplitud uno y desfasados 90o y determinar la correlación cruzada de ellas. ¿Cómo se podría determinar el desfase entre estas señales? Realice una gráfica donde aparezcan las matrices de autocorrelación y correlación cruzada ¿Qué conclusiones se pueden sacar?

Para entender este apartado de forma sencilla consideremos las sinusoides dadas por

x(n) = cos(2πfn +θ1), y(n) = cos(2πfn +θ2)

Donde se puede definir θ = θ1 - θ2 como el desfase entre las dos señales. Se puede calcular el desfase comprobando cuándo las dos señales vuelven a estar en fase. Para n = 0 se tiene:

x(0) = cos(θ1), y(0) = cos(θ2).

Si ahora se desplaza una de las señales, por ejemplo x(n), hasta que las dos estén en fase de nuevo, se tiene que

x(N) = cos(2πfN +θ1) = y(0) = cos(θ2).

De la igualdad anterior se desprende que: 2πfN +θ1 = θ2, de modo que el desfase vendrá dado por: θ = θ1 - θ2 = 2πfN, siendo f la frecuencia digital de la señal.

Podemos emplear la correlación cruzada para determinar cuándo las señales estarán en fase, lo cual ocurrirá en los máximos de dicha correlación. Como en los cálculos realizados se ha considerado como punto inicial n = 0, se deben determinar los máximos a partir del punto central de la correlación cruzada que, recordemos, es el punto de la correlación correspondiente a un desplazamiento cero. El programa de Matlab que implementa esto es el siguiente:

%Generación de las señales

n = 0:99;

x = cos(2*pi*n*(50/1000));

y = cos(2*pi*n*(50/1000)+ pi/2);

%Determinación de la correlación cruzada

[z lag1] = xcorr(x,'coeff'); % autocorrelación

[zz lag2] = xcorr(x,y,'coeff'); %correlacion cruzada

%Representación de las señales

plot(lag1,z,'Color','g')

hold on

grid on

plot(lag2, zz,'Color','k')

RECONOCIMIENTO DE CARACTERES ÓPTICOS (OCR) USANDO MATLAB

Resumen.:

El presente artículo muestra la forma de usar Matlab y funciones de su toolbox de procesamiento de imágenes para reconocer en una imagen una palabra o conjunto de palabras y números.

Se usa la correlación para determinar la semenjanza de las letra de entrada con las plantilla. El tamaño de las letras debe ser mayor o igual a 24 x 42 pixeles, de tal forma que se ajuste al tamaño de la plantilla.

http://www.youtube.com/watch?feature=player_embedded&v=5nznW7xHz5Q#!

INTRODUCCIÓN

La tecnología OCR proporciona a los sistemas de reproducción por escáner y sistemas de imágenes la habilidad de convertir imágenes de caracteres en letra de máquina, en caracteres capaces de ser interpretados o reconocidos por una computadora. Así, las imágenes de caracteres en letra de máquina son extraídas de un mapa de bits de la imagen reproducida por el escáner.

El proceso OCR envuelve varios aspectos como segmentación, extracción de características y clasificación [2].

Image Processing Toolbox proporciona a MATLAB un conjunto de funciones que amplía las capacidades del producto para realizar desarrollo de aplicaciones y de nuevos algoritmos en el campo del proceso y análisis de imágenes. El entorno matemático y de creación de MATLAB es ideal para el procesado de imágenes, ya que estas imágenes son, al fin y al cabo, matrices. Este toolbox incorpora funciones para:

* Diseño de filtros.

* Mejora y retocado de imágenes.

* Análisis y estadística de imágenes.

* Operaciones morfológicas, geométricas y de color.

* Transformaciones 2D.

El procesamiento de imágenes es un campo de trabajo absolutamente crucial para aquellos colectivos e industrias que estén trabajando en áreas como diagnóstico médico, astronomía, geofísica, ciencias medioambientales, análisis de datos en laboratorios, inspección industrial, etc.

DESARROLLO DEL PROGRAMA

SEGMENTACIÓN

Como primer paso, se recorta la imagen para ajustarla al texto. Luego de esto, se separa línea por línea. La función que realiza el recorte de la imagen se muestra a continuación:

function imgn=clip(imagen)

%Crops a black letter with white background.

%Example:

% imagen=imread('metal.bmp');

...

Descargar como (para miembros actualizados) txt (16 Kb)
Leer 9 páginas más »
Disponible sólo en Clubensayos.com