1. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 1
UNIVERSIDAD RICARDO PALMA
FACULTAD DE INGENIERÍA
FUNDAMENTOS DE
TELECOMUNICACIONES UTILIZANDO
EL MATLAB
Diciembre 2011
LIMA - PERÚ
3. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 3
FUNDAMENTOS DE
TELECOMUNICACIONES
UTILIZANDO EL MATLAB
Por
Pedro Freddy Huamaní Navarrete
Facultad de Ingeniería
Universidad Ricardo Palma
5. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 5
PRESENTACIÓN
En los últimos años, en diversas carreras de ingeniería,
es muy común encontrar asignaturas relacionadas a las
telecomunicaciones. Desde las materias más simples y teóricas,
hasta las más complejas y elaboradas en laboratorios de
hardware y de simulación.
Asimismo, la aparición de softwares de computación
científica, tal como el Matlab, nos brinda capacidad para la
realización de simulaciones de conceptos impartidos en las
aulas de clase. Tal es así que el mismo Matlab posee una
librería denominada Communications Toolbox, la cual agrupa
adecuadamente un conjunto de comandos para utilizarse en el
área de las telecomunicaciones.
Por tal razón, y con la finalidad de brindar al estudiante
la facilidad de realizar simulaciones que complementen lo
aprendido en clases, se presenta este manual introductorio
donde se utiliza el software Matlab como herramienta principal
de software.
Este manual ha sido preparado con la intención de
mostrar los fundamentos de las telecomunicaciones utilizando
una herramienta computacional. Es decir, basado en
simulaciones y mostrando el desarrollo de fórmulas en gráficos
a nivel del tiempo y de frecuencia. Por esta razón, este material
consta de diez capítulos importantes. Desde la manipulación de
señales periódicas y no periódicas, pasando por la teoría de la
serie y la transformada de Fourier, hasta las modulaciones
analógicas por amplitud y frecuencia.
7. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 7
CONTENIDO
PRESENTACIÓN 05
CONTENIDO 07
1. Señales periódicas y no periódicas 09
2. Sistemas lineales. Filtros analógicos 16
3. Serie de Fourier 28
4. Transformada de Fourier 37
5. Densidad espectral de potencia y de energía 46
6. Modulación en amplitud (AM) 51
7. Demodulación AM 68
8. Modulación Angular: Frecuencia y Fase 74
9. Demodulación FM 86
10. Introducción al Toolbox Communications 90
BIBLIOGRAFÍA 96
9. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 9
1. SEÑALES PERIÓDICAS Y NO PERIÓDICAS
Una señal puede representarse de diversas formas, y asimismo
describir una variedad de fenómenos físicos. De esta manera,
su representación se da en forma periódica o no periódica, y en
forma continua o discreta [1].
Señales continuas en el tiempo.
En el caso de una señal periódica y continua en el tiempo, se
cumple la siguiente definición:
f(t) = f(t + n T), t R y n Z
Donde:
T: periodo de dicha señal.
n: número entero.
Ejemplo 01: Tren de pulsos con T = 0.2 seg.
>> T = 0.2;
>> t = linspace( -0.4 , 0.6 , 800 );
>> x = 0.5 * ( square(2*pi*t*(1/T)) + 1 );
>> plot( t , x , 'LineWidth' , 4 ), % ver figura 1.1
>> axis( [ -0.4 0.6 -0.5 1.5 ] ),
>> grid
>> F = 1 / T
Figura 1.1: Señal periódica impar.
10. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
10
Ejemplo 02: x(t) = cos(10t) + 2cos(20t)
>> t = linspace( -0.6 , 0.6 , 1200 );
>> x = cos(10*pi*t) + 2*cos(20*pi*t);
>> plot( t , x , 'LineWidth' , 4 ) % ver figura 1.2
>> axis( [ -0.6 0.6 -3 4 ] ),
>> grid
>> T = 0.02;
>> F = 1/T; % Menor frec.
Figura 1.2: Señal periódica par.
Por otro lado, para el caso de una señal no periódica, no hay
presencia de periodo y se demuestra con los siguientes
ejemplos.
Ejemplo 03: x(t): señal no periódica
>> t = linspace( 0 , 30 , 15000 );
>> x = 5*cos( 3*t ) + 5*cos( (3 + pi)*t );
>> plot( t , x , 'LineWidth' , 4 ) ;
>> grid, axis([ 0 30 -12 12 ]) % ver figura 1.3
Ejemplo 04: x(t): señal no periódica
>> t = linspace( 0 , 30 , 15000 );
>> x = 1*cos( 2*pi*5*t ) .* exp(-0.40*t);
>> plot( t , x , 'LineWidth' , 2 ) ; grid % ver figura 1.4
>> axis( [ 0 , 15 , -1 , 1 ] )
11. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 11
Figura 1.3: Ejemplo de señal no periódica.
Figura 1.4: Ejemplo de señal no periódica.
Señales discretas en el tiempo.
Por otro lado, en el caso de señales discretas periódicas o no
periódicas, se consideran dos factores importantes: el periodo
de muestro y el número de bits por muestra.
El periodo de muestreo (Ts) señala el tiempo de separación
existente entre dos muestras consecutivas. Asimismo, la
frecuencia de muestreo (Fs), que es la inversa del periodo de
muestro, representa el número de muestras por segundo. Por lo
tanto, para la adecuada digitalización de una señal analógica, y
12. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
12
posterior recuperación, debe cumplirse el teorema de muestreo
[4]:
Fs > 2 * Fmax
Donde:
Fs: es la frecuencia de muestreo elegida.
Fmax: es la máxima frecuencia de la señal a digitalizar.
Por otro lado, el número de bits por muestra corresponde al
número de niveles de cuantización utilizados para representar
una señal discreta. Por ejemplo, al utilizar 4 bits por muestra se
genera 24
= 16 niveles de cuantización, desde el “0000”, hasta
el “1111”. A continuación se muestran algunos ejemplos.
Ejemplo 05: x(n): señal con 100 muestras/segundo
>> Fs = 100;
>> n = 0 : Fs-1;
>> F= 8;
>> x = 127 + 128*cos( 2 * pi * F * n / Fs );
>> if Fs > 2*F, disp(' cumple '), else, disp(' No cumple '), end
>> x = round( x );
>> [ max(x) min(x) ]
>> stem ( n , x ) % ver figura 1.5
>> grid
Figura 1.5: Señal discreta con Ts = 10 mSeg. y codificado con
8 bits/muestra.
13. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 13
Para conocer el valor numérico o amplitud de algunas muestras
de la señal digitalizada, se señala directamente el número de
muestra en la variable “x”.
>> A1 = x( 77 ) % muestra número 77.
A1 =
239
>> A2 = x( 34 ) % muestra número 34.
A2 =
45
Luego, para representar tales muestras en formato binario con
8 bits, se utiliza el comando DEC2BIN. De igual forma, para
transformar un número binario en decimal, o decimal en
hexadecimal, se utiliza los comandos, BIN2DEC y DEC2HEX,
respectivamente.
>> N1= dec2bin( A1 , 8 );
>> N2= dec2bin( A2 , 8 );
>> D1 = bin2dec(' 11110000 ');
>> H1 = dec2hex( 255 ,2 ); % Dos dígitos hexadec.
Ejemplo 06: x(n): señal con 50 muestras/segundo
>> Fs = 50;
>> n = 0 : Fs-1;
>> x = 2.5*cos( 2*pi*6*n / Fs ) + sin( 2*pi*8*n / Fs );
>> x = 2*x;
>> subplot(121)
>> stem ( n , x , 'Linewidth' , 3 ),
>> grid
>> axis( [ 0 50 -8 8 ] )
Posteriormente, se procede a graficar los 16 niveles de
cuantización sobre la señal creada. Luego, se procede a
redondear cada muestra de dicha señal con la finalidad de
alcanzar exactamente algunos de los niveles de cuantización.
>> hold on
14. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
14
>> for i = 7: -1 : -7
plot( n , i*ones( 1, 50 ) , 'r ' )
end
>> hold off
>> subplot(122)
>> x = round( x );
>> [ max(x) min(x) ]
>> stem ( n , x , 'Linewidth' , 3 ) % ver figura 1.6
>> hold on
>> for i = 7: -1 : -7
plot( n , i*ones( 1, 50 ) , 'r ' )
end
>> hold off
>> axis( [ 0 50 -8 8 ] )
>> grid
(a) (b)
Figura 1.6: a) Señal muestreada y b) Señal digitalizada, sobre
los 16 niveles de cuantización.
Señales con simetrías de ½ y ¼ onda.
Pertenecen al grupo de señales periódicas que permiten la
simplificación de diversos cálculos, debido a la forma como se
encuentran presentadas periódicamente. Así tenemos:
15. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 15
Ejemplo 07: x(t) : periódica, continua y simetría de
½ onda
>> %% f(t) = - f( t T/2 )
>> Fs = 200;
>> t = linspace( 0 , 1 , Fs );
>> POS = 5 + 10*exp( -5*t );
>> NEG = -10*exp( -5*t ) - 5;
>> x = [ POS NEG POS NEG POS NEG ];
>> tiempo = linspace( -3 , 3 , length(x) );
>> subplot(121)
>> plot( tiempo , x , 'LineWidth' , 4 ) % ver figura 1.7
>> grid
>> axis([ -3 3 -20 20 ])
Ejemplo 08: x(t) : periódica, discreta y simetría de
¼ onda
>> %% f(t) = - f( t + T/2 ) y a la vez PAR o IMPAR
>> t = linspace( -0.5 , 0.5 , 100 );
>> x1 = square(2*pi*t*4 + pi/2 );
>> x2 = cos(2*pi*t*4);
>> x12 = x1 + x2;
>> subplot(122)
>> stem( t , x12 , 'LineWidth' , 4 ) % ver figura 1.7
>> axis( [ -0.5 0.5 -3 3 ] ) , grid
Figura 1.7: a) Señal continua con simetría de ½ onda. b) Señal
discreta con simetría de ¼ onda.
16. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
16
2. SISTEMAS LINEALES. FILTROS ANALÓGICOS.
Los sistemas físicos, en su sentido más amplio, son una
interconexión de componentes, dispositivos o subsistemas.
Entonces, un sistema se define como un proceso por el cual las
señales de entrada son transformadas por el sistema dando
como respuesta otra señal de salida [1]. A continuación, la
figura 2.1 muestra una representación de un sistema continuo o
discreto en forma general.
Asimismo, el sistema es considerado lineal si posee la propiedad
de la superposición. Lo cual se define de la siguiente manera:
Ax1(t) + Bx2(t) Ay1(t) + By2(t)
Ax1[nTs] + Bx2[nTs] Ay1[nTs] + By2[nTs]
Donde:
A y B son constantes complejas cualesquiera.
Ts es el periodo de muestreo de la señal discreta.
X(t) y(t)
x[nTs] y[nTs]
Figura 2.1: Representación general de un sistema.
En esta sección, a manera de un caso particular, se plantea el
análisis de sistemas eléctricos conformados por elementos
pasivos y activos: filtros analógicos.
El tema de sistemas discretos, como es el caso de filtros
digitales, no es abordado por corresponder a asignaturas de
ciclos superiores. Tal es el caso de la asignatura procesamiento
digital de señales.
SISTEMA
CONTÍNUO /
DISCRETO
x (t)
x[nTs]
y (t)
y[nTs]
17. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 17
Filtro analógico Pasa Bajo.
El circuito eléctrico mostrado en la figura 2.2 representa a un
filtro analógico Pasa-Bajo de segundo orden.
Figura 2.2: Filtro Pasa-Bajo de 2do orden.
Obteniendo las ecuaciones diferenciales, y posteriormente
transformando a Laplace se llega a la función de transferencia
de dicho sistema: Vo(s) / Vi(s).
2
2
0
sC
I
V
2
1
1
1
1
1
2
2
1
2
1
1
1
1
1
1
1
I
s
C
I
s
C
I
R
V
I
s
C
s
C
R
I
sC
i
2
2
1
1
1
2
2
1
2
1
2
/
1
)
/
(
/
1
)
(
)
(
C
s
C
C
R
R
R
s
C
R
R
C
s
V
s
V
i
o
>> C1 = 1*0.001;
>> C2 = 5*0.001;
>> R1 = 1000;
>> R2 = 2000;
>> FT = tf( [1/C2] , [ R1*R2*C1 R2+R1+R1*C1/C2 1/C2 ] )
>> bode( FT ) , grid % ver figura 2.3
+
-
vi (t)
+
vo (t)
-
R2 = 2 K
R1 = 1 K
C1 = 1 mF C2 = 5 mF
v1 (t)
i1 (t) i2 (t)
18. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
18
Figura 2.3: Diagrama de Bode del filtro Pasa-Bajo de 2do
orden.
>> [ num , den ] = tfdata( FT );
>> num = num{1}
>> den = den{1}
>> pzmap( num , den ) % diag. de polos- ceros
También es posible diseñar un filtro Pasa-Bajo utilizando las
funciones analógicas Butterworth, Chebyshev y Elliptic.
A continuación se muestra un ejemplo de obtención de un filtro
Pasa-Bajo normalizado Butterworth; es decir, con frecuencia de
corte normalizada wo = 1 rad/seg. y orden o número de polos
igual a 4.
>> n = 4; % número de polos
>> [Z , P , K ] = buttap( n ); % retorna Ceros, Polos
>> NumN = K* poly( Z ); % y ganancia
>> DenN = poly( P );
>> pzmap( NumN , DenN )
>> bode( NumN , DenN ), grid
>> w = [ 1 10 ]; % verificando el módulo
>> H = freqs( NumN , DenN , w ); % en w=1 y 10 rad/seg.
>> 20*log10( abs(H) )
19. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 19
Luego, se transforma el filtro Pasa-Bajo normalizado a otro filtro
Pasa-Bajo Butterworth con wo=2100 rad/seg. Esta
transformación también es conocida como operación de
desnormalización.
>> wo = 2*pi*100;
>> [ Num1 , Den1 ] = lp2lp( NumN , DenN , wo );
>> pzmap( Num1 , Den1 )
>> bode( Num1 , Den1 ) , grid % ver figura 2.4
>> wo
wo =
628.3185
Figura 2.4: Diagrama de Bode del filtro Pasa-Bajo Butterworth
de 4to orden y frecuencia de corte Wo=2100 rad/seg.
Es así que para diseñar filtros Pasa-Alto, Pasa-Banda y Rechaza-
Banda, se parte del diseño de un filtro Pasa-Bajo para luego
transformarlo según la frecuencia de corte deseada. Más
adelante se muestran algunos ejemplos.
Filtro analógico Pasa Alto.
Transformando un filtro analógico Pasa-Bajo Butterworth
normalizado (wo=1 rad/seg.) de orden 9, a un filtro analógico
Pasa-Alto Butterworth con wo = 250 rad/seg. y el mismo
orden.
>> help lp2hp
20. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
20
>> wo = 2*pi*50;
>> [ z, p , k ] = buttap( 9 );
>> NumN = K* poly( Z );
>> DenN = poly( P );
>> [ Num2, Den2 ] = lp2hp( NumN , DenN , wo );
>> pzmap( Num2 , Den2 )
>> bode( Num2 , Den2 ) , grid % ver figura 2.5
Figura 2.5: Diagrama de Bode del filtro Pasa-Alto Butterworth
de 9no orden y frecuencia de corte Wo=250 rad/seg.
Por otro lado, el circuito eléctrico mostrado en la figura 2.6
representa a un filtro analógico Pasa-Alto activo y de primer
orden, cuya función de transferencia está representada por la
siguiente expresión:
1
K
)
(
)
(
)
(
)
(
1
3
3
2
3
o
i
o
i
o
W
s
s
s
V
s
V
C
R
R
s
R
s
R
R
s
V
s
V
21. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 21
1
1
3
1
2
3
C
R
W
R
C
R
R
R
K
o
Figura 2.6: Diagrama circuital de Filtro Pasa-Alto de 1er orden.
>> R1 = 100;
>> R2 = 20;
>> R3 = 800;
>> C= 5/10000;
>> K = (R2 + R3)*(R1*C)/ R3;
>> Wo = 1/(R1*C) % frecuencia de corte
>> FT = K * tf( [1 0 ] , [1/Wc 1 ] )
>> bode( FT ) , grid % ver figura 2.7
Analizando de otra manera, y suponiendo que la señal analógica
)
cos(
*
10
)
cos(
*
2
)
( 2
1 t
w
t
w
t
x
, está compuesta por las
frecuencias: w1=250 rad/seg. y w2=20.7 rad/seg., entonces,
se procede a filtrar dicha señal utilizando el filtro Pasa-alto.
Posteriormente, se comprueba la atenuación de la menor
frecuencia.
>> t = linspace(0,1,1000);
>> x = 2*cos(2*pi*50*t) + 10*cos(2*pi*0.7*t);
+
vo(t)
-
+
vi(t)
- R3 = 800
R2 = 20
+
-
R1 = 100
C = 0.5 mF
22. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
22
>> subplot( 2,1,1 ),
>> plot( t , x ) , grid
Figura 2.7: Diagrama de Bode del filtro Pasa-Alto de 1er orden.
>> help lsim % rpta. para entrada arbitraria
>> y = lsim( FT , x , t );
>> subplot( 2,1,2 ),
>> plot( t , y ) , grid % ver figura 2.8
Figura 2.8: a) Señal de entrada al filtro Pasa-alto. b) Señal de
salida al filtro Pasa-Alto.
23. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 23
Filtro analógico Pasa Banda.
Respecto al diseño de filtros analógicos Pasa Banda, también es
posible obtenerlo utilizando la función analógica Chebyshev, tipo
I o tipo II.
Por ejemplo, en la figura 2.9 se muestra las principales
características deseadas para el diseño de un filtro analógico
Pasa-Banda.
>> Wp = [20*pi 100*pi]; % frecuencias de banda pasante
>> Wa = [5*pi 120*pi]; % frecuencia de atenuación
>> Rp = -1; % ripple en la banda pasante
>> Ra = -30; % atenuación mínima en la
% banda de rechazo.
Figura 2.9: Características del filtro Pasa-Banda a diseñar.
>> [N, Wo] = cheb1ord(Wp, Wa, abs(Rp) , abs(Ra) , 's' );
N =
7
Wo =
62.8319 314.1593
>> R = 1; % ripple pico-pico en
% banda pasante
0 Wa1 Wp1 Wp2 Wa2 rad/seg
- Ra
0
-Rp
20 log10( | H(w) | )
24. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
24
>> [Num3 , Den3] = cheby1( N , R , Wo , 's' );
>> pzmap( Num3 , Den3 )
>> freqs( Num3 , Den3 ) % ver figura 2.10
Figura 2.10: Magnitud y fase del filtro analógico Pasa-Banda
tipo Chebyshev I, y de orden 14
Por otro lado, un filtro Pasa-banda también puede ser
representado por un circuito operacional tal como se muestra
en la figura 2.11. A continuación se procede a obtener su
respectiva función de transferencia.
Figura 2.11: Diagrama circuital de un filtro Pasa Banda de 2do
orden.
+
vo(t)
-
+
vi(t)
-
R2 = 1 K
-
+
R1 = 1 K
C1 = 0.1 mF
C2 = 1 µF
25. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 25
)
C
1/(R
Wc
)
C
1/(R
Wc
1
1
)
(
)
(
2
2
2
1
1
1
2
2
1
1
1
2
s
C
R
s
C
R
s
C
R
s
V
s
V
i
o
>> R1 = 1000;
>> R2 = 1000;
>> C1 = 1*0.0001;
>> C2 = 1*0.000001;
>> nu = [ -R2*C1 0 ];
>> de = conv( [ R2*C2 1] , [ R1*C1 1 ] );
>> FT = tf( nu , de )
>> bode( FT ) % ver figura 2.12
>> grid
>> Fc1 = 1/(2*pi*R1*C1); % Frec. inferior en Hertz
>> Fc2 = 1/(2*pi*R2*C2); % Frec. super. en Hertz
Figura 2.12: Magnitud y fase del filtro analógico Pasa-banda de
orden 2.
Filtro analógico Rechaza o Para Banda.
Un filtro analógico Rechaza banda se puede diseñar a partir de
un filtro analógico Pasa-bajo, indicándose la frecuencia central y
el ancho de banda.
26. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
26
A continuación se procede a diseñar un filtro Butterworth
analógico tipo Rechaza banda de orden 6, frecuencia central de
1000 Hz y ancho de banda de 800 Hz.
>> orden = 3;
>> [ Z , P , K ] = buttap( orden );
>> Nun4 = K * poly( Z );
>> Den4 = poly( P );
>> help lp2bs % transforma a
>> wo = 2*pi*1000; % Para-Banda
>> Bw = 2*pi*800;
>> [ Nun5 , Den5 ] = lp2bs( Nun4 , Den4 , wo , Bw );
>> W = linspace( 2*pi*1 , 2*pi*4000 , 1000 );
>> [ MAG , FASE ] = bode( Nun5 , Den5 , W );
>> F = W / 2 / pi;
>> subplot(121)
>> plot( F , MAG ), grid
>> axis( [ 1 4000 0.001 1 ] )
>> xlabel(' Hz '), ylabel(' Magnitud Lineal ')
>> subplot(122)
>> plot( F , 20*log10( MAG ) ), grid % ver figura 2.13
>> axis( [ 1 4000 -60 0 ] )
>> xlabel(' Hz '), ylabel(' Magnitud(dB) ')
Figura 2.13: Magnitud y fase del filtro analógico Pasa-banda de
orden 2.
27. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 27
Para visualizar la magnitud del filtro para valores de frecuencias
específicas (ancho de banda y frecuencia central), se procede a
utilizar la función FREQS.
>> w = [ wo-Bw/2 wo wo+Bw/2 ];
>> [ H , W] = freqs( Nun5 , Den5 , w );
>> H = 20*log10( abs ( H ) );
>> F = W/2/pi;
>> round(F),
>> H,
También, es posible representar un filtro Rechaza-Banda a
partir de una red eléctrica conformada por elementos pasivos
(ver la figura 2.14). Por lo tanto, a continuación se muestra su
correspondiente función de transferencia después de obtener la
transformada de Laplace de las ecuaciones diferenciales que
pertenecen a dicha red.
1
1
1
)
(
)
(
2
1
2
2
1
1
2
2
2
1
1
2
2
1
1
s
C
R
C
R
C
R
s
C
R
C
R
s
C
R
s
C
R
s
V
s
V
i
o
Figura 2.14: Diagrama circuital de Filtro Rechaza Banda de
orden 2.
C2 = 2 mF
R2 = 1.5 K
R1 = 0.5 K
C1 = 0.5 mF
+
vo (t)
-
+
vi (t)
-
28. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
28
>> R1 = 0.5*1000;
>> R2 = 1.5*1000;
>> C1 = 0.5*0.001;
>> C2 = 2*0.001;
>> p = [ R1*C1 1 ];
>> q = [ R2*C2 1 ];
>> Nun6 = conv( p , q );
>> Den6 = [ R1*C1*R2*C2 R1*C1+R2*C2+R1*C2 1 ];
>> bode( Nun6 , Den6 ) % ver figura 2.15
>> grid
Figura 2.15: Magnitud y fase del filtro analógico Rechaza-
banda de orden 2.
3. SERIE DE FOURIER
Serie de Fourier Trigonométrica.
Las señales periódicas pueden ser representadas en
combinaciones lineales de sinusoides con fases desplazadas,
utilizando la Serie de Fourier en forma trigonométrica [2].
1
)
2
(
)
2
cos(
)
(
n
o
n
o
n
o t
f
n
sen
b
t
f
n
a
a
t
g
29. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 29
Donde:
o
o
o
T
t
t
o
o
n
o
o
T
t
t
o
o
n
T
t
t
o
o
dt
t
w
n
sen
t
g
T
b
f
w
dt
t
w
n
t
g
T
a
dt
t
g
T
a
)
(
)
(
2
,
2
)
cos(
)
(
2
,
)
(
1
o
f : frecuencia fundamental.
o
nf : n-ésima frecuencia armónica.
Para demostrar la teoría de la Serie de Fourier, seguidamente
se grafica una señal periódica (tren de pulsos) con amplitud
igual a 5 voltios, y periodo igual a 1 mSeg. Ver la figura 3.1.
>> t = linspace(0,1,1000);
>> x= 2.5*( square(2*pi*4*t) + 1 );
>> plot( t , x ,'LineWidth' , 3 )
>> axis( [ 0 1 -0.5 6 ] )
>> grid
Figura 3.1: Tren de pulsos con periodo de 0.25 segundos o
frecuencia de 4 Hz (ciclos/segundo).
Entonces, se procede a obtener los coeficientes ao, an y bn
utilizando las respectivas expresiones matemáticas. Por tratarse
de una señal impar, el coeficiente an es igual a cero.
30. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
30
5
.
2
0
25
.
0
1
5
25
.
0
1
25
.
0
125
.
0
125
.
0
0
o
o
a
dt
dt
a
25
.
0
125
.
0
125
.
0
0
0
25
.
0
2
5
25
.
0
2
dt
t
nw
sen
dt
t
nw
sen
b o
o
n
25
.
0
2
,
40
1
1
o
o
n
n w
nw
b
De esta manera, la expresión general será:
1
8
)
1
(
1
8
40
5
.
2
)
(
n
n
t
n
sen
n
t
g
>> T = 0.25;
>> wo = 2*pi*(1/T);
>> a0 = 5/2;
>> an = 0;
>> g = 0;
>> SUMA = 100;
>> for n=1:SUMA
t = linspace( 0 , 1 , 1000);
wo = 2*pi / 0.25;
bn = 40*( 1 - (-1)^n ) / ( n* wo );
g = g + bn * sin( wo*n*t);
plot( t , g + a0 ), % ver figura 3.2
grid
pause(0.2)
end
Serie de Fourier Compleja.
También es posible representar a la señal periódica por la forma
Compleja de la Serie de Fourier [2]. Por lo tanto, se procede a
remplazar las funciones seno y coseno por su respectiva
fórmula de Euler, para luego obtener una nueva expresión.
31. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 31
Figura 3.2: Aproximación del tren de pulsos por la suma de
100 funciones sinusoidales.
1
)
2
(
)
2
cos(
)
(
n
o
n
o
n
o t
f
n
sen
b
t
f
n
a
a
t
g
1
j
2
j
2
j
2
j
2
2
2
)
(
n
t
f
n
t
f
n
n
t
f
n
t
f
n
n
o
j
e
e
b
e
e
a
a
t
g
o
o
o
o
n
t
f
n
n
o
e
c
t
g j
2
)
(
,
Con:
0
,
2
1
0
,
n
j
b
a
n
a
c
n
n
n
n
Por lo tanto, el gráfico de magnitud de los coeficientes cn
complejos versus la frecuencia angular w, se conoce como
Espectro de Amplitud. Asimismo, al gráfico del ángulo de fase
de los coeficientes cn complejos versus la frecuencia angular w,
se conoce como Espectro de Fase.
32. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
32
Entonces, para el ejemplo anterior, se vuelve a graficar su
representación temporal pero esta vez utilizando menos
componentes sinusoidales. Luego, se presentan los respectivos
espectros de amplitud y fase a partir de los coeficientes cn.
>> ao = 2.5;
>> an = 0;
>> g = 0;
>> SUMA = 21;
>> for n=-SUMA:2:SUMA
t = linspace( 0 , 1 , 1000);
wo = 2*pi / 0.25;
cn = 0.5 * ( an - 5*j*( 1 - (-1)^n ) / ( n* pi ) );
g = g + cn * exp( j*wo*n*t );
plot( t , ao + real( g ) ), % ver figura 3.3
grid
pause(0.2)
end
Figura 3.3: Aproximación del tren de pulsos a partir de la Serie
Compleja de Fourier.
>> SUMA = 31;
>> n = -SUMA : SUMA;
>> a0 = 2.5;
>> an = 0;
>> bn = 5*( 1 - (-1) .^ n ) ./ ( n * pi );
33. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 33
>> cn = 0.5*( an - j*bn );
>> cn( SUMA + 1 ) = a0; % Valor de Cn, para n=0
>> M_cn = abs( cn ); % espectro_amp. de Cn
>> F_cn = angle( cn ); % espectro_fase de Cn
>> F_cn = F_cn * 180 / pi;
>> subplot( 121 ), stem( n , M_cn )
>> title(' Espectro de Magnitud ')
>> xlabel(' n ')
>> grid
>> subplot( 122 ), stem( n , F_cn ) % ver figura 3.4
>> grid
>> title(' Espectro de Fase ')
>> xlabel(' n ')
Figura 3.4: Izquierda: Espectro de Magnitud. Derecha:
Espectro de Fase.
En el gráfico de espectro de magnitud se puede observar
claramente las componentes de frecuencias existentes:
>> %% PARA n=0 Componente DC
>> [ n(SUMA+1) abs( M_cn( SUMA + 1 ) ) ];
>> %% Para n=1 Componente o Frecuencia Principal
>> [ n(SUMA+2) abs( M_cn( SUMA + 2 ) ) ];
34. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
34
>> %% PARA n=2 2da armónica
>> [ n(SUMA+3) abs( M_cn( SUMA + 3 ) ) ];
>> %% PARA n=3 3ra armónica
>> [ n(SUMA+4) abs( M_cn( SUMA + 4 ) ) ];
>> %% PARA n=4 4ta armónica
>> [ n(SUMA+5) abs( M_cn( SUMA + 5 ) ) ];
>> %% PARA n=5 5ta armónica
>> [ n(SUMA+6) abs( M_cn( SUMA + 6 ) ) ];
Y así sucesivamente para las demás armónicas.
Seguidamente se muestra un segundo ejemplo donde se
representa a una señal triangular par con sus coeficientes de
Fourier. Para ello, primero se procede a generar la señal
triangular con frecuencia de 2 Hz y amplitud de 1 voltio,
utilizando la función SAWTOOTH del Matlab. Luego, se compara
con la función conformada por los coeficientes de Fourier de
dicha señal periódica.
>> t = linspace( -0.5 , 1.5 , 200 );
>> f = 2; % 2 ciclos/segundo
>> g1 = sawtooth( 2*pi*t*f , 0.5 ); % onda triangular
>> plot( t , g1 ) % ver figura 3.5
>> grid
>> axis( [-0.5 1.5 -1.2 1.2 ] )
De esta figura puede observarse un nivel DC igual a cero, y una
característica de señal par. Por lo tanto, los coeficientes a0 y bn
son iguales a cero.
0
3
8
5
.
0
1
1
8
5
.
0
1
5
.
0
25
.
0
25
.
0
0
o
o
a
dt
t
dt
t
a
35. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 35
n
sen
n
a
dt
t
nw
t
dt
t
nw
t
a
n
o
o
n
2
4053
.
0
cos
3
8
5
.
0
2
cos
1
8
5
.
0
2
2
2
5
.
0
25
.
0
25
.
0
0
Figura 3.5: Señal triangular par con periodo de 0.5 segundos.
>> an = 0;
>> bn = 0;
>> a0 = 0;
>> g = 0;
>> t = linspace(-0.5 , 1.5 , 200);
>> SUMA = 1000;
>> for n=1:SUMA,
an = -2*(0.4053)*sin(0.5*pi*n)*sin(0.5*pi*n)/(n*n);
g = an*cos(4*pi*n*t) + bn*sin(4*pi*n*t) + g;
plot( t , g + a0 , 'LineWidth' , 3 ),
grid
axis([-0.5 1.5 -1.2 1.2 ]),
pause(0.01),
end,
Luego, para visualizar la comparación entre la señal obtenida
con la función SAWTOOTH, y la obtenida a partir de los
36. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
36
coeficientes de Fourier, se procede a utilizar una retención de
figura con la función HOLD ON.
>> hold on
>> t = linspace(-0.5 , 1.5 , 200 );
>> plot( t , g1 , '*r' ), % ver figura 3.6
>> hold off
Figura 3.6: Aproximación de señal periódica por la suma de
1000 funciones sinusoidales.
Finalmente, se vuelve a mostrar el Espectro de Magnitud y de
Fase para este segundo ejemplo.
>> SUMA = 21;
>> n = -SUMA : SUMA;
>> a0 = 0;
>> bn = 0;
>> an = -2*(0.4053)*sin(0.5*pi*n).*sin(0.5*pi*n)./(n.*n);
>> cn = 0.5*( an - j*bn );
>> cn( SUMA + 1 ) = a0; % Valor de Cn, para n=0
>> M_cn = abs( cn ); % espectro_amp. de Cn
>> stem( n , M_cn ,'LineWidth', 3)
>> title(' Espectro de Magnitud ') % ver figura 3.7
>> xlabel(' n ')
>> ylabel(' | Cn | ')
>> grid
37. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 37
Figura 3.7: Espectro de Magnitud de la señal triangular
conformado por la frecuencia principal (en n=1), y demás
armónicas (para n=2, 3, 4, … , 21).
4. TRANSFORMADA DE FOURIER
En la sección anterior se trató la representación de señales
periódicas como combinaciones lineales de exponenciales
complejas, o señales sinusoidales. Por lo tanto, ahora se
extiende este concepto para el caso de señales no periódicas,
donde las exponenciales complejas se encuentran
infinitesimalmente cercanas en frecuencia, y la representación
en términos de una combinación lineal adopta la forma de una
integral en lugar de una suma [1].
Seguidamente se presenta las expresiones matemáticas para la
obtención de la Transformada Continua de Fourier (TCF), y para
la Transformada Discreta de Fourier (TDF) [7].
dw
e
jw
X
t
x
dt
e
t
x
jw
TCF
jwt
jwt
)
(
2
1
)
(
)
(
)
(
X
:
38. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
38
1
,
...
,
2
,
1
,
0
)
(
1
]
[
]
[
)
(
: 1
0
2
1
0
2
N
k
e
k
X
N
n
x
e
n
x
K
X
TDF N
k
k
N
n
j
N
n
k
N
n
j
Transformada Continua de Fourier
Según la expresión de la página anterior, la TCF es obtenida a
través de una integral evaluada desde menos infinito a infinito,
y conociendo la expresión matemática de la señal a analizar.
Por lo tanto, el Matlab cuenta con el Toolbox Symbolic, que
permite la obtención de la TCF en forma literal. Para ello, es
posible utilizar los comandos FOURIER e INT para la respectiva
evaluación.
Asimismo, se resalta que el espectro de Fourier de señales no
periódicas es continuo, mientras que el de señales periódicas es
discreto. Tal como se demostró con la Serie de Fourier. A
continuación algunos ejemplos del cálculo de la TCF:
Ejemplo 01: )
5
cos(
)
(
1 t
t
x y )
2
sin(
3
)
(
1
t
t
x
>> t = linspace( 0 , 1 , 100);
>> x1 = cos( 5* t );
>> plot( t , x1 )
>> syms t w % declaración de variab. literales
>> x1 = cos(5*t );
>> TX1 = fourier( x1 , w );
TX1 =
pi*(dirac( w - 5 ) + dirac( w + 5 ))
Este resultado es del tipo real y representa a dos impulsos
desfasados en: w=-5 y w=5. A continuación se muestra el
gráfico de la TCF de esta señal real.
>> w = -10 : 10;
>> TX1 = pi * [ zeros(1,5) 1 zeros(1,9) 1 zeros(1,5) ];
>> stem( w, TX1 ),
>> grid % ver figura 4.1
39. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 39
Figura 4.1: TCF de la señal x1(t) real.
En el caso de una señal SENO, el resultado de la TCF es
complejo. Asimismo, también es posible obtener la TCF inversa
haciendo uso del comando IFOURIER. A continuación se
muestra el ejemplo.
>> syms t w % declaración de variab.
>> x1 = 3*sin(0.5*t ); % literales
>> TX1 = fourier( x1 , w );
TX1 =
(-3)*pi*i*(dirac(w - 1/2) - dirac(w + 1/2))
>> w = -10: 0.5 : 10;
>> [a1, b1] = find(w == -0.5);
>> [a2, b2] = find(w == 0.5);
>> tx1 = [ zeros(1,19) 3*pi 0 -3*pi zeros(1,19) ];
>> stem( w , tx1 ) % ver figura 4.2
>> text( 0.7 , -3*pi , ' -3*pi*j ' )
>> text( -0.3 , 3*pi , ' 3*pi*j ' )
>> help ifourier
>> x1_inv = ifourier( TX1 , t );
>> x1 = simplify( x1_inv );
>> pretty( x1 )
40. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
40
Figura 4.2: Transformada de Fourier de señal SENO.
Ejemplo 02: )
(
)
( 2
2 t
e
t
x t
Obteniendo la TCF de la señal x2(t) pero partiendo de la
expresión matemática de Fourier.
>> syms t w
>> x2 = exp(-2*t);
>> limINF = 0; % por utilizarse un escalón.
>> limSUP = 10^8; % simulando a infinito.
>> TX2 = int( x2 * exp(-j*w*t) , t , limINF , limSUP );
>> pretty( TX2 )
(exp(- 200000000 - w 100000000 j ) - 1) (w + 2 j ) j
--------------------------------------------------------------
2
w + 4
Evaluando y simplificando el exponencial, la expresión anterior
queda reducida a:
jw
j
j
w
j
w
j
w
j
w
j
w
2
1
2
2
2
1
0
4
2
1
0
2
41. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 41
Puesto que la Transformada de Fourier tiene valor complejo,
entonces se expresa TX2(jw) en términos de su magnitud y de
su fase.
>> w = linspace( - 4*pi , 4*pi , 1000 );
>> TX2 = 1 ./ ( 2 + j*w );
>> MTX2 = abs( TX2 );
>> FTX2 = angle( TX2 ) * 180 / pi;
>> subplot(121), plot( w , MTX2 ) % ver figura 4.3
>> grid, axis( [ -4*pi 4*pi 0 0.6] )
>> title(' Magnitud ')
>> xlabel(' w[rad/seg]: -4pi a 4pi ')
>> ylabel(' | TX2(jw) | ')
>> subplot(122), plot( w , FTX2 ) , grid,
>> title(' Fase ')
>> xlabel(' w ') , ylabel(' ANG TX2(jw) ')
Ejemplo 03:
4
t
,
0
4
t
,
1
)
(
3 t
x
Obteniendo la TCF de la señal x3(t) pero partiendo de la
expresión matemática de Fourier, para luego graficar la
magnitud y la fase.
Figura 4.3: Magnitud y Fase de la TCF de la señal x2(t).
42. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
42
>> t = -8 : 0.1 : 8 ;
>> tam = length(t);
>> [a1 , b1] = find( t == -4);
>> [a2 , b2] = find( t == 4);
>> x3 = [ zeros(1,40) ones(1,81) zeros(1,40) ];
>> subplot(121)
>> plot( t , x3 , 'LineWidth' ,3 ), grid
>> axis( [ - 8 8 -0.5 1.5 ] )
>> xlabel(' Tiempo: t ')
>> title(' Señal Pulso Rectangular ')
>> syms t
>> TX3 = int( 1*exp(-w*j*t) , t , -4 , 4 );
>> pretty( TX3 )
2 sin(4 w)
----------
W
>> w = linspace( - 3*pi , 3*pi , 1000 );
>> TX3 = 2 * sin( 4*w ) ./ w ;
>> subplot(122)
>> plot( w , TX3 ) % ver figura 4.4
>> grid,
>> title(' Transformada de Fourier '),
>> xlabel(' w ') , ylabel(' TX3(jw) ')
Figura 4.4: Izquierda: Señal continua x3(t) Derecha:
Transformada de Fourier de la señal x3(t).
43. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 43
Transformada Discreta de Fourier.
La obtención de los coeficientes de la Transformada Discreta de
Fourier (TDF), se logra con el comando FFT. Y, para el caso de
la transformada inversa, se utiliza el comando IFFT. Entonces, a
continuación se muestra algunos ejemplos del uso de la TDF
sobre señales periódicas, y luego sobre señales no periódicas. El
comando FFT se refiere a la Transformada Rápida de Fourier, el
cual corresponde a un algoritmo para la obtención de la TF en
forma rápida.
Ejemplo 01: Señal periódica de 60 Hz.
>> Ts = 1*0.001; % Ts = 1 mSeg.
>> Fs = 1 / Ts;
>> F = 60;
>> n = 0 : Fs-1;
>> x1 = cos( 2*pi*F*n / Fs );
>> subplot( 1,2,1 )
>> stem( n , x1 ), grid
>> axis([ 0 100 -2 2 ])
>> N = 1024; % número de muestras
>> TX1 = fft( x1 , N ); % para el cálculo de TF
>> MTX1 = abs( fftshift( TX1 ) ); % desplazamiento
>> F = linspace( -Fs/2 , Fs/2 , N );
>> subplot( 1,2,2 ),
>> stem( F, MTX1 ),
>> grid % ver figura 4.5
Ejemplo 02: señal cuadrada de 100 Hz.
>> Ts = 0.5*0.001; % Ts=0.5 mSeg.
>> Fs = 1 / Ts;
>> F = 100;
>> n = 0 : Fs-1;
>> x5 = square( 2*pi*F*n / Fs );
>> subplot( 1,2,1 )
>> stem( n , x5 )
>> axis([ 200 280 -1.2 1.2 ])
>> N = 1024;
>> TX5 = fft( x5 , N );
>> MTX5 = fftshift( TX5 );
44. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
44
Figura 4.5: Izquierda: señal discreta x4(nTs). Derecha: módulo
de la TDF de x4(nTs), con una componente de frecuencia en 60
Hz.
>> MTX5 = abs( MTX5 );
>> F = linspace( -Fs/2 , Fs/2 , N );
>> subplot( 1,2,2 )
>> stem( F, MTX5 ) % ver figura 3.13
Figura 4.6: Izq. Señal discreta x5(nTs) Der. Módulo de la TDF
de x5(nTs), con componentes de frecuencia en: 100, 300, 500,
700 y 900 Hz.
45. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 45
Ejemplo 03: señal pulso rectangular
4
nT
,
0
4
nT
,
1
s
s
6 s
nT
x
>> Ts = 100*0.001; % Ts=100 mSeg.
>> Fs = 1 / Ts;
>> n = linspace( 0 , 8 , 8*Fs ); % 8 seg. de duración
>> tam = length( n );
>> x6 = [ ones( 1 , tam/2 ) zeros( 1 , tam/2 ) ];
>> subplot(121)
>> xlabel(' Tiempo Discreto ')
>> stem( n , x6 )
>> N = 256;
>> TX6 = fft( x6 , N );
>> TX6 = fftshift ( TX6 );
>> MTX6 = abs( TX6 ) ;
>> F = linspace( -Fs/2 , Fs/2 , N );
>> subplot(122), % ver figura 4.7
>> xlabel(' Frecuencia ')
>> stem( F , real(TX6) )
Figura 4.7: Izq. Señal discreta x6(nTs) Der. Módulo de la TDF
de x6(nTs), con una componente de frecuencia en 60 Hz.
46. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
46
Ejemplo 04: señal no periódica:
s
nT
s nT
e
nT
x
s
2
7
>> Fs = 100; % 100 muestras/seg.
>> Ts = 1/Fs;
>> n = 0 : Fs-1;
>> x7 = exp(-0.5*n*Ts);
>> N = 1024;
>> TX7 = fftshift( fft( x7 , N ) );
>> MTX7 = abs( TX7 );
>> FTX7 = angle( TX7 ) * 180/pi;
>> F = linspace( -Fs/2 , Fs/2 , N );
>> subplot(121) , stem( n/Fs , x7 ) % ver figura 4.8
>> subplot(122) , stem( F , MTX7 )
Figura 4.8: Izquierda: señal discreta x7(nTs) Derecha: módulo
de la TDF de x7(nTs).
5. DENSIDAD ESPECTRAL DE POTENCIA Y DE
ENERGÍA
La densidad espectral de potencia (PSD) es bastante útil para
describir la manera en que el contenido de potencia, de las
señales y el ruido, es afectado por filtros y otros dispositivos en
47. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 47
los sistemas de comunicación. A continuación se muestra la
expresión matemática que representa a la PSD [5], así como
dos ejemplos de estimación de la PSD a partir de dos métodos
diferentes. Cabe resaltar que algunas señales (por ejemplo, las
periódicas) tienen energía infinita y por lo tanto se les conoce
como señales de potencia.
T
w
X
PSD
T
2
)
(
lim
>> Fs = 1000;
>> t = linspace(0 , 0.75 , 0.75*Fs );
>> x = cos(2*pi*t*100) + randn(size(t));
>> % SE CREA EL ESTIMADOR ESPECTRAL PERIODOGRAMA
>> h = spectrum.periodogram;
>> H_PSD = psd( h , x , 'Fs' , Fs );
>> plot( H_PSD ) % ver figura 5.1
>> xlabel(' Frecuencia (Hz) ')
>> ylabel(' Potencia / Frecuencia (db / Hz) ')
>> title(' Estimación de la Densidad Espectral de Potencia ')
Figura 5.1: Representación de la PSD estimada via el método
del periodograma.
48. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
48
>> Fs = 1000;
>> t = linspace(0 , 0.75 , 0.75*Fs );
>> x = cos(2*pi*t*100) + randn(size(t));
>> % SE CREA EL ESTIMADOR ESPECTRAL WELCH
>> h = spectrum.welch;
>> H_PSD = psd( h , x , 'Fs' , Fs );
>> plot( H_PSD ) % ver figura 5.2
>> xlabel(' Frecuencia (Hz) ')
>> ylabel(' Potencia / Frecuencia (db / Hz) ')
>> title(' Estimación de la Densidad Espectral de Potencia ')
Figura 5.2: Representación de la PSD estimada a través del
método Welch’s.
Por otro lado, el concepto de energía de una señal es válido sólo
si el área bajo x2
(t) es finita. Todas las señales que cumplen
esta condición se llaman señales de energía. Por lo tanto,
cuando expresamos la energía en términos del espectro, la
denominamos densidad espectral de energía (ESD) [5]. A
continuación un ejemplo para el caso de una señal no periódica.
2
)
(w
X
ESD
>> n = 0 : 20 ;
>> N = length(n);
>> x = 0.4 .^n;
49. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 49
>> subplot( 211 ),
>> stem( n , x ), grid
>> xlabel(' Tiempo discreto < 0 a 20 >')
>> ylabel(' x[n] ')
>> title(' SEÑAL DISCRETA NO PERIÓDICA ' )
>> ESDx = fft( x , N );
>> Fs = 2*pi;
>> ESDx = fftshift( ESDx );
>> mESDx = abs( ESDx ) .^2;
>> F = linspace( -Fs/2 , Fs/2 , N );
>> subplot(212),
>> plot( F , mESDx )
>> grid % ver figura 5.3
>> xlabel(' Frecuencia < -PI a PI >')
>> ylabel(' | X(w) | ^2 ')
>> title(' DENSIDAD ESPECTRAL DE ENERGÍA ' )
Figura 5.3: Arriba: señal no periódica de tiempo discreto.
Abajo: densidad espectral de energía de la señal no periódica de
tiempo discreto.
Teorema de Parseval.
A la relación entre la energía de una señal x(t) en el dominio del
tiempo y en el dominio de la frecuencia, se le conoce como el
Teorema de Parseval [5]. Seguidamente la expresión
matemática.
50. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
50
dw
w
X
dt
t
x 2
2
)
(
2
1
)
(
Este teorema resulta ser un método alternativo de evaluar la
energía que utiliza la descripción del dominio de la frecuencia en
lugar de la definición del dominio del tiempo. Para el caso de
señales de tiempo discreto, se utiliza la expresión siguiente que
a su vez da origen a una nueva relación que utiliza los
coeficientes complejos de Fourier c[n] [4].
dw
w
X
n
x 2
-
n
2
)
(
2
1
]
[
]
[
)
(
1
-
n
2
2
/
2
/
2
n
c
dt
t
x
T
T
T
>> % SEGUIDAMENTE SE REPRESENTA UN EJEMPLO
>> % UTILIZANDO UNA SEÑAL CUADRADA DE 1 HZ
>> Fs = 500;
>> t = linspace(-1 , 2 , 3*Fs );
>> x = square(2*pi*1*t);
>> plot( t , x , 'linewidth' , 3 )
>> grid
>> an = 0; % por ser señal par
>> ao = 0; % no tiene nivel DC
>> syms n
>> bn = (2./(n*pi)) .* ( 1 - (-1).^n); % coef. bn obtenido
>> cn = (0.5) * ( an - j*bn);
>> Acn = abs( cn ); % Absoluto: | cn |
>> pretty( Acn )
| n |
|(-1) - 1|
-----------
PI |n|
>> % AL DESARROLLAR LA SUMATORIA, PARA “n” IMPAR
>> % EL NUMERADOR SIEMPRE SERÁ “2”. AL ELEVAR AL
51. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 51
>> % CUADRADO Y DUPLICAR LA SUMATORIA POR EL
>> % VALOR ABSOLUTO DE “cn”, SE TRANSFORMA EN:
>> syms n
>> CN = ((2/pi)^2 )*2/n/n;
>> suma = 0;
>> for n = 1:2:10001
suma = subs( CN , n ) + suma;
end
>> RESPUESTA_1 = suma;
>> % LO MISMO SE OBTIENE AL EVALUAR LA INTEGRAL
>> % DE x(t) ENTRE –T/2 y T/2.
>> F = 1;
>> T = 1/F;
>> sym -1
>> MedioP1 = int( ans*ans , -T/2 , 0 );
>> sym 1
>> MedioP2 = int( ans*ans , 0 , T/2 );
>> RESPUESTA_2 = (1/T)*( MedioP1 + MedioP2 );
Entonces, RESPUESTA_1 = 1.0000 y RESPUESTA_2 = 1.
Próximos entre sí.
6. MODULACIÓN EN AMPLITUD (AM)
La modulación es un proceso que ocasiona un desplazamiento
del rango de frecuencias de una señal, con la finalidad de
obtener ciertas ventajas en la transmisión. Por lo tanto, en una
modulación en amplitud, la amplitud de una portadora
sinusoidal de alta frecuencia se varía en proporción a la señal de
banda base [3].
Doble banda lateral con supresión de portadora (DBL-SP)
Se obtiene multiplicando directamente la señal de banda base
(señal moduladora) con una señal de portadora, de frecuencia
wp suficientemente mayor a la frecuencia de la señal
moduladora. Ver la figura 6.1.
52. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
52
)
cos(
*
)
(
)
(
(
)
(
2
t)
cos(w
A
*
)
(
(w)
S
)
(
_
p
p
M
t
w
t
s
A
t
s
w
w
S
w
w
S
A
t
s
t
s
p
m
p
SP
DBL
am
p
M
p
M
p
m
m
Donde:
sm(t) : señal moduladora
SM(w) : espectro de frecuencia de la señal moduladora
Figura 6.1: Diagrama de bloques de una modulación AM de
DBL-SP.
Ejemplo 01: Señal moduladora con tono de 100 Hz y
amplitud de 3 voltios. Señal de portadora con frecuencia de 4
KHz y amplitud de 12 voltios. Luego, se realiza una
multiplicación directa para obtener la señal modulada en AM.
>> Fs = 10000;
>> t = linspace( 0 , 1 , Fs );
>> Sm = 3*cos(2*pi*100*t);
>> Sp = 12*cos(2*pi*4000*t);
>> Sam = Sm .* Sp ;
Luego, se muestra la señal modulada en AM en el dominio
temporal, y posteriormente en el dominio frecuencial, haciendo
uso de la transformada discreta de Fourier.
X
~
Sm(t) SAM_DBL-SP (t)
cos(2Fpt)
53. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 53
>> subplot(2,1,1), plot( t , Sam )
>> grid, xlabel('Tiempo')
>> axis( [ 0 0.05 -40 40 ] )
>> N = Fs;
>> SAM = fft( Sam , N );
>> SAM = abs( fftshift( SAM )) / N;
>> F = linspace( -Fs/2 , Fs/2 , N );
>> subplot(2,1,2), plot( F , SAM ) % ver figura 6.2
>> grid, xlabel('Frecuencia')
Figura 6.2: (a) Gráfico temporal de la modulación AM DBL-SP.
(b) Espectro de frecuencia (magnitud).
De esta manera, el ancho de banda resultante se obtiene
restando la mayor frecuencia de la menor:
>> maxF = 4000 + 100;
>> minF = 4000 - 100;
>> Bw = maxF - minF;
Ejemplo 02: Modulación AM de una onda ECG generada
desde el Matlab. Se considera la duración de un latido cardiaco
como 0.86 segundos, en relación a una frecuencia estándar de
70 latidos por minuto.
>> help ecg
>> muestras = 4000;
54. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
54
>> Sm = ecg( muestras );
>> t = linspace( 0 , 0.86 , muestras );
>> subplot( 2,2,1 )
>> plot( t , Sm ) % ver figura 6.3
>> grid,
>> xlabel(' Sm(t) : Tiempo')
Luego, se procede a obtener el espectro de frecuencia en
magnitud de la señal moduladora, y de la modulación AM DBL-
SP después de realizarse el producto se señales
correspondientes.
>> Fs = muestras;
>> N = muestras;
>> SM = fft( Sm , N );
>> SM = abs( fftshift( SM )) / N;
>> F = linspace( -Fs/2 , Fs/2 , N );
>> subplot(2,2,2)
>> plot( F , SM )
>> grid
>> xlabel('SM(f) : Espectro de Frecuencia')
>> axis([-250 250 0 0.06 ])
>> Sp = 4*cos(2*pi*1140*t);
>> Sam = Sm .* Sp ;
>> subplot( 2,2,3 ),
>> plot( t , Sam ),
>> grid
>> xlabel(' Sam(t) : Tiempo')
>> SAM = fft( Sam , N );
>> SAM = abs( fftshift( SAM )) / N;
>> F = linspace( -Fs/2 , Fs/2 , N );
>> subplot(2,2,4)
>> plot( F , SAM ) % Banda Lateral Sup. e Inf.
>> grid
>> xlabel('SAM(f) : Espectro de Frecuencia')
>> axis([ -1350 1350 0 0.15 ])
55. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 55
Figura 6.3: (a) Representación temporal de señal ECG. (b)
Espectro de frecuencia en magnitud de señal ECG. (c)
Modulación AM DBL-SP de señal ECG. (d) Espectro de
frecuencia en magnitud de modulación AM DBL-SP.
Doble banda lateral (DBL)
Se obtiene multiplicando una señal de portadora con una de
banda base sumada a un nivel DC. O también, tal como lo
señala el diagrama de bloques de la figura 6.4.
)
cos(
*
)
(
)
cos(
)
(
(
)
(
2
1
t)
cos(w
*
)
(
(w)
S
)
(
_
p
M
t
w
t
s
t
w
A
t
s
w
w
w
w
A
w
w
S
w
w
S
t
s
A
t
s
p
m
p
p
DBL
am
p
p
p
p
M
p
M
m
p
m
Ejemplo 01: Señal moduladora compuesta por dos tonos: 50
Hz y 25 Hz, con amplitudes de 6 y 8 voltios, respectivamente; y
una señal de portadora con frecuencia de 800 Hz con amplitud
de a) 26 voltios, b) 10 voltios, y c) 2 voltios. A continuación se
procede a realizar la modulación AM de DBL.
>> Fs = 5000;
>> t = linspace( 0 , 1 , Fs );
>> Sm = 6*cos(2*pi*50*t) + 8*cos(2*pi*20*t);
56. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
56
Figura 6.4: Diagrama de bloques de una modulación AM de
DBL.
>> % a) Primer caso: Sub-modulación ( m < 1)
>> Ap = 26;
>> Sp = cos(2*pi*800*t) ;
>> Sam1 = ( Sm + Ap) .* Sp ;
Seguidamente se obtiene el índice de modulación y se grafica
los primeros 200 milisegundos de la señal modulada.
>> m1 = power(6/Ap,2);
>> m2 = power(8/Ap,2);
>> m = sqrt( m1 + m2 );
>> subplot(3,1,1)
>> plot( t(1:5000*0.2) , Sam1(1:5000*0.2) )
>> grid
>> xlabel(' Tiempo ')
>> % b) Segundo caso: modulación igual a 1
>> Ap = 10;
>> Sp = cos(2*pi*800*t) ;
>> Sam2 = ( Sm + Ap) .* Sp ;
>> m = sqrt( power(6/Ap,2) + power(8/Ap,2) );
>> subplot(3,1,2)
>> plot( t(1:5000*0.2) , Sam2(1:5000*0.2) )
>> grid
>> xlabel(' Tiempo ')
X
~
Sm(t) SAM_DBL (t)
cos(2Fpt)
+
Ap
57. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 57
>> % c) Tercer caso: Sobre-modulación ( m > 1 )
>> Ap = 2;
>> Sp = cos(2*pi*800*t) ;
>> Sam3 = ( Sm + Ap) .* Sp ;
>> m = sqrt( power(6/Ap,2) + power(8/Ap,2) );
>> subplot(3,1,3)
>> plot(t(1:5000*0.2) , Sam3(1:5000*0.2)) % fig. 6.5
>> grid
>> xlabel('Tiempo')
Figura 6.5: Representación temporal de una modulación AM
DBL a) m < 1. b) m = 1. c) m > 1.
Posteriormente, se procede a graficar la señal modulada en AM
DBL en el dominio frecuencial (para el rango de -1KH a 1KHz),
para el caso de un índice de modulación menor y mayor a 1. En
dicha modulación es posible observar las bandas laterales
superiores: 800+20 y 800+50, e inferiores: 800-20 y 800-50, y
asimismo la señal de portadora en 800 Hz.
>> N = 5000;
>> Fs = N;
>> SAM1 = fft( Sam1 , N );
58. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
58
>> fase_SAM1 = angle( SAM1 ); % fase
>> SAM1 = fftshift( SAM1 ) / N;
>> SAM1 = abs( SAM1 );
>> F = linspace( -Fs/2 , Fs/2 , N );
>> subplot(211)
>> plot( F , SAM1 )
>> grid
>> xlabel('Frecuencia (Hz)')
>> ylabel(' Espectro de Sub modulación ')
>> axis( [-1000 1000 0 10 ])
>> SAM3 = fft( Sam3 , N );
>> fase_SAM3 = angle( SAM3 ); % fase
>> SAM3 = fftshift( SAM3 ) / N;
>> SAM3 = abs( SAM3 );
>> F = linspace( -Fs/2 , Fs/2 , N );
>> subplot(212)
>> plot( F , SAM3 ) % ver figura 6.6
>> grid
>> xlabel('Frecuencia (Hz)')
>> ylabel(' Espectro de Sobre modulación ')
>> axis( [-1000 1000 0 10 ])
Figura 6.6: Arriba: Espectro de frecuencia de una modulación
AM DBL (m<1). Abajo: Espectro de frecuencia de una
modulación AM DBL (m>1)
59. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 59
El ancho de banda se obtiene restando la mayor frecuencia de
la menor:
>> maxF = 800 + 50;
>> minF = 800 - 50;
>> Bw = maxF - minF
Doble banda lateral única (BLU)
Corresponde al caso de modulación AM en donde se transmite
solamente una banda lateral. De esta manera se requiere sólo
de la mitad del ancho de banda de una modulación AM DBL.
Existen dos métodos para la generación de una modulación
BLU. El primer método utiliza filtros de corte exacto para
eliminar la banda lateral indeseable, y el segundo utiliza
circuitos de corrimiento de fase para lograr el mismo objetivo.
Además, también es considerado el método de Weaver [3].
Método de desviación de fase
Es un método indirecto para generar señales de BLU a partir de
la desviación del espectro de fase de la señal de portadora y de
la señal modulante [3]. Luego se modula en AM DBL-SP, y se
finaliza con una suma o resta de ambos resultados, según la
banda lateral a desear: superior o inferior.
Figura 6.7: Diagrama de bloques del método de desviación de
fase.
60. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
60
El diagrama de bloques de la figura 6.7 muestra una
representación de este método de desviación de fase. Donde el
bloque de desfasaje de -90° tiene como función de
transferencia H(w), la cual está compuesta por la función signo.
De esta manera, si una señal Sm(t) se hace pasar a través de
este bloque, se obtiene su respectiva Transformada de Hilbert,
SmH(t). La Transformada de Hilbert es obtenida a través del
comando HILBERT.
0
,
1
0
,
1
)
(
(w)
sgn
j
-
(w)
2
2
w
e
j
w
e
j
w
H
H
j
j
La función signo se obtiene y grafica utilizando el comando
SIGN del Matlab. Luego, el módulo y fase de H(w) será:
>> t = linspace( -5 , 5 , 300 );
>> f = sign( t );
>> figure(1)
>> plot( t , f ) % función SIGNO
>> H = -j * f;
>> mH = abs( H );
>> fH = angle( H ) *180/pi;
>> figure(2) % modulo y fase H(w)
>> subplot( 211 ), plot( mH )
>> subplot( 212 ), plot( fH )
A continuación un ejemplo de la obtención de la transformada
de Hilbert con ayuda del Matlab.
>> t = linspace( 0 , 1, 100 );
>> x = cos(2*pi*t*3);
>> y = hilbert( x );
>> xh = imag( y ); % Transf. de Hilbert
61. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 61
>> subplot(211), plot( t , x );
>> title(' Onda Coseno ')
>> subplot(212), plot( t , xh ); % ver figura 6.8
>> title(' Onda Seno (coseno con fase: –pi/2) ')
>> axis([ 0 1 -1 1 ])
Figura 6.8: Arriba: señal coseno original. Abajo: transformada
de Hilbert de la señal coseno, que representa a su vez a una
onda seno.
Seguidamente se muestra dos ejemplos de modulación AM-BLU.
Ejemplo 01: modulación de tono múltiple
>> Fs = 12000;
>> t = linspace( 0 , 1 , Fs );
>> Sp = cos(2*pi*5000*t);
>> Sm = cos(2*pi*200*t)+ cos(2*pi*400*t)+cos(2*pi*800*t);
>> sA = Sp .* Sm;
>> Smh = imag( hilbert( Sm ) ) ;
>> sB = Smh;
>> Sph = imag( hilbert( Sp ) );
>> sC = sB .* Sph;
>> BLsup = sA - sC; % BLU - superior
>> BLinf = sA + sC; % BLU - inferior
>> N = 1024;
>> SM = abs( fft( Sm , N ) );
62. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
62
>> SM = fftshift( SM );
>> F= linspace( - Fs/2 , Fs/2 , N );
>> subplot(311)
>> plot( F , SM )
>> title(' Señal Modulante ')
>> T_BLsup = abs( fft( BLsup , N ) );
>> T_BLsup = fftshift( T_BLsup );
>> F= linspace( - Fs/2 , Fs/2 , N );
>> subplot(312)
>> plot( F , T_BLsup )
>> title(' Banda Lateral Superior ')
>> axis([ -6000 6000 0 600 ])
>> T_BLinf = abs( fft( BLinf , N ) );
>> T_BLinf = fftshift( T_BLinf );
>> F= linspace( - Fs/2 , Fs/2 , N );
>> subplot(313)
>> plot( F , T_BLinf ) % ver figura 6.9
>> title(' Banda Lateral Inferior ')
>> axis([ -6000 6000 0 600 ])
>> xlabel(' Frecuencia (Hz) ')
Figura 6.9: Módulo del espectro de frecuencia. a) Señal
modulante tono múltiple. b) Banda lateral superior. c) Banda
lateral inferior.
63. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 63
Ejemplo 02: modulación de señal ECG.
>> Fs = 1000; N = power( 2 , 10 );
>> t = linspace( 0 , 1 , Fs );
>> Sp = cos(2*pi*400*t);
>> Sm = ecg( Fs ); % señal de ECG
>> %plot( t , Sm );
>> sA = Sp .* Sm;
>> Smh = imag( hilbert( Sm ) ) ; sB = Smh;
>> Sph = imag( hilbert( Sp ) ); sC = sB .* Sph;
>> BLsup = sA - sC; % BLU - superior
>> BLinf = sA + sC; % BLU - inferior
>> SM = abs( fft( Sm , N ) );
>> SM = fftshift( SM );
>> F= linspace( - Fs/2 , Fs/2 , N );
>> %plot( F , SM )
>> T_BLsup = abs( fft( BLsup , N ) );
>> T_BLsup = fftshift( T_BLsup );
>> F= linspace( - Fs/2 , Fs/2 , N );
>> subplot(312), plot( F , T_BLsup )
>> title(' Banda Lateral Superior ')
>> T_BLinf = abs( fft( BLinf , N ) );
>> T_BLinf = fftshift( T_BLinf );
>> F= linspace( - Fs/2 , Fs/2 , N );
>> subplot(313), plot( F , T_BLinf )
>> title(' Banda Lateral Inferior ')
>> xlabel(' Frecuencia (Hz) ') % ver figura 6.10
Método de filtrado selectivo
En este método, una señal DBL-SP se hace pasar a través de un
filtro de corte exacto para eliminar la señal indeseable, tal como
se observa en la figura 6.11. A continuación se representa un
ejemplo de modulación de tono múltiple.
>> Fs = 30000;
>> t = linspace( 0 , 1 , Fs );
>> Ap = 4;
>> Sp = Ap * cos(2*pi*8000*t);
64. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
64
>> Sm = 2*cos(2*pi*400*t) + cos(2*pi*600*t);
Figura 6.10: Módulo del espectro de frecuencia. a) Señal
modulante de ECG. b) Banda lateral superior. c) Banda lateral
inferior.
Figura 6.11: Diagrama de bloques del método de filtrado
selectivo
>> Sam = Sp .* Sm;
>> F= linspace( -Fs/2 , Fs/2 , N );
>> SAM = abs( fft(Sam,N));
>> SAM = fftshift( SAM );
>> subplot( 311 ),
65. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 65
>> plot( F , SAM )
>> title(' Señal AM antes de aplicar el filtro Pasa-banda ')
>> orden = 6;
>> Fcorte1 = [ 8000 9000 ] / (Fs/2);
>> [ Nbanda1 , Dbanda1 ] = butter( orden , Fcorte1 );
>> H1 = freqz( Nbanda1 , Dbanda1 , N , 'whole' , Fs );
>> H1 = fftshift( H1 );
>> %Representa el módulo del filtro Pasa-banda 1
>> %plot( F , 20*log10( abs( H1 ) ) )
>> Fcorte2 = [ 7000 8000 ] / (Fs/2);
>> [ Nbanda2 , Dbanda2 ] = butter( orden , Fcorte2 );
>> H2 = freqz( Nbanda2 , Dbanda2 , N , 'whole' , Fs );
>> H2 = fftshift( H2 );
>> %Representa el módulo del filtro Pasa-banda 2
>> %plot( F , 20*log10( abs( H2 ) ) )
>> BLsup = filter( Nbanda1 , Dbanda1 , Sam );
>> BLinf = filter( Nbanda2 , Dbanda2 , Sam );
>> TBLsup = fftshift( fft( BLsup , N ) );
>> TBLsup = abs( TBLsup );
>> TBLinf = fftshift( fft( BLinf , N ) );
>> TBLinf = abs( TBLinf );
Figura 6.12: Módulo del espectro de frecuencia. a) Señal antes
de filtrarse con Pasa-banda1 o Pasa-banda2. b) Banda lateral
superior. c) Banda lateral inferior.
66. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
66
>> subplot(312),
>> plot( F , TBLsup )
>> title(' Señal AM BLU SUPERIOR ')
>> subplot(313),
>> plot( F , TBLinf ) % ver figura 6.12
>> title(' Señal AM BLU INFERIOR ')
>> xlabel(' Frecuencia (Hz) ')
Método de Weaver
Este método es posible utilizarlo siempre y cuando el espectro
de la señal de banda base tenga poca potencia cerca del origen.
Ver el diagrama de bloques de la figura 6.13.
Figura 6.13: Diagrama de bloques del método de Weaver.
El código de programa correspondiente a dicho método de
modulación, es presentado a continuación.
>> wo = 2*pi*800;
>> wp = 2*pi*2000;
>> Fs = 8000;
>> N = Fs;
>> t = linspace( 0 , 1 , Fs );
>> Sm = 2*cos(2*pi*300*t) + cos(2*pi*500*t);
>> SM = abs( fft( Sm , N ) );
>> SM = fftshift( SM );
>> F= linspace( - Fs/2 , Fs/2 , N );
>> subplot(311)
67. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 67
>> plot( F , SM ), grid
>> axis([ -1000 1000 0 9000 ])
>> title(' Módulo del espectro de señal modulante')
>> sA = cos( wo*t ) .* Sm;
>> sB = sin( wo*t ) .* Sm;
>> orden = 10;
>> Fo = wo / 2 / pi;
>> Fcorte = Fo / (Fs/2);
>> [ NPbajo , DPbajo ] = butter( orden , Fcorte );
>> Ho = freqz( NPbajo , DPbajo , N , 'whole' , Fs );
>> Ho = fftshift( Ho );
>> F = linspace( -Fs/2 , Fs/2 , N );
>> %Representa el módulo del filtro Pasa-bajo Ho(w)
>> %plot( F , 20*log10( abs( Ho ) ) )
>> sC = filter( NPbajo , DPbajo , sA );
>> sD = filter( NPbajo , DPbajo , sB );
>> sE = sC .* cos( wp*t );
>> sF = sD .* sin( wp*t );
>> BLsup = sE + sF ;
>> BLinf = sE - sF ;
>> TBLsup = abs( fft( BLsup , N ) );
>> TBLsup = fftshift( TBLsup );
Figura 6.14: Diagrama de bloques del método de Weaver.
68. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
68
>> TBLinf = abs( fft( BLinf , N ) );
>> TBLinf = fftshift( TBLinf );
>> subplot(312)
>> plot( F , TBLsup ), grid
>> title(' Banda Lateral Superior ')
>> subplot(313)
>> plot( F , TBLinf ), grid % ver figura 6.14
>> title(' Banda Lateral Inferior ')
>> xlabel(' Frecuencia (Hz) ')
7. DEMODULACIÓN AM
El proceso de demodulación es el proceso inverso a la
modulación; es decir, la señal original Sm(t) debe ser
recuperada en el extremo receptor a partir de un traslado de su
espectro de frecuencia. Una de las formas de realizar el proceso
de demodulación se consigue con la detección sincronizada o
coherente (también conocida como homodino) [3].
Demodulación coherente de señales AM DBL-SP
La demodulación se realiza mediante una portadora generada
en el receptor, con frecuencia y fase en sincronización con la
portadora generada en el transmisor. La figura 7.1 muestra el
diagrama de bloques correspondiente a este tipo de
demodulación.
Figura 7.1: Diagrama de bloques de la demodulación
coherente.
>> Fs = 5000;
>> N = Fs;
>> t = linspace(0,1,Fs);
>> Sm = ecg( Fs );
69. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 69
>> Bw_mod = 100; % Ancho de banda de
>> subplot(221) % señal Sm(t) aprox.
>> plot( t , Sm ),
>> grid
>> xlabel(' Tiempo ')
>> Sp = cos(2*pi*t*800);
>> Sam = Sp .* Sm; % modul. AM DBL-SP
>> SamC = Sam .* Sp; % demodulac. Coherente
>> subplot(222)
>> plot( t, SamC ), grid
>> xlabel(' Tiempo ')
>> F = linspace( -Fs/2 , Fs/2 , N );
>> SAMC = fft( SamC , N );
>> SAMC = abs(fftshift( SAMC ));
>> subplot(223)
>> plot( F , SAMC ), grid
>> axis([ -2000 2000 0 150 ])
>> xlabel(' Frecuencia (Hz) ')
>> orden = 10;
>> Fcorte = Bw_mod / (Fs/2);
>> [ NPbajo , DPbajo ] = butter( orden , Fcorte );
>> Ho = freqz( NPbajo , DPbajo , N , 'whole' , Fs );
>> Ho = fftshift( Ho );
>> F = linspace( -Fs/2 , Fs/2 , N );
>> %Representa el módulo del filtro Pasa-bajo Ho(w)
>> %plot( F , 20*log10( abs( Ho ) ) )
>> Smd = filter( NPbajo , DPbajo , SamC );
>> %Representa la señal demodulada.
>> %plot( t, Smd )
>> SMD = fft( Smd , N );
>> SMD = abs(fftshift( SMD ));
>> subplot(224)
>> plot( F , SMD ), grid
>> axis( [ -100 100 0 150 ] )
>> xlabel(' Frecuencia (Hz) ')
70. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
70
Figura 7.2: (a) Señal modulante en el tiempo. (b) Señal AM en
el tiempo multiplicada por la portadora. (c) Módulo de espectro
de frecuencia de señal en b). (d) Módulo del espectro de la
señal demodulada.
Demodulación no coherente de señales AM DBL
La demodulación en forma coherente anula el verdadero
propósito de la AM, y en consecuencia, raramente se utiliza en
la práctica [3]. Por lo tanto, se consideran tres métodos no
coherentes de demodulación: a) detección de rectificador, b)
detección de envolvente, y c) detección de ley cuadrada.
Seguidamente se muestra dos ejemplos de demodulación no
coherente utilizando el segundo y tercer método.
Figura 7.3: Circuito eléctrico para la detección de envolvente.
+
-
SAM DBL (t)
+
SmD(t)
-
R = 1 K
C = 1 mF
D
71. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 71
El método de detección de envolvente utiliza un capacitor, que
en el ciclo positivo de la señal de entrada, se carga al voltaje de
pico de dicha señal. Cuando la misma señal cae por debajo de
este valor pico, el diodo queda abierto y se descarga. Por lo
tanto el voltaje de salida seguirá así a la envolvente de la
entrada [3]. Ver la figura 7.3.
>> Fs = 20000;
>> t = linspace( 0 , 1 , Fs);
>> N = Fs;
>> Sm = 2*sin(2*pi*200*t);
>> Sp = cos(2*pi*4000*t);
>> Ap = 4;
>> Sam = (Ap + Sm) .* Sp;
>> subplot(311)
>> plot( t , Sam ), grid % modulac. AM
>> axis([ 0 0.02 -12 12 ])
>> title(' Señal AM DBL (función del tiempo) ')
>> % SALIDA DEL DIODO
>> [ a , b ] = find( Sam(:,:) >0 );
>> Sam1 = zeros( size(Sam) );
>> Sam1( b ) = Sam( b );
>> subplot(312)
>> plot( t , Sam1 ), grid
>> axis([ 0 0.02 -12 12 ])
>> title(' Señal AM DBL después del DIODO (tiempo) ')
>> % CIRCUITO RC EN PARALELO
>> C = 1.9*0.001;
>> R = 1;
>> FT = tf( R , [ R*C 1 ] );
>> SmD = lsim( FT , Sam1 , t);
>> subplot(313)
>> plot(t , SmD ), grid %ver figura 7.4
>> axis([ 0 0.1 0.8 1.6 ])
>> title(' Señal AM DBL demodulada (función del tiempo) ')
EL nivel DC presente en la señal demodulada, puede ser
retirado empleando un capacitor o un simple filtro RC Pasa-alto.
72. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
72
Por otro lado, el rizo se puede reducir aún más mediante otro
filtro RC Pasa-bajo.
Figura 7.4: (a) Señal AM DBL en función del tiempo. (b) Señal
rectificada con el diodo. (c) Señal demodulada con presencia de
nivel DC y pequeño rizo.
El método de detección de ley cuadrada consiste en elevar al
cuadrado la señal modulada, para luego hacerla pasar a través
de un filtro Pasa-bajo. Para un buen cumplimiento de este
método, la amplitud de la señal de portadora deberá ser
bastante mayor a la señal modulante, durante la mayor parte
del tiempo [3]. Ver la figura 7.5.
Figura 7.5: Diagrama de bloque para la detección de ley
cuadrada.
>> Fs = 20000;
>> t = linspace( 0 , 1 , Fs);
>> N = Fs;
73. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 73
>> Sm = 2*sin(2*pi*200*t);
>> Sp = cos(2*pi*4000*t);
>> Ap = 4;
>> Sam = (Ap + Sm) .* Sp;
>> subplot(311)
>> plot( t , Sam ), grid % modulac. AM
>> axis([ 0 0.02 -12 12 ])
>> title(' Señal AM DBL (función del tiempo) ')
>> % SALIDA DEL BLOQUE NO LINEAL
>> Sam1 = Sam .* Sam;
>> SAM1 = abs( fft( Sam1 , N ) );
>> SAM1 = fftshift( SAM1 );
>> F = linspace( -Fs/2 , Fs/2 , N );
>> subplot(312)
>> plot( F , SAM1 ), grid
>> title(' Módulo del espectro de frecuencia de Sam(t)^2 ')
>> axis([ 0 0.02 -12 12 ])
>> orden = 6;
>> Fcorte = Fp / (Fs/2);
>> [ Npb , Dpb ] = butter( orden , Fcorte );
>> %freqz( Npb , Dpb , N , Fs) % filtro P-bajo
Figura 7.6: (a) Señal AM DBL en el dominio del tiempo. (b)
Módulo del espectro de frecuencia de la Señal AM elevada al
cuadrado. (c) Señal demodulada con nivel de contínua.
74. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
74
>> SmD = filter( Npb , Dpb , Sam1 );
>> subplot(313)
>> plot( t , SmD ), grid % demodulación
>> axis([ 0 0.05 -10 30 ]) % ver figura 7.6
>> title(' Señal demodulada con nivel de contínua ')
EL nivel DC presente en la señal demodulada, puede ser
retirado empleando un capacitor o un simple filtro RC Pasa-alto.
>> orden = 6;
>> Fcorte1 = 50 / (Fs/2);
>> [ Npa , Dpa ] = butter( orden , Fcorte1 , 'high' );
>> [Hpa , F ] = freqz( Npa , Dpa , N , Fs); % filtro P-alto
>> mHpa = abs( Hpa );
>> mHpa = 20*log10( mHpa );
>> %plot( F , mHpa )
>> %xlabel(' Frecuencia ')
>> SmD_PA = filter( Npa , Dpa , SmD ); % elimina la
>> %plot( t , SmD_PA ) % comp. DC.
>> %xlabel(' Tiempo ')
8. MODULACIÓN ANGULAR: FRECUENCIA Y FASE
Otra clase importante de técnica de modulación es conocida
como modulación angular. En una modulación angular se
distinguen a su vez dos tipos: la modulación de frecuencia (FM)
o la modulación de fase (PM), en donde la señal moduladora se
utiliza para controlar la frecuencia o la fase de una portadora
sinusoidal.
Los sistemas de modulación de este tipo ofrecen más ventajas
sobre los sistemas de modulación AM. Es decir, en un sistema
FM, las variaciones de amplitud introducidas en un canal de
transmisión que se deben a perturbaciones aditivas o a
desvanecimiento pueden eliminarse en el receptor [1].
Modulación de Frecuencia (FM)
Está definida por la expresión matemática mostrada a
continuación, donde Ap representa la amplitud de la señal de
75. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 75
portadora, wp la frecuencia de la señal portadora (en rad/seg. e
igual a 2fp), Kf el factor de sensibilidad para la modulación FM,
y Sm() la señal modulante (en voltios).
t
m
f
p
p
fm d
S
K
t
w
A
t
S
)
(
cos
)
(
Donde la frecuencia instantánea, wi(t), corresponde a:
)
(
)
( t
S
K
w
t
w m
f
p
i
Por lo tanto, el diagrama de bloques mostrado en la figura 8.1
representa una forma indirecta de obtención de la modulación
de frecuencia, a partir de la integral de la señal modulante
seguida de un bloque modulador de fase.
A continuación se presenta un ejemplo de modulación FM para
el caso de una señal modulante correspondiente a un simple
tono de 2 Hz.
Figura 8.1: Diagrama de bloque de un modulador de
frecuencia [3].
>> Fs = 2000;
>> N = Fs;
>> t = linspace( 0 , 1, Fs);
>> Ap = 4;
>> kf = 2*pi*100;
>> wp = 2*pi*500;
>> Sm = 2*cos(2*pi*2*t);
Modulador
de Fase
d
Sm )
(
Sfm (t)
Sm (t)
76. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
76
>> %Integrando Sm (señal modulante)
>> syms t
>> Sm = 2*cos(2*pi*2*t);
>> SmINT = int( Sm );
>> intervalo = [ 0 1 ]; %gráfica de la Integral
>> ezplot( SmINT , intervalo ) %de señal “Sm(t)”
>> t = linspace(0,1,Fs);
>> SmI = subs( SmINT , t ); %sustitución simbólica
>> Sfm = Ap * cos( wp*t + kf*SmI); %señal FM
>> subplot(211)
>> plot( t*1000 , Sfm )
>> axis( [ 0 0.2*1000 -4.5 4.5 ] )
>> title(' Señal modulada en frecuencia ')
>> xlabel(' Tiempo (mili segundos) '), grid
>> SFM = abs( fft( Sfm , N ) );
>> F = linspace( -Fs/2 , Fs/2 , N );
>> SFM = fftshift( SFM );
>> subplot(212)
>> plot( F/1000 , SFM ) % ver figura 8.2
>> title(' Módulo del espectro de frecuencia de FM ')
>> xlabel(' Frecuencia (KHz) '), grid
Figura 8.2: Señal modulada en frecuencia (a) Representación
temporal. (b) Módulo del espectro de frecuencia.
Seguidamente, se obtiene la frecuencia instantánea máxima y
mínima para el ejemplo anteriormente presentado.
77. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 77
>> Fs = 2000;
>> N = Fs;
>> t = linspace( 0 , 1, Fs);
>> Ap = 4;
>> kf = 2*pi*100;
>> wp = 2*pi*500;
>> Sm = 2*cos(2*pi*2*t);
>> wi = wp + kf * Sm; % en rad/seg.
>> fi = wi / (2*pi); % en Hertz.
>> plot( t , fi ) % ver figura 8.3
>> grid,
>> title(' Frecuencia Instantánea en Hertz ')
>> xlabel(' Tiempo ')
>> fi_MAX = max( fi );
>> fi_MIN = min( fi );
Figura 8.3: Gráfico de la frecuencia instantánea en Hertz
referente a la modulación FM.
Modulación de Fase (PM)
Está definida por la expresión matemática mostrada a
continuación, donde Ap representa la amplitud de la señal de
portadora, wp la frecuencia de la señal portadora (en rad/seg. e
igual a 2fp), Kp el factor de sensibilidad para la modulación
PM, y Sm() la señal modulante (en voltios).
78. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
78
)
(
cos
)
( t
S
K
t
w
A
t
S m
p
p
p
pm
Donde la frecuencia instantánea, wi(t), corresponde a:
dt
t
S
d
K
w
t
w m
p
p
i
)
(
)
(
Por lo tanto, el diagrama de bloques mostrado en la figura 8.4
representa una forma indirecta de obtención de la modulación
de fase, a partir de la derivada de la señal modulante seguida
de un bloque modulador de frecuencia.
Figura 8.4: Diagrama de bloque de un modulador de fase [3].
A continuación se presenta un ejemplo de modulación PM para
el caso de una señal modulante correspondiente a un simple
tono de 2 Hz.
>> Fs = 2000; N = Fs;
>> t = linspace( 0 , 1, Fs);
>> Ap = 4;
>> kp = 2*pi*10;
>> wp = 2*pi*500;
>> Sm = 2*cos(2*pi*2*t);
>> Spm = Ap * cos( wp*t + kp*Sm); %señal PM
>> subplot(211)
>> plot( t*1000 , Spm )
>> axis( [ 0 0.2*1000 -4.5 4.5 ] )
>> title(' Señal modulada en fase ')
>> xlabel(' Tiempo (mili segundos) '), grid
>> SPM = abs( fft( Spm , N ) );
>> F = linspace( -Fs/2 , Fs/2 , N );
Modulador
de
Frecuencia
Spm (t)
Sm (t)
dt
t
dSm )
(
dt
d
79. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 79
>> SPM = fftshift( SPM );
>> subplot(212)
>> plot( F/1000 , SPM ) % ver figura 8.5
>> title(' Módulo del espectro de frecuencia de PM ')
>> xlabel(' Frecuencia (KHz) '), grid
Figura 8.5: Señal modulada en fase (a) Representación
temporal. (b) Módulo del espectro de frecuencia.
Seguidamente, se obtiene la frecuencia instantánea máxima y
mínima para el ejemplo anteriormente presentado.
>> Fs = 2000; N = Fs;
>> t = linspace( 0 , 1, Fs);
>> Ap = 4;
>> kp = 2*pi*10;
>> wp = 2*pi*500;
>> Sm = 2*sin(2*pi*2*t);
>> % DERIVANDO Sm(t) (señal modulante)
>> syms t
>> Sm = 2*cos(2*pi*2*t);
>> SmDER = diff( Sm );
>> intervalo = [ 0 1 ]; %gráfica de la derivada
>> ezplot( SmDER , intervalo ) %de señal “Sm(t)”
>> t = linspace(0,1,Fs);
80. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
80
>> SmD = subs( SmDER , t ); %sustitución simbólica
>> wi = wp + kp * SmD; % en rad/seg.
>> fi = wi / (2*pi); % en Hertz.
>> plot( t , fi ) % ver figura 8.6
>> grid,
>> title(' Frecuencia Instantánea en Hertz ')
>> xlabel(' Tiempo ')
>> fi_MAX = max( fi );
>> fi_MIN = min( fi );
Figura 8.6: Gráfico de la frecuencia instantánea en Hertz
referente a la modulación PM.
Después de utilizar como señal modulante una onda coseno,
ahora se utiliza una onda cuadrada y luego una triangular. De
esta forma, es posible observar la forma de onda FM y PM ante
la presencia de estas dos señales periódicas, a partir de la
definición señalada a través de los diagramas de bloques de las
figuras 8.1 y 8.4.
>> % ONDA CUADRADA Y TRIANGULAR
>> Fs = 1000;
>> t = linspace( 0 , 1 , 1*Fs );
>> Sm1 = 2*square(2*pi*2*t);
>> Sm2 = 2*sawtooth (2*pi*2*t , 0.5);
81. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 81
>> Ap = 4;
>> wp = 2*pi*20;
>> kf = 2*pi*10^0.04;
>> kp = 2*pi*12;
>> % INTEGRANDO Sm1 y Sm2 (señales modulantes)
>> Sm1_INT = ( (2/8)*sawtooth(2*pi*2*t , 0.5 ) + 1/2 ) / 2;
>> Sm2_INT = (-2/16)*sin(2*pi*2*t);
>> % APLICANDO LA MODULACIÓN PM PARA OBTENER LA
>> % MODULACIÓN FM de Sm1(t) y Sm2(t)
>> Sfm1 = Ap * cos( wp*t + kp*Sm1_INT); %señal FM_1
>> subplot(221), plot( t , Sm1 )
>> grid
>> title('Señal Mod. Cuadrada')
>> subplot(223), plot( t , Sfm1 )
>> grid
>> title('Señal FM')
>> Sfm2 = Ap * cos( wp*t + kp*Sm2_INT); %señal FM_2
>> subplot(222), plot( t , Sm2 ) , grid
>> title('Señal Mod. Triangular')
>> subplot(224), plot( t , Sfm2 ) , grid
>> title('Señal FM') %ver figura 8.7
Figura 8.7: Arriba: gráficos de señales modulantes cuadrada y
triangular. Abajo: señales moduladas en FM.
82. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
82
>> % LUEGO, DERIVANDO Sm1 y Sm2 (señales modulantes)
>> Sm1_DER = [ zeros(1,Fs/4-1) -1 zeros(1,Fs/4-1) 1];
>> Sm1_DER = (100/0.5)*[ Sm1_DER Sm1_DER ];
>> plot( t , Sm1_DER )
>> Sm2_DER = (2*8)*square(2*pi*2*t);
>> plot( t , Sm2_DER )
>> % EN SEGUIDA, SE INTEGRA Sm1_DER y Sm2_DER, PARA
>> % LUEGO APLICAR LA MODULACIÓN FM Y OBTENER LA
>> % CORRESPONDIENTE MODULACIÓN PM.
>> INT_Sm1_DER = Sm1;
>> INT_Sm2_DER = Sm2;
>> Spm1 = Ap * cos( wp*t + kf* INT_Sm1_DER ); % PM_1
>> subplot(221), plot( t , Sm1 ) , grid
>> title('Señal Mod. Cuadrada')
>> subplot(223), plot( t , Spm1 ) , grid
>> title('Señal PM')
>> Spm2 = Ap * cos( wp*t + kf* INT_Sm2_DER ); % PM_2
>> subplot(222), plot( t , Sm2 )
>> grid
>> title('Señal Mod. Triangular')
>> subplot(224), plot( t , Spm2 )
>> grid
>> title('Señal PM') %ver figura 8.8
Figura 8.8: Arriba: gráficos de señales modulantes cuadrada y
triangular. Abajo: señales moduladas en PM.
83. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 83
Tipos de modulación FM
Para el caso de una modulación FM, la desviación máxima de la
frecuencia de la portadora, fmax (en Hz), y el índice de
modulación, fm, se determinan a partir de las siguientes
expresiones [3]:
2
max
max
m
f A
k
F
m
fm
F
Fmax
Donde, |Am|max , representa a la amplitud máxima de la señal
modulante, y Fm la frecuencia en Hertz de la señal modulante.
Por lo tanto, dependiendo del valor de fm, la modulación FM
puede ser de dos tipos: modulación FM de banda angosta (FM-
N), o modulación FM de banda ancha (FM-W).
Modulación de banda angosta: fm << 1. Seguidamente un
ejemplo.
>> Fs = 10000;
>> N = Fs;
>> t = linspace(0,1,Fs);
>> Am = 2;
>> wm = 2*pi*100;
>> Sm = Am*cos(wm*t);
>> wp = 2*pi*2000;
>> kf = 2*pi*10;
>> beta = kf * Am / ( wm )
beta =
0.2000
>> % INTEGRANDO LA SEÑAL MODULANTE “Sm”
>> SmI = (Am/wm) * sin(wm*t);
>> Sfm = 0.5 * cos( wp*t + kf * SmI );
>> SFM = abs( fft( Sfm, N ) );
>> SFM = fftshift( SFM );
>> F = linspace( -Fs/2 , Fs/2 , N );
>> plot( F , SFM ), grid % ver figura 8.9
84. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
84
>> xlabel(' Frecuencia en Hz')
>> title(' FM Banda Angosta (espectro de frecuencia) ')
Donde el ancho de banda, aproximado, se obtiene:
>> Fm = wm/2/pi; % Fm: frec. máx. de modulante
>> dF_max = beta * Fm; % desviación máxima de frec.
>> Bw = 2*Fm;
Figura 8.9: Módulo del espectro de frecuencia de una
modulación FM de banda angosta.
Modulación de banda ancha: fm >> 1. Seguidamente un
ejemplo.
>> Fs = 10000;
>> N = Fs;
>> t = linspace(0,1,Fs);
>> Am = 2;
>> wm = 2*pi*100;
>> Sm = Am*cos(wm*t);
>> wp = 2*pi*2000;
>> kf = 2*pi*500;
>> beta = kf * Am / ( wm )
beta =
10.0000
85. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 85
>> % INTEGRANDO LA SEÑAL MODULANTE “Sm”
>> SmI = (Am/wm) * sin(wm*t);
>> Sfm = 0.5 * cos( wp*t + kf * SmI );
>> SFM = abs( fft( Sfm, N ) );
>> SFM = fftshift( SFM );
>> F = linspace( -Fs/2 , Fs/2 , N );
>> plot( F , SFM ), grid % ver figura 8.10
>> xlabel(' Frecuencia en Hz')
>> title(' FM Banda Ancha (espectro de frecuencia) ')
Figura 8.10: Módulo del espectro de frecuencia de una
modulación FM de banda ancha.
Donde el ancho de banda, aproximado, se obtiene:
>> Fm = wm/2/pi; % Fm: frec. máx. de modulante
>> dF_max = beta * Fm; % desviación máxima de frec.
>> Bw = 2*( dF_max + 2*Fm );
Para el caso de una modulación FM de banda ancha y cuando la
señal modulante es una onda sinusoidal, el espectro de
frecuencia es obtenido aproximadamente a partir de la función
de Bessel de primera clase.
>> t = 0:.01:10;
>> n = 0:5; % orden: 0, 1, 2, 3, 4, 5
>> F = besselj( n , t' );
86. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
86
>> plot( t , F , 'linewidth' , 3 )
>> grid % ver figura 8.11
>> text( 1 , 0.85 , 'Jo(beta)' )
>> text( 2 , 0.63 , 'J1(beta)' )
>> text( 3 , 0.53 , 'J2(beta)' )
>> text( 4.3 , 0.47 , 'J3(beta)' )
>> text( 5.5 , 0.43 , 'J4(beta)' )
>> text( 7 , 0.38 , 'J5(beta)' )
>> xlabel(' Índice de modulación: beta ')
>> ylabel(' Valor de función Bessel ')
>> title('Función de Bessel de 1ra Clase. Orden: 0,1,2,3,4,5 ')
Figura 8.11: Función de Bessel de Primera Clase [3].
9. DEMODULACIÓN FM
Para recuperar la señal modulante Sm(t) a partir de la señal
modulada de FM, deberá disponerse de un circuito cuya salida
varíe linealmente con la frecuencia de la señal de entrada. Por
lo tanto, los detectores de FM son dispositivos sensibles a la
frecuencia, y también se llaman discriminadores de frecuencia
[3].
Seguidamente, en la figura 9.1, se muestra un discriminador
simple denominado Discriminador R-L o detector de pendiente
87. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 87
[3]. Luego, se representa un ejemplo de demodulación FM
tomando como señal modulante una onda coseno de 4 Hz.
Para dicho análisis, primero se obtiene el voltaje vx(t), luego el
voltaje después del diodo, vy(t), y finalmente, el voltaje de
salida total SmD(t).
Figura 9.1: Discriminador simple: R-L [3].
>> Fs = 1000;
>> N = Fs;
>> t = linspace( 0 , 1, Fs );
>> Ap = 4;
>> kf = 2*pi*20;
>> wp = 2*pi*100;
>> Sm = 2*cos(2*pi*4*t);
>> % INTEGRANDO Sm (señal modulante)
>> Sm_INT = (2/(8*pi))*sin(2*pi*4*t);
>> Sfm = Ap * cos( wp*t + kf*Sm_INT); % señal FM
>> subplot(221)
>> plot( t , Sfm ) , grid
>> title(' Señal modulada en FM: Sfm(t) ')
>> % DEFINIENDO LOS PARÁMETROS DEL DISCRIMINADOR
>> % PARA OBTENER EL VOLTAJE EN Vx(t)
>> R1 = 2000;
>> L = 1;
vx(t)
+
-
Sfm (t)
DIODO
R1 = 2 K
C = 0.1 mF
vy(t)
+
SmD (t)
-
R2 = 600
L= 1 h
88. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
88
>> FT1 =tf( [ 1 0 ] , [ 1 R1/L ] );
>> vx = lsim( FT1 , Sfm , t );
>> subplot(222) , plot( t , vx ) , grid
>> title(' Señal en Vx(t) ')
>> % SEÑAL A LA SALIDA DEL DIODO: Vy(t)
>> vy = vx;
>> for i=1:length( vx ), if vx(i) < 0 , vy(i) = 0; end, end,
>> subplot(223) , plot( t , vy ) , grid
>> title(' Señal en Vy(t) ')
>> % SALIDA DEL CIRCUITO: SmD(t)
>> C = 0.1*0.001;
>> R2 = 600;
>> FT2 = tf( R2 , [ R2*C 1 ] );
>> SmD = lsim( FT2 , vy , t);
>> subplot(224) , plot(t , SmD ), grid % ver figura 9.2
>> title(' Señal Demodulada: SmD(t) ')
Figura 9.2: Proceso de demodulación de señal FM.
Una forma alternativa y teórica respecto al discriminador
planteado anteriormente, se basa en el diagrama de bloques
mostrado en la figura 9.3. Entonces, se plantea el siguiente
ejemplo de demodulación FM a partir de la derivada de la señal
modulada.
89. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 89
>> % INTEGRANDO LA SEÑAL MODULANTE “Sm”
>> syms t
>> Sm = 5*cos(2*2*pi*t) +5;
>> SmI = int( Sm );
Figura 9.3: Diagrama de bloques de una demodulación FM
mediante diferenciación directa [3].
>> % DERIVANDO SEÑAL FM: Sfm(t)
>> kf = 2*pi*1500;
>> wp = 2*pi*100;
>> Sfm = 2*cos( wp*t + kf*SmI );
>> SfmDER = diff( Sfm );
>> Fs = 1000;
>> t = linspace(0,1,Fs);
>> Sfm_DER = subs( SfmDER , t );
>> % DETECTOR DE ENVOLVENTE
>> [ a , b ] = find( Sfm_DER(:,:) >0 );
>> Sfm_DER1 = zeros( size(Sfm_DER) );
>> Sfm_DER1( b ) = Sfm_DER( b );
>> C = 0.1*0.001;
>> R = 800;
>> FT = tf( R , [ R*C 1 ] );
>> SfmD = lsim( FT , Sfm_DER1 , t);
>> subplot(311)
>> Sm = subs( Sm , t );
>> plot(t , Sm ), grid
>> title(' Señal modulante ')
>> subplot(312)
>> plot(t , Sfm_DER ), grid %ver figura 9.4
>> title(' Derivada de la Señal FM ')
90. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
90
>> subplot(313)
>> plot(t , SfmD )
>> grid
>> title(' Señal de salida del Detector de Envolvente ')
>> xlabel(' Eje de tiempo (seg.) ')
Figura 9.4: Proceso de demodulación basado en el diagrama de
bloques de la figura 9.3.
10. INTRODUCCIÓN AL TOOLBOX COMMUNICATIONS
El Toolbox Communications es una colección de funciones de
cálculo y bloques de simulación para investigación, desarrollo,
diseño de sistemas, análisis y simulación en el área de
comunicaciones [8]. Este toolbox incluye bloques para Simulink,
y funciones para el Matlab.
A pesar que en algunas secciones anteriores se ha desarrollado
y mostrado algunos ejemplos de modulación analógica AM y
FM-PM, en esta última sección se vuelve a mostrar dicho
proceso de modulación haciendo uso de las funciones que
ofrece el Toolbox de Communications del Matlab. A continuación
se muestra las funciones respectivas.
>> help comm % ver figura 10.1
91. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 91
Figura 10.1: Lista de comandos del Toolbox Communications.
Para el caso de una modulación y demodulación analógica AM,
se utilizan los siguientes comandos.
>> help ammod
>> help amdemod
>> help ssbmod
>> help ssbdemod
Ejemplo 01: Modulación AM de señal triangular de 5
Hz, amplitud de 2 voltios y DC de 4
voltios.
>> Fs = 1000;
>> Fp = 100;
>> Fm = 5;
>> t = linspace( 0 , 1, Fs );
>> Sm = 2* sawtooth( 2*pi*Fm*t , 0.5 ) + 4 ;
>> Sam = ammod( Sm , Fp , Fs );
>> disp(' Modulación realizada ')
>> SmD = amdemod( Sam , Fp , Fs );
>> disp(' Demodulación realizada ')
>> subplot( 311 ), plot( t , Sm ), grid
>> title(' Señal Modulante ')
92. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
92
>> subplot( 312 ), plot( t , Sam ), grid
>> title(' Señal AM – DBL ')
>> subplot( 313 ), plot( t , SmD ), grid
>> title(' Señal AM demodulada ') % ver figura 10.2
>> % ESPECTRO DE FRECUENCIA
>> N = Fs;
>> SAM = fft( Sam , N );
>> SAM = abs( fftshift( SAM ));
>> F = linspace( -Fs/2 , Fs/2 , N );
>> %plot( F , SAM ), grid
Figura 10.2: Modulación/demodulación AM-DBL.
Ejemplo 02: Modulación AM-BLU de señal cuadrada
de 4 Hz, amplitud de 5 voltios y DC de 2
voltios.
>> Fs = 1000;
>> Fp = 100;
>> Fm = 4;
>> t = linspace( 0 , 1.2 , 1.2*Fs );
>> Sm = 5* square( 2*pi*Fm*t , 40 ) + 2 ;
>> SamBLU = ssbmod( Sm , Fp , Fs );
>> disp(' Modulación realizada ')
>> SmD = ssbdemod( SamBLU , Fp , Fs );
>> disp(' Demodulación realizada ')
>> subplot( 311 ), plot( t , Sm ), grid
>> title(' Señal Modulante ')
93. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 93
>> subplot( 312 ), plot( t , SamBLU ), grid
>> title(' Señal AM – BLU ')
>> subplot( 313 ), plot( t , SmD ), grid
>> title(' Señal AM demodulada ') % ver figura 10.3
>> % ESPECTRO DE FRECUENCIA
>> N = Fs;
>> SAMBLU = fft( SamBLU , N );
>> SAMBLU = abs( fftshift( SAMBLU ));
>> F = linspace( -Fs/2 , Fs/2 , N );
>> %plot( F , SAMBLU ), grid
Figura 10.3: Modulación/demodulación AM-BLU.
Por otro lado, para el caso de una modulación y demodulación
analógica FM Y PM, se utilizan los siguientes comandos.
>> help fmmod
>> help fmdemod
>> help pmmod
>> help pmdemod
Ejemplo 03: Modulación FM de señal diente de sierra
de 10 Hz y amplitud de 3 voltios.
>> Fs = 1000;
>> Fp = 100;
>> Fm = 10;
>> t = linspace( 0 , 0.5 , 0.5*Fs );
94. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
94
>> Sm = 3*sawtooth( 2*pi*Fm*t , 1 );
>> Fdv = 20; % desviación de frec. en Hz.
>> Sfm = fmmod( Sm , Fp , Fs , Fdv );
>> disp(' Modulación realizada ')
>> SmD = fmdemod( Sfm , Fp , Fs , Fdv );
>> disp(' Demodulación realizada ')
>> subplot( 311 ), plot( t , Sm ), grid
>> title(' Señal Modulante ')
>> subplot( 312 ), plot( t , Sfm ), grid
>> title(' Señal FM ')
>> subplot( 313 ), plot( t , SmD ), grid
>> title(' Señal FM demodulada ') % ver figura 10.4
>> % ESPECTRO DE FRECUENCIA
>> N = Fs;
>> SFM = fft( Sfm , N );
>> SFM = abs( fftshift( SFM ));
>> F = linspace( -Fs/2 , Fs/2 , N );
>> %plot( F , SFM ), grid
Figura 10.4: Modulación/demodulación FM.
Ejemplo 04: Modulación PM de señal seno de 20 Hz y
amplitud de 2 voltios.
>> Fs = 1000;
95. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete 95
>> Fp = 100;
>> Fm = 20;
>> t = linspace( 0 , 0.25 , 0.25*Fs );
>> Sm = 2*sin( 2*pi*Fm*t );
>> Fdv = 1.8; % desviación de frec. en rad/seg.
>> Spm = pmmod( Sm , Fp , Fs , Fdv );
>> disp(' Modulación realizada ')
>> SmD = fmdemod( Spm , Fp , Fs , Fdv );
>> disp(' Demodulación realizada ')
>> subplot( 311 ), plot( t , Sm ), grid
>> title(' Señal Modulante ')
>> subplot( 312 ), plot( t , Spm ), grid
>> title(' Señal PM ')
>> subplot( 313 ), plot( t , SmD ), grid
>> title(' Señal PM demodulada ') % ver figura 10.5
>> % ESPECTRO DE FRECUENCIA
>> N = Fs;
>> SPM = fft( Spm , N );
>> SPM = abs( fftshift( SPM ));
>> F = linspace( -Fs/2 , Fs/2 , N );
>> %plot( F , SPM ), grid
Figura 10.5: Modulación/demodulación PM.
96. Fundamentos de Telecomunicaciones Utilizando el Matlab
Mg. Pedro Freddy Huamaní Navarrete
96
BIBLIOGRAFÍA
[1]. OPPENHEIM Allan, WILLSKY Alan and NAWAB Hamid.
Señales y Sistemas. Segunda Edición. Editorial Prentice
Hall. 1998. 990 pp.
[2]. RORABAUGH Britton C. Digital Filter Designer’s
Handbook. Featuring C Routines. Editorial Tab Books.
1993. 352 pp.
[3]. LATHI B. P. Introducción a la Teoría y Sistemas de
Comunicación. Segunda Edición. Editorial Limusa. 2001.
409 pp.
[4]. OPPENHEIM Allan, SCHAFER Ronald W. and BUCK John R.
Discrete-Time Signal Processing. Segunda Edición.
Editorial Prentice Hall. 1999. 870 pp.
[5]. COUCH Leon W. Sistemas de Comunicación Digitales y
Analógicos. Quinta Edición. Editorial Prentice Hall. 1998.
720 pp.
[6]. MIYARA Federico. Filtros Activos. Segunda Edición.
Departamento de Electrónica de la Universidad Nacional
de Rosario de Argentina. 2004. 117 pp.
[7]. LIMA Netto Sergio, RAMÍREZ Diniz Paul Sergio e BARROS
Da Silva Eduardo Antônio. Processamento Digital de
Sinais. Projeto e Análise de Sistemas. Editorial Bookman.
2002. 590 pp.
[8]. WANG Weizheng. Simulink. Communications Toolbox.
User´s Guide. Version 2. Second Printing. Editorial
Mathworks. 1997. 718 pp.