0% encontró este documento útil (0 votos)
25 vistas11 páginas

TC Practica1

La práctica 1 del curso de Teoría de la Comunicación en la Escuela Politécnica Superior se centra en la representación de señales utilizando MATLAB, con el objetivo de familiarizar a los estudiantes con las simulaciones de sistemas de comunicación. Se abordan conceptos teóricos sobre señales definidas en energía y potencia, así como la aplicación de la transformada de Fourier y su implementación en MATLAB. Los estudiantes deben realizar ejercicios prácticos y entregar resultados para su evaluación, asegurando la comprensión de los métodos de representación de señales.

Cargado por

aliciiaacm
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
25 vistas11 páginas

TC Practica1

La práctica 1 del curso de Teoría de la Comunicación en la Escuela Politécnica Superior se centra en la representación de señales utilizando MATLAB, con el objetivo de familiarizar a los estudiantes con las simulaciones de sistemas de comunicación. Se abordan conceptos teóricos sobre señales definidas en energía y potencia, así como la aplicación de la transformada de Fourier y su implementación en MATLAB. Los estudiantes deben realizar ejercicios prácticos y entregar resultados para su evaluación, asegurando la comprensión de los métodos de representación de señales.

Cargado por

aliciiaacm
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Escuela Politécnica Superior

Departamento de Fı́sica, Ingenierı́a de Sistemas y Teorı́a de la Señal

Grado en Ingenierı́a en Sonido e Imagen en Telecomunicación

TEORÍA DE LA COMUNICACIÓN
CURSO 2024–25

PRÁCTICA 1

Representación de señales en MATLAB

Juan Manuel López Sánchez


Teorı́a de la comunicación. Práctica 1 2

1. Introducción

1.1. Objetivos generales de la práctica

En la asignatura Teorı́a de la comunicación se empleará el programa Matlab para la simulación


de los sistemas de comunicación y ası́ poder analizar su comportamiento, sus caracterı́sticas,
etc. Para ello es conveniente establecer inicialmente un convenio sobre el modo en el que se
representarán las señales en este entorno.

Para ello, esta primera práctica contiene una introducción teórica que permite justificar cómo se
representarán las señales, tanto en el dominio del tiempo como de la frecuencia, en el resto de
prácticas de la asignatura. Por tanto, el objetivo principal de esta práctica es familiarizarse con
este tipo de representaciones en Matlab.

1.2. Desarrollo de la práctica

Esta práctica se desarrollará durante UNA sesión de laboratorio.

Se recomienda leer inicialmente la introducción teórica (sección 2) antes de comenzar con los
ejercicios propuestos en la sección 3.

Las respuestas a los ejercicios se deben escribir en la última hoja de este documento. La últi-
ma hoja de este documento debe ser imprimida con antelación a la práctica, ya que se
entregará al profesor al final de la sesión.

La evaluación de la práctica se realizará a partir de los resultados plasmados en la hoja entrega-


da.

En algunos apartados se pide expresamente que se muestren los resultados obtenidos al profesor
de prácticas, con el fin de verificar que éstos son correctos y que se ha entendido el objetivo de
esos apartados.

Finalmente, se recomienda encarecidamente salvar los programas desarrollados para su uso en


prácticas posteriores.
Teorı́a de la comunicación. Práctica 1 3

2. Introducción

En general siempre trataremos señales continuas, mientras de Matlab trabaja con muestras de
estas señales, tanto en el dominio temporal como frecuencial. Además, se hace necesario ini-
cialmente distinguir dos casos: señales definidas en energı́a (tienen energı́a finita) y señales
definidas en potencia (con duración infinita y por tanto energı́a infinita, pero con potencia fini-
ta). En las prácticas, la mayorı́a de las señales se considerarán periódicas e infinitas, por lo tanto
definidas en potencia.

2.1. Señales definidas en energı́a

Es muy común utilizar la transformada de Fourier para representar el espectro de una señal. Para
señales definidas en energı́a debe utilizarse esta representación, ya que su módulo al cuadrado
tiene sentido fı́sico, al corresponderse con la densidad espectral de energı́a. Ası́, para una señal
x(t) tenemos:
Gx (f ) = |X(f )|2 (1)
donde X(f ) es la transformada de Fourier (TF) de x(t) y Gx (f ) es la densidad espectral de
energı́a de x(t).

