• No se han encontrado resultados

Laboratorio de Simulación Práctica 1: GENERACIÓN DE SEÑALES Y ANÁLISIS DE DATOS INTRODUCCIÓN TEÓRICA

N/A
N/A
Protected

Academic year: 2021

Share "Laboratorio de Simulación Práctica 1: GENERACIÓN DE SEÑALES Y ANÁLISIS DE DATOS INTRODUCCIÓN TEÓRICA"

Copied!
12
0
0

Texto completo

(1)

Laboratorio de Simulación

Práctica 1: GENERACIÓN DE SEÑALES Y ANÁLISIS DE DATOS

INTRODUCCIÓN TEÓRICA

0. Introducción:

* SIMULACIÓN: "Experimentar con modelos matemáticos en un computador" Esquema general: Generación de señales Modelo matemático del sistema Análisis de resultados

Se generan varias realizaciones de las señales de entrada (modeladas como procesos estadísticos), se inyectan en el sistema y se miden sus respuestas. Una vez obtenidas las respuestas para todas las realizaciones, se realiza un análisis estadístico de los resultados.

* OBJETIVOS:

1) En esta práctica nos centraremos en la generación de las señales de entrada al sistema. Más en concreto, nos centraremos en la generación de señales de tipo aleatorio. Las de tipo determinístico se generarán según su expresión matemática (por ejemplo una modulación de tipo ASK).

2) Expondremos los estimadores más comunes utilizados en el análisis de resultados: media, varianza, autocorrelación, sus intervalos de confianza y algunos test de bondad de ajuste.

* TRABAJO A REALIZAR:

Crear un módulo en MATLAB que genere procesos aleatorios correlados con distribuciones gaussiana, binaria o laplaciana.

(2)

Notas: 1) Supondremos que se utiliza una frecuencia de muestreo constante (intervalo entre muestras constante)

2) Al final deberemos comprobar que la función densidad de probabilidad (fdp) y la correlación del proceso de salida son las deseadas.

* CONTENIDOS DE LA PRESENTACIÓN TEÓRICA: 1) Generación de números aleatorios

2) Generación de variables aleatorias: Métodos generales, continuas y discretas 3) Generación de secuencias correladas

4) Estimación de parámetros (media, varianza, correlación, histogramas) y test de bondad de ajuste de la distribución

1. Generación de Números Aleatorios: principios básicos.

* DEFINICIÓN: los que generan variables aleatorias con distribución uniforme entre 0 y 1.

* En toda la simulación debe poderse reproducir exactamente una secuencia de vv. aa. Esta condición implica que los generadores no van a ser totalmente aleatorios sino quasi-aleatorios o pseudoquasi-aleatorios. A igual estado inicial del generador de números aleatórios se produce exactamente la misma secuencia aleatoria.

* En los ordenadores, los generadores usuales son de tipo congruencial lineal y generan números entre 0 y 1 según la siguiente fórmula:

*Nº de muestras *Media y varianza MÓDULO Seleccionar distribución: * Gaussiana

* Binaria (dos estados)

* Gamma (1/2 para ruidos impulsivos)

Comprobación: * Ajuste de la distribución * Media * Varianza,... Densidad espectral o correlación n

(3)

Genera una secuencia de enteros {zi} como:

a Z 1 c

(modm) Zi   idonde: m es el módulo a es el multiplicador c es el incremento

Z0 es la semilla o valor inicial (para el mismo Z0 se repite la misma secuencia de números aleatorios)

m>0 , m>a , m>c , m>Z0

El número aleatorio entre 0 y 1 se obtiene como: Ui=Zi/m

Si se ajustan las constantes correctamente, el generador tiene su ciclo máximo (a partir de aquí se repiten las vv. aa.) de m (existen teoremas para determinar a, c y m). Evidentemente interesa que m sea lo más grande posible.

En MATLAB la rutina de generación de números entre en el intervalo [0 ,1] es : >>rand('seed',n) ! inicia la semilla al valor n

>>y=rand(m,n) !crea una matriz aleatoria de tamaño mxn

El algoritmo es: seed=(77 seed) mod(231-1)

2. Generación de variables aleatorias

* DEFINICIÓN: Cuando se generan variables aleatorias distintas de la uniforme entre 0 y 1.

Los números con distribución estadística cualquiera se generan utilizando como entrada la salida de un generador de números aleatorios U(0,1): A continuación explicaremos algunos métodos.

