Practica01 Arturo

14
1.- Sean las series x ( k )= { k +j ( 7k) k=0 15 0 de otra forma Universidad de Guanajuato División de Ingeniarías Doctorado en Ingeniería eléctrica Practica 01: Análisis Espectral MI. Luis Manuel Ledesma Carrillo MI. Misael López Ramírez

description

Practica Analisis espectral

Transcript of Practica01 Arturo

Page 1: Practica01 Arturo

Universidad de Guanajuato

División de Ingeniarías

Doctorado en Ingeniería eléctrica

Practica 01: Análisis Espectral

MI. Luis Manuel Ledesma Carrillo

MI. Misael López Ramírez

Page 2: Practica01 Arturo

1.- Sean las series x (k )={k+ j(7−k ) k=0…150 de otra forma

a) Calcule la DFT X(n) mediante la función fft(x). Graficar la parte real R{X(n)} e imaginaria Im{X(n)} de X(n).

0 5 10 15 20 25 30-100

0

100

200RealX(n)

n

ampl

itud

0 5 10 15 20 25 30-50

0

50

100

150Im(X(n))

n

ampl

itud

Figura 1.1 DFT de x(k) a) Real X(n) b) Img X(n).

En la Figura 1.1 Muestra la parte real e imaginaria de la transformada de Fourier de la señal dada utilizando el comando ‘fft(x)’ en Matlab para una señal de 30 muestras.

b) Graficar la DFT de Re{x(k)} y jIm{x(k)} (de nuevo la parte real e imaginaria). ¿Muestre que tipo de simetrías tiene la DFT {Re{x(k)}} y {jDFT Im{x(k)}}?

0 5 10 15 20 25 30-100

0

100

200DFTRex(k)

n

ampl

itud

0 5 10 15 20 25 30-40

-20

0

20

40DFTImx(k)

n

ampl

itud

Figura 1.2 DFT de la parte real e imaginaria de la señal x(k)

Page 3: Practica01 Arturo

La Figura 1.2 Muestra la DFT de la parte real e imaginaria de la señal x(k) mostrando una simetría en parte real justamente en la mitad (n=15) al contrario para la parte imaginaria es simétrica en (n=15) con diferente signo.

c) Produzca un desplazamiento cíclico de x(k) para λ=4 y λ=8 ciclos:

x1 ( k )=( x(k+λ))M ¿Cuál es la Relación entre x1 ( k )=DFT {x1 (k ) } y X (n)?

0 5 10 15 20 25 300

200

400

DFTx1(k)con =4

n

ampl

itud

0 5 10 15 20 25 300

200

400DFTx1(k) con =8

n

ampl

itud

0 5 10 15 20 25 300

100

200X(n) original

n

ampl

itud

Figura 1.3 DFT para señal x(k) con desplazamiento en 4 y 8 .

En la Figura 1.3 Muestra Las tres DFT las dos primeras con desplazamiento positivo en 4 y 8 además de la señal original para observar sus diferencias, mientras más grande es el desplazamiento ms grande es la amplitud del armónico .

d) Calcule la transformada discreta de Fourier X2 (n ) y x2 (k )=x (k ) e− j 2π 3 k16 ¿Cuál es la

relación entre X2 (n ) y X (n)?

Page 4: Practica01 Arturo

0 5 10 15 20 25 300

50

100

150X(n)

n

ampl

itud

0 5 10 15 20 25 300

50

100

150

200

X2(n)

n

ampl

itud

Figura 1.4 Muestra la DFT para X2(k) y x(k).

La relación que existe ente estas dos señales es que se desplazo la componente fundamental de la señal debido a que la señal x2(k) fue multiplicada por un exponencial al cambiar la frecuencia a la cual se encuentra presenta una nueva contribución en los armonicos.

2.- Interpolación con relleno de ceros.

a) Calcule la DFT de :

x (k )=1−cos( 2πk64 ) parak=0,1,2… ..63

Figura 2.1. DFT para la señal x(k).

Page 5: Practica01 Arturo

b) ¿Existen características comunes con la DFT de la siguiente señal?