Para obtener en Matlab la TF de una señal continua, se acude a aproximaciones numéricas. Dada
una señal x(t), la integral que define su TF se puede expresar como el lı́mite de un sumatorio,
del siguiente modo:
Z ∞ ∞
X
−j2πf t
X(f ) = x(t)e dt = lı́m x(n∆t)e−j2πf n∆t ∆t (2)
−∞ ∆t→0
n=−∞

que equivale a expresar la integral definida como el sumatorio de las áreas de rectángulos (de
base ∆t) encerrados bajo la función x(t), cuando ∆t tiende a cero (integral de Riemann).

En Matlab las señales se describen como vectores de muestras. Por lo tanto, la aproximación
utilizada se basará en el muestreo de la señal original. Evidentemente, la frecuencia de muestreo
fs debe ser suficientemente elevada para que no se produzca solapamiento espectral, es decir,
que cumpla el criterio de Nyquist: fs > 2fmax , donde fmax es la frecuencia máxima de la señal
x(t).

Supondremos una señal de energı́a finita x(t) definida (o bien medida, observada, etc.) en el
intervalo 0 ⩽ t < T . Por tanto, el número total de muestras en la señal muestreada es N = T ·fs ,
T 1
o bien, N = ∆t si fs = ∆t .

En estas condiciones, la integral y el sumatorio de la ecuación (2) quedan restringidos al inter-


valo disponible de la señal:
Z ∞ Z T N
X −1
−j2πf t −j2πf t
X(f ) = x(t)e dt ≈ x(t)e dt ≈ x(n∆t)e−j2πf n∆t ∆t (3)
−∞ 0 n=0
Teorı́a de la comunicación. Práctica 1 4

Como se verá en la asignatura Tratamiento digital de señal, este sumatorio se corresponde con
la transformada discreta de Fourier (DFT) de la señal x(n∆t), multiplicada por ∆t. Empleando
esta expresión, y dando distintos valores a f podrı́amos obtener muestras del espectro o TF de
la señal.

Por otro lado, una de las ventajas de esta operación es que puede calcularse de forma muy
eficiente, empleando lo que se conoce como transformada rápida de Fourier (FFT). La FFT
proporciona N muestras de la DFT y, por tanto, de la transformada de Fourier de la señal
x(t). Las muestras del espectro suelen indicarse con el ı́ndice k, de modo que la expresión (3)
proporciona:
X[k] ≈ X(fk ) (4)
k k k
donde fk = T
= N ∆t
= f,
N s
con k = 0, . . . , N − 1.

Si en Matlab denotamos por x a las muestras temporales de la señal x(t) = x(n∆t) y ∆t se


indica mediante la variable deltat, entonces las muestras del espectro X(fk ) se consiguen
mediante la instrucción:

X = deltat * fft(x)

Por último, como la FFT proporciona las muestras del espectro en un orden no deseado, es
necesario reubicarlas empleando la función X = fftshift(X).

Gracias a esto último, las muestras en frecuencia están centradas en la frecuencia 0 y, por tanto,
se observa tanto la parte positiva como la negativa del espectro, desde −fs /2 hasta fs /2. Tras
la citada reordenación los ı́ndices de las muestras en frecuencia son los siguientes:
k k k N N
fk = = = fs , con k = − ,..., − 1 (5)
T N ∆t N 2 2
donde se asume que N es par.

En caso de querer volver al dominio temporal (muestreado) a partir de las muestras del es-
pectro, es posible hacerlo empleando la transformación inversa (IFFT), denominada ifft()
en Matlab. Teniendo en cuenta el producto por ∆t que se habı́a hecho antes, esta operación
finalmente quedarı́a como:

x = (1/deltat) * ifft(X)

Además, si el espectro se habı́a recolocado previamente mediante fftshift(), es necesario


situarlo previamente en su orden original mediante ifftshift().