2.1. Método de la transformada inversa

Tiene dos versiones, dependiendo de que la variable aleatoria a generar sea continua o discreta.

(4)

Método: 1) Generar un número aleatorio U=U(0,1)

2) Generar la variable como X=F-1(U) ; donde F(x) representa la función de distribución de la variable aleatoria a generar

Demostración:

Demostraremos que la función de distribución de la variable aleatoria generada es igual a F(x). La función de distribución de la variable generada se obtiene de: ) ) ( ( ) (X x P F 1 U x P    

Dado que F(x) es monótona creciente, se puede aplicar a ambos lados de la desigualdad del término de la derecha, obteniendo

)) ( ( )) ( )) ( ( ( ) ) ( (F 1 U x P F F 1 U F x P U F x P       

Pero la probabilidad de que una variable aleatoria uniforme sea menor que un número entre 0 y 1 es dicho número, obteniéndose que la función de distribución de la variable aleatoria generada es igual a la que deseábamos obtener: ) ( ) ( )) ( (U F x F x P X x P     * VV. AA. discretas:

    x x i i x p x X P x F( ) ( ) ( )

1) Generar un número aleatorio U=U(0,1)

2) Determinar el menor entero positivo I tal que UF(xI) y devolver X=xI Este método, con algunas pequeñas modificaciones, también sirve para generar variables aleatorias descritas por una función densidad de probabilidad empírica (a través de los histogramas):

1) Generar un número aleatorio U=U(0,1) 2) Encontrar

  i j j i P F 1 tal que N ...., 1,2, i ; F U Fi1  i

donde Pi representa la probabilidad de tener un número en el intervalo (Zi-1, Zi): dentro de una caja del histograma.

(5)

3) Dar como salida ZZi1

UFi1

Ci; donde estamos suponiendo que

la probabilidad dentro de una caja del histograma (intervalo (Zi-1, Zi) ) se distribuye uniformemente.

La siguiente figura representa el histograma:

z fz(z) ... zi-1 a b Área=Pi Ci * EJEMPLOS: 1) v. a. exponencial: F(x)) -Ln(1 x -(x) F x x -1 F(x) x x x x f -1                1 exp exp ) (

El algoritmo de generación según el método de la función inversa queda como: 1) Generar un número aleatorio U=U(0,1)

2) yxLn(1U) 2) v. a. discreta: 3 / 1 ) 9 ( 3 / 1 ) 5 ( 3 / 1 ) 1 (  ; p ; pp

El algoritmo de generación según el método de la función inversa queda como: 1) Generar un número aleatorio U=U(0,1)

(6)

endif 9 y ) p p p U if else 5 y ) p p U if else 1 y ) p U if             1 ) 9 ( ) 5 ( ) 1 ( ( 3 / 2 ) 5 ( ) 1 ( ( 3 / 1 ) 1 ( ( 2.2. Composición y convolución

* COMPOSICIÓN: Cuando una variable puede expresarse como mezcla estadística de otras variables aleatorias que se pueden generar por un método conocido.

Ejemplo: Distribución de Laplace

        0 x ; e 0 x ; e x f x x 5 . 0 5 . 0 ) (

Algoritmo: 1) Genere dos números aleatorios independientes U1=U(0,1) , U2=U(0,1) 2) Si U1<0.5 se devuelve y=Ln(1-U2)

Si U1>0.5 se devuelve y=-Ln(1-U2)

* CONVOLUCIÓN: Cuando una v. a. se puede expresar como suma de otras independientes e idénticamente distribuidas que se saben generar:

Ejemplo: m-Erlang que es la suma de m exponenciales 2.4. Métodos basados en propiedades

Los métodos de composición y convolución son un caso particular de estos. Se basan en aprovechar propiedades que recogen la dependencia de la variable aleatoria a generar con otras de más fácil generación.

Ejemplo: Generación de la v. a. gaussiana. Se basa en la propiedad de que el módulo de las gaussianas en cuadratura tiene una distribución Rayleigh y la fase es uniforme entre 0 y 2.

1) Genere dos numeros aleatorios independientes U1=U(0,1) , U2=U(0,1)

2) Genere dos variables aleatorias con distribución gaussiana standar mediante el siguiente cómputo:

(7)

) U sen(2 U Ln X ; ) U cos(2 U Ln X1 2 ( 1)  2 2  2 ( 1)  2

3) Dotar a la N(0,1) de la media y varianza deseadas (,2) 2

