Sei sulla pagina 1di 7

GUÍA DE TRABAJO Código FDE 048

INGENIERÍA DE Versión 03
TELECOMUNICACIONES Fecha 2009-06-09

1 IDENTIFICACIÓN

Asignatura Procesamiento de Señales I Guía No. 04


Área Tecnología Aplicada Nivel 09
Código PST 93 Pensum 11
Correquisito(s) Prerrequisito(s) MET 83
Créditos 4 TPS 4 TIS 8 TPT 64 TIT 128
TRABAJO INDEPENDIENTE TRABAJO PRESENCIAL
Trabajo Trabajo Trabajo Trabajo
X
Teórico Práctico Teórico Práctico

2 IDENTIFICACIÓN

CONTENIDO INDICADOR DE LOGRO


COMPETENCIAS
TEMÁTICO
Escribir rutinas en
lenguaje M para gráfica
de espectros de Fourier
de señales deterministas Espectro de Fourier Determina la energía
contenida en un ancho de
Diseñar una rutina en Muestreo espectral banda de una señal
lenguaje M para calcular arbitraria mediante métodos
la energía de una señal Teorema de Parseval computacionales
mediante aproximaciones
iterativas usando el
teorema de Parseval

3 RECURSOS REQUERIDOS

 Equipo de cómputo:
 Octave o Matlab, TheMathworks Inc.

4 PROCEDIMIENTO

4.1 Espectro de Fourier

A continuación se grafica el espectro de magnitud y fase de la señal 𝑥(𝑡) = 𝑒 −2𝑡 𝑢(𝑡)

t=linspace(-1,5,1000);
omega=linspace(0,100,1000);
x=exp(-2*t).*(t>=0);
fmagnitud=1./sqrt(2^2+omega.^2);
subplot(2,2,[1 2])
plot(t,x)
xlabel('t');ylabel('x(t)=e^{-at}u(t)')
subplot(224)
plot(omega,-atan(omega/2),'--r')
xlabel('\omega');ylabel('Fase')

Página 1 de 7
GUÍA DE TRABAJO Código FDE 048
INGENIERÍA DE Versión 03
TELECOMUNICACIONES Fecha 2009-06-09

subplot(223)
plot(omega,fmagnitud)
xlabel('\omega');ylabel('|X({\omega})|')

Ahora se analizará una señal rectangular genérica 𝑥(𝑡) = 𝑟𝑒𝑐𝑡(𝑡⁄𝜏). En este caso:
𝑋(𝜔) = 𝜏𝑆𝑎(𝜔𝜏⁄2)
Cuando Matlab/Octave tiene instalada la libería de procesamiento de señales, se puede
disponer de la función 𝑠𝑖𝑛𝑐(𝑡):

Sin embargo, en caso de no contar con la librería en cuestión, debe generarse la función:

function [y]=sa(x)

y=ones(size(x));
i=find(x~=0);
y(i)=sin(x(i))./x(i);

De la misma forma, puede generarse la función pulso rectangular para graficarla en el


tiempo y compararla con su comportamiento en la frecuencia:

function [y]=rectangulo(x,tau)

y=ones(size(x));
y=[x>=-tau/2]-[x>=tau/2];

Ahora sí, se procede a graficar tanto la función como su transformada de Fourier:

close all; clear; clc

Página 2 de 7
GUÍA DE TRABAJO Código FDE 048
INGENIERÍA DE Versión 03
TELECOMUNICACIONES Fecha 2009-06-09

% Señal en el tiempo
x=inline('rectangulo(t,tau)','t','tau');

t=linspace(-2,2,500);

subplot(211)
plot(t,x(t,1),...
t,x(t,.5),'g',...
t,x(t,2),'r')
grid on; axis tight;xlabel('t');ylabel('x(t)');
legend('\tau =1','\tau =0.5','\tau =2')
title('x(t)=rect(t/{\tau})')
axis([min(t) max(t) -.2 1.2])

%Transformada de Fourier

X=inline('tau*sa(omega*tau/2)','omega','tau');