Debe recordarse que tanto la FFT como la IFFT devuelven en general valores complejos. En el
caso de que la señal original fuese real, la IFFT también deberı́a serlo. Sin embargo, en algunos
casos aparece una parte imaginaria residual muy pequeña, que puede ocasionar problemas en
la representación. Para evitar problemas, es conveniente asegurarse de que la señal reconstruida
no tiene parte imaginaria, utilizando para ello la función real().

Es frecuente la necesidad de calcular la energı́a o la potencia de una señal. Para calcular la


Teorı́a de la comunicación. Práctica 1 5

energı́a se utilizará una aproximación similar a la empleada para la TF:


Z ∞ N
X −1
Ex = |x(t)|2 dt ≈ |x(n∆t)|2 ∆t (6)
−∞ n=0

En cuanto a la potencia media EN ESE INTERVALO, se podrı́a calcular a partir de la energı́a en


el intervalo T en el que se ha definido la señal en Matlab, según:
Ex
PxT = (7)
T
Debe recordarse que la potencia total, considerando todo el eje temporal, es nula al ser una señal
de duración infinita y energı́a finita.

Si no se dispone de la señal en el tiempo, sino de su espectro (su TF calculada según se ha indi-


cado), el teorema de Parseval nos permite calcular la energı́a directamente a partir del espectro,
sin tener que realizar la transformada inversa. Esta relación se puede aproximar para el caso de
las señales en Matlab mediante la siguiente expresión:
Z ∞ Z ∞ N
X −1
2 2
Ex = |x(t)| dt = |X(f )| df ≈ |X(n∆f )|2 ∆f (8)
−∞ −∞ n=0
fs
donde ∆f = N
= T1 .

Expresadas en Matlab, ambas formas de calcular la energı́a resultan ası́:

Ex = sum( (abs(x)).ˆ2 ) * deltat

Ex = sum( (abs(X)).ˆ2 ) / T

2.2. Señales definidas en potencia

En estas prácticas, en general, consideraremos que las señales son de duración infinita (energı́a
infinita) y potencia limitada. Aunque en Matlab las señales han de ser de duración finita, con-
sideraremos que la señales bajo estudio son infinitas pero periódicas de periodo T . Éste será el
periodo de observación o medida, y no tiene por qué coincidir con el periodo principal si es una
señal periódica. Por lo tanto, restringiremos el estudio a tan solo un periodo de la misma.

Para el cálculo del espectro de este tipo de señales se utiliza, en lugar de la transformada, el
desarrollo en serie de Fourier. Para señales periódicas definidas en potencia se utiliza esta
representación, ya que su módulo al cuadrado tiene un sentido fı́sico: la densidad espectral
de potencia. La densidad espectral de potencia se puede definir a partir de la autocorrelación
temporal de la señal original, y guarda la siguiente relación con los coeficientes ak del desarrollo
en serie de Fourier: ∞  
X 2 k
Gx (f ) = |ak | δ f − (9)
k=−∞
T
Teorı́a de la comunicación. Práctica 1 6

Si la señal se ha muestreado a la frecuencia fs , tomándose N puntos, de forma que se cumpla


fs = N T
, entonces se obtienen N coeficientes del desarrollo, situados entre los ı́ndices − N2 y N2 ,
es decir, entre las frecuencias − f2s y f2s . En tal caso, la densidad espectral de potencia es:

N/2−1
X
Gx (f ) = |ak |2 δ (f − k∆f ) (10)
k=−N/2

siendo ∆f = T1 .

Estos coeficientes pueden obtenerse en Matlab mediante la función fft(), utilizando la si-
guiente relación con la transformada de Fourier, ya que x(t) se considera periódica:
Z
1 1
ak = x(t)e−j2π·k·∆f ·t dt = X(fk ) (11)
T T T

Por lo tanto, se obtiene que las expresiones son las mismas que en el caso anterior salvo por un
factor de escala T (divisor en la transformada directa, y multiplicador en la inversa).

Es importante destacar que la señal debe ser periódica para que la expresión sea correcta, en-
trando un número entero de periodos en el intervalo T . Por lo tanto, para el cálculo de los
coeficientes del desarrollo de Fourier en Matlab, utilizaremos las siguientes instrucciones:

ak = deltat/T * fft(x) = (1/N) * fft(x)

donde N=T/deltat=T*fs son el número de muestras de un periodo (no necesariamente el


fundamental) de la señal y x es el vector que contiene esos valores.

Para recuperar la señal en el dominio temporal se hará uso de la expresión:

x = (T/deltat) * ifft(ak) = N * ifft(ak)

Esta expresión arrojará una señal discreta (una aproximación a las muestras de la señal tempo-
ral).

Observe que los ak se representan respecto a ı́ndices k, mientras que lo que interesará en general
es representarlo en función de la frecuencia. Por lo tanto:
N/2−1
1 X
X(f ) = ak δ (f − k∆f ) (12)
T
k=−N/2

Finalmente, en caso de trabajar con señales no periódicas, estrictamente no existe el desarrollo


en serie de Fourier. Sin embargo se puede seguir utilizando X(f )/T en Matlab desde el punto
de vista práctico como una aproximación.
Teorı́a de la comunicación. Práctica 1 7

2.3. Representación de señales

En las prácticas se trabajará fundamentalmente con señales sinusoidales, las cuales, obviamen-
te, son de energı́a infinita. Si se aplica la transformada de Fourier se obtendrán deltas de una
amplitud no fija y dependiente del intervalo temporal considerado. Además, debe recordarse
que una delta tiene amplitud infinita y es infinitamente estrecha, ası́ que en Matlab es imposible
representarla. Lo único que se conserva es el área que encierra, que es la unidad, ya que por
definición: Z ∞
δ(f − f0 )df = 1 (13)
−∞

Atendiendo a lo explicado en la sección anterior, el espectro de cualquier señal se representará


en esta asignatura mediante X(f )/T en lugar de X(f ).

A modo de ejemplo, consideremos la señal x(t) = cos(2π4t). Su transformada de Fourier es:


X(f ) = 21 δ(f − 4) + 21 δ(f + 4), es decir, está formada por dos deltas de área 1/2 situadas en
las frecuencias ±4 Hz.

La columna izquierda de la Figura 1 representa la transformada de Fourier X(f ) utilizando T =5


(arriba) y T =50 (abajo), habiendo empleado en ambos casos la misma frecuencia de muestreo
fs =20. Como se puede observar, la amplitud de las deltas es distinta en ambas representaciones,
aunque el área encerrada sigue siendo la esperada: 0,5 = amplitud · ∆f = 2,5 · 0,2 = 25 · 0,02,
donde ∆f = fs /N = 1/T .

Sin embargo, si se divide la transformada de Fourier respecto a T se obtiene directamente en


la representación las amplitudes o valores que multiplican a las deltas, independientemente de
los parámetros T y fs utilizados para representarla, como serı́a deseable. Esto se aprecia en la
columna derecha de la misma Figura 1. Por lo tanto, ésta segunda será la forma de representar
señales (definidas en potencia) que se empleará a partir de aquı́ en la asignatura.

Como se ha comentado, si además la señal es periódica, los valores de X(f )/T coinciden
estrictamente con los coeficientes ak del desarrollo en serie de Fourier. Si no lo es, no existe
estrictamente el desarrollo en serie de Fourier, pero se puede seguir utilizando X(f )/T desde
el punto de vista práctico.
Teorı́a de la comunicación. Práctica 1 8

Espectro con T=5, Fs=20 Espectro con T=5, Fs=20


2.5 0.6

0.5
2

0.4
1.5

0.3
X(f)/T
X(f)

0.2

0.5
0.1

0
0

−0.5 −0.1
−10 −8 −6 −4 −2 0 2 4 6 8 10 −10 −8 −6 −4 −2 0 2 4 6 8 10
f (Hz) f (Hz)

Espectro con T=50, Fs=20


Espectro con T=50, Fs=20
25
0.6

20 0.5

0.4
15

0.3
X(f)/T
X(f)

10

0.2

5
0.1

0
0

−5 −0.1
−10 −8 −6 −4 −2 0 2 4 6 8 10 −10 −8 −6 −4 −2 0 2 4 6 8 10
f (Hz) f (Hz)

