Autor: Edison Del Rosario

  • Señal Sonido - cdf

    Referencia: Leon W Couch apéndice B p675, "El Aguacate", pasillo introducción, Archivos de Audio.wav – Abrir, extraer una porción

    De forma semejante al análisis para una señal triangular, se obtiene barriendo una ventana estrecha de Δx voltios de ancho, verticalmente a lo largo de las formas de onda y después midiendo la frecuencia relativa de la ocurrencia de voltajes en la ventana Δx.

    El eje de tiempo se divide en n intervalos y la forma de onda aparece nΔx veces dentro de estos intervalos en la ventana Δx.

    Se inicia abriendo el archivo 'muestra01_ElAguacateIntro.wav', seleccionando un canal en caso de ser estéreo. Para los cálculos se convierte a números reales 'float' de tipo estándar de python y para la gráfica se determina el rango de tiempo 't'.

    # pmf de un sonido
    # entrada es arcchivo01
    # propuesta:edelros@espol.edu.ec
    import numpy as np
    import matplotlib.pyplot as plt
    import scipy.io.wavfile as waves
    import scipy.stats as stats
    
    # INGRESO 
    # archivo01 = input('archivo de sonido 01:' )
    archivo01 = 'muestra01_ElAguacateIntro.wav'
    
    # PROCEDIMIENTO
    muestreo, sonido01 = waves.read(archivo01)
    
    # Extrae un canal en caso de estéreo
    canales=np.shape(sonido01)
    cuantos=len(canales)
    canal = 0   
    if (cuantos==1): # Monofónico
        uncanal=sonido01[:]  
    if (cuantos>=2): # Estéreo
        uncanal=sonido01[:,canal]
        
    senal=uncanal.astype(float)
    dt=1/muestreo
    n=len(senal)
    t=np.arange(0,n*dt,dt)
    

    Se grafica la señal en observación de uncanal:

    # SALIDA GRAFICA
    plt.plot(t,senal)
    plt.title(' Sonido')
    plt.xlabel('t')
    plt.ylabel('señal')
    plt.plot()
    plt.show()
    


    Aplicando luego el mismo algoritmo usado para señales triangulares y senoidales, manteniendo la forma discreta.

    # Función de Probabilidad de Masa, PMF
    m=40  # intervalos eje vertical
    
    #PROCEDIMIENTO
    relativa = stats.relfreq(senal, numbins = m )
    deltax=relativa.binsize
    
    # Eje de frecuencias, por cada deltax
    senalmin=np.min(senal)
    senalmax=np.max(senal)
    senalrango=np.linspace(senalmin,senalmax,m)
    
    # SALIDA
    print('frecuencia relativa:')
    print(relativa.frequency)
    print('Rango de Señal')
    print(senalrango)
    
    frecuencia relativa:
    [ 0.00023583  0.00073469  0.00089796  0.00053515  0.00084354  0.00179592  0.00245805  0.00306576  0.0039093   0.00504308  0.0066576   0.0099229  0.01693424  0.02671202  0.03568254  0.05160998  0.06758277  0.07323356  0.08575057  0.09217234  0.11898413  0.08494331  0.07535601  0.06454422  0.05382313  0.03821315  0.02429932  0.01573696  0.01075737  0.00767347  0.00576871  0.00365533  0.00245805  0.00176871  0.00145125  0.00103401  0.0008254   0.00106122  0.00137868  0.0004898 ]
    Rango de Señal
    [-32768.         -31087.61538462 -29407.23076923 -27726.84615385 -26046.46153846 -24366.07692308 -22685.69230769 -21005.30769231 -19324.92307692 -17644.53846154 -15964.15384615 -14283.76923077 -12603.38461538 -10923.          -9242.61538462  -7562.23076923  -5881.84615385  -4201.46153846  -2521.07692308   -840.69230769    839.69230769   2520.07692308   4200.46153846   5880.84615385   7561.23076923   9241.61538462  10922.          12602.38461538  14282.76923077  15963.15384615  17643.53846154  19323.92307692  21004.30769231  22684.69230769  24365.07692308  26045.46153846  27725.84615385  29406.23076923  31086.61538462  32767.        ]
    # SALIDA Grafico de PMF
    plt.bar(senalrango,relativa.frequency, width=deltax*0.8)
    plt.xlabel('Amplitud de señal')
    plt.ylabel('PMF')
    plt.show()

    # Función distribución acumulada
    acumulada=np.cumsum(relativa.frequency)
    
    # SALIDA CDF
    plt.step(senalrango,relativa.frequency,label='pmf', where='post')
    plt.step(senalrango,acumulada,label='cdf', where='post')
    plt.xlabel('Amplitud de señal')
    plt.title(' Función de distribuión acumulada , CDF')
    plt.legend()
    plt.show()
    

    Para grabar los archivos puede usar np.savetxt('nombrearchivo.txt', arreglodata )

  • Correlación

    Referencia: León-García 5.6.2 p258, Gubner 2.4 p91

    Correlación

    La correlación entre dos variables aleatorias X y Y se define como E[XY].

    La correlación determina cuando dos variables se encuentran linealmente relacionadas; es decir cuando una es función lineal de la otra.

    R(X,Y) = E[XY]

    Propiedades de la función de correlación

    Simetría

    R(X,Y) = R[Y,X] R(X,X) = E[X^2] \geq 0

    Desigualdad de Cauchy-Schwarz

    |R(X,Y)| = \sqrt{(E[X]^2 E[Y]^2)}

    Covarianza

    Retomando la función de covarianza de un proceso estocástico se muestra que:

    Cov(X,Y) = E[XY] - E[X]E[Y] = = R(X,Y) - E[X]E[Y]

    Coeficiente de correlación lineal

    Al multiplicar una de las variables X o Y por un número se incrementa la covarianza, para una mejor medida se normaliza la covarianza y así tener los valores en una escala absoluta.

    El coeficiente de correlación de X y Y se define por:

    \rho_{X,Y} = \frac{Cov(X,Y)}{\sigma_X \sigma_Y} = \frac{E[XY]-E[X]E[Y]}{\sigma_X \sigma_Y} donde: \sigma_X=\sqrt{Var(X)} \sigma_Y=\sqrt{Var(Y)} -1 \leq \rho_{X,Y} \leq 1

    El coeficiente de correlación es como máximo en magnitud 1.

    Note que la correlación y el coeficiente de correlación no son lo mismo al resultar de la formula de covarianza.


    Correlación bits con ruido

    Dada una secuencia de bits, al transmitirlos se distorsionó con ruido aditivo. En el receptor será dificil discriminar los valores de los bits tomados de la señal recibida.

    La correlación permite "limpiar" un poco la señal en el receptor y una mejor estimación de los bits recibidos.

    Para el ejemplo se usa una secuencia de bits 01101001 como señal a transmitir, el ruido aditivo es de tipo normal con media m=0 y varianza σ2=1

    Para referencia del proceso, se usa un punto rojo en el centro de la ventana de tiempo de cada bit.

    La correlación se realiza con un bit y la señal con ruido.

    Observe que luego de la correlación es más sencillo discriminar si lo recibido fué un bit 0 o un bit 1.

    señal de bits sin ruido
    [0 1 1 0 1 0 0 1]
    estimado de bits en el receptor
    [ 0.002  0.985  1.07   0.054  0.947 -0.079 -0.006  1.149]

    Instrucciones en Python

    # secuencia de bits con Ruido
    # usar correlación para mejorar la senal
    # estimar el bit recibido
    # Tarea: convertir estimado en bits
    
    import numpy as np
    import matplotlib.pyplot as plt
    import scipy.stats as st
    
    # INGRESO
    
    senalbit = np.array([0, 1, 1, 0, 1, 0, 0, 1])
    
    # PROCEDIMIENTO
    
    # señal moduladora son escalones por cada bit
    # o forma rectangular de duración anchobit
    anchobit = 128
    mitadbit = anchobit//2
    senal = np.repeat(senalbit, anchobit)
    muestras=len(senal)
    
    # reloj para observar la mitad del bit
    reloj = np.arange(mitadbit, muestras, anchobit)
    
    # Ruido normal o Gausiano
    media = 0
    varianza = 1
    ruido = st.norm.rvs(media,varianza,muestras)
    
    # Añade el ruido a la señal
    senalruido = senal + ruido
    
    # Referencia de un bit para correlación
    modelo = np.ones(anchobit)
    
    # correlación modelo de bits
    correlacion = np.correlate(senalruido, modelo, mode='same')
    # normaliza el resultado [0,1]
    correlacion = correlacion / anchobit
    
    # estimado de bits en el receptor
    estimado=correlacion[reloj]
    
    # SALIDA
    print('señal de bits sin ruido')
    print(senalbit)
    print('estimado de bits en el receptor')
    np.set_printoptions(precision=3)
    print(estimado)
    
    #GRAFICA
    plt.figure(1)       # define la grafica
    plt.suptitle('señal binaria con ruido gaussiano')
    
    plt.subplot(311)
    plt.plot(senal)
    plt.plot(reloj, senal[reloj], 'ro')
    plt.ylabel('señal original')
    plt.margins(0,0.05)
    
    plt.subplot(312)
    plt.plot(senalruido)
    plt.plot(reloj, senalruido[reloj], 'ro')
    plt.ylabel('senal con ruido')
    plt.margins(0,0.05)
    
    plt.subplot(313)
    plt.plot(correlacion)
    plt.ylabel('correlación')
    plt.plot(reloj, correlacion[reloj], 'ro')
    plt.margins(0,0.05)
    
    plt.show()
  • Covarianza bivariada

    Referencia: Ross 2.5.3 p50

    Covarianza

    La covarianza y varianza de dos variables aleatorias X y Y se definen como:

    Cov(X,Y) = E[(X-E[X])(Y- E[Y])] = E[XY] - E[X]E[Y]

    Si X y Y son independientes, entonces Cov(X,Y) = 0

    Propiedades

    1. Cov(X,X) = Var(X)
    2. Cov(X,Y) = Cov(Y,X)
    3. Cov(cX,Y) = c Cov(X,Y)
    4. Cov(X,Y+Z) = Cov(X,Y) + Cov(X,Z)

    Covarianza bivariada Ejemplo Ross 2_33

    Referencia: Ejemplo Ross 2.33 p51

    La función densidad conjunta de X,Y es

    f(x,y) = \frac{1}{y} e^{-(y+x/y)} donde: 0<x , y<\infty

    los intervalos también se expresan como: 0<x<∞  , 0<y<∞

    a) Verifique que es una función de densidad conjunta

    b) Encuentre la Cov(X,Y)


    Solución propuesa

    Para mostrar que f(x,y) es una función de densidad conjunta se debe mostar que es no negativa y que la integral doble es 1.

    \int_{-\infty}^{\infty} \int_{-\infty}^{\infty}f(x,y) dy dx = = \int_{0}^{\infty} \int_{0}^{\infty} \frac{1}{y} e^{-(y+x/y)} dy dx = = \int_{0}^{\infty} e^{-y} \int_{0}^{\infty} \frac{1}{y} e^{-x/y} dx dy

    Resolviendo parcialmente el integral

    \int_{0}^{\infty} \frac{1}{y} e^{-x/y} dx = \frac{1}{y} \int_{0}^{\infty} e^{-x/y} dx = = \frac{1}{y} \left. \frac{e^{-x/y}}{-\frac{1}{y}}\right|_{0}^{\infty} = -[e^{-\infty /y} - e^{0} ] = -(0-1) = 1

    con el resultado se continua con el integral anterior:

    = \int_{0}^{\infty} e^{-y} dy = \left. \frac{e^{-y}}{-1} \right|_{0}^{\infty} = - (e^{-\infty} - e^{0}) = = -(0-1) = 1

    con lo que se comprueba que es una función densidad de probabilidad conjunta.


    Covarianza (X,Y)

    Se obtendrán primero las funciones marginales para determinar el valor esperado de cada una de ellas:

    f_Y(y) = \int_{-\infty}^{\infty} f(x,y) dx = \int_{0}^{\infty} \frac{1}{y} e^{-(y+x/y)} dx = = \int_{0}^{\infty} \frac{1}{y} e^{-y} e^{-x/y} dx = e^{-y} \int_{0}^{\infty} \frac{1}{y}e^{-x/y} dx = e^{-y}

    usando parte del integral anterior, se conoce que es igual a 1

    se requiere el valor esperado E[y]:

    E[Y] = \int_{-\infty}^{\infty} y f(y) dy = \int_{0}^{\infty} y e^{-y} dy =

    integración por partes dv=e^{-y}dy , v = - e^{-y} , u=y, du=dy

    \int u dv = uv - \int v du E[Y] = \left. - ye^{-y} \right|_{0}^{\infty} - \int_{0}^{\infty} (-e^{-y}) dy = -(\infty e^{-\infty} - 0 e^{-0}) - \left. e^{-y} \right|_{0}^{\infty} = = 0 -[e^{-\infty}- e^{0}] = -[0 -1] E[Y] =1

    El valor esperado E[x] se obtiene como:

    E[x] = \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} x f(x,y) dy dx = = \int_{0}^{\infty} \int_{0}^{\infty} x \frac{1}{y} e^{-(y+x/y)} dy dx = = \int_{0}^{\infty} e^{-y} \int_{0}^{\infty} \frac{x}{y} e^{-x/y} dx dy =

    para el integral respecto a x:

    \int_{0}^{\infty} \frac{x}{y} e^{-x/y} dx =

    integración por partes dv=\frac{1}{y}e^{-x/y} dx , v = \frac{\frac{1}{y}}{-(1/y)} e^{-x/y}, u=x, du=dx

    \int u dv = uv - \int v du = = \left. x(-e^{-x/y})\right|_{0}^{\infty} - \int_{0}^{\infty} - e^{-x/y} dx = = [- \infty ye^{-\infty/y} - (-0e^{0/y})] + \int_{0}^{\infty} e^{-x/y} dx = = [-0+0] + \left. \frac{e^{-x/y}}{-(1/y)}\right|_{0}^{\infty} = =-y[e^{-\infty/y} - e^{-0/y}] = y

    reemplazando en E[x] y usando el resultado del integral de E[y]:

    E[x] = \int_{0}^{\infty} y e^{-y} dy = 1

    Para calcular el valor de E[XY]:

    E[XY] = =\int_{-\infty}^{\infty} \int_{-\infty}^{\infty} xy f(x,y) dy dx = =\int_{0}^{\infty} \int_{0}^{\infty} xy \frac{1}{y} e^{-(y+x/y)} dy dx = = \int_{0}^{\infty} y e^{-y} \int_{0}^{\infty} \frac{x}{y} e^{-x/y} dx dy = = \int_{0}^{\infty} y e^{-y} (y) dy = \int_{0}^{\infty} y^2 e^{-y} dy =

    nuevamente por partes: dv = e^{-y} dy, u=y^2 se obtiene

    E[XY] = \int_{0}^{\infty} y^2e^{-y} dy = =\left. -y^2 e^{-y} \right|_{0}^{\infty} + \int_{0}^{\infty} 2ye^{-y}dy = 2E[Y] =2

    En consecuencia:

    Cov(X,Y) = E[XY] - E[X]E[Y] = 2-(1)(1) = 1
  • pdf Bivariada Ejercicios

    1. pdf Bivariada Ejercicios

    Referencia: León García Ejercicio 5.16 pag 252

    Ejemplo

    Encuentre la constante c de normalización y las pdf marginales de la siguiente función:

    f_{X,Y}(x,y)= \begin{cases} c e^{-x} e^{-y} &, 0\leq y \leq x < \infty \\ 0 & ,\text{otro caso} \end{cases}

    Solución

    la función es válida en la región mostrada:

    La constante c se encuentra cumpliendo la condición de normalización:

    1 = \int_{0}^{\infty} \int_{0}^{x} c e^{-x} e^{-y} dy dx = = \int_{0}^{\infty} c e^{-x} (1-e^{-x}) dx = \frac{c}{2} 1 = \frac{c}{2} c = 2

    Determinar las marginales, conociendo que c=2:

    f_X (x) = \int_{0}^{\infty} f_{X,Y}(x,y) dy = = \int_{0}^{x} 2 e^{-x} e^{-y} dy = 2 e^{-x} \int_{0}^{x} e^{-y} dy = = 2 e^{-x} \left. \left[ - e^{-y} \right]\right|_{0}^{x} = 2 e^{-x} \left[ -e^{-x}-(-e^{0}) \right] = f_X (x) = 2 e^{-x} (1- e^{-x}) 0\leq x < \infty
    f_Y (y) = \int_{0}^{\infty} f_{X,Y}(x,y) dx = = \int_{y}^{\infty} 2 e^{-x} e^{-y} dx = 2 e^{-y} \int_{y}^{\infty} e^{-x} dx = = 2 e^{-y} \left. \left[ - e^{-x} \right]\right|_{y}^{\infty} = 2 e^{-y} \left[-e^{-\infty}-(-e^{-y})\right] = = 2 e^{-y} 2 e^{-y} f_Y (y) = 2 e^{-2y} 0\leq y < \infty

    Tarea: Verificar que las funciones marginales cumplen que el integral es 1

    import numpy as np
    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    
    # Función evaluada
    def fxydensidad(X,Y):
        n,m =np.shape(X)
        Z=np.zeros(shape=(n,m),dtype=float)
        
        c=2
        for i in range(0,n,1):
            for j in range(0,m,1):
                x=X[i,j]
                y=Y[i,j]
                
                if (y>=0 and y<=x):
                    z=c*np.exp(-x)*np.exp(y)
                    Z[i,j]=z
        return(Z)
    
    # PROGRAMA ---------
    
    # INGRESO
    # Rango de evaluación
    xa = 0
    xb = 4
    ya = 0
    yb = 4
    # muestras por eje
    nx = 500
    ny = 500
    
    # PROCEDIMIENTO
    
    # Matriz de evaluación
    y = np.linspace(ya,yb,ny)
    x = np.linspace(xa,xb,nx)
    X,Y = np.meshgrid(x,y)
    
    # Evalúa la función
    Z = fxydensidad(X,Y)
    
    # SALIDA
    figura  = plt.figure(1)
    grafica = figura.add_subplot(1, 1, 1, projection='3d')
    grafica.plot_wireframe(X, Y, Z, rstride=10, cstride=10)
    plt.show()
    
    # Zona de integración
    def arealimite(X):
        n = len(X)
        yinferior = np.zeros(n,dtype=int)
        ysuperior = X
        return(yinferior, ysuperior)
    
    # PROCEDIMIENTO
    yinferior, ysuperior = arealimite(x)
    
    # SALIDA
    plt.plot(x, yinferior)
    plt.plot(x, ysuperior)
    plt.fill_between(x, yinferior, ysuperior, where=(ysuperior>=yinferior))
    plt.show()
    
    # Forma de las marginales
    def marginalx(x):
        fx = 2*np.exp(-x)*(1-np.exp(-x))
        return(fx)
    
    # PROCEDIMIENTO
    deltax = (xb-xa)/nx
    fx = marginalx(x)
    Fx = np.cumsum(fx*deltax)
    integrax = np.sum(fx*deltax)
    
    # SALIDA
    plt.plot(x,fx, label='f(x)')
    plt.plot(x,Fx, label='F(x)')
    plt.xlabel('x')
    plt.legend()
    plt.show()
    # Forma de las marginales
    def marginaly(y):
        fy = 2*np.exp(-2*y)
        return(fy)
    
    # PROCEDIMIENTO
    deltay = (yb-ya)/ny
    fy = marginaly(y)
    Fy = np.cumsum(fy*deltay)
    integray = np.sum(fy*deltay)
    
    # SALIDA
    print(' El integral sobre el area es: ', integray)
    
    plt.plot(y,fy, label='f(y)')
    plt.plot(y,Fy, label='F(y)')
    plt.xlabel('y')
    plt.legend()
    plt.show()

    2. pdf Bivariada Ejercicio02

    Referencia: León-García 5.17 p 253

    Ejemplo

    Encuentre P[ X + Y ≤ 1] de la función en el ejemplo 5.16 mostrada a continuación :

    f_{X,Y}(x,y)= \begin{cases} c e^{-x} e^{-y} & , 0\leq y \leq x < \infty \\ 0 & ,\text{otro caso} \end{cases}

    Solución

    La la región para integración es [ X + Y ≤ 1] donde la pdf no es cero. Se obtiene la probabilidad del evento al añadir(integrar) rectángulos infinitesimales de ancho dy como se indica en la figura:

    X + Y \leq 1 Y \leq 1 - X P[ X + Y \leq 1] = \int_{0}^{1/2} \int_{y}^{1-y} 2 e^{-x} e^{-y} dx dy = \int_{0}^{1/2} 2 e^{-y} \int_{y}^{1-y} e^{-x} dx dy = \int_{0}^{1/2} 2 e^{-y} \left. [-e^{-x}] \right|_{y}^{1-y} dy = = \int_{0}^{1/2} 2 e^{-y} [-e^{-(1-y)}-(-e^{-y})] dy = \int_{0}^{1/2} [2 e^{-2y}- 2 e^{-y-(1-y)}] dy = = \int_{0}^{1/2} [2 e^{-2y}- 2 e^{-1}] dy = \left. \left[ 2\frac{e^{-2y}}{-2} - 2 e^{-1}y\right] \right|t_{0}^{1/2} = = [ - e^{-2 (1/2)} - 2 e^{-1} (1/2) ] - [ -e^{0}-0] = -e^{-1}-e^{-1} +1 P[ X + Y \leq 1] = 1- 2e^{-1} = 0.26424111765711533

    que limita la figura que genera la función a:


    Instrucciones en Python

    from mpl_toolkits.mplot3d import Axes3D
    import matplotlib.pyplot as plt
    import numpy as np
    
    # Función evaluada
    def fxydensidad(X,Y):
        n,m = np.shape(X)
        Z = np.zeros(shape=(n,m),dtype=float)
        
        c = 2
        for i in range(0,n,1):
            for j in range(0,m,1):
                x = X[i,j]
                y = Y[i,j]
                if (y>=0 and y<=x and (x + y)<=1):
                    z = c*np.exp(-x)*np.exp(y)
                    Z[i,j] = z
        return(Z)
    
    # PROGRAMA
    # INGRESO
    # Rango de evaluación
    xa = 0
    xb = 1.5
    ya = 0
    yb = 1.5
    #muestras por eje
    nx = 200
    ny = 200
    
    # PROCEDIMIENTO
    # Matriz de evaluación
    y = np.linspace(ya,yb,ny)
    x = np.linspace(xa,xb,nx)
    X,Y = np.meshgrid(x,y)
    # Evalua la función
    Z = fxydensidad(X,Y)
    
    # Zona de integración
    def arealimite(X):
        n = len(X)
        yinferior = np.zeros(n,dtype=float)
        ysuperior = np.zeros(n,dtype=float)
        for i in range(0,n,1):
            x = X[i]
            if (x<0.5):
                y = x
            if (x>=0.5):
                y = 1 - x
            ysuperior[i] = y
        
        return(yinferior, ysuperior)
    
    # PROCEDIMIENTO
    yinferior , ysuperior = arealimite(x) 
    
    # SALIDA GRAFICAS
    figura1 = plt.figure(1)
    plt.plot(x,yinferior)
    plt.plot(x,ysuperior)
    plt.fill_between(x, yinferior, ysuperior,
                     where= (ysuperior>=yinferior))
    plt.xlabel('x')
    # SALIDA
    figura2 = plt.figure(2)
    grafica2 = figura2.add_subplot(1, 1, 1, projection='3d')
    grafica2.plot_wireframe(X, Y, Z, rstride=10, cstride=10)
    plt.show()
  • pdf - univariada Ejercicio

    Referencia: Ross 2.33 p89

    Ejercicio

    Sea X una variable aleatoria con densidad de probabilidad:

    f(x)= \begin{cases} c(1-x^2)&, -1<x<1 \\ 0 &, \text{en otro caso} \end{cases}

    a) ¿Cuál es el valor de c? que permite hacer la función una pdf.

    b) ¿Cuál es la función de distribución acumulada de X?

    Solución

    a)Solo es válido en el rango [-1,1], por lo que el integral es:

    1 = \int_{-1}^{1} c(1-x^2) dx = c \int_{-1}^{1} (1-x^2) dx

    = c \int_{-1}^{1}dx - c \int_{-1}^{1}x^2 dx = c \left. x \right|_{-1}^{1} - c \left. \frac{x^3}{3} \right|_{-1}^{1}

    = c[1-(-1)] - c\frac{1^3-(-1^3)}{3} = 2c -\frac{2c}{3}

    1 = \frac{4c}{3}

    c=\frac{3}{4}

    Solución

    b)La función es la integral hasta x:

    F(y) = \frac{3}{4} \int_{-1}^{y} (1-x^2) dx = \frac{3}{4} \left. \left[ x - \frac{x^3}{3} \right] \right|_{-1}^{y} =

    = \frac{3}{4}\left[(y+1) - \left( \frac{y^3}{3} + \frac{1}{3} \right) \right] =

    F(y) = \frac{3}{4} \left[ y+\frac{2}{3} - \frac{y^3}{3} \right], 1<y<1


    Instrucciones en Python

    usando el resultado anterior:

    import matplotlib.pyplot as plt
    import numpy as np
    
    def fxdensidad(X):
        n = len(X)
        Y = np.zeros(n,dtype=float)
        
        c = 3/4
        for i in range(0,n,1):
            x = X[i]
            if (x>=-1 and x<=1):
                y = c*(1-x**2)
                Y[i] = y
        return(Y)
    
    # INGRESO
    # rango [a,b] y muestras
    a = -1
    b = 1
    m = 100
    
    # PROCEDIMIENTO
    deltax = (b-a)/m
    x  = np.linspace(a,b,m)
    fx = fxdensidad(x)
    
    # Función de distribución acumulada
    Fy = np.cumsum(fx)*deltax
    
    # SALIDA Gráfico
    plt.plot(x,fx,label='pdf')
    plt.plot(x,Fy,label='cdf')
    plt.xlabel('x')
    plt.legend()
    plt.show()
    

    # Verificando resultado del integral vs la suma acumulada
    def Fxacumulada(X):
        n = len(X)
        Y = np.zeros(n,dtype=float)
        c = 3/4
        for i in range(0,n,1):
            x=X[i]
            if (x>=-1 and x<=1):
                y=c*(x+ 2/3 -(x**3)/3)
                Y[i]=y
        return(Y)
    
    # PROCEDIMIENTO
    Fycalc = Fxacumulada(x)
    
    # SALIDA Gráfico
    plt.plot(x,fx,label='pdf')
    plt.plot(x,Fy,label='cdf')
    plt.plot(x,Fycalc,label='calculada')
    plt.xlabel('x')
    plt.legend()
    plt.show()
    

  • cdf - Señal coseno(x)

    Referencia: Ejemplo León-García 4.36 p180

    Sea Y=cos(X), y supondremos que X es uniformemente distribuida en el intervalo de (0, 2π]. Y puede ser vista como una muestra de una señal sinusoidal a un instante aleatorio de tiempo que esta uniformemente distribuida en el periodo de la sinusoide.

    Para encontrar la pdf, se tiene que la variable -1< y < 1

    f_Y(y)=\left.\sum_{k} \frac{f_X(x)}{|dy/dx|} \right|_{x=x_k}

    La función fX(x) es uniforme, por lo que el área del integral en el intervalo debe ser 1, es decir:

    \int_{0}^{2\pi}c dx=1

    =(2\pi-0)*c= 2\pi c = 1

    c=\frac{1}{2\pi}

    f_X(x) = \frac{1}{2\pi}

    De la figura se encuentra que la ecuación tiene dos puntos de intersección o dos soluciones:

    x_0 = \cos ^{-1}(y)

    x_1 = 2\pi- x_0

    por lo que se evalúa la derivada en cada punto de intersección:

    \left.\frac{dy}{dx} \right|_{x_0}= -sin(x_0) = - sin(cos^{-1}(y))

    \alpha = \cos^{-1}(x)

    \sin(\alpha) = y

    x^2 + y^2 =1

    x = \sqrt{1-y^2}

    \left.\frac{dy}{dx} \right|_{x_0}= -\sqrt{1-y^2}

    \left.\frac{dy}{dx} \right|_{x_1}= -\sqrt{1-y^2}

    dado que y0 = y1 = y

    Aplicando la ecuación primera:

    f_Y(y) = \frac{1}{2\pi \sqrt{1-y^2}} + \frac{1}{2\pi \sqrt{1-y^2}}

    = \frac{1}{\pi \sqrt{1-y^2}}

    -1 < y < 1

    Gráfica del resultado

    # pdf de una señal senoidal
    import matplotlib.pyplot as plt
    import numpy as np
    
    # INGRESO
    # n=int(input('numero de muestras: '))
    n = 200
    
    # PROCEDIMIENTO
    t  = np.linspace(-1,1,n)
    fy = np.zeros(n,dtype=float)
    # Evaluar denominador no cero
    for i in range(0,n,1):
        denominador = 1-t[i]**2
        if (denominador!=0):
            fy[i] = 1/(np.pi*np.sqrt(1-t[i]**2))
    dt = t[1]-t[0]
    Fy = np.cumsum(fy)*dt
    
    # SALIDA
    plt.plot(t,fy,label='pdf')
    plt.plot(t,Fy,label='cdf')
    plt.xlabel('x')
    plt.legend()
    plt.show()
    


    Cálculo con un método numérico

    Señal Coseno(x), pmf, cdf

    Se obtiene barriendo una ventana horizontal estrecha de Δx voltios de ancho, verticalmente a lo largo de las formas de onda y después midiendo la frecuencia relativa de la ocurrencia de voltajes en la ventana Δx.

    El eje de tiempo se divide en n intervalos y la forma de onda aparece nΔx veces dentro de estos intervalos en la ventana Δx.

    Para observar lo indicado usando python, se presenta el siguiente grupo de instrucciones:

    Genera la señal

    En un intervalo [a,b] de tiempo, con n muestras en el intervalo y una señal coseno(x) con frecuencia fs Hz.

    # Pmf de una senal periódica conocida
    # definir la señal en la sección senal_t
    import numpy as np
    import scipy.signal as signal
    import scipy.stats as stats
    import matplotlib.pyplot as plt
    
    def senal_t(t, fs):
        m = len(t)
        y = np.zeros(m, dtype=float)
        for i in range(0,m,1):
            y[i] = np.cos(2 * np.pi * fs * t[i])
        return(y)
    
    # INGRESO
    # Frecuencia de la señal en Hz
    fs = 5
    # Rango en tiempo de la señal y muestras
    a = 0
    b = 1
    tramos = 2000
    
    # PROCEDIMIENTO
    muestreo = tramos+1
    t = np.linspace(a, b, muestreo)
    senal = senal_t(t, fs)
    
    # SALIDA
    plt.plot(t,senal)
    plt.title(' Señal sen(x)')
    plt.xlabel('t')
    plt.ylabel('señal')
    plt.show()
    

    Determinar la función de probabilidad de masa PMF

    Se divide el rango de valores posibles de la señal en m intervalos.

    Para simplificar el conteo de valores por rango se usa la función scypy.stats.relfreq, que cuenta en m intervalos entre el rango de la señal, dando como resultado las frecuencias relativas a intervalos Δx.
    \sum_{i=0}^{N} p_i(x)=1

    Si se considera aproximar la función a contínua para observación, será necesario compensar el vector de relativas al dividir por Δx pues el conteo relativo depende del número de divisiones m.

    # Pmf de una senal periódica conocida
    # definir la señal en la sección senal_t
    import numpy as np
    import scipy.signal as signal
    import scipy.stats as stats
    import matplotlib.pyplot as plt
    
    def senal_t(t, fs):
        m = len(t)
        y = np.zeros(m, dtype=float)
        for i in range(0,m,1):
            y[i] = np.cos(2 * np.pi * fs * t[i])
        return(y)
    
    # INGRESO
    # Frecuencia de la señal en Hz
    fs = 5
    # Rango en tiempo de la señal y muestras
    a = 0
    b = 1
    tramos = 2000
    
    # PROCEDIMIENTO
    muestreo = tramos+1
    t = np.linspace(a, b, muestreo)
    senal = senal_t(t, fs)
    
    # SALIDA
    plt.plot(t,senal)
    plt.title(' Señal sen(x)')
    plt.xlabel('t')
    plt.ylabel('señal')
    plt.show()
    
    # Función de Probabilidad de Masa, PMF
    m = 50  # intervalos en análisis
    
    #PROCEDIMIENTO
    relativa = stats.relfreq(senal, numbins = m )
    deltax = relativa.binsize
    # considerando el deltax, para valor de PMF
    relcontinua=relativa.frequency/deltax
    
    # Eje de frecuencias, por cada deltax
    senalmin = np.min(senal)
    senalmax = np.max(senal)
    senalrango = np.linspace(senalmin,senalmax,m)
    
    # SALIDA
    print('frecuencia relativa:')
    print(relativa.frequency)
    print('Rango de Señal')
    print(senalrango)
    print('Aproximación a contínua')
    print(relcontinua)
    
    # SALIDA Grafico de PMF
    plt.subplot(211)
    plt.bar(senalrango,relativa.frequency, width=deltax*0.8)
    plt.xlabel('Amplitud de señal')
    plt.ylabel('PMF')
    
    plt.subplot(212)
    plt.plot(senalrango,relcontinua)
    plt.ylim(ymin=0,ymax=np.max(relcontinua))
    plt.xlabel('Amplitud de señal')
    plt.ylabel('Aproximación a PDF')
    plt.show()
    
    
    frecuencia relativa:
    [ 0.045  0.034  0.023  0.018  0.017  0.014  0.014  0.012  0.012  0.011   0.011  0.01   0.01   0.01   0.009  0.009  0.009  0.008  0.008  0.009  0.008  0.007  0.008  0.008  0.007  0.008  0.007  0.007  0.007  0.007 
     ... 
    0.008  0.007  0.008  0.008  0.008  0.008  0.008  0.009  0.009  0.009  0.009  0.009  0.01   0.01   0.011  0.011  0.012  0.013  0.013  0.015  0.016  0.019  0.023  0.033  0.046]
    Rango de Señal
    [-0.99999877 -0.97979676 -0.95959475 -0.93939274 -0.91919073 -0.89898873 -0.87878672 -0.85858471 -0.8383827  -0.8181807  -0.79797869 -0.77777668 -0.75757467 -0.73737266 -0.71717066 -0.69696865 -0.67676664 -0.65656463 
    ...
    0.63636386  0.65656587  0.67676788  0.69696988  0.71717189  0.7373739   0.75757591  0.77777791  0.79797992  0.81818193  0.83838394  0.85858595  0.87878795  0.89898996  0.91919197  0.93939398  0.95959598  0.97979799  1.        ]
    Aproximación a contínua
    [ 2.22750138  1.68300104  1.1385007   0.89100055  0.84150052  0.69300043  0.69300043  0.59400037  0.59400037  0.54450034  0.54450034  0.49500031  0.49500031  0.49500031  0.44550028  0.44550028  0.44550028  0.39600024  
    ...
    0.39600024  0.44550028  0.44550028  0.44550028  0.44550028  0.44550028  0.49500031  0.49500031  0.54450034  0.54450034  0.59400037  0.6435004   0.6435004   0.74250046  0.79200049  0.94050058  1.1385007   1.63350101  2.27700141]
    

    Determinar la Función de distribucíón acumulada

    Considere el caso discreto, solo es necesario ir acumulando los valores de "relativa".

    Al usar la aproximación a contínua, la sumatoria debe considerar el área bajo la curva, por lo que los valores se multiplican por Δx antes de acumular los valores de las frecuencias.

    # Función distribución acumulada
    acumulada=np.cumsum(relcontinua*deltax)
    
    # Salida CDF
    # plt.step(senalrango,relcontinua,label='pdf', where='post')
    plt.step(senalrango,acumulada,label='cdf', where='post')
    plt.xlabel('Amplitud de señal')
    plt.title(' Función de distribuión acumulada , CDF')
    plt.legend()
    plt.show()
    


    Tarea: realice el ejercicio con otras señales periódicas.
    Referencia: Leon W Couch apéndice B p675

  • cdf -Señal triangular

    Referencia: Leon W Couch apéndice B p675

    Señal Triangular, pmf, cdf

    Se obtiene barriendo una ventana estrecha de Δx voltios de ancho, verticalmente a lo largo de las formas de onda y después midiendo la frecuencia relativa de la ocurrencia de voltajes en la ventana Δx.

    El eje de tiempo se divide en n intervalos y la forma de onda aparece nΔx veces dentro de estos intervalos en la ventana Δx.

    Para observar lo indicado usando python, se presenta el siguiente grupo de instrucciones:

    Generar la señal

    En un intervalo [a,b] de tiempo, con n muestras en el intervalo y una señal triangular con frecuencia fs Hz.

    Las librerías de señales de scipy tiene la señal diente de sierra, con parámetro de simetría que permite variar la forma del triángulo para ajustarlo a una señal simétrica como la del ejemplo.

    import matplotlib.pyplot as plt
    import numpy as np
    import scipy.signal as signal
    import scipy.stats as stats
    
    # INGRESO
    # Rango en tiempo de la señal y muestras
    a = 0
    b = 1
    n = 2000
    # Frecuencia de la señal en Hz
    fs = 5
    
    # PROCEDIMIENTO
    # simetria de la señal triangular diente de sierra
    simetria = 0.5
    t = np.linspace(a, b, n)
    senal = signal.sawtooth(2 * np.pi * fs * t, simetria)
    
    # SALIDA
    plt.plot(t,senal)
    plt.title('Señal Triangular')
    plt.xlabel('t')
    plt.ylabel('señal')
    plt.show()
    

    Determinar la función de probabilidad de masa PMF

    Se divide el rango de valores posibles de la señal en m intervalos.

    Para simplificar el conteo de valores por rango se usa la función scipy.stats.relfreq, que cuenta en m intervalos entre el rango de la señal, dando como resultado las frecuencias relativas a intervalos Δx

    \sum_{i=0}^{N}p_i(x)=1

    Si se considera aproximar la función a contínua para observación, será necesario compensar el vector de relativas al dividir por Δx pues el conteo relativo depende del número de divisiones m.

    # Función de Probabilidad de Masa, PMF
    m = 20  # intervalos en análisis
    
    #PROCEDIMIENTO
    relativa = stats.relfreq(senal, numbins = m )
    deltax   = relativa.binsize
    
    # considerando el deltax, para valor de PMF
    relcontinua = relativa.frequency/deltax
    
    # Eje de frecuencias, por cada deltax
    senalmin = np.min(senal)
    senalmax = np.max(senal)
    senalrango = np.linspace(senalmin,senalmax,m)
    
    # SALIDA
    print('frecuencia relativa:')
    print(relativa.frequency)
    print('Rango de Señal')
    print(senalrango)
    print('Aproximación a contínua')
    print(relcontinua)
    
    # SALIDA Grafico de PMF
    pa = 0-0.1 # rango eje frecuencias
    pb = 1+0.1
    
    plt.subplot(211)
    plt.axis([senalmin-deltax,senalmax+deltax,pa,pb])
    plt.bar(senalrango,relativa.frequency, width=deltax*0.8)
    plt.xlabel('Amplitud de señal')
    plt.ylabel('PMF')
    
    plt.subplot(212)
    plt.axis([senalmin-deltax,senalmax+deltax,pa,pb])
    plt.plot(senalrango,relcontinua)
    plt.xlabel('Amplitud de señal')
    plt.ylabel('Aproximación a PDF')
    plt.show()
    
    frecuencia relativa:
    [ 0.027  0.052  0.053  0.053  0.052  0.053  0.052  0.053  0.052  0.053  0.053  0.052  0.053  0.052  0.053  0.052  0.053  0.053  0.052  0.027]
    Rango de Señal
    [-1.        -0.8947895 -0.789579  -0.6843685 -0.579158  -0.4739475 -0.368737  -0.2635265 -0.158316  -0.0531055  0.052105   0.1573155  0.262526   0.3677365  0.472947   0.5781575  0.683368   0.7885785  0.893789   0.9989995]
    Aproximación a contínua
    [ 0.25662838  0.49424725  0.503752    0.503752    0.49424725  0.503752   0.49424725  0.503752    0.49424725  0.503752    0.503752    0.49424725  0.503752    0.49424725  0.503752    0.49424725  0.503752    0.503752  0.49424725  0.25662838]
    

    Determinar la Función de distribucíón acumulada

    Considere el caso discreto, solo es necesario ir acumulando los valores de "relativa".

    Al usar la aproximación a contínua, la sumatoria debe considerar el área bajo la curva, por lo que los valores se multiplican por Δx antes de acumular los valores de las frecuencias.

    # Función distribución acumulada
    acumulada = np.cumsum(relcontinua*deltax)
    
    # Salida CDF
    plt.step(senalrango,relcontinua,label='pdf', where='post')
    plt.step(senalrango,acumulada,label='cdf', where='post')
    plt.xlabel('Amplitud de señal')
    plt.title(' Función de distribuión acumulada , CDF')
    plt.legend()
    plt.show()
    


    Tarea: realice el ejercicio con otras señales periódicas.

  • Expansiones de Series

    Referencia: Leon W Couch Apéndice p658

    Series Finitas

    \sum_{n=1}^{N} n = \frac{N(N+1)}{2}

    \sum_{n=1}^{N} n^2 = \frac{N(N+1)(2N+1)}{6}

    \sum_{n=1}^{N} n^3 = \frac{N^2(N+1)^2}{4}

    \sum_{n=0}^{N} a^n = \frac{a^{N+1}-1}{a-1}

    \sum_{n=0}^{N} \frac{N!}{n!(N-n)!}x^n y^{N-n} = (x+y)^N

    \sum_{n=0}^{N} e^{j(\theta+n\phi)} = \frac{sen \left[(N+1) \frac{\phi}{2}\right] }{sen \left( \frac{\phi}{2} \right)} e^{j [ \theta + \left( N \frac{\phi}{2} \right) ]}


    \sum_{n=0}^{N} {N \choose k} a^{N-k}b^{k} = (a+b)^N,

    donde: {N \choose k} = \frac{N!}{(N-k)!k!}


    Series Infinitas

    Serie de Taylor

    f(x) = \sum_{n=0}^{\infty} \left( \frac{f^{(n)}(a)}{n!} \right) (x-a)^n


    Serie de Fourier

    f(x) = \sum_{n=-\infty}^{\infty} c_n e^{jn\omega_0 x}

    a\leq x \leq (a+T)

    donde: c_n = \frac{1}{T} \int_{a}^{a+T} f(x) e^{-jn\omega_0 x} dx

    \omega_o = \frac{2\pi}{T}


    otras series

    e^x = \sum_{n=0}^{\infty} \frac{x^n}{n!}

    sen(x) = \sum_{n=0}^{\infty} \frac{(-1)^n x^{2n+1}}{(2n+1)!}

    cos(x) = \sum_{n=0}^{\infty} \frac{(-1)^n x^{2n}}{(2n)!}

  • Tabla de Integrales


    Integrales:

    Definidas

    Indefinidas


    Referencia: Leon W Couch Apéndice p657, 658

    Integrales Definidas

    Definición

    \int f(x) dx = \lim_{\Delta \rightarrow 0} \left( \sum_{n} \left[ f(n \Delta x)\right] \Delta x \right)

    Cambio de variable. Sea v=u(x)

    \int_{a}^{b} f(x) dx = \int_{u(a)}^{u(b)} \left( \left. \frac{f(x)}{dv/dx} \right|_{x=u^{-1}(v)}\right) dv

    integración por partes

    \int u dv = uv - \int v du

    Integrales Definidas

    \int_{0}^{\infty} \frac{x^{m-1}}{1+x^n} dx = \frac{\pi /n}{sen(m\pi/n)}, \text{ }n>m>0
    \int_{0}^{\infty} x^{\alpha-1}e^{-x} dx = \Gamma(\alpha) , \alpha > 0 \text{donde: }\Gamma(\alpha +1) = \alpha \Gamma(\alpha), \Gamma (1) = 1, \Gamma [1/2] = \sqrt{\pi}, \Gamma(n) = (n-1)! \text{, si n es entero positivo }
    \int_{0}^{\infty} x^{2n} e^{-ax^2} dx =\frac{1 \cdot 3 \cdot 5 \cdot \cdot \cdot (2n-1)}{2^{n+1}a^{n}} \sqrt{\frac{\pi}{a}} \int_{-\infty}^{\infty} e^{-a^2 x^2 + bx} dx =\frac{\sqrt{\pi}}{a} e^{b^2/(4a^2)}, a>0 \int_{0}^{\infty} e^{-ax}cos(bx) dx = \frac{a}{a^2+b^2}, a>0 \int_{0}^{\infty} e^{-ax}sen(bx) dx = \frac{b}{a^2+b^2}, a>0 \int_{0}^{\infty} e^{-a^2x^2}cos(bx) dx = \frac{\sqrt{\pi} e^{-b^2/4a^2}}{2a}, a>0
    \int_{0}^{\infty} x^{\alpha-1}cos(bx) dx = \frac{\Gamma(\alpha)}{b^{\alpha}} cos \left(\frac{1}{2}\pi \alpha \right), 0<\alpha < 1, b >0
    \int_{0}^{\infty} x^{\alpha-1}sen(bx) dx = \frac{\Gamma(\alpha)}{b^{\alpha}} sen \left(\frac{1}{2}\pi \alpha \right), 0<|\alpha| < 1, b >0
    \int_{0}^{\infty} x e^{-ax^2} I_k(bx) dx = \frac{1}{2a} e^{b^2/4a}, \text{donde: } I_k(bx)=\frac{1}{\pi}\int_{0}^{\pi} e^{bx cos(\theta)} cos(k\theta) d\theta
    \int_{0}^{\infty} \frac{sen(x)}{x} dx = \int_{0}^{\infty} Sa(x) dx = \frac{\pi}{2} \int_{0}^{\infty} \left( \frac{sen(x)}{x} \right)^2 dx = \int_{0}^{\infty} Sa^2(x) dx = \frac{\pi}{2} \int_{-\infty}^{\infty} e^{\pm j2 \pi yx} dx = \delta (y) \int_{0}^{\infty}\frac{cos(ax)}{b^2 + x^2}dx = \frac{\pi}{2b} e^{-ab}, a>0,b>0 \int_{0}^{\infty}\frac{x sen(ax)}{b^2 + x^2}dx = \frac{\pi}{2} e^{-ab}, a>0,b>0

    Referencia: Leon W Couch Apéndice p656


    Integrales:

    Definidas

    Indefinidas


    Integrales Indefinidas

    \int (a+bx)^n dx = \frac{(a+bx)^{n+1}} {b(n+1)}, 0<n \int \frac{dx}{a+bx} =\frac{1}{b} ln|a+bx| \int \frac{dx}{(a+bx)^n} = \frac{-1}{(n-1)b(a+bx)^{n-1}} , 1<n
    \int \frac{dx}{(c+bc+ax^2)^n} = = \begin{cases} \frac{2}{ \sqrt{4ac-b^2}} tan^{-1}\left(\frac{2ax+b}{\sqrt{4ac-b^2}}\right) , & b^{2} < 4ac \\ \frac{1}{\sqrt{b^2-4ac}}ln\left| \frac{2ax+b-\sqrt{b^2-4ac}}{2ax+b+\sqrt{b^2-4ac}} \right| , & b^{2} > 4ac \\ \frac{-2}{\sqrt{2ax+b}} , & b^{2}=4ac \end{cases}
    \int \frac{x dx}{c+bx+ax^2} = = \frac{1}{2a} ln\left| ax^2+bx+c \right| - \frac{b}{2a}\int \frac{dx}{c+bx+ax^2}
    \int \frac{dx}{a^2+b^2x^2} = \frac{1}{ab} tan^{-1}\left( \frac{bx}{a} \right) \int \frac{x dx}{a^2+x^2} = \frac{1}{2} ln( a^2+x^2 )

    Trigonométricas

    \int cos(x) dx = sen(x) \int sen(x) dx = -cos(x) \int x cos(x) dx = cos(x) + x sen(x) \int x sen(x) dx = sen(x) - x cos(x) \int x^2 cos(x) dx = 2x cos(x) + (x^2 -2) sen(x) \int x^2 sen(x) dx = 2x sen(x) - (x^2 -2) cos(x)

    Exponenciales

    \int e^{ax} dx = \frac{e^{ax}}{a} \int x e^{ax} dx = e^{ax} \left( \frac{x}{a} - \frac{1}{a^2} \right) \int x^2 e^{ax} dx = e^{ax} \left( \frac{x^2}{a} - \frac{2x}{a^2} + \frac{2}{a^3} \right) \int x^3 e^{ax} dx = e^{ax} \left( \frac{x^3}{a} - \frac{3x^2}{a^2} + \frac{6x}{a^3} - \frac{6}{a^4}\right) \int e^{ax} sen(x) dx = \frac{e^{ax}}{a^2 +1} (a sen(x) - cos(x)) \int e^{ax} cos(x) dx = \frac{e^{ax}}{a^2 +1} (a cos(x) - sen(x))

    Integrales:

    Definidas

    Indefinidas


  • Tabla de Números Complejos

    Referencia: Leon W Couch Apéndice p653

    Definiciones

    sen(x) = \frac{e^{jx}-e^{-jx}}{2j}

    cos(x) = \frac{e^{jx}+e^{-jx}}{2}

    tan(x) = \frac{sen(x)}{cos(x)}= \frac{e^{jx}-e^{-jx}}{j(e^{jx}+e^{-jx})}

    Teorema de Euler

    e^{\pm jx} = cos(x) \pm j sen(x)

    Complejos

    e^{\pm j\pi /2} = \pm j

    e^{\pm jn\pi} = \begin {cases} 1 \text{, n par} \\ -1 \text{, n impar}\end{cases}

    forma rectangular

    x + jy = Re^{j\theta}

    R = \sqrt{ x^2 + y^2}

    \theta = tab^{-1}\left( \frac{y}{x} \right)

    a una potencia

    \left( R e^{j\theta} \right)^y = R^y e^{jy\theta}

    \left( R_1 e^{j\theta_1} \right) \left( R_2 e^{j\theta_2} \right) = R_1 R_2 ^{j(\theta_1+\theta_2)}