laboratorio 1 procesamiento digital de señales

11
Abstract - Management tools such as Matlab for the engineer is indisputably necessary in view of the many applications we have with this tool. For digital signal processing using Matlab become even more essential, because their multiple tools such as Simulink and facilities that are in programming allow a comprehensive management and signal processing Resumen —El manejo de herramientas como Matlab para el ingeniero es indiscutiblemente necesario teniendo en cuenta las múltiples aplicaciones que se tienen con esta herramienta. Para el procesamiento digital de señales el uso de Matlab se vuelven aún más imprescindible, debido a que sus múltiples herramientas como simulink y las facilidades que se tienen en la programación permiten un amplio manejo y tratamiento de señales. I. INTRODUCCIÓN Es necesario adquirir el conocimiento de herramientas de software y las habilidades de manejo de los diferentes comandos, para así poder generar señales de diferentes tipos en el dominio del tiempo y para diferentes valores de sus parámetros. El ingeniero de telecomunicaciones debe manejar diferentes tipos de señales y sus parámetros en las diversas aplicaciones que dentro de su carrera se presentan II.OBJETIVOS a) Generar señales continuas y discretas, utilizando herramientas computacionales como Matlab. b) Reconocer los diferentes comandos y utilidades del software matlab. c) Analizar el comportamiento de las señales III. PROCEDIMIENTO Utilizar los siguientes programas en Matlab para generar señales fundamentales y realizar los ejercicios propuestos al final. SEÑAL SENO Código: Gráfica x=linspace(-2*pi,2*pi,50); y=sin(x); z=sin(x-(pi/2)) plot(x,y) hold plot(x,z,'red') title('Grafica de la funcion seno'); grid Laboratorio de Procesamiento Digital de Señales No. 1 INTRODUCCIÓN AL PROCESAMIENTO DE SEÑALES CON MATLAB Arévalo Arias Nelson, [email protected] Universidad Militar Nueva Granada 1

Upload: enrike-arevalo

Post on 11-Jan-2016

7 views

Category:

Documents


0 download

DESCRIPTION

Laboratorio que orienta los principios basico de procesamiento digital de señales,

TRANSCRIPT

Page 1: Laboratorio 1 Procesamiento Digital de Señales

Abstract - Management tools such as Matlab for the engineer is indisputably necessary in view of the many applications we have with this tool. For digital signal processing using Matlab become even more essential, because their multiple tools such as Simulink and facilities that are in programming allow a comprehensive management and signal processing

Resumen —El manejo de herramientas como Matlab para el ingeniero es indiscutiblemente necesario teniendo en cuenta las múltiples aplicaciones que se tienen con esta herramienta. Para el procesamiento digital de señales el uso de Matlab se vuelven aún más imprescindible, debido a que sus múltiples herramientas como simulink y las facilidades que se tienen en la programación permiten un amplio manejo y tratamiento de señales.

I. INTRODUCCIÓN

Es necesario adquirir el conocimiento de herramientas de software y las habilidades de manejo de los diferentes comandos, para así poder generar señales de diferentes tipos en el dominio del tiempo y para diferentes valores de sus parámetros. El ingeniero de telecomunicaciones debe manejar diferentes tipos de señales y sus parámetros en las diversas aplicaciones que dentro de su carrera se presentan

II. OBJETIVOS

a) Generar señales continuas y discretas, utilizando herramientas computacionales como Matlab.

b) Reconocer los diferentes comandos y utilidades del software matlab.

c) Analizar el comportamiento de las señales

III. PROCEDIMIENTO

Utilizar los siguientes programas en Matlab para generar señales fundamentales y realizar los ejercicios propuestos al final.

SEÑAL SENO

Código:

Gráfica

Figura 1: Gráfica Señal Senoidal

Análisis:

Para la generación de la grafica senoidal, sencillamente se debe tener en cuenta la amplitud de la señal, el período con el cual se desea graficar y finalmente el desplazamiento de la misma en el tiempo.

x=linspace(-2*pi,2*pi,50); y=sin(x); z=sin(x-(pi/2)) plot(x,y) hold plot(x,z,'red') title('Grafica de la funcion seno'); grid