Figura 1: Ejemplos de representación espectral de una señal sinusoidal


Teorı́a de la comunicación. Práctica 1 9

2.4. Resumen

El siguiente código se empleará en todas las prácticas, donde Fs y T podrán cambiar en cada
ejercicio.

% Parametros de entrada

Fs = ; % Frecuencia de muestreo (comun para todas las señales)


T = ; % Intervalo temporal (se generan N=T*Fs muestras)

% Parametros auxiliares (calculados a partir de T y Fs)

deltat = 1/Fs; % Periodo de muestreo


N = Fs*T; % O bien N = T/deltat;

% Ejes de tiempo y frecuencia

t = [0:1/Fs:T-1/Fs]; % Tiempo (muestreado) para los T segundos [0,T)


f = [-Fs/2:Fs/N:Fs/2-Fs/N]; % Frecuencias (muestreadas) [-Fs/2,Fs/2)

Cálculos y definiciones para señales definidas en energı́a:

Representación del espectro: TF X(f )


Tiempo → Frecuencia: X=fftshift(deltat*fft(x))
Frecuencia → Tiempo: x=real((1/deltat)*ifft(ifftshift(X)))
Energı́a: sum((abs(X)).ˆ2)/T, o bien sum((abs(x)).ˆ2)*deltat
Potencia total: nula
Potencia en el intervalo [0, T ]: P = E/T

Cálculos y definiciones para señales definidas en potencia:

Representación del espectro: X(f )/T


DSF si la señal es periódica: ak = X(f )/T
Tiempo → Frecuencia: ak=X/T
Frecuencia → Tiempo: x=real((1/deltat)*ifft(ifftshift(ak))*T)
Energı́a total: Infinita
Energı́a en el intervalo [0, T ]: E = P · T
Potencia: sum((abs(ak)).ˆ2), o bien sum((abs(x)).ˆ2)*deltat/T
Teorı́a de la comunicación. Práctica 1 10

3. Ejercicios sobre representación de señales

3.1 Repetir el ejemplo descrito en la Figura 1, consistente en 4 representaciones distintas del


espectro de la señal x(t) = cos(2π4t). Para ello, escribir el código necesario en un script de
Matlab (fichero con extensión .m). El programa debe representar en una sola ventana las cuatro
figuras (empleando subplot). Como el espectro está formado por deltas, se aconseja el uso
de la función stem() para su representación.

Mostrar el resultado al profesor de prácticas.

3.2 Calcular la potencia de la señal a partir de sus muestras temporales y del espectro. ¿Coin-
ciden ambos resultados? ¿Coincide para ambos valores de T ?

3.3 ¿Cuál es el valor de la energı́a de la señal en el intervalo observado? ¿Coincide para ambos
valores de T ?

3.4 Considere una señal x(t) consistente en la suma de dos sinusoidales:

x(t) = x1 (t) + x2 (t)

donde
x(t) = V1 cos(2πf1 t) + V2 cos(2πf2 t)

Se emplearán los siguientes datos: V1 = 1, V2 = 0,3, f1 = 5 y f2 = 20.

Utilizando fs = 1000 muestras/s y un tiempo de observación T = 2 s, escriba un script de


Matlab que represente las dos figuras siguientes:

1. Las dos señales componentes (x1 (t) en rojo y x2 (t) en azul) y la señal completa x(t) (en
negro) en el dominio del tiempo.

2. El espectro de la señal completa, empleando la representación más adecuada (como se


ha justificado anteriormente). Una vez representado, es conveniente hacer un zoom sobre
la zona con contenido espectral para ver los valores de las posiciones de las deltas y sus
amplitudes.
T.C. – Hoja de entrega – Práctica 1
Apellidos y nombre:

Apellidos y nombre:

Ejercicio 3.1: Verificación por parte del profesor

Ejercicio 3.2:
Potencia a partir del espectro =
Potencia a partir de la señal temporal =
Comentarios:

Ejercicio 3.3: Energı́a =


Comentarios:

Ejercicio 3.4: Dibujo aproximado de ambas figuras (indicar los valores en los ejes)

También podría gustarte