2 1

1 X ; Y X

Y  

En MATLAB existe una función que genera variables aleatorias gaussianas directamente (N(0,1)): >>randn.

3. Generación de secuencias aleatorias

* OBJETIVO: Generar un proceso estocástico con función densidad de probabilidad y correlación arbitrarias.

* Éste es un problema difícil y que no tiene solución general para cualquier tipo de variable aleatoria.

* Vamos a exponer un modelo de generación lo más general posible, aunque de difícil resolución.

* El problema solamente tiene fácil solución si el proceso a generar tiene función densidad de probabilidad gaussiana.

* Esquema general: Se basa en generar muestras gaussianas independientes, colorearlas con un filtro lineal y aplicarles una no-linealidad sin memoria para transformar su f.d.p. a la deseada. Debemos recordar que la única f.d.p. que se conserva cuando se filtra linealmente es la gaussiana. La función no lineal en la salida del filtro convierte l N(0,1) en la f.d.p. deseada, pero a la vez altera la correlación impuesta al proceso mediante el filtro. Por ello, el filtro no se diseña con la función de autocorrelación deseada sino con otra que, al pasar la señal por la no linealidad, se convierta en la deseada. A continuación se explica cómo se diseña cada uno de los componentes de un generador de procesos aleatorios.

(8)

Generador de números aleatorios Generador de vv. aa. gaussianas filtro lineal No linealidad F(x)

filtro que se sintetiza a partir de R'(z) y que tiene en cuenta como altera la no linealidad a la correlación deseada

v. a. gaussiana R'() R() q(x) v. a. gaussiana

Solamente el procedimiento es sencillo cuando el proceso tiene función densidad de probabilidad gaussiana. En este caso desaparece la última no-linealidad y la correlación para sintetizar el filtro coincide con la del proceso. En otros casos el problema es bastante difícil de resolver.

* Ecuación para la obtención de la no-linealidad F(x): supondremos que a la entrada tenemos muestras de la distribución N(0,1):

              x -d ) p( P(x) x x p 2 2 exp 2 1 ) (

Si se hace pasar una variable N(0,1) a través de la función P(x) se obtiene a su salida un número con distribución uniforme U(0,1). El proceso es el inverso al de generación de números aleatorios con el método de la transformada inversa.

Podemos obtener la no linealidad aplicando el procedimiento de la transformada inversa en la salida de la función P(x). El método se representa en el dibujo: P(.) g(.) F(x) x q(y) U(0,1) N(0,1)

(9)

Sea

      y d q y

Q( ) ( ) la función de distribución de la variable aleatoria deseada. Entonces, para convertir la U(0,1) en q(y) se necesita que g(.) Q1(.). Así se obtiene que:

)) ( ( ) (x Q 1 P x F

* Ecuación para la obtención de la autocorrelación antes de la no linealidad: - función de autocorrelación del proceso: R'()E

x(t)x(t)

a la entrada de la no linealidad

La fdp conjunta de dos gaussianas separadas  segundos antes de la no linealidad viene dada por:

)) ) ( ' 2 ( 2 1 exp( ) ( ' 1 2 1 )) ( ' , , ( u2 v2 R uv R R v u g         

Entonces la relación de autocovarianza en la salida de la no linealidad es:

 

             F u F v g u v R du dv R( ) ( ) ( ) ( , , '( ))

Resolver esta ecuación puede ser bastante complejo y aquí no vamos a entrar en métodos de resolución. Existen tablas con los casos más comunes resueltos:

* Resolución del esquema para los casos de nuestra práctica: - Proceso gaussiano: F(x)xy ) ( ) ( '  RR - Proceso binario:

( 1) ( 1)

2 1 ) (y   y  yq ) ( ) (x sign x F  )) ( ' ( 2 ) ( 1    sinR R - Proceso gamma (1/2):             2 3 exp 1 8 3 ) ( 4 / 1 x x y q (varianza=1) ) ( 3 1 ) (x x2 sign x F   

(10)

1 2 '( )2 1( '( )) 3 '( ) 1 '( )2