omega=linspace(-4*pi,4*pi,200);

subplot(212)
plot(omega,X(omega,1),...
omega,X(omega,.5),'g',...
omega,X(omega,2),'r')
grid on; axis tight;xlabel('\omega');ylabel('X(\omega)');
legend('\tau =1','\tau =0.5','\tau =2')
title('X(\omega)={\tau}Sa({\omega}{\tau}/2)')

Observe que una contracción en el tiempo ocasiona una dilatación en la frecuencia y


viceversa.

4.2 Muestreo espectral


1
Recuerde que 𝑐𝑛 = 𝑋(𝜔), por lo que los coeficientes de la serie de Fourier de 𝑥(𝑡) =
𝑇

𝑟𝑒𝑐𝑡(𝑡⁄𝜏) están dados por:


𝜏 𝑛𝜔 𝜏 𝜏
𝑐𝑛 = 𝑆𝑎( 0 ⁄2) = 𝑆𝑎 (𝑛𝜋𝜏⁄𝑇 )
𝑇0 𝑇0 0

tau=pi;T_0=2*pi;n=[0:10];
C_n=tau/T_0*sa(n*pi*tau/T_0);
stem(n,C_n);xlabel('n');ylabel('C_n')
title(['Espectro de Fourier para {\tau}=',...
num2str(tau),', y T_0=',num2str(T_0)])

Página 3 de 7
GUÍA DE TRABAJO Código FDE 048
INGENIERÍA DE Versión 03
TELECOMUNICACIONES Fecha 2009-06-09

►Evalúe con 𝑇0 = 4𝜋 y 100𝜋 (debe aumentar también el tiempo de muestreo n).

Nota: a medida que aumenta el período, el muestreo espectral se observa más fino, es
decir, la resolución frecuencial mejora. Si el período es igual a 𝜏, toda la energía estará
concentrada en 𝑐𝑛 = 0, es decir, será una señal en DC.

4.3 Teorema de Parseval

Recuerde que el teorema de energía de Parseval dice que:


1 ∞
𝐸 = ∫ 𝑥 2 (𝑡)𝑑𝑡 = ∫ |𝑋(𝜔)|2 𝑑𝜔
−∞ 2𝜋 −∞

De esta manera, la energía de la señal 𝑟𝑒𝑐𝑡(𝑡⁄𝜏 ) se puede hallar resolviendo la integral:

1 ∞ 2
∫ (𝜏𝑆𝑎(𝜔𝜏⁄2)) 𝑑𝜔
2𝜋 −∞
Matlab/Octave permite calcular integrales simbólicas, siempre y cuando cuente con esta
librería.
La sintaxis int(S,v), retorna la integral indefinida de S con respecto a la variable simbólica
v.
La sintaxis int(S,v,a,b) retorna la integral de S con respecto a la variable simbólica v desde
a hasta b.
En este caso, los valores a y b deben ser numéricos y no simbólicos

2
Por ejemplo, para hallar la integral ∫−2 𝑥 𝑛 𝑑𝑥

syms x n
int(x^n,x,-2,2)

ans =

2^(n+1)*(1+(-1)^n)/(n+1)

Página 4 de 7
GUÍA DE TRABAJO Código FDE 048
INGENIERÍA DE Versión 03
TELECOMUNICACIONES Fecha 2009-06-09

Para verlo de una mejor forma:


>> pretty(int(x^n,x,-2,2))

(n + 1) n
2 (1 + (-1) )
--------------------
n+1

Por ejemplo, para hallar la integral ∫ 𝑠𝑒𝑛(2𝑥)𝑑𝑥

>> int(sin(2*x))

ans =

-1/2*cos(2*x)

De esta forma, para la señal que interesa se resuelve


1 ∞ 2
∫ (𝜏𝑆𝑎(𝜔𝜏⁄2)) 𝑑𝜔
2𝜋 −∞
>> syms tau omega
>> x=int(tau*(sin(omega*tau/2))^2/(omega*tau/2)^2,omega,-inf,inf)