x0 (k )={x (k ) k=0,1,2 ,… .,630 k=64,65 ,…,127

Figura 2.2. DFT para la señal x(k).

En la Figura 2.2, la forma de onda del espectro de Fourier es la misma, sin embargo, en la señal interpolada con ceros Xo(n) se pueden apreciar más detalles en el espectro debido a que aumenta su resolución con la interpolación.

3.- Cálculo alternativo de la IFFT.

Realice los siguientes pasos.

a) Calculé FFT de la serie de tiempo discreto xo(k ) que fue usado en el ejercicio 2.

b) Intercambien las partes real e imaginaria de la señal transformada.

c) Transforme esta señal usando la FFT de nuevo.

Page 6: Practica01 Arturo

d) Intercambie las partes real e imaginarias de la señal resultante. ¿Por qué es la señal resultante (a excepción de un factor ) igual a la serie original ? xo(k ).

Figura 3.1. Cálculo alternativo de la IFFT.

En la figura 3.1. Se muestra los resultados de la aproximación de la IFFT, la diferencia del factor

entre la señal original y la aproximada es debida a la división 1N que es parte de la fórmula para el

cálculo de la IFFT.

4.- Algoritmo de traslape-suma

a) Escriba una función y = ovladd (x, h); que convolucione a la señal x con la respuesta al impulso h de un filtro FIR utilizando la convolución rápida. x y h deberan ser vectores columna (vectores columna se procesan más rápido en comparación con vectores fila, porque corresponden con las estructuras internas de Matlab).

b) Validar su recién función recientemente creada ovladd ().

Page 7: Practica01 Arturo

Cree una de señal de prueba compleja dada por x = randn (1e5, 1) + j * randn (1e5, 1);(vector columna) de longitud 100000.

-Además cree análogamente un vector columna h, hecho de 256 valores complejos números aleatorios. Este vector debe ser la respuesta al impulso de un sistema LTI.

Compare los resultados de una convolución con la función conv y los resultados que ustedConsigue con su función ovladd.

c) Comparar el tiempo de ejecución de las funciones conv y ovladd. Utilice las funciones tic y toc de Matlab para medir el tiempo de cómputo. Determinar el cociente QT = Tovladd / Tconv del esfuerzo computacional del algoritmo de traslape-suma y el esfuerzo de cálculo de la convolución directa calculada.

Discutir, ¿por qué hay menos ventaja del algoritmo de traslape-suma en comparación con laconvolución directa, conforme se puede esperar teóricamente.

0 2 4 6 8 10 12

x 104

-100

0

100

200Algoritmo de Traslape-suma

Muestras

0 2 4 6 8 10 12

x 104

-100

0

100

200Comando Conv(x,h)

Muestras

Tiempo de ejecución del Algoritmo y del comando

Algoritmo CONV(x,h) Sg Sg

Page 8: Practica01 Arturo

0.0519 0.0207

Calculando el cociente QT del esfuerzo computacional del algoritmo.QT =

2.5039

Q=0.1124

¿Por qué hay menos ventaja del algoritmo de traslape-suma en comparación con la convolución directa?

R= Es más ventajoso la convolucion directa debido a que el algoritmo de traslape –suma tiene que realizar la transformada de Fourier y la transformada inversa para la señal y el filtro h, además del tiempo que le lleva al ordenar y sumar los datos, esto le lleva más del doble del tiempo que en una convolucion directa.

Page 9: Practica01 Arturo

APENDICE:PROGRAMAS

1.