Laboratorio de Procesamiento Digital de Señales No. 1

INTRODUCCIÓN AL PROCESAMIENTO DE SEÑALES CON MATLAB

Arévalo Arias Nelson, [email protected]

Universidad Militar Nueva Granada

1

Page 2: Laboratorio 1 Procesamiento Digital de Señales

SEÑAL CUADRADA

Código:

Gráfica

Figura 2: Gráfica Señal Cuadrada

Análisis:

Para la generación de la grafica de una señal cuadrada, se usa el comando Square, donde especificamos la amplitud de la señal con “A” y la Frecuencia de la misma con “Wo” multiplicado por el vector tiempo y sumando el ciclo útil rho.

SEÑAL TRIANGULAR

Código: Gráfica

%Generación de ondas cuadradas A= 1; %Amplitud de la señal, entre 1 y 5f= 2000;B=20;C=1;wo=B*pi;%Frecuencia de la señal en rad/s.B=2*f %donde f es la %frecuencia en cps.rho=0.5; %(<1)Ciclo útil del __% -valor entre 0.1 y <1t=0:0.001:C;%Rango de tiempo a trabajar según el número de ciclos a %observar.cuadrada=A*square(wo*t+rho);%Utilización del comando square, plot(t,cuadrada); %Dibujo de señal cuadrada,grid;%Se coloca retícula a la gráfica.axis([0,1,-3,3]);title('Onda cuadrada de',f,'cps y ciclo útil de 0.5')ylabel('Amplitud en v'); xlabel('Tiempo en s');

2

Page 3: Laboratorio 1 Procesamiento Digital de Señales

Figura 3: Gráfica Señal Triangular

Análisis:

Para la generación de la grafica de una señal triangular, se usa el comando Sawtooth, donde especificamos la amplitud de la señal con “A” y la Frecuencia de la misma con “Wo” multiplicado por el vector tiempo y sumando la fase correspondiente a theta.

SEÑAL CUADRADA DISCRETA

Código: Gráfica

Figura 4: Gráfica Señal Cuadrada Discreta

%Generación de señal triangular A=1 ; % Amplitud de la señal, entre 1 y 5B=20 ;wo=B*pi;% Frecuencia de la señal en rad/s.B=2*f %donde f es la frecuencia en cps.D=1;theta= 0.5; %Fase,t=0:0.001:D;%Rango de tiempo a trabajar según el número de ciclos a%observar.trian=A*sawtooth(wo*t+theta);%Utilización de comando sawtooth,plot(t,trian)gridtitle('Onda triangular ')ylabel('Amplitud en Voltios');% Usted define unidadesxlabel('Tiempo en s');

%Generación de onda cuadrada discretaA=1; % Amplitud de la señal, entre 1 y 5omega=pi/B;% Frecuencia de la señal en rad/s.B=2*f ; %f es la frecuencia en cps.rho= 0.5; %Ciclo útil del 50%,D=10;n=-D:1:D;%Rango de muestras a observarx=A*square(omega*n+rho);%Vector donde se guardan muestrasstem(n,x);%Comando para desplegar señales discretasgridaxis([-10,10,-2,2]);title('Onda cuadrada discreta ')ylabel('Amplitud en V'); xlabel('Tiempo en s');

3

Page 4: Laboratorio 1 Procesamiento Digital de Señales

Análisis:

Para la generación de la grafica de una señal cuadrada, se usa el comando square, donde especificamos la amplitud de la señal con “A” y la Frecuencia de la misma con “Omega” multiplicado por el vector tiempo y sumando el ciclo útil rho. Para graficar en tiempo discreto en vez de usar el comando “plot” se usa “stem”.

ONDA EXPONENCIAL CONTINUA

Código: Gráfica

Figura 5: Gráfica onda exponencial continua.Análisis:

Para la generación de la grafica de una onda exponencial, se usa el comando exp para expresar euler, multiplicamos por la amplitud “A” y dentro de paréntesis se especifica el coeficiente de amortiguamiento e incluimos el vector tiempo al cual se va a elevar la función.

ONDA EXPONENCIAL DISCRETA

Código:

Gráfica

Figura 6: Gráfica onda exponencial discreta.

%Onda exponencial continuaA=1 ; %Amplitud de la señal, entre 1 y 5B= 2;%Coeficiente de amortiguamiento, entre 1 y 10C=1;t=0:0.001:C; %Rango de tiempo a trabajar según el número de ciclos %a observary=A*exp(-B*t);%uso de comando exp,plot(t,y)gridtitle('Onda exponencial continua')ylabel('Amplitud en Voltios');xlabel('Tiempo en Segundos');

%Onda exponencial discretaA= 1; % Amplitud de la señal, entre 1 y 5B= 0.5;%Variable (<1),n=-10:1:10;% Rango de número de muestras a observarx=A*B.^n;%El punto (.) se usa para el cálculo de elemento por%elemento,stem(n,x)gridtitle('Onda exponencial discreta')ylabel('Amplitud en Voltios'); xlabel('Tiempo en s');

4

Page 5: Laboratorio 1 Procesamiento Digital de Señales

Análisis:

Para la generación de la gráfica de una onda exponencial discreta se multiplican sucesivamente elemento por elemento un valor A por una variable B, elevada a la n, correspondiente a un vector igual al número de muestras a graficar.

ONDA SENO MUESTREADA

Código: Gráfica

Figura 7: Gráfica onda seno muestreda.

Análisis:

Para la generación de la gráfica de una onda senoidal discreta se usa una función cosinoidal, multiplicada por la amplitud, dentro de la función se multiplica la frecuencia omega por el vector y se suma la fase.

OPERACIÓN CON SEÑALES

%Onda seno muestreadaA=1% Amplitud de la señal, entre 1 y 5f=10;C=100;B=2*f% donde f es la frecuencia en cps.omega=2*pi/B;% Frecuencia de la señal en rad/s. phi=C ;%Fase (inicial de cero)n=-D:D;%Por omisión la muestra se toma cada unidady=A*cos(omega*n+phi)stem(n,y)gridtitle('Onda seno muestreada')ylabel('Amplitud en Voltaje'); xlabel('Tiempo en S');

5

Page 6: Laboratorio 1 Procesamiento Digital de Señales

Código: Gráfica

Figura 7: Gráfica onda exponencialmente decreciente.

Análisis:

Para la generación de la gráfica de una onda senoidal exponencialmente se opera una onda senoidal con una señal exponencial con el fin de que paulatinamente la señal senoidal se desvanezca de manera exponencial

ESCALON DISCRETO

Código:

Gráfica

Figura 8: Gráfica escalón discreto.

Análisis:

%Operación con señales. Onda seno exponencialmente decrecienteA=1 ;% Amplitud de la señal, entre 1 y 5f=100;E=1;wo=B*pi;% Frecuencia de la señal en rad/s.B=2*f %donde f es lafrecuencia en cps.phi=D;C=6;t=0:0.001:E; %Rango de tiempo a trabajar según el número de ciclos a%observar.senexp=A*sin(wo*t+phi).*exp(-C*t)plot(t,senexp)gridtitle('Onda seno exponencialmente decreciente')ylabel('Amplitud en voltios'); xlabel('Tiempo en segundos')

%Escalón discretou=[zeros(1,A),ones(1,A)]; %Se definen vectores de tamaño A(>10)n=0:2*A-1;stem(n,u)gridaxis([0,2,0,2]);title('Escalón discreto')ylabel('Amplitud en Voltios'); xlabel('Tiempo en segundos');

6

Page 7: Laboratorio 1 Procesamiento Digital de Señales

Para generar la gráfica del escalón discreto, es necesario declarar vectores zeros y ones, luego se grafican desde 0 hasta A-1 para poder visualizar el escalon unitario

IMPULSO DISCRETO

Código: Gráfica

Figura 9: Gráfica impulso discreto.

Análisis:

Para generar la gráfica del impulso discreto, es necesario declarar vectores zeros y ones, luego se grafican desde 0 hasta A-1.

PULSO CENTRADO EN EL ORIGEN

Código:

Gráfica

Figura 10: Pulso centrado en el origen.Análisis:

% Impulso discretodelta=[zeros(1,B),1,zeros(1,B)]; %Se definen vectores de tamaño%B(>10)n=0:2*(B+1)-2;stem(n,delta)gridaxis([150,250,-1,1.5]);title('Impulso discreto')ylabel('Amplitud en Voltios');xlabel('Tiempo en s');

%Operación con señales. Onda seno exponencialmente decrecienteA=1 ;% Amplitud de la señal, entre 1 y 5f=100;E=1;wo=B*pi;% Frecuencia de la señal en rad/s.B=2*f %donde f es lafrecuencia en cps.phi=D;C=6;t=0:0.001:E; %Rango de tiempo a trabajar según el número de ciclos a%observar.senexp=A*sin(wo*t+phi).*exp(-C*t)plot(t,senexp)gridtitle('Onda seno exponencialmente decreciente')ylabel('Amplitud en voltios'); xlabel('Tiempo en segundos')

% Pulso centrado en el orígent=-1:1/500:1; %Rango de tiempo a trabajar según lo que se desea observar.u1=[zeros(1,250),ones(1,751)];u2=[zeros(1,751),ones(1,250)];u=u1-u2;plot(t,u)gridaxis([-1,1,0,1.5]);title('Pulso centrado en el origen')ylabel('Amplitud en v'); xlabel('Tiempo en s');

7

Page 8: Laboratorio 1 Procesamiento Digital de Señales

Para la generación de un pulso centrado, en el origen, se usan dos vectores que se restan para permitir la formación del pulso en un Δt.

Graficar:

a) Ae−t−Be−0.5 t para0< t<5

Código:

Figura 11: Ae−t−Be−0.5 t para0< t<5

a) Ae−t+Ce−0.5 t para0< t<5

b) x (t )=Cseno (2 π∗1000 t− πD )∗e−at

Código:

Graficas

Figura 12: x (t )=Cseno (2 π∗1000 t− πD )∗e−at

, con

a=5

A=6;%valor de AB=3;%valor de Ba=1;%valor multiplicativo de la exponencialb=0.5;%valor multiplicativo de la exponencialt=0:0.01:5;%intervalo de tiempoA1=A*exp(-a*t);%exponencial de AB2=B*exp (-b*t);%exponencial de Bxt=A1-B2;%funcion x(t)plot(t,xt);

C= 30;w0 = 2 * pi;% Frecuencia de la señalt=-2:0.01:2; % rango de tiempoD=7;phi = 1000*t-pi/D;a = 5; % Amplitudexpsen = C * cos( w0 * t + phi) .* exp ( -a * t); % funcionplot(t,expsen);

8

Page 9: Laboratorio 1 Procesamiento Digital de Señales

Figura 13: x (t )=Cseno (2 π∗1000 t− πD )∗e−at

, con

a=4

Figura 14: x (t )=Cseno (2 π∗1000 t− πD )∗e−at

, con

a=2

Figura 15: x (t )=Cseno (2 π∗1000 t− πD )∗e−at

, con

a=1

Para el siguiente programa; a. Trazar diagrama de flujo (Observe que es una función)b. Una vez probada guardarla en al directorio de matlab con la extensión .mc. De acuerdo con la función, emplearla en un nuevo programa para generar la señal correspondiente.

Codigo implementado para la función:(los valores para a,b,delta y x se asignaron mediante linea de comandos).

function Punto11(x,a,b,delta) % a=-1;% b=1;% delta=500;% x=10;g=zeros(size(x));set1=find(abs(x)<=0.5)g(set1)=ones(size(set1))x=a:1/delta:b;plot(x,g, 'r');gridtitle('Onda ')ylabel('Amplitud en V'); xlabel('Tiempo en s'); end

9

Page 10: Laboratorio 1 Procesamiento Digital de Señales

Figura 15: Grafica de función impulso generada por Matlab

Diagrama

I. CONCLUSIONES

Esta actividad permite identificar diversas maneras de procesar las señales digitales mediante el programa Matlab, además como herramienta de análisis simplifica la solución de problemas y permite identificar los cambios en diferentes tipos de sistemas si se modifican variables o componentes.

10