x=

2*csgn(tau)*pi

Por lo tanto,
1 ∞ 2
𝐸= ∫ (𝜏𝑆𝑎(𝜔𝜏⁄2)) 𝑑𝜔 = 𝑐𝑠𝑔𝑛(𝜏)
2𝜋 −∞
Donde 𝑐𝑠𝑔𝑛(𝑥) es la función signo complejo de x, definida como :
1 𝑠𝑖 𝑅𝑒(𝑥) > 0, 𝑜 𝑠𝑖 𝑅(𝑥) = 0 𝑒 𝐼𝑚(𝑥) > 0
𝑐𝑠𝑔𝑛(𝑥) = {
−1 𝑠𝑖 𝑅𝑒(𝑥) < 0, 𝑜 𝑠𝑖 𝑅(𝑥) = 0 𝑒 𝐼𝑚(𝑥) < 0
En este caso 𝜏 es un valor real, por lo que se puede decir que:

Página 5 de 7
GUÍA DE TRABAJO Código FDE 048
INGENIERÍA DE Versión 03
TELECOMUNICACIONES Fecha 2009-06-09

𝐸=𝜏

También se puede aprovechar la función sa.m que se había realizado anteriormente,


mediante el comando inline y el comando quad (evalúa una integral numéricamente
mediante el método de Simpson).
Sin embargo, la mayor utilidad no consiste en hallar la energía total sino el ancho de
banda que aporta una cantidad específica de energía, problema que se puede expresar
como la solución de la integral:
1 𝑊
𝐸= ∫ |𝑋(𝜔)|2 𝑑𝜔 = 𝛽𝜏
2𝜋 −𝑊
Donde 𝛽 indica el porcentaje de energía que se quiere hallar, y 𝑊 representa el límite de
frecuencias del ancho de banda de interés.

function [W,E_W]=parseval(tau,beta,tol)

%Esta función sirve para hallar el ancho de banda para


%determinados valores de energía en una señal rectangular genérica

W=0;
E_W=0;
step=2*pi/tau; %pasos en el dominio de la frecuencia

X_2=@(omega,Tau) (Tau*sa(omega*Tau/2)).^2;

E=beta*tau; % Porcentaje deseado de energía

errel=(E-E_W)/E; %Error relativo inicial = 1 (100%)

while(abs(errel)>tol)
if (errel>0)
W=W+step;
elseif (errel<0)
step=step/2;
W=W-step;
end
E_W=1/(2*pi)*quad(@(omega) X_2(omega,tau),-W,W);
errel=(E-E_W)/E;
end

Nota: El Matlab conviene usar el comando integral en lugar de quad, pues este último será
eliminado en futuras versiones. En Octave se debe usar quad.

Página 6 de 7
GUÍA DE TRABAJO Código FDE 048
INGENIERÍA DE Versión 03
TELECOMUNICACIONES Fecha 2009-06-09

► Ejecute el programa paso a paso si se busca hallar el ancho de banda que proporciona
el 85% de la energía de una señal rectangular con 𝜏 = 50. Se admite una tolerancia del
0.5%.

► Modifique el programa de tal forma que solo ejecute un ciclo de iteración cuando se
presiona enter. En cada ciclo de iteración debe actualizar el título de tal forma que se
visualice: Número de iteración, ancho de banda actual, energía actual, energía deseada y
error. Debe además mostrar líneas verticales en las frecuencias que constituyen el ancho
de banda en cada iteración.

5 PARÁMETROS PARA ELABORACIÓN DEL INFORME

El presente laboratorio no requiere elaboración de informe.

6 BIBLIOGRAFÍA

LATHI, B. P. (2005). Linear systems and signals. 2 ed. New York: Oxford University
Press. ISBN 139780195158335

Elaborado por: Sebastián Roldán Vasco


Versión: 1.0
Fecha: 25 de julio de 2017
Aprobado por: Héber Augusto López Osorio

Página 7 de 7

Potrebbero piacerti anche