3 2 ) (               R sinR R R R

Nota: función densidad Gamma (unilateral): f xx

x

; x0

      exp / ) ( ) ( 1

 

x ; Var

 

x 2 E

* Síntesis del filtro lineal:

1- Se deben resolver numéricamente las ecuaciones R'() f

R()

2- Se trunca R'() a una serie de valores temporales en los que la energía sea apreciable (por ejemplo hasta el 1% del pico). El truncamiento se puede realizar mediante la multiplicación de una ventana hamming convolucionada consigo

misma:

         h t h t dt w( ) ( ) ( ) T t ; T t t h           0.54 0.46 cos ) ( ) ( ) ( ' ) ( ' ˆ R w R

3- Encontrar la FFT de Rˆ '( ) y poner a cero los posibles valores negativos (recordemos que es la densidad espectral de energía).

4- La respuesta al impulso deseada es la IFFT de la raiz cuadrada del resultado del punto 3.

En nuestra práctica, el módulo debe admitir tanto representaciones de la correlación en el tiempo como en la frecuencia. En el tiempo utilizaremos la correlación exponencial R )ˆ( e y en la frecuencia máscaras de tipo paso bajo ideal.

4. Comprobación del resultado y estimación de parámetros

Para comprobar que el resultado es correcto debemos estimar las propiedades de la secuencia de números que estamos generando. Principalmente deberemos estimar: 1) Media, 2) Varianza, 3) Autocorrelación y 4) función densidad de probabilidad. A

(11)

continuación aparecen los estimadores de estos parámetros junto con su caracterización estadística (xi representa muestras en la salida del generador).

1) MEDIA: Estimador: 

 

  x E x n x n i i 1 1

 

          

  1 1 2 ) / 1 ( 2 1 n i i n i n x Var 2) VARIANZA: Estimador:

x

x

n

n i i

1 2 2

1

1

ˆ

 

                   

  1 ) / 1 ( 2 1 2 ˆ 1 1 2 n n i E n i i

donde: i es el coeficiente de correlación:

2

2 ˆ ) ( ˆ ) )( (        x C i x E j j i xx ) ( ˆ i

Cxx es el estimador de la covarianza que veremos a continuación.

Lo importante es que para medir con buena precisión la media y la varianza hay que tener en cuenta la correlación. Una medida común es tomar muestras en tantos periodos de autocorrelación como muestras tomaría en el caso de muestras independientes e idénticamente distribuidas (IID).

3) AUTOCORRELACIÓN Y AUTOCOVARIANZA: Estimador:

       1 0 1 ) ( ˆ N k n k n n xx x x k N k R Estimador:

         1 0 ) ( ) ( 1 ) ( ˆ N k n k n n xx x x x x k N k C

De la estimación de Rˆ kxx( )puede obtenerse la densidad espectral de potencia mediante la FFT: Sˆ()FFT

Rˆxx(k)

. Existen diferentes métodos de los que el MATLAB tiene rutinas. El más conocido es el del periodograma.

4) FUNCIÓN DENSIDAD DE PROBABILIDAD:

Para comprobar que estamos generando la función densidad de probabilidad correcta realizamos un test de bondad de ajuste:

(12)

1- Divide el rango de valores de los datos en intervalos adyacentes y calcula el histograma de los datos xi

2- Calcula la probabilidad de que la variable aleatoria postulada caiga dentro de cada

intervalo

      i i dx x f pi 1 ) ,

( , donde f(.) es la f.d.p. que queremos generar y  representa los parámetros de que depende.

3- Realiza el siguiente test:

2 (5%) 1 1 2       

k k j j j j P N P N N donde 2 (5%) 1 

k representa la chi-cuadrado de k-1 grados de libertad, que deja el 5% de probabilidad de rechazo. El valor de este parámetro se puede extraes de la tabla adjunta. Nota: Debemos tomar una muestra por intervalo de decorrelación del proceso. Existen otros tests para distintos tipos de distribuciones. Deben caer al menos 5 muestras en la caja del histograma con menor número de muestras considerada en el test para que éste sea estadísticamente significativo.

En MATLAB existen rutinas para evaluar la mayoría de estimadores y funciones que necesitamos. Por ejemplo:

mean: average mean value

std: standard deviation (raiz cuadarda del estimador de la varianza de este apartado)

xcorr: cross-correlation function estimate xcov: cross-covariance function estimate

psd: estimate the power spectral density (PSD) of a signal hist: computes histograms

Referencias

Documento similar

[r]

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

Por lo tanto, en base a su perfil de eficacia y seguridad, ofatumumab debe considerarse una alternativa de tratamiento para pacientes con EMRR o EMSP con enfermedad activa

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de

Para dar solución al problema planteado, se define como objetivo general: desarrollar una herramienta web para la generación de datos en bases de datos

[r]