clear all;clcclose all;x=zeros(1,30);x1=zeros(1,30);x2=zeros(1,30);xd=x;k=1:16;x(1,k)=k+j.*(7-k);DFT=fft(x);DFTre=fft(real(x));DFTim=fft(imag(x));k1=k+4;k2=k+8;x1(1,k1)=k1+j.*(7-k1);x2(1,k2)=k2+j.*(7-k2);DTF1=fft(x1);DTF2=fft(x2);xd(1,k)=(k+j.*(7-k)).*(exp(-j*2*pi*3*k/16));DFTd=fft(xd);% a)Grafica parte real a imaginaria de x(k)figure; subplot(2,1,1);plot((real(DFT)));title('Real{X(n)}');xlabel('n');ylabel('amplitud');subplot(2,1,2);plot((imag(DFT)),'r');title('Im(X(n))');xlabel('n');ylabel('amplitud');% b)Grafica de la DFT re(x) e im(x)figure; subplot(2,1,1);plot(real(DFTre));title('DFT{Re{x(k)}}');xlabel('n');ylabel('amplitud');subplot(2,1,2);plot(imag(DFTim),'r');title('DFT{Im{x(k)}}');xlabel('n');ylabel('amplitud');% c)Desplazamiento con 4 y 8 figure; subplot(3,1,1);plot(abs(DTF1));title('DFT{x_1(k)}con \alpha =4');xlabel('n');ylabel('amplitud');subplot(3,1,2);plot(abs(DTF2),'g');title('DFT{x_1(k)} con \alpha =8');xlabel('n');ylabel('amplitud');subplot(3,1,3);plot(abs(DFT),'r'); title('X(n) original');xlabel('n');ylabel('amplitud');% d)Grafica de la DFT re(x) e im(x)figure; subplot(2,1,1);plot(abs(DFT));title('X(n)');xlabel('n'); ylabel('amplitud');subplot(2,1,2);plot(abs(DFTd),'r');title('X_2(n)');xlabel('n'); ylabel('amplitud');

2.-

clear all

Page 10: Practica01 Arturo

clcN=64;k=0:N-1;x=1-cos(2.*pi.*k./N);X=fft(x);xo=[x, zeros(1,N)];Xo=fft(xo);subplot(2,1,1)plot(abs(X))title('X(n) senal original')xlabel('n')ylabel('|X(n)|')grid onsubplot(2,1,2)plot(abs(Xo))title('Xo(n) senal con ceros')xlabel('n')ylabel('|Xo(n)|')grid on

3.-

clear allclcN=64;k=0:N-1;x=1-cos(2.*pi.*k./N);X=fft(x);xo=[x, zeros(1,N)];Xo=fft(xo);XR=real(Xo);XI=imag(Xo);yo=complex(XI,XR);Yo=fft(yo);XR=real(Yo);XI=imag(Yo);Xoo=complex(XI,XR);subplot(2,1,1)plot(xo,'LineWidth',2)title('Xo(k) senal original')xlabel('k')ylabel('X(k)')grid onsubplot(2,1,2)plot(abs(Xoo),'LineWidth',2)title('Xo(k) senal aproximada')xlabel('k')ylabel('Xo(k)')grid on

4.-

function Ys=ovladd(x,h)Nfft=2^(10); % 1024 valores para la FFT

Page 11: Practica01 Arturo

%x=x';m=length(h);%orden del filtroL=Nfft-m; %Loguitud de los bloques al ser convolucionado L=768R=ceil(length(x)/L); %Numero de Bloques R=131Lx=length(x);date=L*R; %total de datos a ajustar 100608if date> Lx xz=zeros(date,1); xz(1:Lx,1)=x;else xz=x;endH=fft(h,Nfft);xr=reshape(xz,L,R);Xr=fft(xr,Nfft); for i=1:R Hr(:,i)=H;endyr=ifft(Xr.*Hr);Y=zeros(length(xz)+m,1);for r=1:R Y((1:Nfft)+L*(r-1))=Y((1:Nfft)+L*(r-1))+yr(:,r);endYs(1:length(x)+m-1)=Y(1:length(x)+m-1);

clcclear all;close all;x=randn(1e5,1)+j*randn(1e5,1);h=randn(256,1)+j*(randn(256,1));tic;Y1=ovladd(x',h);AL(1)=toc;tic;Y2=conv(x',h);AL(2)=toc;figure; subplot(2,1,1);plot(real(Y1));title('Algoritmo de Traslape-suma');xlabel('Muestras');subplot(2,1,2);plot(real(Y2),'r');title('Comando Conv(x,h)');xlabel('Muestras');%Cociente QTQT=AL(1)/AL(2)Q=((1024*2761)+32750)/(131*194274);