Descargar

Laboratorio Matlab

Enviado por hernando299


    Informe

    1. %Se desea generar 2 periodos de una sinosoide con una F=200Hz, muestreada a 1Khz

      clc

      clear

      n=0:9;

      Fm=1000;

      Fa=200;

      x=cos(2*pi*Fa*n/Fm);

      stem(n,x)

      title('señal muestreada a 1Khz')

      xlabel('n')

      ylabel('x(n)')

      grid on

    2. Se desea generar dos periodos de una sinusoide analógica de amplitud 1 y frecuencia 200Hz, muestreada a 1KHz.

      %Se desea generar 2 periodos de una sinosoide con una F=1200Hz, muestreada a 1Khz

      clc

      clear

      n=0:9;

      Fm=1000;

      Fa=1200;

      x=cos(2*pi*Fa*n/Fm);

      stem(n,x)

      title('señal muestreada de 1.2Khz')

      xlabel('n')

      ylabel('x(n)')

      grid on

      Para ver el gráfico seleccione la opción "Descargar" del menú superior

    3. Realice la misma operación, pero ahora la sinusoide a muestrear es de 1.2KHz.

      %Superporcision de dos señales

      clc

      clear

      n=0:9;

      Fm=1000;

      Fa=200;

      Fa1=1200;

      x=cos(2*pi*Fa*n/Fm);

      xx=cos(2*pi*Fa1*n/Fm);

      plot(n,x,'o',n,xx,'+')

      legend('Fa=200hz','Fa1=1200')

      xlabel('n')

      ylabel('x(n)')

      grid on

      Para ver el gráfico seleccione la opción "Descargar" del menú superior

      clc

      clear

      n=0:9

      t=0:0.1:9;

      Fa1=200;

      Fa2=1200;

      Fs=1000;

      xt1=cos(2*pi*Fa1*t/Fs);

      xt2=cos(2*pi*Fa2*t/Fs);

      x1=cos(2*pi*Fa1*n/Fs);

      x2=cos(2*pi*Fa2*n/Fs);

      plot(t,xt1,'b-',t,xt2,'r:',n,x1,'go',n,x2,'k+')

      xlabel('n')

    4. Superponga sobre la grafica obtenida en el apartado 1.63 los puntos obtenidos en el ejercicio 1.62. ¿Qué ocurre?, ¿qué consecuencias se pueden sacar de las graficas?

      clc

      clear

      N=1000;

      n=0:N-1;

      Fa=100;

      Fm=1000;

      x=cos(2*pi*Fa*n/Fm);

      plot(-N/2:N/2-1,abs(fftshift(fft(x))))

      title('ESPECTRO DE LA SEÑAL MUESTREADA A 1000 Hz')

      xlabel('FRECUENCIA(Hz)')

      Para ver el gráfico seleccione la opción "Descargar" del menú superior

    5. Genere la serie obtenida al muestrear una sinusoide de 100Hz y amplitud unidad con un periodo de muestreo de 1ms durante un segundo. Represente el espectro de la señal usando la instrucción abs(fft(y)). Comente el resultado.

      clc

      clear

      N=1000;

      n=0:N-1;

      Fa=[100,200,600,2100];

      Fm=1000;

      x=cos(2*pi*Fa'*n/Fm)

      x=sum(x);

      plot(-N/2:N/2-1, abs(fftshift(fft(x))));

      title('ESPECTRO DE LA SEÑAL COMPUESTA POR 4 SINUSOIDES MUESTREADA A 1000 Hz')

      xlabel('frecuencia')

      Para ver el gráfico seleccione la opción "Descargar" del menú superior

    6. Repita el apartado anterior pero ahora la señal a muestrear es la suma de cuatro sinusoides de amplitud 1 y frecuencias 100, 200, 600 y 1200 Hz.

      clc

      clear

      N=1000;

      n=0:N-1;

      Fa=[100,200,600,1900];

      Fm=1000;

      x=cos(2*pi*Fa'*n/Fm)

      x=sum(x);

      %GRAFICA CON FUNCION SENO

      xx=sin(2*pi*Fa'*n/Fm)

      xx=sum(xx);

      subplot(211)

      plot(-N/2:N/2-1, abs(fftshift(fft(x))));

      title('a')

      xlabel('frecuencia')

      subplot(212)

      plot(-N/2:N/2-1, abs(fftshift(fft(xx))));

      title('b')

      xlabel('frecuencia')

      Para ver el gráfico seleccione la opción "Descargar" del menú superior

    7. Repita el apartado anterior pero sustituyendo la frecuencia de 2100Hz por una de 1900Hz. ¿Obtendriamos el mismo resultado si hubiesemos generado las señales con función seno?
    8. Genere una señal cuadrada de 1000puntos con una frecuencia de 150Hz y muestreada a 1000Hz. Represente el espectro de la señal.

    clc

    clear

    N=1000;

    n=0:N-1;

    F=150;

    Fm=1000;

    x=square(2*pi*F*n/Fm);

    subplot(211)

    stem(n(1:50),x(1:50))

    xlabel('n')

    ylabel('x(n)')

    title('(a)')

    subplot(212)

    plot(-N/2:N/2-1, abs(fftshift(fft(x))));

    xlabel('(b)')

    Para ver el gráfico seleccione la opción "Descargar" del menú superior

    1.70 La siguiente ecuación en diferencias recursiuva permite calcular el valor de la raiz cuadrada de A, tomando como condicion inicial x(-1)…

    clear

    A=2;

    valor_exacto=sqrt(2);

    n=1;

    x(n)=1; %condicion inicial

    error=1/10000;

    while(abs(x(n)-valor_exacto)>=error)

    n=n+1;

    x(n)=0.5*(A/x(n-1));

    end

    %cuantizacion ii)

    clear

    A=2;

    m=5;

    valor_exacto=sqrt(A);

    n=1;

    N=10 %numero de iteraciones

    x(:,n)=[1,1,1,1,1]'; %condicion inicial

    j=1;

    for(bits=[4,5,6,8,12])

    for(n=2:N)

    x(j,n)=cuanti(0.5*(A/x(j,n-1)+x(j,n-1)),bits,m);

    end

    j=j+1;

    end

    n=1:N;

    plot(n,x(1,:),'k-',n,x(2,:),'k:',n,x(3,:),'k.-',n,x(4,:),'k–',n,x(5,:),'k-')

    legend('b=4 valor=' num2str(x(1,N))],['b=5 valor=' num2str(x(2,N))], dots ['b=6 valor=' num2str(x(3,N))],['b=8 valor=' num2str(x(4,N))],dots ['b=12 valor=' num2str(x(5,N))])

    xlabel('Iteracion')

    ylabel('Valor aproximado de la raíz')

    1.71

    %sistema 2

    clear

    close all

    N=100;

    x1=sin(2*pi*0.1*(0:N-1));

    x2=sin(2*pi*0.3*(0:N-1));

    alfa=3;

    beta=0.5;

    x3=alfa*x1+beta*x2;

    x4=[1 zeros(1,N-1];

    ret=5;

    x5=[zeros(1,ret) x1(1:N-ret)];

    y1(1)=x1(1);

    y2(1)=x2(1);

    y3(1)=x3(1);

    y4(1)=x4(1);

    y5(1)=x5(1);

    for(n=2:N)

    y1(n)=((n-1)/n)*y1(n-1)+x1(n)/n;

    y2(n)=((n-1)/n)*y2(n-1)+x2(n)/n;

    y3(n)=((n-1)/n)*y3(n-1)+x3(n)/n;

    y4(n)=((n-1)/n)*y4(n-1)+x4(n)/n;

    y5(n)=((n-1)/n)*y5(n-1)+x5(n)/n;

    end

    plot(y3,'ro')

    title('Linealidad del sistema 2')

    hold on

    plot(alfa*y1+beta*y2,'g*');

    xlabel('n')

    disp('Pulse una tecla')

    pause

    clf

    stem(y4,'r')

    title('Estabilidad del sistema 2')

    xlabel('n')

    disp('Pulse una tecla') %Generacion de la señal

    n=0:99;

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

    %Cálculo de la autocorrelacion

    y=xcorr(x,'coeff');

    %Representacion de las dos señales

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

    subplot(212),stem(y,'k'),title('(b)')

    xlabel('Muestras')

    pause

    clf

    plot(y5,'ro')

    title('Invarianza temporal sistema 2')

    xlabel('n')

    hold on

    plot([zeros(1,ret) y1(1:N-ret)],'g*');

    xlabel('n')

    disp('Pulse una tecla')

    pause

    1.72

    %Generacion de la señal

    n=0:99;

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

    %Cálculo de la autocorrelacion

    y=xcorr(x,'coeff');

    %Representacion de las dos señales

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

    subplot(212),stem(y,'k'),title('(b)')

    xlabel('Muestras')

    Para ver el gráfico seleccione la opción "Descargar" del menú superior

    RIGOBERTO HERNANDO OLARTE

    ING Mecatronico. BUCARAMANGA – SANTANDER – COLOMBIA

    UNIVERSIDAD SANTO TOMAS DE AQUINO

    FACULTAD DE INGENIERIA DE TELECOMUNICACIONES

    AREA DE PROCESAMIENTO DIGITAL DE LA SEÑAL

    BUCARAMANGA, MARZO 06 DE 2004