Documentos de Académico
Documentos de Profesional
Documentos de Cultura
pb0708t PDF
pb0708t PDF
Facultad de Ingeniería
Escuela de Ingeniería Eléctrica
Por:
Por:
José Gabriel Fernández Carazo
_________________________________
Ing. Jorge Romero Chacón
Profesor Guía
_________________________________ _________________________________
Ing. Víctor Hugo Chacón Ing. Lucía Acuña Avendaño
Profesor lector Profesora lectora
ii
DEDICATORIA
iii
RECONOCIMIENTOS
bibliográfico, aportes y guía en la elaboración de este trabajo, así como el tiempo brindado
A todas las personas que han tenido que ver con mi educación moral y profesional,
ya que en estos momentos tiene sentido todo el conocimiento y sabiduría que me han
transmitido.
A mis amigos, compañeros de carrera y a todas las personas que de una u otra
forma han influenciado mi manera de pensar y que de alguna manera han tenido que ver
mi avance en todo el transcurso del desarrollo de este proyecto y Jennifer Soto por su
iv
ÍNDICE GENERAL
ÍNDICE DE FIGURAS.................................................................................. ix
ÍNDICE DE TABLAS.................................................................................... xi
NOMENCLATURA...................................................................................... xii
RESUMEN .................................................................................................... xiii
CAPÍTULO 1: Introducción ...........................................................................1
1.1 Objetivos ................................................................................................................ 1
1.1.1 Objetivo general............................................................................................. 1
1.1.2 Objetivos específicos ..................................................................................... 1
1.2 Justificación del tema............................................................................................. 1
1.3 Problema a resolver................................................................................................ 2
1.4 Metodología ........................................................................................................... 3
CAPÍTULO 2: Desarrollo teórico...................................................................4
2.1 Introducción al procesamiento digital de señales .................................................. 4
2.2 Tipos de señales ..................................................................................................... 5
2.3 Representación frecuencial del dominio................................................................ 8
2.4 Filtros analógicos y digitales ............................................................................... 12
2.4.1 Filtros analógicos ......................................................................................... 12
2.4.2 Filtros digitales............................................................................................. 13
2.5 Nota teórica laboratorio de filtros digitales ......................................................... 14
2.5.1 Suma convolución y respuesta en frecuencia para tiempo discreto............. 14
2.5.2 Filtros de respuesta de duración finita al impulso (FIR).............................. 16
2.5.2.1 Estructura en forma directa de un filtro FIR................................................ 16
2.5.2.2 Métodos para el diseño de filtros FIR.......................................................... 18
2.5.3 Filtros de respuesta de duración infinita al impulso (IIR) ........................... 18
2.5.3.1 Estructura en forma directa de un filtro IIR................................................. 19
2.5.4 Transformación bilineal ............................................................................... 24
2.6 Nota teórica laboratorio de FFT........................................................................... 32
2.6.1 Muestreo en tiempo discreto utilizando la transformada de Fourier ........... 32
2.6.2 La transformada discreta de Fourier y su inversa ........................................ 33
2.6.3 La transformada rápida de Fourier............................................................... 34
2.6.4 Uso de la FFT para determinar la densidad espectral de potencia............... 41
v
2.7 Nota teórica laboratorio de modulación AM ....................................................... 44
2.7.1 Descripción de la modulación de amplitud (AM)........................................ 44
2.7.1.1 Espectro de una señal AM ........................................................................... 46
2.7.2 Demodulación de una señal AM capturando la envolvente......................... 48
2.7.2.1 Demodulación de señales AM utilizando la ley cuadrática ......................... 48
2.8 Nota teórica laboratorio de modulación DSBSC-AM ......................................... 50
2.8.1 Descripción matemática de una señal DSBSC-AM..................................... 50
2.8.2 El receptor coherente ideal........................................................................... 51
2.8.3 Lazo de Costas: técnica práctica para demodulación coherente .................. 54
2.9 Nota teórica laboratorio de modulación SSB....................................................... 60
2.9.1 Moduladores SSB ........................................................................................ 60
2.9.2 Demodulación coherente de señales SSB .................................................... 63
2.9.3 Desplazamiento en frecuencia ..................................................................... 66
2.10 Nota teórica laboratorio de modulación FM........................................................ 68
2.10.1 Descripción de la modulación FM............................................................... 68
2.10.1.1 Modulación FM de un tono simple.......................................................... 70
2.10.1.2 Ancho de banda de una señal FM ............................................................ 71
2.10.2 Demodulación FM: discriminador en frecuencia ........................................ 72
2.10.2.1 Discriminador FM utilizando un detector de envolvente ........................ 73
2.10.2.2 Discriminador FM utilizando la envolvente compleja............................. 74
2.10.3 Demodulación FM usando un PLL.............................................................. 75
2.11 Nota teórica laboratorio de modulación PAM ..................................................... 78
2.11.1 Descripción de la modulación PAM ............................................................ 78
2.11.2 Criterio de Nyquist para no tener ISI........................................................... 82
2.11.3 Diagramas de ojo ......................................................................................... 83
2.11.4 Recuperación de la frecuencia del tren de pulsos ........................................ 86
2.12 Nota teórica laboratorio de modulación QAM .................................................... 88
2.12.1 Transmisor QAM básico.............................................................................. 88
2.12.2 Modulador QAM utilizando filtros conformadores pasabandas.................. 92
CAPÍTULO 3: Laboratorios .........................................................................95
3.1 Laboratorio de filtros digitales............................................................................. 96
3.1.1 Filtros digitales FIR ..................................................................................... 98
3.1.2 Filtros digitales IIR ...................................................................................... 98
3.1.3 Filtrado en SIMULINK.............................................................................. 100
3.1.3 Cuestionario ............................................................................................... 101
3.2 Laboratorio de FFT ............................................................................................ 102
3.2.1 Cálculo de la FFT....................................................................................... 103
3.2.2 Analizador de espectro de frecuencia en SIMULINK............................... 104
3.2.3 Cuestionario ............................................................................................... 105
3.3 Laboratorio de modulación AM......................................................................... 106
3.3.1 Modulación AM......................................................................................... 107
3.3.2 Detector de envolvente (Ley Cuadrática) .................................................. 108
vi
3.3.3 Cuestionario ............................................................................................... 110
3.4 Laboratorio de modulación DSBSC-AM........................................................... 111
3.4.1 Modulación DSBSC-AM........................................................................... 112
3.4.2 Modulación y demodulación AM utilizando SIMULINK......................... 113
3.4.3 Cuestionario ............................................................................................... 113
3.5 Laboratorio de modulación SSB........................................................................ 114
3.5.1 Modulación SSB-AM ................................................................................ 114
3.5.2 Demodulación SSB-AM ............................................................................ 115
3.5.3 Modulación y demodulación SSB–AM en SIMULINK............................ 116
3.5.4 Cuestionario ............................................................................................... 117
3.6 Laboratorio de modulación FM ......................................................................... 118
3.6.1 Modulación FM ......................................................................................... 118
3.6.2 Modulación y demodulación FM utilizando SIMULINK ......................... 120
3.6.3 Cuestionario ............................................................................................... 121
3.7 Laboratorio de modulación PAM ...................................................................... 122
3.7.1 Modulación y demodulación PAM en MATLAB ..................................... 123
3.7.2 Modulación y demodulación PAM en SIMULINK................................... 125
3.7.3 Cuestionario ............................................................................................... 126
3.8 Laboratorio de modulación QAM...................................................................... 127
3.8.1 Modulación y demodulación QAM ........................................................... 129
3.8.2 Modulación y demodulación QAM con SIMULINK................................ 130
3.8.2 Cuestionario ............................................................................................... 131
CAPÍTULO 4: Conclusiones y recomendaciones .....................................132
4.1 Conclusiones ...................................................................................................... 132
4.2 Recomendaciones .............................................................................................. 134
BIBLIOGRAFÍA ..........................................................................................135
APÉNDICES.................................................................................................137
APÉNDICE A: Código fuente de los ejercicios de simulación en MATLAB .............. 137
A.1 Código fuente laboratorio de filtros digitales ................................................ 137
A.2 Código fuente laboratorio de FFT.................................................................. 152
A.3 Código fuente laboratorio de modulación AM .............................................. 157
A.4 Código fuente laboratorio de modulación DSBSC-AM ................................ 167
A.5 Código fuente laboratorio de modulación SSB-AM...................................... 172
A.6 Código fuente laboratorio de modulación FM............................................... 182
A.7 Código fuente laboratorio de modulación PAM............................................ 189
A.8 Código fuente laboratorio de modulación QAM ........................................... 196
APÉNDICE B: Diagramas de bloques de los ejercicios de simulación en SIMULINK204
B.1 Simulación: laboratorio de filtros digitales.................................................... 204
B.2 Simulación: laboratorio de FFT ..................................................................... 205
B.3 Simulación: laboratorio de modulación AM.................................................. 206
vii
B.4 Simulación: laboratorio de modulación DSBSC-AM.................................... 207
B.5 Simulación: laboratorio de modulación SSB-AM ......................................... 208
B.6 Simulación: laboratorio de modulación FM .................................................. 209
B.7 Simulación: laboratorio de modulación PAM ............................................... 210
B.8 Simulación: laboratorio de modulación QAM............................................... 211
viii
ÍNDICE DE FIGURAS
Figura 2.1 Tipos de señales: (a) Señal continua en el tiempo sin cuantificar, (b) señal
discreta en el tiempo sin cuantificar................................................................................... 7
Figura 2.2 Tipos de señales: (a) Señal continua en el tiempo cuantificada, (b) señal
discreta en el tiempo cuantificada...................................................................................... 8
Figura 2.3 Representación en el dominio del tiempo de la señal periódica dada por la
ecuación (2.3-1). .............................................................................................................. 10
Figura 2.4 Representación en el dominio de la frecuencia de la señal periódica de la
ecuación (2.3-1). (a) Espectro de Magnitud, (b) Espectro de Fase.................................. 10
Figura 2.5 Diagrama de bloques de la estructura en forma directa de un filtro FIR ....... 17
Figura 2.6 Primer paso de la estructura en forma directa tipo 1 de un filtro IIR............. 20
Figura 2.7 Diagrama de bloques de la estructura en forma directa tipo 1 de un filtro IIR
.......................................................................................................................................... 21
Figura 2.8 Diagrama de bloques de la estructura en forma directa tipo 2 de un filtro IIR
.......................................................................................................................................... 23
Figura 2.9 Mapeo del plano s al plano s’ ......................................................................... 26
Figura 2.10 Mapeo de Ω a ω por medio de la transformación bilineal. .......................... 27
Figura 2.11 Descripción del efecto de la transformación bilineal de Hc( jΩ) a H'(ω)..... 29
Figura 2.12 Esquema de Mariposa del algoritmo FFT de diezmado en el tiempo. ......... 37
Figura 2.13 Primera etapa del algoritmo FFT de diezmado en el tiempo........................ 37
Figura 2.14 Primera etapa del algoritmo FFT de diezmado en frecuencia...................... 40
Figura 2.15 Espectro de una señal AM............................................................................ 47
Figura 2.16 Detector de envolvente (Ley Cuadrática)..................................................... 49
Figura 2.17 Diagrama de bloques de un Receptor Coherente Ideal ................................ 52
Figura 2.18 Espectro de una señal DSBSC-AM .............................................................. 53
Figura 2.19 Diagrama de bloques del demodulador de lazo Costas ................................ 54
Figura 2.20 Diagrama de bloques del Lazo Costas linealizado ....................................... 59
Figura 2.21 Diagrama de bloques de la modulación SSB ............................................... 61
Figura 2.22 Modulador SSB utilizando la transformada de Hilbert ................................ 63
Figura 2.23 Modulación FM ............................................................................................ 71
Figura 2.24 Diagrama de bloques elemental de un discriminador de frecuencia ............ 73
Figura 2.25 Discriminador en tiempo discreto usando la envolvente compleja .............. 75
Figura 2.26 Demodulador FM con PLL en tiempo discreto............................................ 76
Figura 2.27 Modelo linearizado del PLL......................................................................... 77
Figura 2.28 Modulación PAM ......................................................................................... 78
Figura 2.29 Diagrama de bloques de un sistema de comunicación PAM ....................... 79
Figura 2.30 Señal binaria antes del muestreador ............................................................. 84
Figura 2.31 Diagrama de ojos para la señal de la figura 2.30.......................................... 85
Figura 2.32 Diagrama de bloques del sistema de recuperación de frecuencia ................ 87
ix
Figura 2.33 Diagrama de bloques de un transmisor QAM básico................................... 89
Figura 2.34 Constelaciones QAM.................................................................................... 90
Figura 2.35 Representación de un modulador QAM en términos de señales complejas. 92
Figura 2.36 Modulador QAM utilizando un filtro conformador pasabanda.................... 93
Figura 2.37 Diagrama de bloques expandido del nuevo modulador QAM ..................... 94
Figura 3.1 Respuesta en frecuencia de un filtro pasobajo ............................................... 96
Figura 3.3 Diagrama del principio básico de modulación AM...................................... 106
Figura 3.4 Detector de envolvente de Ley Cuadrática................................................... 110
Figura 3.5 Diagrama del principio básico de demodulación AM.................................. 111
Figura 3.6 Modulador SSB ............................................................................................ 114
x
ÍNDICE DE TABLAS
Tabla 2.1 Parámetros de una señal obtenidos a partir de la ecuación 2.3-1 ...................... 9
Tabla 3.1 Funciones más comunes para el diseño de filtros digitales en MATLAB....... 97
Tabla 3.2 Funciones utilizadas en MATLAB para el cálculo de la FFT. ...................... 102
Tabla 3.3 Funciones de MATLAB para modulación y demodulación AM .................. 106
Tabla 3.4 Funciones de MATLAB para modulación y demodulación PAM ................ 123
Tabla 3.5 Funciones de MATLAB para la modulación y demodulación QAM............ 128
xi
NOMENCLATURA
xii
RESUMEN
serie de prácticas de simulación en los apartados que envuelve la ciencia del procesamiento
entender con claridad los conceptos básicos detrás de la ciencia de las comunicaciones.
Segundo se presentan los enunciados de las prácticas para los temas presentados en
el marco teórico. Se inicia con una práctica sencilla de filtros digitales, luego una para
Por último, se muestra el código fuente generado para la solución de los ejercicios
xiii
CAPÍTULO 1: Introducción
1.1 Objetivos
de señales.
comunicaciones digitales.
el estudio del Procesamiento Digital de Señales (DSP, acrónimo para la frase en inglés
Digital Signal Processing). Este tema de estudio se ha vuelto tan indispensable que ha sido
1
Es por eso que este es un tema de estudio de gran interés para la Escuela de
una serie de prácticas de simulación en los apartados que envuelve la ciencia del
Procesamiento Digital de Señales que imparte dicha Escuela, con tarjetas de programación
utilizando MATLAB y SIMULINK. Este deberá abarcar los temas más importantes en el
área del procesamiento digital de señales, como por ejemplo el diseño de filtros digitales,
análisis del espectro de una señal digital aplicando la transformada discreta de Fourier,
de transmisión; y estos tan solo para mencionar algunos, los demás se deben determinar por
ejercicios que se deben realizar, y por último tendrán un cuestionario para evaluar todos los
2
1.4 Metodología
anteriormente descritos.
al DSP, seguido de los temas más importantes en el procesamiento digital de señales, los
cuales son la nota teórica de cada una de las prácticas que se pretenden generar. Esta
SIMULINK, las cuales son dos herramientas informáticas muy poderosas y de gran
Por último se evalúa cada una de las prácticas por medio de un análisis de
3
CAPÍTULO 2: Desarrollo teórico
media escala (MSI, medium scale integration), luego con la integración a gran escala (LSI,
large scale integration) y por último, hoy en día, con la integración a muy gran escala
propósito general. Con estos circuitos digitales, se ha hecho posible construir sistemas
procesamiento de señal digital que normalmente eran demasiado difíciles y/o caras con
cosmos a partir de las señales astronómicas, las señales sísmicas pueden ser analizadas para
imágenes o fotografías por computador pueden ser ahora mejoradas, entre muchas otras
cosas más.
4
2.2 Tipos de señales1
telemetría, y economía, tan solo como para nombrar algunos. Las señales naturalmente
provienen de los procesos físicos o son hechas por la humanidad. Las señales astronómicas
pueden ser generadas por explosiones celestes llamadas supernovas o por una estrella
que están en actividad. Las señales en biología son producidas por el cerebro o el corazón,
por los delfines o las ballenas para comunicarse entre ellas, o por un murciélago para poder
volar en la oscuridad o para encontrar alimento. Por otra parte, las señales hechas por la
humanidad son producidas en procesos tecnológicos, tales como las que existen en las
Son muchas las razones por las que existe un gran interés en las señales. Los
astrónomos pueden obtener información muy importante de las estrellas, tal como su
cuando un volcán estará en erupción. Los cardiólogos pueden diagnosticar la condición del
1
Proakis, J. G. “Tratamiento digital de señales”. Tercera Edición, Prentice Hall, Madrid, España, 1998.
5
aviones a aterrizar en condiciones climáticas muy malas y de poca visibilidad, o advertir a
los pilotos de la distancia entre un objeto y los aviones para evitar colisiones.
Entonces, con todo lo que se ha dicho anteriormente se puede decir que una señal es
una cantidad física que varía con el tiempo, el espacio o cualquier otra variable o variables
Una señal continua en el tiempo está definida para todos los valores del tiempo
desde el inicio hasta el final en un intervalo de tiempo dado, por ejemplo la señal acústica
producida por un delfín. Una señal discreta en el tiempo está definida como una señal con
valores en ciertos instantes del tiempo, los cuales pueden ser cada milisegundo, segundo,
minuto, hora o día, por ejemplo las gotas de lluvia como función del tiempo.
variable continua, donde el dominio es un intervalo de valores (t1, t2), donde − ∞ < t1 y
t2 < ∞ , la cual está representada en la figura 2.1a. De forma similar una señal discreta
puede ser representada por una función x(nT ) , donde T es el período entre los valores
discretos adyacentes de la función y n es un integrador del intervalo (n1, n2) donde − ∞ < n1
y n2 < ∞ , tal y como se muestra en la figura 2.1b. Las señales de tiempo discreto a menudo
son generadas a partir de una señal continua por medio de un proceso de muestreo. En
6
particular, tenemos f s = 1 T , la cual es conocida como la frecuencia de muestreo. Las
• Sin cuantificar
• Cuantificada
Una señal sin cuantificar puede tomar cualquier valor en un intervalo, mientras que
una señal cuantificada sólo puede tomar valores discretos, usualmente de igual longitud de
(a) (b)
Figura 2.1 Tipos de señales: (a) Señal continua en el tiempo sin cuantificar, (b) señal
7
(a) (b)
Figura 2.2 Tipos de señales: (a) Señal continua en el tiempo cuantificada, (b) señal
Las señales la mayoría del tiempo son representadas por funciones en el dominio
del tiempo. Pero en algunas situaciones es de gran utilidad representar las señales con
9
x(t ) = ∑ Ak sin (ωk t + φk ) (2.3-1)
k =1
y
1
Antoniou, A. “Digital Signal Processing: Signals, Systems and Filters”. Primera edición, McGraw Hill, New
York, Estados Unidos, 2006.
8
φ (ω ) = {φk : ω = ωk para k = 1,2,3,K,9} (2.3-3)
las cuales representan las magnitudes y las fases de las componentes sinusoidales presentes
2.3-1, tomaran los valores dados en la tabla 2.1 asociados con cierto valor de frecuencia,
x(t ) puede ser representada en el dominio del tiempo, tal y como se muestra en la figura
k ωk Ak φk
1 1 0.6154 0.0579
2 2 0.7919 0.3529
3 3 0.9218 -0.8132
4 4 0.7382 0.0099
5 5 0.1763 0.1389
6 6 0.4057 -0.2028
7 7 0.9355 0.1987
8 8 0.9169 -0.6038
9 9 0.4103 -0.2722
9
Figura 2.3 Representación en el dominio del tiempo de la señal periódica dada por la
ecuación (2.3-1).
10
La utilidad de representar una señal en el dominio de la frecuencia, se puede
figura 2.4. La representación en el dominio del tiempo muestra una señal ruidosa y
periódica. Lo cual implica que ésta señal está compuesta por la suma de componentes
de una señal x(t ) y se obtiene como consecuencia, que las series de Fourier para una señal
periódica son la única manera para obtener una representación espectral de una señal. Los
matemáticas, las cuales pueden ser usadas para representar diferentes tipos de señales de
forma espectral. Otras herramientas matemáticas, además de las Series de Fourier, son la
para señales periódicas discretas en el tiempo. Cada una de estas herramientas será
11
2.4 Filtros analógicos y digitales1
según algún atributo de los objetos que se aplican a su entrada, aquello que pasa a su través.
Por ejemplo, un filtro de aire permite que el aire pase a su través, evitando que las
Los filtros eléctricos, desde que fueron inventados, han hecho posible el gran
inventados para ser usados para receptores de radio y sistemas telefónicos para comunicar
todos los tipos de sistemas de comunicación. Con el desarrollo de filtros en los últimos
tecnología y de acuerdo, con los elementos que los componen. Algunos tipos de filtros
1
Antoniou, A. “Digital Signal Processing: Signals, Systems and Filters”. Primera edición, McGraw Hill, New
York, Estados Unidos, 2006.
12
• Filtros pasivos RLC • Filtros de capacitores conmutados
En general, un filtro digital es un sistema que recibe de entrada una señal de tiempo
discreto y produce de salida una señal de tiempo discreto, pero modificada en cierta forma
El desarrollo de filtros digitales sigue creciendo día con día, y por ello se tiene los
siguientes ejemplos:
Estos filtros digitales hoy en día, pueden ser implementados en lenguajes como
MATLAB o C++.
13
2.5 Nota teórica laboratorio de filtros digitales 1
como la suma convolución de la entrada x[n] con su respuesta al impulso h[n] , por medio
de la siguiente ecuación:
∞ ∞
y[n] = ∑ x[k ] ⋅ h[n − k ] =
k = −∞
∑ h[k ] ⋅ x[n − k ]
k = −∞
(2.5-1)
∞
Y ( z) = ∑ y[n]z
n = −∞
−n
= X ( z) ⋅ H ( z) (2.5-2)
donde
∞ ∞
H ( z) = ∑ h[n]z − n
n = −∞
y X ( z) = ∑ x[n]z
n = −∞
−n
(2.5-3)
1
Tretter, S. A. “Communication System Design Using DSP Algorithms”. Primera Edición, Kluwer Academic
/ Plenum Publishers, New York, Estados Unidos, 2003.
14
De acuerdo con la ecuación 2.5-1, la salida es
∞ ∞
y[n] = ∑ h[k ] ⋅ Ce ω
k = −∞
j ( n − k )T
= Ce jωnT ∑ h[k ] ⋅ e
k = −∞
− jωkT
= x[n]H ( z ) z = e jωT (2.5-4)
Por tanto, la salida tiene forma sinusoidal a la misma frecuencia que la entrada, pero
H * (ω ) = H ( z ) z = e jωT (2.5-5)
H * (ω ) = A(ω )e jθ (ω ) (2.5-6)
Entonces, de acuerdo con la ecuación 2.5-4, la salida puede ser expresada como
15
En otras palabras, el sistema modifica la magnitud de la señal sinusoidal de entrada
impulso. Se trata de un filtro, en el cual si la entrada es una señal impulso, la salida tendrá
Los filtros FIR tienen la gran ventaja de que pueden diseñarse para ser de fase
lineal, lo cual hace que presenten ciertas propiedades en la simetría de los coeficientes. Este
Estos filtros tienen todos los polos en el origen, por lo que son estables. Los ceros se
presentan en pares de recíprocos si el filtro se diseña para tener fase lineal. Una de sus
desventajas es de necesitar un orden mayor respecto a los filtros IIR para cumplir las
ecuación 2.5-1, cuando la respuesta al impulso es idénticamente a cero fuera del intervalo
de valores siguientes {0, 1,2,…, N-1}, de esta manera la suma convolución esta dada por:
16
N −1 n
y[n] = ∑ h[k ] ⋅ x[n − k ] = ∑ x[k ] ⋅ h[n − k ] (2.5-10)
k =0 k = n − N +1
N-etapas (FIR), filtro no recursivo, filtro transversal, o moving average filter (filtro de
en forma directa para construir filtros FIR se muestra en la figura 2.5. Consiste en una línea
de retardos representada por la cadena de bloques llamados z-1 y una serie de divisiones que
17
2.5.2.2 Métodos para el diseño de filtros FIR
• Ventana rectangular
• Ventana de Barlett
• Ventana de Hamming
• Ventana de Blackman
• Ventana de Kaiser
• Muestreo en frecuencia
Un filtro con respuesta al impulso, h(n), que tiene duración infinita es conocido
función racional,
b0 + b1 z −1 + b2 z −2 + L + bN z − N B( z )
H ( z) = −1 −2 −M
= (2.5-11)
1 + a0 + a1 z + a2 z + L + aM z A( z )
18
2.5.3.1 Estructura en forma directa de un filtro IIR
razón de las transformadas z entre la salida y la entrada del filtro esta dada por
Y ( z) B( z )
= H ( z) = (2.5-12)
X ( z) A( z )
⎛ M
⎞ N
Y ( z ) ⋅ A( z ) = X ( z ) ⋅ B( z ) o Y ( z )⎜1 + ∑ ak z − k ⎟ = X ( z )∑ bk z − k (2.5-13)
⎝ k =1 ⎠ k =0
N M
Y ( z ) = ∑ bk X ( z ) z − k − ∑ ak Y ( z ) z − k (2.5-14)
k =0 k =1
N M
y[n] = ∑ bk x[n − k ] − ∑ ak y[n − k ] (2.5-15)
k =0 k =1
recursivo, dado que las salidas pasadas son utilizadas para calcular la salida actual. Se le
ecuación en diferencias.
19
X ( z)
Y ( z) = B( z ) = V ( z ) B( z ) (2.5-16)
A( z )
donde
1
V ( z) = X ( z) (2.5-17)
A( z )
Figura 2.6 Primer paso de la estructura en forma directa tipo 1 de un filtro IIR
directa
M
v[n] = x[n] − ∑ ak v[n − k ] (2.5-18)
k =1
N
y[n] = ∑ bk v[n − k ] (2.5-19)
k =0
siguiente figura, donde se asume que M=N. Este tipo de estructuras requieren menos
20
capacidad y se les conoce como estructura en forma directa tipo 1 y forma directa tipo 2
respectivamente.
IIR
Los elementos s1[n],….,sN[n], son variables de estado para el filtro. La salida actual
siguiente secuencia de pasos puede ser utilizada para obtener las salidas y los estados del
filtro:
21
Paso1: Calculo de v[n]
M
v[n] = x[n] − ∑ ak v[n − k ]
k =1
N
y[n] = b0v[n] + ∑ bk sk [n]
k =1
s N [n + 1] = s N −1[n]
s N −1[n + 1] = sN − 2 [n]
M
s2 [n + 1] = s1[n]
s1[n + 1] = v[n]
N
Y ( z ) = b0 X ( z ) + ∑ [bk X ( z ) − akY ( z )]z − k (2.5-20)
k =1
siguiente.
22
Figura 2.8 Diagrama de bloques de la estructura en forma directa tipo 2 de un filtro
IIR
La secuencia de pasos siguiente es para obtener las salidas y para actualizar sus
23
Paso 2: Actualizar las variables de estado
bien desarrollado, así que en la mayoría de las veces es de gran utilidad diseñar un filtro
B( s) ∑β s k
k
H a (s) = = k =0
N
(2.5-21)
A( s )
∑α s
k =0
k
k
donde {α k } y {β k } son los coeficientes del filtro, o por su respuesta al impulso, que
H a (s ) = ∫ h(t )e − st dt
∞
(2.5-22)
−∞
1
Proakis, J. G. “Tratamiento digital de señales”. Tercera Edición, Prentice Hall, Madrid, España, 1998.
Jackson, L. B. “Digital filters and Signal Processing”. Tercera Edición, Boston: Kluwer Academic Publishers,
Estados Unidos, 1996.
24
También, el filtro analógico que tiene la función de transferencia racional, H(s)
dada en (2.5-21), se puede describir mediante la ecuación diferencial lineal con coeficientes
lineales constantes
N
d k y (t ) M d k x(t )
∑
k =0
αk
dt k
= ∑ βk
k =0 dt k
(2.5-23)
donde x(t) denota la señal de entrada e y(t) denota la salida del filtro.
a métodos alternativos para convertir el filtro al dominio digital. Recuérdese que un sistema
el plano z. Así, habrá una relación directa entre las dos variables de
transformación bilineal, que soluciona ciertas limitaciones que poseen otros métodos. La
25
la circunferencia unidad del plano z sólo una vez, evitando el solapamiento de componentes
plano s dentro del intervalo − π T ≤ Im(s ' ) ≤ π T , luego para transformarlo al plano z
utilizando z = e s 'T . La transformación del plano s al plano s’ está descrita en la figura 2.9 y
2 ⎛ sT ⎞
s' = tan −1 ⎜ ⎟ (2.5-24)
T ⎝ 2 ⎠
Ahora para ver el efecto de esta transformada es mejor pasar al eje jΩ. Sustituyendo
2 ⎛ ΩT ⎞
Ω' = tan −1 ⎜ ⎟ (2.5-25)
T ⎝ 2 ⎠
26
O equivalentemente,
⎛ ΩT ⎞
ω = 2 tan −1 ⎜ ⎟ (2.5-26)
⎝ 2 ⎠
2 ⎛ s'T ⎞
s= tanh⎜ ⎟ (2.5-27)
T ⎝ 2 ⎠
obtiene
27
2 ⎛ ln z ⎞
s= tanh⎜ ⎟ (2.5-28)
T ⎝ 2 ⎠
Recordando que:
e x − e − x 1 − e −2 x
tanh x = = y aplicándolo a la ecuación (2.5-28), se obtiene
e x + e− x 1 + e− 2 x
2 ⎛ 1 − z −1 ⎞
s = ⎜⎜ ⎟ (2.5-29)
T ⎝ 1 + z −1 ⎟⎠
Por tanto, el diseño en tiempo discreto de un filtro se obtiene a partir del diseño en
H ( z ) = H c ( s) 2 ⎛ 1− z − 1
S= ⎜
⎞
⎟ (2.5-30)
T ⎜⎝ 1+ z −1 ⎟
⎠
T
1+s
z= 2 (2.5-31)
T
1− s
2
conoce como distorsión en frecuencia. De esta manera el efecto en H’(ω) relativo a Hc(jΩ)
H ' (ω ) = H c ( jΩ) Ω=
2 ⎛ω ⎞
tan ⎜ ⎟
(2.5-32)
T ⎝2⎠
28
La relación es descrita en la siguiente figura
Figura 2.11 Descripción del efecto de la transformación bilineal de Hc( jΩ) a H'(ω).
29
Para diseñar filtros utilizando la transformación bilineal se utiliza el siguiente
procedimiento:
2 ⎛ω ⎞
Ω= tan⎜ ⎟ (2.5-33)
T ⎝2⎠
Diseño en tiempo continuo: a partir de los valores de Ωc, Ωr, δ1, δ2, y N, se obtiene
siguiente manera
∏
Mc
(s − σ m )
H ( s) = K m =1
(2.5-34)
∏
c N
k =1
( s − sk )
∏
Mc
(1 − zm z −1 )
(
H ( z ) = b0 1 + z )
−1 N − M c m =1
(2.5-35)
∏
N
k =1
(1 − pk z −1 )
30
donde
T T
1+ σm 1+ sk
zm = 2 y pk = 2 (2.5-36)
T T
1− σm 1 − sk
2 2
Por último se obtiene la función de transferencia del sistema H(z) la cual está dada
por (2.5-35).
31
2.6 Nota teórica laboratorio de FFT1
Suponga que una señal continua en el tiempo, es muestreada con un período T o una
x[n]=x(nT).
expresión,
∞
X (ω ) = ∑ x[n] ⋅ e
n = −∞
− jωnT
(2.6-1)
Fourier, por
1
Tretter, S. A. “Communication System Design Using DSP Algorithms”. Primera Edición, Kluwer Academic
/ Plenum Publishers, New York, Estados Unidos, 2003.
32
ws
2
1
x[n] = ∫ X (ω ) ⋅ e
jωnT
dω (2.6-2)
ωs ws
−
2
Así, x[n] puede ser considerada como la suma de ondas sinusoidales muestreadas
− ωs 2 < ω < ωs 2 con amplitudes complejas dadas por X(ω). De esta manera X(ω) se le
Sea x[n] una señal la cual es cero para valores de n que no estén en el siguiente
intervalo {0, 1, 2,…., N-1}. Sea X(ω) en tiempo discreto la transformada de Fourier de
N −1 2π
−j nk
X k = X (kωs N ) = ∑ x[n] e N
para k = 0, 1,.…, N-1 (2.6-3)
n =0
33
N −1 2π
1 j nk
x[n] =
N
∑X
k =0
k e N
para k = 0, 1,.…, N-1 (2.6-4)
de las razones por las que el análisis en Fourier es de una amplia importancia en el
(FFT). La FFT elimina información redundante que existe en la DFT, ya que esta explota
las propiedades de periodicidad y simetría del factor de fase WN. Estas propiedades son:
N
k+
WN 2
= −WNk Simetría (2.6-5)
k+N
W N =W k
N Periodicidad
• Diezmado en el tiempo
• Diezmado en frecuencia
1
Proakis, J. G. “Tratamiento digital de señales”, Tercera edición, Prentice Hall, Madrid España, 1998.
Tretter, S. A. “Communication System Design Using DSP Algorithms”, Primera edición, Kluwer Academic /
Plenum Publishers, New York, Estados Unidos, 2003.
34
Estos algoritmos son de gran utilidad debido a que si se realiza el cálculo directo de
la DFT o IDFT dadas por (2.6-3) y (2.6-4), esto supone realizar N multiplicaciones
N log 2 N . De manera para valores de N muy grandes es de gran importancia utilizar la FFT
N −1 2π N −1
−j nk
Xk = ∑ x[n] e
n=0
N
= ∑ x[n]WNnk
n=0
(2.6-6)
N N
−1 −1
2 2
Xk = ∑ x[2n] W
n=0
2 nk
N + ∑ x[2n + 1] WN( 2 n +1) k para k = 0, 1, K , N − 1
n=0
(2.6-7)
Ahora sea,
a [n] = x[2n] N
para n = 0, 1, K , −1 (2.6-8)
b [n] = x[2n + 1] 2
35
Se puede notar que WN2 = WN 2 . Por tanto, (2.6-7) puede escribirse como
N N
−1 −1
2 2
Xk = ∑ a[n] W
n=0
nk
N /2 + WNk ∑ b[n] WNnk/ 2 para k = 0, 1, K , N − 1
n=0
(2.6-9)
N
−1
2
Ak = ∑ a[n] W
n=0
nk
N /2
N
para n = 0, 1, K , N − 1 (2.6-10)
−1
2
Bk = ∑ b[n] W
n=0
nk
N /2
tiempo. Primero se nota que WNN / 2 = −1 . Luego, la ecuación anterior se puede separar en
X k = Ak + WNk Bk
N
X = Ak − WNk Bk para n = 0, 1, K , −1 (2.6-12)
k+
N 2
2
al cual se le denomina Mariposa, dado que el diagrama de flujo recuerda a una mariposa.
36
Figura 2.12 Esquema de Mariposa del algoritmo FFT de diezmado en el tiempo.
37
Otro algoritmo para el cálculo de la FFT importante, denominado algoritmo de
dos sumatorias, una de las cuales contiene los primeros N 2 puntos de datos y el otro los
N
−1
2 N −1
Xk = ∑ x[n]WNkn +
n=0
∑ x[n]W
N
kn
N
n=
2
N N
(2.6-13)
−1 Nk 2 −1
2
⎡ N ⎤ kn
Xk = ∑ x[n]W
n=0
kn
N +W N
2
∑ x ⎢⎣n +
N 2 ⎥⎦
WN
n=
2
kN
N
Nk 2 −1
⎧ ⎡ N⎤⎫
Xk = W N
2
∑ ⎨ x[n] + (− 1) k
x ⎢n + ⎥ ⎬WNkn
⎣ 2⎦⎭
(2.6-14)
n=
N ⎩
2
N
−1
2
⎧ ⎡ N ⎤ ⎫ kn N
X 2k = ∑ ⎨ x[n] + x ⎢⎣n + ⎬W N
2 ⎥⎦ ⎭ 2
para k = 0, 1,K,
2
−1 (2.6-15)
n=0 ⎩
N
−1
2
⎧ ⎡ N ⎤ ⎫ kn kn N
X 2 k +1 = ∑ ⎨ x[n] − x ⎢⎣n + ⎬W N W N
2 ⎥⎦ ⎭ 2 2
para k = 0, 1,K,
2
−1 (2.6-16)
n=0 ⎩
38
N
Donde se recurre al hecho de que WN2 = W N . Si se definen las secuencias de
2
2
puntos g1 (n ) y g 2 (n ) como
⎡ N⎤
g1 [n] = x[n] + x ⎢n + ⎥
⎣ 2⎦
(2.6-17)
⎧ ⎡ N ⎤⎫ N
g 2 [n] = ⎨ x[n] − x ⎢n + ⎥ ⎬WNn para n = 0, 1, 2,K , − 1
⎩ ⎣ 2 ⎦⎭ 2
Entonces
N
−1
2
X 2k = ∑ g [n]W
n =0
1
kn
N
2
N
(2.6-18)
−1
2
X 2 k +1 = ∑ g [n]W
n=0
2
kn
N
2
diezmado en tiempo.
39
Un diagrama de flujo para un cálculo completo de la primera etapa de este
figura 2.12
40
2.6.4 Uso de la FFT para determinar la densidad espectral de potencia1
caracterizadas en el dominio espectral por su densidad espectral de energía. Por otro lado,
tienen energía finita y, por lo tanto, no tienen transformada de Fourier. Tales señales están
caracterizadas por la densidad espectral de potencia, ya que tienen potencia media finita.
Un método para estimar la densidad espectral de frecuencia está basado en usar una
función llamada periodograma. Esta función de una secuencia de N puntos y[n] esta
definida por
1
I N (ω ) = Y (ω )
2
(2.6-19)
N
donde
N −1
Y (ω ) = ∑ y[n] e − jωnT (2.6-20)
n=0
⎧1 N −1
⎪
R(n ) = ⎨ N
∑ y[n + k ] y[k ]
k =0
para n ≤ N −1
(2.6-21)
⎪0 cualquier otro valor
⎩
1
Proakis, J. G. “Tratamiento digital de señales”, Tercera edición, Prentice Hall, Madrid España, 1998.
Tretter, S. A. “Communication System Design Using DSP Algorithms”, Primera edición, Kluwer Academic /
Plenum Publishers, New York, Estados Unidos, 2003.
41
La variable, n, en la función de autocorrelación se le conoce como el retardo. Para
un retardo cero
N −1
1 1
∑ y[k ]
ωs / 2
R(0 ) = I N (ω ) dω
ω 2 ∫−ω
2
= (2.6-22)
N k =0 s /2
vuelve una mejor forma de estimar la densidad espectral de potencia para procesos
) 1 L −1
S = ∑ I N , k (ω ) (2.6-24)
L k =0
42
Cuando los segmentos de puntos son estadísticamente independientes, el promedio
estimación.
43
2.7 Nota teórica laboratorio de modulación AM1
receptor sobre alguna forma de medio de transmisión. Sin embargo, las señales de
una forma más adecuada para la transmisión. El propósito es transformar una señal m(t) en
otra señal s(t). Este proceso debe ser reversible, de tal manera que se pueda recuperar la
señal m(t) a partir de la señal s(t) en el receptor. La señal m(t) es la señal en banda base que
espectro de frecuencias. La modulación recurre a una nueva señal auxiliar de frecuencia f0.
canal de transmisión. La señal que será transmitida s(t), es la señal llamada portadora a la
frecuencia f0.
1
Tretter, S. A. “Communication System Design Using DSP Algorithms”. Primera Edición, Kluwer Academic
/ Plenum Publishers, New York, Estados Unidos, 2003.
44
Una señal AM está descrita por
donde
La señal
al ancho de banda de m(t), la envolvente es una señal suavizada que pasa por los picos
positivos de s(t) y puede ser vista al modular la amplitud de la onda portadora relativa a
45
Entonces m(t) se puede obtener a partir de la envolvente, a los receptores que
Suponga que la señal de banda base m(t) tiene como transformada de Fourier M (ω )
Ac A
S (ω ) = Acπ δ (ω + ωc ) + Acπ δ (ω − ωc ) + ka M (ω + ωc ) + c ka M (ω − ωc ) (2.7-6)
2 2
y frecuencia no dependen de la señal moduladora. Las otras dos señales tienen frecuencias
amplitud Ac k a 2 .
Para frecuencias positivas la parte del espectro por encima de ωc y para frecuencias
negativas la parte del espectro por debajo de -ωc se denomina banda lateral superior (USB,
acrónimo en inglés de Upper Side Band) y para frecuencias positivas la parte del espectro
por debajo de ωc y para frecuencias negativas la parte del espectro por encima de -ωc se
46
denomina banda lateral inferior (LSB, acrónimo en inglés para Lower Side Band). La
condición ωc > W asegura que las bandas laterales inferiores (la positiva y la negativa) no
se solapen.
Br = 2W (2.7-7)
47
2.7.2 Demodulación de una señal AM capturando la envolvente
comúnmente en los radios para demodular señales AM. Este circuito esta implementado
digital de señales. El primer método se conoce como ley cuadrática y el segundo método
s(t) tiene la forma de una señal AM dada por (2.7-1). Se asume que la señal banda base es
una señal pasobajo con frecuencia de corte W. El primer bloque da como resultado
s 2 (t ) = Ac2 [1 + ka m(t )] cos 2 ωct = 0.5 Ac2 [1 + k a m(t )] + 0.5 Ac2 [1 + ka m(t )] cos 2 2ωct
2 2 2
(2.7-8)
El primer término del lado derecho de la ecuación es una señal pasobajo excepto
centrado en ± 2ωc . Para frecuencias positivas, este espectro se encuentra dentro del
intervalo (2ωc − 2W , 2ωc + 2W ) . Para que el detector funcione correctamente, los espectros
48
De acuerdo a lo anterior, la señal AM tiene la banda lateral con una frecuencia de
corte de 2(ωc + W ) . Por consiguiente, la entrada s(t) debe ser muestreada a una tasa de al
menos 4(ωc + W ) para prevenir pérdidas y el filtro pasobajo H(ω) debe operar con
muestras tomadas de la tasa de muestreo de s2(t). La salida del filtro pasobajo tiene su
El filtro H(ω) es un filtro pasobajo ideal con una frecuencia de corte 2W de manera
que su salida es 0.5 Ac2 [1 + ka m(t )] . La caja final del diagrama de bloques del detector se
2
encarga de obtener la raíz cuadrada de la salida del filtro y da como resultado una señal que
es proporcional a m(t) con un nivel DC. En muchos casos, la señal que se desea transmitir
49
2.8 Nota teórica laboratorio de modulación DSBSC-AM1
transmisor, en el receptor sólo sería necesaria una muestra o piloto de esa portadora, de
mencionó con transmitir sólo una muestra de ella. Esto hace posible transmitir la señal
sólo las dos bandas laterales con, o sin un piloto de la portadora. Si no se transmite este
piloto, la complejidad del receptor aumenta ya que el oscilador local no tiene una referencia
Sea m(t) la señal que se desea transmitir. La señal DSBSC-AM obtenida a partir de
m(t) es
1
Tretter, S. A. “Communication System Design Using DSP Algorithms”. Primera Edición, Kluwer Academic
/ Plenum Publishers, New York, Estados Unidos, 2003.
50
s (t ) = Ac m(t )cos ωct (2.8-1)
portadora eliminada. Usualmente la señal m(t) que se transmite posee valores positivos y
moduladora a las frecuencias ± ωc . Se tienen las dos bandas laterales sin portadora. En este
η = 1 . La parte del espectro para ω > ωc se le conoce como banda lateral superior (USB,
acrónimo en inglés de Upper Sideband) y la parte del espectro para ω < ωc se le conoce
como la banda lateral inferior (LSB, acrónimo en inglés para Lower Sideband).
51
la portadora de tal manera que pase la señal DSBSC y elimine el ruido. La salida del filtro
pasabanda luego es multiplicado por una réplica de la onda portadora. Esta replica es
generada por un dispositivo llamado oscilador local (LO, acrónimo en inglés para Local
s1 (t ) = 2s (t )cos ωct = 2 Ac m(t )cos 2 ωct = Ac m(t ) + Ac m(t )cos 2ωct (2.8-3)
modulador balanceado.
del espectro centrados alrededor de − 2ωc y 2ωc , los cuales se pueden ver en S1 (ω ) . Las
52
altas frecuencias no deseadas son eliminadas finalmente por el filtro pasobajo con
frecuencia de corte W.
53
2.8.3 Lazo de Costas: técnica práctica para demodulación coherente
fase de la señal DSBSC-AM, para lograr una demodulación coherente exacta. Sin embargo,
estos parámetros pueden ser estimados con certeza por el receptor por medio de
dispositivos llamados circuito de lazo por enganche de fase (PLL, acrónimo en inglés de
phase-locked loops), y así poder obtener una demodulación coherente. Un método para
receptor se puede ver en la figura 2.19. Esta forma está particularmente diseñada para
aplicaciones de DSP, por tanto las señales que se muestran son señales discretas con un
período de muestreo T.
54
En general, la señal después de pasar por el filtro pasabanda tiene la forma
muy lento de fase. Cuando existe una diferencia en frecuencia entre la frecuencia nominal y
θ1 = ∆ω nT + γ (2.8-6)
)
s+ (nT ) = s(nT ) + js (nT ) = Ac m(nT )e j (ω c nT +θ1 ) (2.8-7)
complejas, donde las líneas sólidas corresponden a la parte real y las líneas punteadas a la
parte imaginaria.
El sistema genera un ángulo estimado φ (nT ) de la señal recibida, el cual puede ser
expresado como
Este ángulo es luego pasado por el bloque con el exponencial complejo para dar
55
La señal del oscilador local es multiplicada por la envolvente compleja dando como
resultado
{ } )
c1 (nT ) = ℜe s+ (nT )e − jφ (nT ) = s(nT )cos φ (nT ) + s (nT )sin φ (nT )
c1 (nT ) = Ac m(nT ) cos[θ1 − θ 2 (nT )]
(2.8-10)
{ })
c2 (nT ) = ℑm s+ (nT )e − jφ (nT ) = s (nT )cos φ (nT ) − s(nT )sin φ (nT )
c2 (nT ) = Ac m(nT ) sin[θ1 − θ 2 (nT )]
punto llamado m1(nT) del diagrama de bloques, de esta manera c1 (nT ) = m1 (nT ) y
c2 (nT ) = 0 .
q(nT ) = c1 (nT )c2 (nT ) = Ac2 m 2 (nT ) cos[θ1 − θ 2 (nT )]sin[θ1 − θ 2 (nT )]
(2.8-11)
q(nT ) = 0.5 Ac2 m 2 (nT )sin{2[θ1 − θ 2 (nT )]}
mismo signo del error de fase, el cual indica en cual dirección la fase local que determina
θ2 se puede cambiar para reducir el error de fase hasta tender a cero. Cuando el lazo está
56
enganchado, el ángulo de aproximación sin x ≈ x puede ser utilizado para aproximar con
exactitud a q (nT )
donde
básica detrás de estas ecuaciones es que en cada nuevo instante de muestreo el lazo de fase
cada una de las muestras ωcT , más un pequeño término de corrección α q (nT )
estrictamente proporcional al error de fase. También se puede notar que cuando q (nT ) = 0
entrada θ1 (nT ) , la cual es una función lineal. La fase de entrada tiene esta forma lineal,
57
cuando existe una diferencia en frecuencia entre las frecuencias de la señal recibida y la
portadora. Este bloque junto con los demás bloques introduce un polo de segundo orden en
sin ( ) y m 2 (nT ) presentes en q (nT ) . Debido a esto, el sistema no puede ser caracterizado
por una función de transferencia. Sin embargo, cuando m(nT ) es un proceso estacionario y
el lazo está enganchado, se puede aproximar con exactitud un sistema lineal e invariante en
constante. Al hacer este reemplazo se justifica el hecho de que los lazos de filtrado actúen
{
k1 = Ac2 E m 2 (nT )} (2.8-16)
⎛ α ⎞
k1 (α + β )⎜⎜1 − z −1 ⎟⎟
Θ (z ) ⎝ α +β ⎠
H (z ) = 2 = (2.8-18)
Θ1 ( z ) 1 − [2 − k1 (α + β )]z −1 + (1 − k1α )z − 2
58
La respuesta en frecuencia se puede obtener por medio de z = e jωT y tiene la forma
59
2.9 Nota teórica laboratorio de modulación SSB1
de frecuencia. Al analizar el espectro se encuentra que aún hay redundancia ya que las dos
bandas alrededor de la frecuencia de corte son simétricas. El objetivo es demostrar que una
señal puede ser transmitida tan solo utilizando una de las dos bandas, ya sea la banda
inferior o la banda superior, y por tanto utiliza tan solo la mitad del ancho de banda
banda lateral única (SSB, acrónimo en inglés para Single Sideband). Este método de
Un modulador SSB se muestra en la figura 2.21. Sea m(t) la señal de banda base
que se desea transmitir con una frecuencia de corte W, la cual es menor a la frecuencia de la
1
Tretter, S. A. “Communication System Design Using DSP Algorithms”. Primera Edición, Kluwer Academic
/ Plenum Publishers, New York, Estados Unidos, 2003.
60
Luego la señal DSBSC-AM se pasa a través de un filtro H (ω ) que elimina o
selecciona una de las bandas laterales. La banda lateral superior se selecciona utilizando un
⎧1 para ω > ωc
H sup (ω ) = ⎨ (2.9-3)
⎩0 cualquier otro
⎧1 para ω < ωc
H inf (ω ) = ⎨ (2.9-4)
⎩0 cualquier otro
Al utilizar alguno de estos dos filtros se obtiene una señal SSB, la cual puede ser
expresada en términos de la señal banda base m(t ) y su transformada Hilbert m̂(t ) , tal y
S + (ω ) = 2S (ω )u (ω ) = 2 A(ω ) H (ω )u (ω ) = Ac M (ω − ωc )H (ω ) (2.9-5)
Sˆ (ω ) = S + (ω + ωc ) = Ac M (ω )H (ω + ωc ) (2.9-6)
61
para el caso de la banda lateral superior. Sustituyendo H sup (ω ) por H (ω ) en la
{
s (t ) = ℜe ~ }
s (t )e jω c t = 0.5 Ac m(t )cos ωct − 0.5 Ac mˆ (t )senωct (2.9-9)
se obtiene
{
s (t ) = ℜe ~ }
s (t )e jω c t = 0.5 Ac m(t )cos ωct + 0.5 Ac mˆ (t )senωct (2.9-12)
62
Figura 2.22 Modulador SSB utilizando la transformada de Hilbert
Para demodular señales SSB, existe una técnica conocida, la cual consiste en
multiplicar la señal por una réplica de la señal portadora. Al multiplicar la ecuación (2.9-9)
que desea transmitir. El segundo y tercer término tienen un espectro centrado en 2ωc y
pueden ser removidos haciendo pasar la señal b(t ) a través un filtro pasobajo con una
63
por ωc . De esta manera se trasladan las bandas laterales ± ωc alrededor de la frecuencia de
m(t ) , con ello se forma M (ω ) con el término deseado y también traslada las bandas
laterales ± 2ωc , las cuales son los términos removidos por el filtro pasobajo. Este
demodulador posee el mismo diagrama de bloques de la figura 2.21, excepto que en lugar
una frecuencia más baja que la frecuencia de m(t ) . Por último, al tomar la parte real de la
64
{ }
0.5 Ac m(t ) = ℜe s+ (t )e − jω c t = ℜe{[s(t ) + jsˆ(t )][cos ωct − jsenωct ]}
(2.9-16)
0.5 Ac m(t ) = s(t )cos ωct + sˆ(t )senωct
figura 2.22 cuando se cambia m(t ) por s (t ) , las amplitudes del seno y el coseno igual a 1, y
información no se puede obtener como en el caso del lazo de Costas porque la señal SSB
corresponde a una distorsión de fase. Un error de fase en el oscilador local da lugar a una
distorsión de fase donde cada componente frecuencial de la señal m(t ) sufre un desfase
constante a la salida del demodulador. Este desfase no suele ser un problema en el caso de
señales de voz debido que el oído suele ser relativamente insensible a la distorsión de fase.
tolerable.
65
2.9.3 Desplazamiento en frecuencia
espectro de una señal pasabanda es desplazado de una frecuencia central a otra. Una razón
para esto colocar el espectro de la señal en cierto canal de transmisión. Otra razón es para
corregir las distorsiones en frecuencia causadas por los osciladores al estar mal calibrados.
Es un hecho que la operación básica que se realiza en la modulación SSB es una forma de
traslación en frecuencia.
siguiente forma.
Sea s (t ) una señal pasabanda cuyo espectro está centrado en una portadora de
s+ (t ) = s (t ) + jsˆ(t ) (2.9-17)
la transformada de Fourier es
S + (ω ) = 2S (ω ) u (ω ) (2.9-18)
y su transformada es
66
R+ (ω ) = S + (ω − ∆ω ) (2.9-20)
transmitida
r (t ) = [r+ (t ) + r+ (t )] 2 (2.9-22)
[ ]
R(ω ) = R+ (ω ) + R+ (ω ) 2
(2.9-23)
R(ω ) = S (ω − ∆ω )u (ω − ∆ω ) + S (− ω − ∆ω )u (− ω − ∆ω )
el signo negativo se usa en el sumador del que se obtiene la salida. Esto porque el
67
2.10 Nota teórica laboratorio de modulación FM
radiodifusión para crear canales radiofónicos. Su principal ventaja radica en que al sistema
no linealidades. Las no linealidades en este caso generan ondas moduladas con portadoras
1
Tretter, S. A. “Communication System Design Using DSP Algorithms”. Primera Edición, Kluwer Academic
/ Plenum Publishers, New York, Estados Unidos, 2003.
68
d
ω (t ) = θ (t ) (2.10-1)
dt
cual es la frecuencia de cos ωct . La frecuencia instantánea de una señal FM con frecuencia
portadora ωc está relacionada con la señal de banda base m(t ) por la ecuación
ω (t ) = ωc + kω m(t ) (2.10-2)
oscilador al cual se le puede controlar su frecuencia por su entrada m(t ) , se le conoce como
oscilador controlado por voltaje. Suponiendo que el valor de la fase de una señal FM es 0
en t = 0 ,
θ (t ) = ∫ ω (τ ) dτ = ωct + θ m (t )
t
(2.10-3)
0
donde
θ m (t ) = kω ∫ m(τ ) dτ
t
(2.10-4)
0
es la desviación de fase de la señal portadora causada por m(t ) . Por último la señal
s (t ) = Ac cos[ωct + θ m (t )] (2.10-5)
69
n −1
θ (nT ) = ∑ ω (kT )T = ωc nT + θ m (nT ) (2.10-6)
k =0
donde
n −1
θ m (nT ) = kωT ∑ m(kT ) (2.10-7)
k =0
el caso especial cuando la señal de banda base es m(t ) = Am cos ωmt , se pueden obtener
⎛ k A ⎞
s (t ) = Ac cos⎜⎜ ωc + ω m sin ωmt ⎟⎟ (2.10-10)
⎝ ωm ⎠
70
De la expresión anterior se define un parámetro conocido como índice de
señal FM, dicha suma da como resultado una señal de amplitud constante. En otras
71
estas razones la cantidad de bandas laterales es infinita, por tanto es imposible obtener una
expresión para el ancho de banda de una señal FM. El ancho de banda depende de la forma
desviación está dada por la ecuación (2.10-11). El ancho de banda de la señal modulada,
BT = 2(∆f + f m ) Hz (2.10-12)
máxima frecuencia a la cual la señal de banda base tiene una componente. La expresión
anterior se conoce como regla de Carson. Esta regla proporciona el ancho de banda de la
entrada y la frecuencia central del demodulador). Se usan varios circuitos para demodular
las señales de FM. Los más comunes son el detector de pendiente, discriminador de
72
detector de pendiente, discriminador de Foster-Seeley y el detector de relación son todos
bloques, en el cual se puede notar una primera etapa donde se debe implementar un filtro
pequeño y la banda limitada, entonces cosθ m (t ) y sin θ m (t ) son señales de banda limitada
s+ (t ) = s (t ) + jsˆ(t ) = Ac e j [ω c t +θ m (t )] (2.10-13)
73
ϕ (t ) = arctan[sˆ(t ) s(t )] = ωct + θ m (t ) (2.10-14)
d d
s(t ) sˆ(t ) − sˆ(t ) s (t )
d
ϕ (t ) = dt dt = ωc + kω m(t ) (2.10-15)
dt s (t ) + sˆ (t )
2 2
s (t ) = s+ (t )e − jω c t = sI (t ) + jsQ (t ) = Ac e jθ m (t )
~ (2.10-16)
d d
sI (t ) sQ (t ) − sQ (t ) sI (t )
d ~
ϕ (t ) = dt dt = kω m(t ) (2.10-18)
dt sI (t ) + sQ (t )
2 2
74
Figura 2.25 Discriminador en tiempo discreto usando la envolvente compleja1
puede lograrse muy fácilmente con un PLL. Aunque la operación de un PLL es bastante
demodulador FM. Las líneas sólidas y las líneas punteadas representan la parte real y la
1
Tretter, S. A. “Communication System Design Using DSP Algorithms”. Primera Edición, Kluwer Academic
/ Plenum Publishers, New York, Estados Unidos, 2003.
75
Primero se toma la señal FM y se le aplica la transformada de Hilbert para obtener
salida del VCO. Luego esta señal se pasa por un filtro que permite obtener la frecuencia de
1
Tretter, S. A. “Communication System Design Using DSP Algorithms”. Primera Edición, Kluwer Academic
/ Plenum Publishers, New York, Estados Unidos, 2003.
76
Después que el enganche de frecuencia ha ocurrido, el VCO encontraría los
del comparador de fase. Por tanto, si la entrada es una señal FM y la frecuencia natural
Este sistema es no lineal debido a las características del detector de fase. Pero si se
diferencia en fase, este sistema se puede representar como un sistema lineal tal y como se
77
2.11 Nota teórica laboratorio de modulación PAM1
En la transmisión digital de datos existen varios métodos para lograr transferir datos
digitales por el medio en que se desea, uno de ellos es la modulación por amplitud de
pulsos (PAM, acrónimo en inglés para Pulse Amplitud Modulation). El objetivo es dar a
señales.
1
Tretter, S. A. “Communication System Design Using DSP Algorithms”. Primera Edición, Kluwer Academic
/ Plenum Publishers, New York, Estados Unidos, 2003.
78
Figura 2.29 Diagrama de bloques de un sistema de comunicación PAM
tamaño J-bit por medio de un convertidor de serie a paralelo y se les asigna un valor de la
79
secuencia de símbolos an , los cuales son seleccionados de un alfabeto de M = 2 J niveles
M M
l i = d (2i − 1) para i = − + 1, ...., 0, ...., (2.11-1)
2 2
es (M − 1)d .
∞
s* (t ) = ∑ a δ (t − kT )
k (2.11-2)
k = −∞
El bloque Modulador de Impulso genera este tren de impulsos. Luego este se pasa
por un bloque de filtrado con respuesta al impulso gT (t ) el cual limita la banda de la señal
∞
s (t ) = ∑ a g (t − kT )
k T (2.11-3)
k = −∞
El canal se modela como un filtro lineal e invariante en el tiempo con una respuesta
canal. En el receptor, la salida del canal r(t) primero se pasa por un filtro que se encarga de
80
La combinación del filtro transmisor, el canal y el filtro receptor, se le conoce como
G (ω ) = GT (ω )C (ω )GR (ω ) (2.11-4)
y su respuesta al impulso es
∞
x(t ) = ∑ a g (t − kT ) + υ (t ) ∗ g (t )
k T R (2.11-6)
k = −∞
⎧1 para n = 0
g (nT ) = δ n , 0 = ⎨ (2.11-7)
⎩0 cualquier otro valor
Una respuesta al impulso con esta propiedad se dice que no tiene interferencia entre
símbolos (ISI, acrónimo en inglés para InterSymbol Interference). Con estas suposiciones,
se puede notar a partir de (2.11-6) que las muestras tomadas cada nT tiempo de la salida
símbolos transmitida. Es usual que cuando se diseñan los filtros de transmisión y recepción,
estos combinen sus efectos de manera que se forme un único filtro sin interferencia entre
símbolos bajo la suposición de que la respuesta en frecuencia del canal sea constante en
81
En algunas circunstancias, la respuesta en frecuencia del canal no se conoce con
exactitud y puede que sea lento. El ecualizador adaptivo es un filtro que automáticamente
compensa las características no lineales del canal. Además este se encarga de corregir
otorga a cada muestra el valor que le corresponde. Luego la salida del cuantificador se
secuencia serial.
de la respuesta al impulso g (nT ) del filtro conformador de la señal de banda base y está
dada por
1 ∞
g (nT ) = ∫ G (ω )e jωnT dω (2.11-8)
2π −∞
⎛ ωs ω ⎞
⎜− − kωs , s − kωs ⎟ para k = −∞, ....., ∞
⎝ 2 2 ⎠
82
Y tomando la sumatoria de estos intervalos, da como resultado la siguiente
expresión
ωs ωs
− kω s
∞ 2 ∞ 2
1 1 1 1
g (nT ) = ∑ ∫ G (ω )e jωnT dω = ∑ ∫ω G (ω − kωs )e j (ω − kω s )nT dω (2.11-9)
ω
k = −∞ s ω s
T k = −∞ ω s s
T
− − kω s −
2 2
da
ωs
2
1
g (nT ) = ∫ω G (ω )e
* jωnT
dω (2.11-10)
ωs s
−
2
donde
1 ∞
G * (ω ) = ∑ G(ω − kωs ) (2.11-11)
T k = −∞
como solapamiento o envolvente del espectro. El criterio (2.11-7) para no tener ISI se
Diagrama de Ojo, que permite observar el efecto de distorsión ISI y el ruido. Un diagrama
1
Universidad de Valladolid. Marcos Martín Fernández. http://www.lpi.tel.uva.es/lpi/dld/tts/tema6.pdf
83
de ojo se forma al aplicar la señal recibida y filtrada antes del muestreador a las placas de
deflexión vertical de un osciloscopio y una señal con forma de dientes de sierra a la tasa de
esta manera todos los símbolos se superponen en la pantalla del osciloscopio en un único
período de símbolo, la imagen que se forma por su similitud con el ojo humano se le
La figura 2.30 muestra el ejemplo de una señal binaria recibida (los primeros 8 bits)
y filtrada para un canal que introduce ruido y distorsión. En la figura 2.31 se puede ver un
diagrama de ojo (para 160 bits). El analizar este diagrama va a permitir determinar ciertas
errores de temporización.
84
Figura 2.31 Diagrama de ojos para la señal de la figura 2.30
mencionan a continuación:
El ancho de la apertura del ojo indica el intervalo de tiempo durante el que se puede
muestrear sin error. Por tanto el mejor instante de muestreo corresponde al momento en que
temporización.
85
El margen del ruido para un símbolo en el instante de muestreo esta definido por la
Si el efecto conjunto del ruido y la ISI es muy grande, la traza superior e inferior del
ojo se cruzan, dando como resultado que el ojo se cierre. Cuando esto ocurre es imposible
evitar errores, por lo que se dice que el sistema no es inmune frente a estos fenómenos de
distorsión.
reconocer la frecuencia del transmisor. Por esta razón debe establecer su propia frecuencia
y estar en fase con la señal del receptor para mantener la frecuencia de muestreo. A
La salida x(t ) del filtro receptor primero se pasa a través de un prefiltro con una respuesta
mitad del valor de la frecuencia del tren de pulsos. La combinación del filtro conformador
G1 (ω ) = G (ω )B (ω ) y g1 (t ) = g (t ) ∗ b(t ) (2.11-12)
86
De esta manera la salida del prefiltro es
∞
q(t ) = ∑ a g (t − kT )
k 1 (2.11-13)
k = −∞
∞ ∞
p (t ) = q 2 (t ) = ∑ ∑ a a g (t − kT )g (t − mT )
k m 1 1 (2.11-14)
k = −∞ m = −∞
sinusoidal con la frecuencia original con una pequeña variación en amplitud y fase. Luego
esta señal se pasa a través de un PLL para obtener una señal estable con frecuencia f s .
87
2.12 Nota teórica laboratorio de modulación QAM1
También es empleada por módems para velocidades superiores a los 2400 bps (por ejemplo
V.22 bis y V.32). Es la base de modulación TCM (acrónimo en inglés para trellis coded
convertidor serie a paralelo, formando palabras de J bits que pasarán al módulo de mapeo
1
Tretter, S. A. “Communication System Design Using DSP Algorithms”. Primera Edición, Kluwer Academic
/ Plenum Publishers, New York, Estados Unidos, 2003.
88
Figura 2.33 Diagrama de bloques de un transmisor QAM básico
constelaciones posibles
89
Figura 2.34 Constelaciones QAM
∞
a* (t ) = ∑ a δ (t − kT )
k (2.12-1)
k = −∞
∞
b* (t ) = ∑ b δ (t − kT )
k (2.12-2)
k = −∞
∞
a(t ) = ∑ a g (t − kT )
k T (2.12-3)
k = −∞
90
∞
b(t ) = ∑ b g (t − kT )
k T (2.12-4)
k = −∞
muestras por cada símbolo de entrada, de forma que la frecuencia de trabajo de los filtros
será de Lfs.
referencia fc será
∞ ∞
s (t ) = a(t ) + jb(t ) =
~
∑ ak gT (t − kT ) + j ∑ bk gT (t − kT )
k = −∞ k = −∞
∞ ∞
(2.12-6)
s (t ) =
~
∑ (a k + jbk )gT (t − kT ) = ∑ c g (t − kT )
k T
k = −∞ k = −∞
La señal analítica es
⎡ ∞ ⎤
s+ (t ) = ⎢ ∑ ck gT (t − kT )⎥ e jω c t (2.12-7)
⎣k = −∞ ⎦
s (t ) = ℜe{s+ (t )} (2.12-8)
Por tanto, el modulador QAM puede ser representado de forma esquemática, por el
91
Figura 2.35 Representación de un modulador QAM en términos de señales complejas
⎡ ∞ ⎤ jω c t
( )
∞
s+ (t ) = ⎢ ∑ ck gT (t − kT )⎥ e = ∑ ck e jωc kT gT (t − kT )e jω c (t − kT ) (2.12-9)
⎣k = −∞ ⎦ k = −∞
donde
También, sea
92
donde
{ }
ak′ = ℜe ck e jω c kT = ak cos ωc kT − bk senωc kT (2.12-13)
{ }
bk′ = ℑm ck e jω c kT = ak senωc kT + bk cos ωc kT (2.12-14)
∞
s+ (t ) = ∑ c′ h(t − kT )
k (2.12-15)
k = −∞
Luego
∞
s (t ) = ℜe{s+ (t )} = ∑ a′ h (t − kT ) − b′ h (t − kT )
k I k Q (2.12-16)
k = −∞
93
Figura 2.37 Diagrama de bloques expandido del nuevo modulador QAM
En este último esquema, tanto los símbolos como los filtros son pasabanda, a
diferencia del esquema inicial en el que las señales se conformaban en banda base, y la
que en el esquema anterior. Estos producen L muestras por cada símbolo. Si comparamos
este esquema de modulador QAM con el esquema inicial, éste hace L multiplicaciones
complejas menos por período de símbolo que el anterior, ya que el modulador de producto,
trabaja con la señal a ritmo de símbolo, mientras que en el caso anterior, debía de realizar la
94
CAPÍTULO 3: Laboratorios
En este capítulo se describen las prácticas de cada uno de los temas desarrollados en
Por último se presenta un cuestionario para reforzar los conceptos que se presentan
95
3.1 Laboratorio de filtros digitales
no son físicamente realizables ya que no son causales, sin embargo es posible diseñar
filtros causales que pueden aproximarse a los ideales con tanta precisión como sea
necesaria.
Estos filtros causales presentarán rizado tanto en la banda de paso como en la banda
de rechazo, por lo general .Por otro lado, la transición de frecuencia entre ambas bandas no
96
En MATLAB existen varias funciones que ayudan al diseño de un filtro indicando
sus características. Para el diseño de filtros del tipo IIR o FIR se utilizan frecuentemente las
Tabla 3.1 Funciones más comunes para el diseño de filtros digitales en MATLAB
[b,a] = besself(n,Wn,options)
Bessel (solo análogo) [z,p,k] = besself(n,Wn,options)
[A,B,C,D] = besself(n,Wn,options)
[b,a] = butter(n,Wn,options)
Butterworth [z,p,k] = butter(n,Wn,options)
[A,B,C,D] = butter(n,Wn,options)
[b,a] = cheby1(n,Rp,Wn,options)
IIR Chebyshev Tipo I [z,p,k] = cheby1(n,Rp,Wn,options)
[A,B,C,D] = cheby1(n,Rp,Wn,options)
[b,a] = cheby2(n,Rs,Wn,options)
Chebyshev Tipo II [z,p,k] = cheby2(n,Rs,Wn,options)
[A,B,C,D] = cheby2(n,Rs,Wn,options)
[b,a] = ellip(n,Rp,Rs,Wn,options)
Elíptico [z,p,k] = ellip(n,Rp,Rs,Wn,options)
[A,B,C,D] = ellip(n,Rp,Rs,Wn,options)
b = fir1(n,Wn,'ftype',window)
FIR Ventana
b = fir2(n,f,m,npt,window)
ayuda de MATLAB.
97
3.1.1 Filtros digitales FIR
2. Obtenga la respuesta en frecuencia del filtro anterior pero para un orden de 16,
3. Considere una señal de entrada formada por la suma de tres señales sinusoidales
4. Repita los puntos (1), (2) y (3) utilizando una función ventana de Kaiser.
5. Repita los puntos (1), (2) y (3) utilizando una función ventana de Barlett.
98
frecuencia de 8000Hz. En MATLAB utilice la función “ellip” para
implementar el filtro.
3. Considere que la señal de entrada está formada por la suma de dos señales
rechazo entre 300 y 500 Hz, suponiendo que la señal de entrada será
99
8. Repita el punto 6.
estar entre 0 hasta 400 Hz, la banda central del filtro pasabanda debe estar
entre 1000 hasta 2500 Hz y la banda lateral superior del filtro debe ser de
3500 hasta 4000 Hz. La atenuación máxima en la banda de paso del filtro
conversión de filtros.
1. Considere la señal del punto (3) de la sección 3.1.1. Se desea filtrar esa señal y
se quiere dejar pasar solo la señal con frecuencia de 1440 Hz. Utilice el bloque
una de las señales que componen la señal principal, luego utilice un bloque de
punto de suma “Sum” y una de estas señales para formar una señal con tres
100
un filtro FIR de orden 64 de ventana Hamming con una banda de paso entre
muestreada y coloque un “Scope” para poder ver la salida del filtro y compruebe
3. Nuevamente utilizando el bloque de filtros digitales genere el filtro del punto (5)
de la sección 3.1.2. Implemente la señal del punto (6) de la sección 3.1.2. Utilice
el filtro que hizo y pase la señal a través de este y explique que sucede.
4. Repita el punto anterior pero para el filtro del punto (7) de la sección 3.1.2.
3.1.3 Cuestionario
1. ¿Cómo se define un filtro IIR? ¿Cómo se define un filtro FIR? Mencione tres
101
3.2 Laboratorio de FFT
En MATLAB se tienen las siguientes funciones para estimar la FFT de una secuencia de
entrada.
102
IFFT.
Para probar y extender los conocimientos en la FFT, lleve a cabo las siguientes
tareas
número de muestras N, tales como 16, 32, 64, 128, 256, 512, 1024.
de la señal de entrada.
103
4. Usando la FFT, se desea estudiar las componentes en frecuencia de una
están presentes en una señal discreta. SIMULINK tiene un bloque para analizar el espectro
de una señal, este bloque se llama “Spectrum Scope”. Este bloque recibe a su entrada una
señal discreta y devuelve como resultado una gráfica donde se muestra el espectro en
104
1. Genere una señal de entrada compuesta de las siguientes señales
mencionado anteriormente.
3.2.3 Cuestionario
“aliasing” y “leakage”.
105
3.3 Laboratorio de modulación AM
básico de la modulación AM
106
lugar de 'method'. También se puede obtener el
lugar de 'method'.
3.3.1 Modulación AM
107
3. Ahora desarrolle un código en MATLAB para implementar la función
4. Compare la señal inicial obtenida con la señal modulada para los tres
transmisión introduce a la señal modulada otra señal pequeña pero que sin
como ruido en el canal. Repita los puntos del (1) al (2) pero esta vez
amplitud la cual será su ruido. Comente y compare sus resultados con los
para la señal a modular m(t ) . Utilice un filtro FIR pasobajo con una
108
suprimir las componentes no deseadas alrededor de 2 f c con una
función de transferencia.
1 + c ⎛ 1 − z −1 ⎞
G(z ) = ⎜ ⎟
2 ⎜⎝ 1 − cz −1 ⎟⎠
109
Figura 3.4 Detector de envolvente de Ley Cuadrática
3.3.3 Cuestionario
efectos.
de amplitud?
110
3.4 Laboratorio de modulación DSBSC-AM
desperdicia más del 80% de la potencia al transmitir la portadora con toda su potencia
además de dos bandas laterales, aunque una de las cuales resulta innecesaria para la
transmisor, en el receptor sólo sería necesaria una muestra o piloto de esa portadora. En
como se mencionó con transmitir sólo una muestra de ella. Este razonamiento da lugar a la
posibilidad de transmitir sólo las dos bandas laterales con, o sin un piloto de la portadora.
por doble banda lateral sin portadora donde H (ωm ) es un filtro FIR pasobajo con una
111
En MATLAB para modular y demodular con doble banda lateral con portadora
siguiente
señales.
112
7. Compare los resultados del punto (6) con los obtenidos en el punto (2).
sección 3.4.1, utilice los bloques “Sine Wave”, “Clock” y “Fcn”. El tercer
“Spectrum Scope”.
3.4.3 Cuestionario
113
3.5 Laboratorio de modulación SSB
de frecuencia. Al analizar el espectro se encuentra que aún hay redundancia ya que las dos
SSB es utilizar eficientemente el espectro, transmitiendo una señal utilizando una de las
dos bandas alrededor de la frecuencia de corte, ya sea la banda inferior o la banda superior,
pues ambas son simétricas. Por tanto, utiliza tan solo la mitad del ancho de banda con
114
lateral superior se utiliza un filtro paso alto con una frecuencia de corte
⎧1 para ω > ωc
H sup (ω ) = ⎨
⎩0 cualquier otro
⎧1 para ω < ωc
H inf (ω ) = ⎨
⎩0 cualquier otro
utilizados.
115
reemplaza por un filtro pasobajo con una frecuencia de corte de tal
2. Una vez que tenga listo el procedimiento para demodular, pruebe con la
Utilice los bloques “Sine Wave” para generar la señal a modular del punto
estas señales, luego utilice el bloque “Digital Filter Design” para simular
los filtros selectores de las bandas laterales y así generar la señal SSB-
AM.
116
3. Luego implemente el procedimiento para demodular la señal SSB-AM
sección 3.5.2.
3.5.4 Cuestionario
117
3.6 Laboratorio de modulación FM
características:
variación.
3.6.1 Modulación FM
118
Utilice una frecuencia de muestreo de 80 KHz. La señal a modular es
⎛ k A ⎞
s (t ) = Ac cos⎜⎜ ωc + ω m sin ωmt ⎟⎟
⎝ ωm ⎠
a cero.
“method” por “fm” module la señal m(t ) = Am cos ωmt con una frecuencia
119
8. Ahora utilizando “demod” demodule las señales obtenidas en los puntos
10. Obtenga el espectro en frecuencia de magnitud y fase para cada una las
tiene dos bloques específicos para simular una señal FM y otro para
recuperar la señal original a partir una señal FM. Estos bloques se llaman
120
3. Obtenga la grafica de la señal a modular, la señal FM y la señal
3.6.3 Cuestionario
tiende a cero?
efecto cuando se usa modulación FM? ¿Cómo debe ser este para que la
121
3.7 Laboratorio de modulación PAM
amplitud de los pulsos es proporcional al valor instantáneo de las muestras de una señal
∞
s (t ) = ∑ [1 + k m(nT )]g (t − nT )
n = −∞
a s s
de muestreo debe ser mayor que dos veces la frecuencia máxima de la señal moduladora
MATLAB tiene una función para simular este tipo de modulación, esta función es
“pammod” y tiene otra función que demodula una señal PAM, “pamdemod” las cuales se
122
Tabla 3.4 Funciones de MATLAB para modulación y demodulación PAM
enteros positivos.
123
una frecuencia de 30 Hz, esto para apreciar este fenómeno. Añada un
3. Para poder utilizar las funciones de la tabla 3.4 se necesita que la señal
nos permite cuantificar una señal a los niveles o símbolos que queramos
partition = [0,1,3];
codebook = [-1,0.5,2,3];
samp = [-2.4,-1,-0.2,0,0.2,1,1.2,1.9,2,2.9,3,3.5,5];
[index,quantized] = quantiz(samp,partition,codebook);
index
quantized
4. Utilice el método anterior para cuantificar esta señal m(t ) = Am sin (2πf mt )
Recuerde que “M” debe ser una potencia de 2 suficiente para generar los
124
cuantificar debe añadir un nivel DC a la señal muestreada suficiente para
función “stem”.
125
elementos utilizando el bloque “Random Integer Generator”. Utilice una
frecuencia de muestreo de 1000 Hz. Luego convierta esta señal a bits con
demodule esta señal utilizando los bloques para simulación PAM que se
estos bloques.
3.7.3 Cuestionario
126
3.8 Laboratorio de modulación QAM
que el mensaje está contenido tanto en la amplitud como la fase de la señal transmitida. Se
consigue modulando una misma portadora, desfasada 90º entre uno y otro mensaje. Esto
supone la formación de dos canales ortogonales en el mismo ancho de banda, con lo cual se
multiplexar las señales de crominancia, que portan la información acerca del color. En este
portadora.
MATLAB tiene una función para simular este tipo de modulación, esta función es
“qammod” y tiene otra función que sirve para demodular una señal QAM “qamdemod”,
127
Tabla 3.5 Funciones de MATLAB para la modulación y demodulación QAM
rectangular o en cruz.
128
3.8.1 Modulación y demodulación QAM
m1 (t ) = Am sen(2πf1t )
m2 (t ) = Am sen(2πf 2t )
como “stem”).
k=log2(M);
EbNo = 10; %dB
snr = EbNo + 10*log10(k) - 10*log10(1);
ynoisy = awgn(ytx,snr,'measured');
resultados.
129
6. Luego demodule la señal con y sin ruido utilizando la función
opción “Signal to noise ratio (SNR)”. Utilice este bloque con un SNR de
130
10 dB. A la entrada de este bloque debe ir la señal QAM generada y la
estos bloques.
bloque “Discrete Time Scatter Plot Scope” para 32 muestras por símbolo.
segundos para apreciar con claridad lo que esta sucediendo. Comente sus
resultados.
3.8.2 Cuestionario
131
CAPÍTULO 4: Conclusiones y recomendaciones
4.1 Conclusiones
MATLAB Y SIMULINK son dos herramientas muy poderosas con las cuales se
Se demostró que con estas dos herramientas se puede obtener una aproximación excelente
comunicación.
analógicos como digitales, se logra dar un enfoque práctico a los conceptos planteados en
dominio del tiempo, así como en el dominio de la frecuencia al evaluar conceptos como
de espectro utilizando la Transformada Rápida de Fourier (FFT), el cual fue de gran ayuda
132
Se examinó un método muy común para transmitir información conocido como
modulación AM. Se analizó el espectro de frecuencia una señal AM con y sin ruido, esto
frecuencia. También se pudo demostrar que se puede recuperar la señal original a pesar de
las ecuaciones que MATLAB presenta para este tipo de modulación. Analizar el espectro
digital que permite transmitir parte de la señal tanto en amplitud como en fase. Se introduce
el concepto de los diagramas de constelación que permite analizar una señal QAM con y
sin ruido.
133
Con la preparación de las prácticas de simulación se fortalecen los conceptos que
existen alrededor de los sistemas de comunicación, los cuales son de gran importancia hoy
en día, donde los medios y técnicas de comunicación son necesarias para casi todas las
teoría durante sus estudios, sino que le permitirá tener una idea más clara del
4.2 Recomendaciones
Las prácticas planteadas deben estar acompañadas de una base teórica. Esto debido
día a día.
El estudiante debe sacar el tiempo para investigar como se deben utilizar las
funciones que MATLAB ofrece para el procesamiento de señales. Este tiempo debe ser
contemplado por el profesor dentro del lapso de entrega de su informe de resultados para
cada práctica.
simulación por lo que algunas de las funciones y bloques de SIMULINK mencionados para
134
BIBLIOGRAFÍA
Libros:
edición, Kluwer Academic / Plenum Publishers, New York, Estados Unidos, 2003.
España, 1977.
135
Páginas web:
136
APÉNDICES
MATLAB
%************************************************************************
%LABORATORIO DE FILTROS DIGITALES
%************************************************************************
%************************************************************************
%REALIZADO POR: José Gabriel Fernández Carazo
% A21941
% Escuela de Ingeniería Eléctrica
% Facultad de Ingeniería
% Universidad de Costa Rica
%************************************************************************
%Ultima modificación: Julio del 2007.
%************************************************************************
%************************************************************************
%Se limpia el workspace de MATLAB y las variables en uso.
clc;
clear;
%************************************************************************
%************************************************************************
%FILTROS DIGITALES IIR
%************************************************************************
%Punto (1)
%************************************************************************
fm=8000; %Frecuencia de muestreo
L=length(N);
M=zeros(N(L)+1,L); %Matriz de ceros para guardar los
%coeficientes del filtro para cada orden
137
for i=1:L
ventana=window(@hamming,N(i)+1); %Cálculo de la función ventana
%Hamming
B=fir1(N(i),Wn,'bandpass',ventana); %Cálculo de los coeficientes del
%filtro
for j=1:length(B)
M(j,i)=B(j);
end
end
%************************************************************************
%************************************************************************
%Punto (2)
%************************************************************************
%Cálculo de la respuesta en frecuencia
Npuntos=256; %Puntos a calcular de la respuesta en frecuencia
H=zeros(Npuntos,L); %Matriz de ceros para guardar la respuesta en
%frecuencia del filtro segun el orden
for k=1:L
[H1,W]=freqz(M(:,k),1,Npuntos);
H(:,k)=H1;
end
subplot(2,1,2);
plot(W/pi,unwrap(angle(H)));
title('Respuesta de fase del filtro');
xlabel('\omega en unidades de \pi');
ylabel('Fase (rads)');
legend('N=8','N=16','N=32','N=64');
grid on;
%************************************************************************
%************************************************************************
%Punto (3)
%************************************************************************
L_medio=200; %Mitad de la cantidad de muestras a recolectar
fm=8000; %Frecuencia de muestreo
treq=2*L_medio/fm; %Tiempo requerido para recolectar las muestras
t=0:1/(fm-1):treq; %Vector de muestras a recolectar
138
%Señal de entrada
xin1=7*sin(2*pi*720*t);
xin2=3*sin(2*pi*1440*t);
xin3=15*sin(2*pi*3000*t);
x_in=xin1+xin2+xin3;
subplot(3,1,2);
plot(t,xin2);
title('Señal con frecuencia de 1840 Hz');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
grid on;
subplot(3,1,3);
plot(t,xin3);
title('Señal con frecuencia de 3000 Hz');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
grid on;
figure(3)
plot(t,x_in);
title('Señal de entrada');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
%Filtrando
fil=zeros(length(x_in),L); %Se crea una matriz para guardar las
%salidas de cada filtro
for i=1:L
h1=filter(M(:,i),1,x_in);
fil(:,i)=h1;
end
139
ylabel('Amplitud');
grid on;
subplot(4,1,2);
plot(t,fil(:,2));
txtp2=strcat('Salida del filtro Hamming de orden N=',num2str(N(2)));
title(txtp2);
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
grid on;
subplot(4,1,3);
plot(t,fil(:,3));
txtp3=strcat('Salida del filtro Hamming de orden N=',num2str(N(3)));
title(txtp3);
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
grid on;
subplot(4,1,4);
plot(t,fil(:,4));
txtp4=strcat('Salida del filtro Hamming de orden N=',num2str(N(4)));
title(txtp4);
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
grid on;
%************************************************************************
%************************************************************************
%Punto (4)
%************************************************************************
M=zeros(N(L)+1,L); %Matriz de ceros para guardar los
%coeficientes del filtro para cada orden
for i=1:L
ventana=window(@kaiser,N(i)+1); %Cálculo de la función ventana
%Hamming
B=fir1(N(i),Wn,'bandpass',ventana); %Cálculo de los coeficientes
%del filtro
for j=1:length(B)
M(j,i)=B(j);
end
end
140
% Visualización de la respuesta en frecuencia
figure(5)
subplot(2,1,1);
plot(W/pi,20*log10(abs(H)));
title('Respuesta en magnitud del filtro Kaiser');
xlabel('\omega en unidades de \pi');
ylabel('Magnitud (dB)');
legend('N=8','N=16','N=32','N=64');
grid on;
subplot(2,1,2);
plot(W/pi,unwrap(angle(H)));
title('Respuesta de fase del filtro');
xlabel('\omega en unidades de \pi');
ylabel('Fase (rads)');
legend('N=8','N=16','N=32','N=64');
grid on;
%Filtrando
fil=zeros(length(x_in),L);
for i=1:L
h1=filter(M(:,i),1,x_in);
fil(:,i)=h1;
end
subplot(4,1,2);
plot(t,fil(:,2));
txtp2=strcat('Salida del filtro Kaiser de orden N=',num2str(N(2)));
title(txtp2);
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
grid on;
subplot(4,1,3);
plot(t,fil(:,3));
txtp3=strcat('Salida del filtro Kaiser de orden N=',num2str(N(3)));
title(txtp3);
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
grid on;
141
subplot(4,1,4);
plot(t,fil(:,4));
txtp4=strcat('Salida del filtro Kaiser de orden N=',num2str(N(4)));
title(txtp4);
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
grid on;
%************************************************************************
%************************************************************************
%Punto (5)
%************************************************************************
M=zeros(N(L)+1,L); %Matriz de ceros para guardar los
%coeficientes del filtro para cada orden
for i=1:L
ventana=window(@barthannwin,N(i)+1); %Cálculo de la función ventana
%Hamming
B=fir1(N(i),Wn,'bandpass',ventana); %Cálculo de los coeficientes
%del filtro
for j=1:length(B)
M(j,i)=B(j);
end
end
subplot(2,1,2);
plot(W/pi,unwrap(angle(H)));
title('Respuesta de fase del filtro');
xlabel('\omega en unidades de \pi');
ylabel('Fase (rads)');
legend('N=8','N=16','N=32','N=64');
grid on;
142
%Filtrando
fil=zeros(length(x_in),L);
for i=1:L
h1=filter(M(:,i),1,x_in);
fil(:,i)=h1;
end
subplot(4,1,2);
plot(t,fil(:,2));
txtp2=strcat('Salida del filtro Bartlett de orden N=',num2str(N(2)));
title(txtp2);
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
grid on;
subplot(4,1,3);
plot(t,fil(:,3));
txtp3=strcat('Salida del filtro Bartlett de orden N=',num2str(N(3)));
title(txtp3);
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
grid on;
subplot(4,1,4);
plot(t,fil(:,4));
txtp4=strcat('Salida del filtro Bartlett de orden N=',num2str(N(4)));
title(txtp4);
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
grid on;
%************************************************************************
%************************************************************************
%FILTROS DIGITALES IIR
%************************************************************************
%Punto (1)
%************************************************************************
fm=8000; %Frecuencia de muestreo
143
[b,a]=ellip(N2,0.5,80,300/(fm/2),'low'); %Cálculo de los coeficientes de
%un filtro IIR tipo elíptico
%************************************************************************
%************************************************************************
%Punto (2)
%************************************************************************
[H,f]=freqz(b,a,2048,fm); %Respuesta en frecuencia
subplot(2,1,2);
plot(f,unwrap(angle(H))*180/pi);
axis([0 2500 -600 200]);
xlabel('Frecuencia (Hz)');
ylabel('Fase (º)');
txtp6=strcat('N=',num2str(N2));
legend(txtp6);
grid on;
%************************************************************************
%************************************************************************
%Punto (3)
%************************************************************************
L_medio=200; %Mitad de la cantidad de muestras a recolectar
treq=2*L_medio/fm; %Tiempo requerido para recolectar las muestras
t=0:1/(fm-1):treq; %Vector de muestras a recolectar
%Señal de entrada
xin1=sin(2*pi*180*t);
xin2=sin(2*pi*720*t);
x_in=xin1+xin2;
figure(10)
subplot(3,1,1);
plot(t,xin1);
title('Señal con frecuencia de 180 Hz');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
grid on;
144
subplot(3,1,2);
plot(t,xin2);
title('Señal con frecuencia de 720 Hz');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
grid on;
subplot(3,1,3);
plot(t,x_in);
title('Señal de entrada');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
grid on;
%Filtrando
h=filter(b,a,x_in);
figure(11)
plot(t,h,t,x_in,':');
title('Salida del filtro');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
legend('Salida del filtro','Señal de entrada');
grid on;
%************************************************************************
%************************************************************************
%Punto (4)
%************************************************************************
%Parámetros del filtro
Ns=[8 12 16]; %Variación del orden
Amax=[20 60 120];
Amin=[0.1 0.3 0.9];
L=length(Ns);
B=zeros(Ns(L)+1,L);
A=zeros(Ns(L)+1,L);
%Respuesta en frecuencia
Hf=zeros(2048,L);
145
F=zeros(2048,L);
for k=1:L
[H,f]=freqz(B(:,k),A(:,k),2048,fm);
Hf(:,k)=H;
F(:,k)=f;
end
subplot(2,1,2);
plot(F,unwrap(angle(Hf))*180/pi);
title('Respuesta de fase del filtro Amin=0.3 dB, Amax=60 dB');
xlabel('Frecuencia (Hz)');
ylabel('Fase (º)');
legend('N=8','N=12','N=16');
grid on;
%Respuesta en frecuencia
Hf=zeros(2048,L);
F=zeros(2048,L);
for k=1:L
[H,f]=freqz(B(:,k),A(:,k),2048,fm);
Hf(:,k)=H;
F(:,k)=f;
end
146
title('Respuesta de magnitud del filtro N=8, Amax=60 dB');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud (dB)');
legend('Amin=0.1','Amin=0.3','Amin=0.9');
grid on;
subplot(2,1,2);
plot(F,unwrap(angle(Hf))*180/pi);
title('Respuesta de fase del filtro N=8, Amax=60 dB');
xlabel('Frecuencia (Hz)');
ylabel('Fase (º)');
legend('N=8','N=12','N=16');
grid on;
%Respuesta en frecuencia
Hf=zeros(2048,L);
F=zeros(2048,L);
for k=1:L
[H,f]=freqz(B(:,k),A(:,k),2048,fm);
Hf(:,k)=H;
F(:,k)=f;
end
subplot(2,1,2);
plot(F,unwrap(angle(Hf))*180/pi);
title('Respuesta de fase del filtro N=8, Amax=0.3 dB');
xlabel('Frecuencia (Hz)');
147
ylabel('Fase (º)');
legend('Amax=20','Amax=60','Amax=120');
grid on;
%************************************************************************
%************************************************************************
%Punto (5)
%************************************************************************
fm=8000; %Frecuencia de muestreo
%Respuesta en frecuencia
[H,f]=freqz(b1,a1,2048,fm);
subplot(2,1,2);
plot(f,unwrap(angle(H))*180/pi);
title('Respuesta de fase del filtro IIR pasabanda, Chebyshev Tipo I');
xlabel('Frecuencia (Hz)');
ylabel('Fase (º)');
grid on;
%************************************************************************
%************************************************************************
%Punto (6)
%************************************************************************
L_medio=200; %Mitad de la cantidad de muestras a recolectar
treq=2*L_medio/fm; %Tiempo requerido para recolectar las muestras
t=0:1/(fm-1):treq; %Vector de muestras a recolectar
%Señal de entrada
xin1=sin(2*pi*120*t);
xin2=sin(2*pi*400*t);
xin3=sin(2*pi*680*t);
148
x_in=xin1+xin2+xin3;
%Filtrando
h=filter(b1,a1,x_in);
%************************************************************************
%Punto (7)
%************************************************************************
fm=8000; %Frecuencia de muestreo
subplot(2,1,2);
plot(f,unwrap(angle(H))*180/pi);
title('Respuesta de fase del filtro IIR rechazabanda, Chebyshev Tipo I');
xlabel('Frecuencia (Hz)');
ylabel('Fase (º)');
grid on;
%************************************************************************
149
%************************************************************************
%Punto (8)
%************************************************************************
%Filtrando
h=filter(b2,a2,x_in);
figure(19)
plot(t,h,t,x_in,':')
title('Salida del filtro');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
legend('Salida del filtro','Señal de entrada');
grid on;
%************************************************************************
%************************************************************************
%Punto (9)
%************************************************************************
%Frecuencia de muestreo
fm=8000;
%Frecuencias de la banda de paso del filtro pasabanda
wn=[1310 2120]/(fm/2);
150
%Se grafican los resultados
figure(20)
subplot(3,1,1);
plot(f1/(2*pi),20*log10(abs(H1)));
title('Respuesta de magnitud del filtro pasobajo, Elíptico');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud (dB)');
grid on;
subplot(3,1,2);
plot(f2,20*log10(abs(H2)));
title('Respuesta de magnitud del filtro pasabanda IIR');
xlabel('Frecuencia normalizada (\omega en unidades de \pi)');
ylabel('Magnitud (dB)');
grid on;
subplot(3,1,3);
plot(f2/(fm/2),unwrap(angle(H2))*180/pi);
title('Respuesta de fase del filtro pasabanda IIR');
xlabel('Frecuencia normalizada (\omega en unidades de \pi)');
ylabel('Fase (º)');
grid on;
%************************************************************************
151
A.2 Código fuente laboratorio de FFT
%************************************************************************
%LABORATORIO DE FFT
%************************************************************************
%************************************************************************
%REALIZADO POR: José Gabriel Fernández Carazo
% A21941
% Escuela de Ingeniería Eléctrica
% Facultad de Ingeniería
% Universidad de Costa Rica
%************************************************************************
%Ultima modificación: Julio del 2007.
%************************************************************************
%************************************************************************
%Se limpia el workspace de MATLAB y las variables en uso.
clc;
clear;
%************************************************************************
%************************************************************************
%CALCULO DE LA FFT
%************************************************************************
%Punto (1)
%************************************************************************
L_medio=128; %Mitad de la cantidad de muestras a recolectar
Nfft=[16 32 64 128 256 512 1024];%Cantidad de puntos para calcular la FFT
fmax=1/2; %Frecuencia máxima presente en la señal
fn=2*fmax; %Frecuencia de muestreo según Nyquist
treq=2*L_medio/fn; %Tiempo requerido para recolectar las muestras
fs=((2*L_medio-1)/treq); %División de tiempo para recolectar las muestras
n=0:1/fs:treq; %Vector de muestras a recolectar
L=length(Nfft);
for i=1:L
%Cálculo de la DFT utilzando la FFT
Y=fft(xin,Nfft(i)); %FFT de Nfft puntos para la secuencia xin
Y1=fftshift(Y); %Reordenamiento de los valores de la FFT
norm=max(abs(Y1)); %Para normalizar el espectro en magnitud
152
%Vector de frecuencias
M=Nfft(i)/2;
faux(M+1:Nfft(i))=0:M-1; %Vector de frecuencias desordenado
faux(1:M)=-M:-1; %Vector de frecuencias ordenado
f=fn*faux/(Nfft(i)); %Vector de frecuencias normalizado
subplot(3,1,2);
plot(f,abs(Y1));
title('Espectro continuo en magnitud de la señal de entrada');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud |FFT|');
txtp=strcat('NFFT = ',num2str(Nfft(i)),' puntos');
legend(txtp);
grid on;
subplot(3,1,3);
stem(f,abs(Y1)/norm,'r');
title('Espectro discreto en magnitud de la señal de entrada');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txtp=strcat('NFFT = ',num2str(Nfft(i)),' puntos');
legend(txtp);
grid on;
end
%************************************************************************
%************************************************************************
%Punto (2)
%************************************************************************
Nfft2=128; %Cantidad de puntos para calcular la FFT
L2_medio=50; %Cantidad de muestras de la secuencia de entrada
t=0:L2_medio-1; %Vector de muestras a recolectar
t2=0:L2_medio*4-1;
t2n=0:Nfft2-1;
fmax2=1/2; %Frecuencia máxima presente en la señal
fn2=2*fmax2; %Frecuencia de muestreo según Nyquist
treq2=2*L2_medio/fn2; %Tiempo requerido para recolectar las muestras
fs2=((2*L2_medio-1)/treq2);%División de tiempo para recolectar muestras
t=0:1/fs2:treq2; %Vector de muestras a recolectar
153
%Se define la secuencia de entrada
x2=cos(2*pi*1/8*t)+cos(2*pi*1/4*t)+cos(2*pi*13/50*t);
ceros=zeros(100,1); %Se define el vector de ceros de relleno
ceros=ceros'; %Se traspone para unirlo al vector muestras
xnew=cat(2,x2,ceros); %Vector de entrada relleno con ceros hasta 128
%Vector de frecuencias
M1=Nfft2/2;
faux1(M1+1:Nfft2)=0:M1-1; %Vector de frecuencias desordenado
faux1(1:M1)=-M1:-1; %Vector de frecuencias ordenado
f1=fn*faux1/(Nfft2); %Vector de frecuencias normalizado
subplot(3,1,2);
plot(f1,abs(Y3));
title('Espectro continuo en magnitud de la señal de entrada');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud |FFT|');
grid on;
subplot(3,1,3);
stem(f1,abs(Y3)/norm2,'r');
title('Espectro discreto en magnitud de la señal de entrada');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
grid on;
%************************************************************************
%************************************************************************
%Punto (3)
%************************************************************************
%Recuperando la señal original a partir de la FFT inversa
x_recup=ifftshift(Y3); %Se cancela el efecto de ordenar los
%componentes en frecuencia
x_recup=ifft(x_recup); %Se aplica la FFT inversa en la señal
154
%Se grafican los resultados y se comprueba que se recupero la señal
figure(9);
subplot(2,1,1);
plot(t2,xnew,'-b'); axis([0 L2_medio*4 -3 3]);
title('Señal de entrada recuperada');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
grid on;
subplot(2,1,2);
plot(t2n,x_recup,'-r'); axis([0 L2_medio*4 -3 3]);
title('Señal de entrada recuperada');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
grid on;
%************************************************************************
%************************************************************************
%Punto (4)
%************************************************************************
L3_medio=1000; %Mitad de la cantidad de muestras a recolectar
Nfft3=256; %Cantidad de puntos para calcular la FFT
fmax3=2000; %Frecuencia máxima presente en la señal
fn3=2*fmax3; %Frecuencia de muestreo según Nyquist
treq3=2*L3_medio/fn3; %Tiempo requerido para recolectar las muestras
fs3=((2*L3_medio-1)/treq3);%División de tiempo para recolectar muestras
t3=0:1/fs3:treq3; %Vector de muestras a recolectar
%Vector de frecuencias
M3=Nfft3/2;
faux3(M3+1:Nfft3)=0:M3-1; %Vector de frecuencias desordenado
faux3(1:M3)=-M3:-1; %Vector de frecuencias ordenado
f3=fn3*faux3/(Nfft3); %Vector de frecuencias normalizado
155
%Graficas de las espectros en frecuencias de las señales obtenidas
figure(10);
subplot(3,1,1);
plot(t3,xtotal); axis([0 treq3 -3 3]);
title('Señal de entrada original');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
txtp3=strcat('f muestreo = ',num2str(fn3),' Hz');
legend(txtp3);
grid on;
subplot(3,1,2);
plot(f3,abs(Y5));
title('Espectro continuo en magnitud de la señal de entrada');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud |FFT|');
grid on;
subplot(3,1,3);
plot(f3,Yf,'b');
title('Espectro continuo de fase de la señal de entrada');
xlabel('Frecuencia (Hz)');
ylabel('Fase (rad)');
grid on;
figure(11);
subplot(2,1,1);
stem(f3,abs(Y5)/norm,'r');
title('Espectro discreto en magnitud de la señal de entrada');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
grid on;
subplot(2,1,2);
stem(f3,Yf,'m');
title('Espectro discreto de fase de la señal de entrada');
xlabel('Frecuencia (Hz)');
ylabel('Fase (rad)');
grid on;
%************************************************************************
156
A.3 Código fuente laboratorio de modulación AM
%************************************************************************
%LABORATORIO DE MODULACION AM
%************************************************************************
%************************************************************************
%REALIZADO POR: José Gabriel Fernández Carazo
% A21941
% Escuela de Ingeniería Eléctrica
% Facultad de Ingeniería
% Universidad de Costa Rica
%************************************************************************
%Ultima modificación: Julio del 2007.
%************************************************************************
%************************************************************************
%Se limpia el workspace de MATLAB y las variables en uso.
clc;
clear;
%************************************************************************
%************************************************************************
%MODULACION AM
%************************************************************************
%Punto (1)
%************************************************************************
%Modulación en amplitud de un tono de prueba
L_medio=1000; %Mitad de la cantidad de muestras a recolectar
fm=1000; %Frecuencia de muestreo
treq=2*L_medio/fm; %Tiempo requerido para recolectar las muestras
t=0:1/(fm-1):treq; %Vector de muestras a recolectar
%Demodulación (AM)
mreconst = demod(s,fc,fs,'am');
%************************************************************************
157
%************************************************************************
%Punto (2)
%************************************************************************
%Gráfica de la señal tono de prueba
figure(1)
subplot(3,1,1);
plot(t,mtono);
title('Señal tono de prueba');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
txt=strcat('f muestreo =',num2str(fs),' Hz');
legend(txt);
grid on;
%Vector de frecuencias
M=Nfft/2;
faux(M+1:Nfft)=0:M-1; %Vector de frecuencias desordenado
faux(1:M)=-M:-1; %Vector de frecuencias ordenado
f=fm*faux/(Nfft); %Vector de frecuencias normalizado
158
subplot(2,1,1);
plot(f,abs(Y2)/norm);
title('Espectro continuo en magnitud de la señal modulada');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
grid on;
subplot(2,1,2);
plot(f,Yf,'b');
title('Espectro continuo de fase de la señal modulada');
xlabel('Frecuencia (Hz)');
ylabel('Fase (rads)');
grid on;
subplot(2,1,2);
plot(f,Yftono,f,Yfreconst);
title('Espectro continuo de fase');
xlabel('Frecuencia (Hz)');
ylabel('Fase (rads)');
legend('Señal tono de prueba','Señal reconstruida');
grid on;
%************************************************************************
%************************************************************************
%Punto (3) y (4)
%************************************************************************
L_medio=2000; %Mitad de la cantidad de muestras a recolectar
fm=1000; %Frecuencia de muestreo
treq=2*L_medio/fm; %Tiempo requerido para recolectar las muestras
159
t=0:1/(fm-1):treq; %Vector de muestras a recolectar
%Señal a modular
ym=Am1*cos(2*pi*fym*t);
%Señal portadora
yc=Ap*cos(2*pi*fyc*t);
%señal modulada
ys=(1+ka*ym).*yc;
ysmax=max(abs(ys));
160
end
figure(5);
if i==1
subplot(4,1,1);
plot(t,yc);
title('Señal portadora');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
axis([0 treq/4 -Ap Ap]);
txtp=strcat('fc=',num2str(fyc));
legend(txtp);
grid on;
subplot(4,1,2);
plot(t,ym);
title('Señal a modular para obtener un índice de modulación
m<1');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
txtp=strcat('Amplitud media=',num2str(Am1));
legend(txtp);
grid on;
end
if i==2
subplot(4,1,3);
plot(t,ym);
title('Señal a modular para obtener un índice de modulación
m=1');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
txtp=strcat('Amplitud media=',num2str(Am1));
legend(txtp);
grid on;
end
if i==3
subplot(4,1,4);
plot(t,ym);
title('Señal a modular para obtener un índice de modulación
m>1');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
txtp=strcat('Amplitud media=',num2str(Am1));
legend(txtp);
grid on;
end
end
%************************************************************************
161
%************************************************************************
%Punto (5)
%************************************************************************
%Modulación de una señal con ruido utilzando las funciones "modulate" y
%"demod"
% Portadora
fc=50;
% Señal mensaje
fs=fm;
m=15*sin(10*pi*t)+10*sin(20*pi*t);
% Señal modulada
g=modulate(m,fc,fs,'am');
% Ruido
g_ruido=g+8*randn(1,length(g));
% Señal reconstruida
m_reconst=demod(g,fc,fs,'am');
figure(6);
subplot(3,1,1);
plot(t,m);
title('Señal a modular');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
txtp=strcat('fmuestreo=',num2str(fm));
legend(txtp);
grid on;
subplot(3,1,2);
plot(t,g_ruido);
title('Señal modulada con ruido adherido en el canal de transmisión');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
txtp=strcat('fmuestreo=',num2str(fm));
legend(txtp);
grid on;
162
subplot(3,1,3);
plot(t,m_reconst,t,m);
title('Señal reconstruida o demodulada');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
legend('Señal demodulada o reconstruida','Señal original');
grid on;
%************************************************************************
%************************************************************************
%DETECTOR DE ENVOLVENTE (LEY CUADRATICA)
%************************************************************************
%Punto (1)
%************************************************************************
L_medio=2000; %Mitad de la cantidad de muestras a recolectar
fm=8000; %Frecuencia de muestreo
treq=2*L_medio/fm; %Tiempo requerido para recolectar las muestras
t=0:1/(fm-1):treq; %Vector de muestras a recolectar
%Señal a modular
ym=Am1*cos(2*pi*fym*t);
%Señal portadora
yc=Ap*cos(2*pi*fyc*t);
%señal modulada
ys=(1+ka*ym).*yc;
ysmax=max(abs(ys));
163
%Se pasa por un filtro pasoalto para eliminar la componente DC
c=[0.2 0.5 0.7 0.89 0.98];
L2=length(c);
Hm=zeros(2048,L2);
fil=zeros(length(y),L2);
for i=1:L2;
b3=[1+c(i) -(1+c(i))];
a3=[2 -2*c(i)];
h3=filter(b3,a3,y);
fil(:,i)=h3;
[H3 f3]=freqz(b3,a3,2048,fm);
Hm(:,i)=H3;
end
subplot(3,1,2);
plot(f3,20*log10(abs(Hm)+eps));
title('Respuesta en magnitud de un filtro digital pasoalto');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud (dB)');
legend('c=0.2','c=0.5','c=0.7','c=0.89','c=0.98');
ylim([-350 50]);
xlim([0 350])
grid on;
subplot(3,1,3);
plot(f3,unwrap(angle(Hm)));
title('Respuesta de fase de un filtro digital pasoalto');
xlabel('Frecuencia (Hz)');
ylabel('Fase(rads)');
legend('c=0.2','c=0.5','c=0.7','c=0.89','c=0.98');
grid on;
c=0.92;
b3=[1+c -(1+c)];
a3=[2 -2*c];
h3=filter(b3,a3,y);
164
figure(8)
subplot(2,1,1);
plot(t,ys);
title('Señal modulada');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
axis([0 treq/4 -(ysmax+1) ysmax+1]);
grid on;
subplot(2,1,2);
plot(t,real(h3));
title('Salida del filtro pasoalto (señal demodulada utilizando un
detector de envolvente de Ley Cuadrática');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
axis([0 treq/4 -max(abs(h3)) max(abs(h3))]);
grid on;
%Vector de frecuencias
M1=Nfft/2;
faux1(M1+1:Nfft)=0:M1-1; %Vector de frecuencias desordenado
faux1(1:M1)=-M1:-1; %Vector de frecuencias ordenado
f1=fm*faux1/(Nfft); %Vector de frecuencias normalizado
%Vector de frecuencias
M1=Nfft/2;
faux1(M1+1:Nfft)=0:M1-1; %Vector de frecuencias desordenado
faux1(1:M1)=-M1:-1; %Vector de frecuencias ordenado
f2=fm*faux1/(Nfft); %Vector de frecuencias normalizado
figure(9)
subplot(2,1,1);
plot(f1,abs(Y2)/norm2);
title('Espectro continuo en magnitud de la señal de entrada');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
165
subplot(2,1,2);
plot(f2,abs(Y4)/norm4);
title('Espectro continuo en magnitud de la salida del filtro pasoalto');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
%************************************************************************
166
A.4 Código fuente laboratorio de modulación DSBSC-AM
%************************************************************************
%LABORATORIO DE MODULACION DSBSC-AM
%************************************************************************
%************************************************************************
%REALIZADO POR: José Gabriel Fernández Carazo
% A21941
% Escuela de Ingeniería Eléctrica
% Facultad de Ingeniería
% Universidad de Costa Rica
%************************************************************************
%Ultima modificación: Julio del 2007.
%************************************************************************
%************************************************************************
%Se limpia el workspace de MATLAB y las variables en uso.
clc;
clear;
%************************************************************************
%************************************************************************
%MODULACION DSBSC-AM
%************************************************************************
%Punto (1)
%************************************************************************
%Modulación en amplitud de doble banda lateral con portadora suprimida
L_medio=10000; %Mitad de la cantidad de muestras a recolectar
fm=8000; %Frecuencia de muestreo
treq=2*L_medio/fm; %Tiempo requerido para recolectar las muestras
t=0:1/(fm-1):treq; %Vector de muestras a recolectar
%Señal a demodular
fmt=20;
mt=10*sin(2*pi*fmt*t).*exp(-0.5*t);
%mt=1+0.4*cos(2*pi*fmt*t);
fc=200;
yc=cos(2*pi*fc*t);
%Señal DSBSC-AM
s1=mt.*yc;
167
%Se pasa por un filtro pasobajo para obtener la señal demodulada
b1=fir1(70,2*fmt/(fm/2),'low');
h=filter(b1,1,s2);
%************************************************************************
%Punto (2)
%************************************************************************
%Se grafican los resultados
figure(1)
subplot(3,1,1)
plot(t,mt);
title('Señal a modular');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
ylim([-15 15]);
grid on;
subplot(3,1,2)
plot(t,s1);
title('Señal modulada (Señal DSBSC-AM)');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
xlim([0 treq/4]);
grid on;
subplot(3,1,3)
plot(t,h);
title('Señal demodulada');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
ylim([-15 15]);
grid on;
figure(2)
subplot(2,1,1)
plot(f,20*log10(abs(H)+eps));
title('Respuesta en magnitud de un filtro FIR pasobajo N=70');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud (dB)');
grid on;
subplot(2,1,2)
plot(f,unwrap(angle(H)));
title('Respuesta de fase de un filtro FIR pasobajo N=70');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud (dB)');
grid on;
168
%************************************************************************
%************************************************************************
%Punto (3)
%************************************************************************
%Cálculo de la DFT utilzando la FFT
Nfft=2048;
Y=fft(s2,Nfft); %FFT de Nfft puntos para la entrada del filtro
Y2=fftshift(Y); %Reordenamiento de los valores de la FFT
norm2=max(abs(Y2)); %Para normalizar el espectro en magnitud
%Vector de frecuencias
M1=Nfft/2;
faux1(M1+1:Nfft)=0:M1-1; %Vector de frecuencias desordenado
faux1(1:M1)=-M1:-1; %Vector de frecuencias ordenado
f1=fm*faux1/(Nfft); %Vector de frecuencias normalizado
%Vector de frecuencias
M1=Nfft/2;
faux1(M1+1:Nfft)=0:M1-1; %Vector de frecuencias desordenado
faux1(1:M1)=-M1:-1; %Vector de frecuencias ordenado
f2=fm*faux1/(Nfft); %Vector de frecuencias normalizado
figure(3)
subplot(2,1,1);
plot(f1,abs(Y2)/max(abs(Y2)));
title('Espectro continuo en magnitud de la señal de entrada al filtro');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
xlim([-1000 1000]);
grid on;
subplot(2,1,2);
plot(f2,abs(Y4)/max(abs(Y4)));
title('Espectro continuo en magnitud de la señal de salida del filtro');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
xlim([-1000 1000]);
grid on;
%************************************************************************
169
%************************************************************************
%Punto (5)
%************************************************************************
%Señal modulada (AM)
s3=modulate(mt,fc,fm,'amdsb-sc'); %Señal modulada
%Demodulación (AM)
mreconst = 2*demod(s3,fc,fm,'amdsb-sc');
%************************************************************************
%************************************************************************
%Punto (6)
%************************************************************************
figure(4)
subplot(2,1,1);
plot(t,s3);
title('Señal modulada utilizando la función "modulate"');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
grid on;
subplot(2,1,2);
plot(t,mreconst);
title('Señal demodulada utilizando la función "demod"');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
grid on;
%Vector de frecuencias
M1=Nfft/2;
faux1(M1+1:Nfft)=0:M1-1; %Vector de frecuencias desordenado
faux1(1:M1)=-M1:-1; %Vector de frecuencias ordenado
f1=fm*faux1/(Nfft); %Vector de frecuencias normalizado
%Vector de frecuencias
M1=Nfft/2;
faux1(M1+1:Nfft)=0:M1-1; %Vector de frecuencias desordenado
faux1(1:M1)=-M1:-1; %Vector de frecuencias ordenado
f2=fm*faux1/(Nfft); %Vector de frecuencias normalizado
170
figure(5)
subplot(2,1,1);
plot(f1,abs(Y2)/max(abs(Y2)));
title('Espectro continuo en magnitud de la señal modulada con
"modulate"');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
xlim([-1000 1000]);
grid on;
subplot(2,1,2);
plot(f2,abs(Y4)/max(abs(Y4)));
title('Espectro continuo en magnitud de la señal demodulada con
"demod"');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
xlim([-1000 1000]);
grid on;
%************************************************************************
171
A.5 Código fuente laboratorio de modulación SSB-AM
%************************************************************************
%LABORATORIO DE MODULACION SSB-AM
%************************************************************************
%************************************************************************
%REALIZADO POR: José Gabriel Fernández Carazo
% A21941
% Escuela de Ingeniería Eléctrica
% Facultad de Ingeniería
% Universidad de Costa Rica
%************************************************************************
%Ultima modificación: Julio del 2007.
%************************************************************************
%************************************************************************
%Se limpia el workspace de MATLAB y las variables en uso.
clc;
clear;
%************************************************************************
%************************************************************************
%MODULACION SSB-AM
%************************************************************************
%Punto (1) y (2)
%************************************************************************
%Modulación en amplitud de banda lateral con portadora suprimida
Nfft=1024; %Cantidad de puntos a calcular para la FFT
L_medio=500; %Mitad de la cantidad de muestras a recolectar
fm=8000; %Frecuencia de muestreo
treq=2*L_medio/fm; %Tiempo requerido para recolectar muestras
fs=((2*L_medio-1)/treq); %División de tiempo para recolectar muestras
t=0:1/fs:treq; %Vector de muestras a recolectar
172
%Señal a modular
mt=Am*cos(2*pi*fmt*t);
%Señal portadora
yc=Ap*sin(2*pi*fc*t);
%************************************************************************
%Punto (3)
%************************************************************************
%Se grafican las señales producidas por el generador
figure(1)
subplot(3,1,1);
plot(t,mt);
axis([0 treq -1 1]);
txt=strcat('Señal a modular con una frecuencia de ',num2str(fmt),' Hz');
title(txt);
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
txt=strcat('fmuestreo=',num2str(fs),' Hz');
legend(txt);
grid on;
173
subplot(3,1,2);
plot(t,yc);
xlim([0 treq/2]);
txt=strcat('Señal portadora con una frecuencia de ',num2str(fc),' Hz');
title(txt);
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
txt=strcat('fmuestreo=',num2str(fs),' Hz');
legend(txt);
grid on;
subplot(3,1,3);
plot(t,at);
axis([0 treq/2 -1 1]);
title('Señal DSBSC-AM generada');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
txt=strcat('fmuestreo=',num2str(fs),' Hz');
legend(txt);
grid on;
subplot(2,1,2)
plot(f1,unwrap(angle(H1)),'-m');
txt=strcat('Respuesta de fase de un filtro FIR pasobajo N=
',num2str(N1));
title(txt);
xlabel('Frecuencia (Hz)');
ylabel('Magnitud (dB)');
txt=strcat('Frecuencia de corte ',num2str(w),' Hz');
legend(txt);
grid on;
figure(3)
subplot(2,1,1)
plot(f2,20*log10(abs(H2)+eps),'-r');
txt=strcat('Respuesta en magnitud de un filtro FIR pasoalto N=
',num2str(N2));
title(txt);
174
xlabel('Frecuencia (Hz)');
ylabel('Magnitud (dB)');
txt=strcat('Frecuencia de corte ',num2str(w),' Hz');
legend(txt);
grid on;
subplot(2,1,2)
plot(f2,unwrap(angle(H2)),'-r');
txt=strcat('Respuesta de fase de un filtro FIR pasoalto N=
',num2str(N2));
title(txt);
xlabel('Frecuencia (Hz)');
ylabel('Magnitud (dB)');
txt=strcat('Frecuencia de corte ',num2str(w),' Hz');
legend(txt);
grid on;
subplot(3,1,2);
plot(t,h1,'-m');
xlim([0 treq/2]);
title('Salida del filtro pasobajo selector de la banda lateral
inferior');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
legend('SSB banda lateral inferior');
grid on;
subplot(3,1,3);
plot(t,h2,'-r');
xlim([0 treq/2]);
title('Salida del filtro pasobajo selector de la banda lateral
superior');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
legend('SSB banda lateral superior');
grid on;
%************************************************************************
175
%************************************************************************
%Punto (4)
%************************************************************************
%CALCULO DE LOS ESPECTROS
%Cálculo de la DFT utilzando la FFT para la señal DSBSC-AM
Y1=fft(at,Nfft); %FFT de Nfft puntos
Y1=fftshift(Y1); %Reordenamiento de los valores de la FFT
norm1=max(abs(Y1)); %Para normalizar el espectro en magnitud
Yf1=unwrap(angle(Y1)); %Cálculo de las componentes de fase
subplot(3,1,2);
plot(f,abs(Y2)/norm2,'-m');
title('Espectro continuo en magnitud de la señal SSB de banda lateral
inferior');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
subplot(3,1,3);
plot(f,abs(Y3)/norm3,'-r');
title('Espectro continuo en magnitud de la señal SSB de banda lateral
superior');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
176
legend(txt);
grid on;
figure(6)
subplot(3,1,1);
plot(f,Yf1);
title('Espectro continuo de fase de la señal de entrada');
xlabel('Frecuencia (Hz)');
ylabel('Fase (rads)');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
subplot(3,1,2);
plot(f,Yf2,'-m');
title('Espectro continuo de fase de la señal SSB de banda lateral
inferior');
xlabel('Frecuencia (Hz)');
ylabel('Fase (rads)');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
subplot(3,1,3);
plot(f,Yf3,'-r');
title('Espectro continuo de fase de la señal SSB de banda lateral
superior');
xlabel('Frecuencia (Hz)');
ylabel('Fase (rads)');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
%************************************************************************
%************************************************************************
%DEMODULACION SSB-AM
%************************************************************************
%Punto (1) y (2)
%************************************************************************
%Se implementa el modulador de la figura 3.7 del laboratorio
%Luego esta señal se pasa por un filtro pasobajo con una frecuencia de
%corte de tal manera que deje pasar la señal original
N3=64;
b3=fir1(N3,fmt/(fm/2),'low');
177
h3=filter(b3,1,a2t);
%Luego esta señal se pasa por un filtro pasobajo con una frecuencia de
%corte de tal manera que deje pasar la señal original
h4=filter(b3,1,a3t);
%************************************************************************
%************************************************************************
%Punto (3)
%************************************************************************
figure(7)
subplot(3,1,1);
plot(t,mt);
axis([0 treq/2 -1 1]);
txt=strcat('Señal a modular con una frecuencia de ',num2str(fmt),' Hz');
title(txt);
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
txt=strcat('fmuestreo=',num2str(fs),' Hz');
legend(txt);
grid on;
subplot(3,1,2);
plot(t,h3);
xlim([0 treq/2]);
title('Señal reconstruida a partir de una señal SSB de banda lateral
inferior');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
legend('Señal reconstruida por SSB inferior');
grid on;
subplot(3,1,3);
plot(t,h4);
xlim([0 treq/2]);
title('Señal reconstruida a partir de una señal SSB de banda lateral
superior');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
legend('Señal reconstruida por SSB superior');
grid on;
178
%Respuesta en frecuencia de los filtros pasobajo y paso alto
figure(8)
subplot(2,1,1)
plot(f3,20*log10(abs(H3)+eps),'-m');
txt=strcat('Respuesta en magnitud de un filtro FIR pasobajo N=
',num2str(N3));
title(txt);
xlabel('Frecuencia (Hz)');
ylabel('Magnitud (dB)');
txt=strcat('Frecuencia de corte ',num2str(fmt),' Hz');
legend(txt);
grid on;
subplot(2,1,2)
plot(f3,unwrap(angle(H3)),'-m');
txt=strcat('Respuesta de fase de un filtro FIR pasobajo N=
',num2str(N3));
title(txt);
xlabel('Frecuencia (Hz)');
ylabel('Magnitud (dB)');
txt=strcat('Frecuencia de corte ',num2str(fmt),' Hz');
legend(txt);
grid on;
%************************************************************************
%************************************************************************
%Punto (4)
%************************************************************************
%CALCULO DE LOS ESPECTROS
%Cálculo de la DFT utilzando la FFT para la señal a modular
Y4=fft(mt,Nfft); %FFT de Nfft puntos para la señal "mt"
Y4=fftshift(Y4); %Reordenamiento de los valores de la FFT
norm4=max(abs(Y4)); %Para normalizar el espectro en magnitud
Yf4=unwrap(angle(Y4)); %Cálculo de las componentes de fase
179
%Espectros de frecuencia de las señales
figure(9)
subplot(3,1,1)
plot(f,abs(Y4)/norm4)
title('Espectro continuo en magnitud de la señal de entrada');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
subplot(3,1,2)
plot(f,abs(Y5)/norm5,'-m')
title('Espectro continuo en magnitud de la señal por demodulación SSB de
banda lateral inferior');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
subplot(3,1,3)
plot(f,abs(Y6)/norm6,'-r')
title('Espectro continuo en magnitud de la señal por demodulación SSB de
banda lateral superior');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
figure(10)
subplot(3,1,1);
plot(f,Yf4);
title('Espectro continuo de fase de la señal de entrada');
xlabel('Frecuencia (Hz)');
ylabel('Fase (rads)');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
subplot(3,1,2);
plot(f,Yf5,'-m');
title('Espectro continuo de fase de la señal SSB de banda lateral
inferior');
xlabel('Frecuencia (Hz)');
ylabel('Fase (rads)');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
180
subplot(3,1,3);
plot(f,Yf6,'-r');
title('Espectro continuo de fase de la señal SSB de banda lateral
superior');
xlabel('Frecuencia (Hz)');
ylabel('Fase (rads)');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
%************************************************************************
181
A.6 Código fuente laboratorio de modulación FM
%************************************************************************
%LABORATORIO DE MODULACION FM
%************************************************************************
%************************************************************************
%REALIZADO POR: José Gabriel Fernández Carazo
% A21941
% Escuela de Ingeniería Eléctrica
% Facultad de Ingeniería
% Universidad de Costa Rica
%************************************************************************
%Ultima modificación: Julio del 2007.
%************************************************************************
%************************************************************************
%Se limpia el workspace de MATLAB y las variables en uso.
clc;
clear;
%************************************************************************
%************************************************************************
%MODULACION FM
%************************************************************************
%Punto (1)
%************************************************************************
L_medio=1000; %Mitad de la cantidad de muestras a recolectar
Nfft=2048; %Cantidad de puntos para calcular la FFT
fm=80000; %Frecuencia de muesreo según Nyquist
treq=2*L_medio/fm; %Tiempo requerido para recolectar L muestras
fs=((2*L_medio-1)/treq); %División de tiempo para recolectar L muestras
n=0:1/fs:treq; %Vector de muestras a recolectar
t1=0:length(n)-1; %Vector en cantidad de muestras recolectadas
182
%Parametros necesarios para la modulación FM
beta=5; %Indice de modulación
kw=beta*wm/Am; %Desviación de frecuencia
phi=-pi/2; %Se desfasa la señal
mt1=Am*cos(wm*n+phi); %Se utiliza la señal original para generar el
desf=beta*mt1; %Desfase de la portadora
%************************************************************************
%Punto (2)
%************************************************************************
%Se grafican la señal a modular y la señal FM
figure(1);
subplot(2,1,1);
plot(t1,mt);
title('Señal de entrada original');
xlabel('Tiempo (Cantidad de muestras)');
ylabel('m(t)');
txtp=strcat('fn = ',num2str(fs),' Hz');
legend(txtp);
grid on;
subplot(2,1,2);
plot(t1,st);
title('Señal FM generada a partir de m(t)');
xlabel('Tiempo (Cantidad de muestras)');
ylabel('s(t)');
txtp=strcat('fn = ',num2str(fs),' Hz');
legend(txtp);
grid on;
%************************************************************************
%************************************************************************
%Punto (3)
%************************************************************************
%CALCULO DE LOS ESPECTROS
%Cálculo de la DFT utilzando la FFT para la señal FM
Y1=fft(st,Nfft); %FFT de Nfft puntos para la señal FM
Y1=fftshift(Y1); %Reordenamiento de los valores de la FFT
norm1=max(abs(Y1)); %Para normalizar el espectro en magnitud
Yf1=unwrap(angle(Y1)); %Cálculo de las componentes de fase de la
señal
figure(2)
%subplot(3,1,1)
plot(f,abs(Y1)/norm1);
183
title('Espectro continuo en magnitud de la señal de entrada');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
xlim([-1*10000 1*10000]);
grid on;
%************************************************************************
%************************************************************************
%Punto (4)
%************************************************************************
%Modulación FM utilizando "modulate"
%Se utiliza la misma señal del punto (1)
%Señal modulada (FM)
indk=0.039;
gfm = modulate(mt,wc/(2*pi),fm,'fm',indk);
%************************************************************************
%************************************************************************
%Punto (5)
%************************************************************************
%Representación gráfica de las señales
figure(3);
subplot(2,1,1);
plot(n,mt);
txt=strcat('Señal a modular m(t) (f=',num2str(wm/(2*pi)),' Hz)');
title(txt);
xlabel('Tiempo (segundos)');
ylabel('m(t)');
txt=strcat('fn = ',num2str(fs),' Hz');
legend(txt);
grid on;
subplot(2,1,2);
plot(n,gfm);
txt1=strcat('Señal FM generada a partir de m(t) (\beta =
',num2str(beta),' fc= ',num2str(wc/(2*pi)),' Hz)');
title(txt1);
xlabel('Tiempo (segundos)');
ylabel('s(t)');
txt2=strcat('fn = ',num2str(fs),' Hz');
legend(txt2);
grid on;
%************************************************************************
%************************************************************************
%Punto (6)
%************************************************************************
%Modulación FM utilizando "modulate" para difrentes índices de modulación
%Se utiliza la misma señal del punto (1)
184
%Señal modulada (FM)
indk=[0.1 0.09 0.5];
gfm1 = modulate(mt,wc/(2*pi),fm,'fm',indk(1));
gfm2 = modulate(mt,wc/(2*pi),fm,'fm',indk(2));
gfm3 = modulate(mt,wc/(2*pi),fm,'fm',indk(3));
%************************************************************************
%************************************************************************
%Punto (7)
%************************************************************************
%Representación gráfica de las señales
figure(4);
subplot(3,1,1);
plot(n,gfm1);
xlim([0 treq/2]);
txt1=strcat('Señal FM generada utilizando "modulate" (con opt=
',num2str(indk(1)),')');
title(txt1);
xlabel('Tiempo (segundos)');
ylabel('m(t)');
txt=strcat('fn = ',num2str(fs),' Hz');
legend(txt);
grid on;
subplot(3,1,2);
plot(n,gfm2);
txt1=strcat('Señal FM generada utilizando "modulate" (con opt=
',num2str(indk(2)),')');
title(txt1);
xlabel('Tiempo (segundos)');
ylabel('s(t)');
txt2=strcat('fn = ',num2str(fs),' Hz');
legend(txt2);
grid on;
subplot(3,1,3);
plot(n,gfm3);
xlim([0 treq/2]);
txt1=strcat('Señal FM generada utilizando "modulate" (con opt=
',num2str(indk(3)),')');
title(txt1);
xlabel('Tiempo (segundos)');
ylabel('s(t)');
txt2=strcat('fn = ',num2str(fs),' Hz');
legend(txt2);
grid on;
%************************************************************************
185
%************************************************************************
%Punto (8)
%************************************************************************
%Demodulación FM utilizando la función "demod"
rmt=27*demod(st,wc/(2*pi),fm,'fm');
rmt1=5*demod(gfm1,wc/(2*pi),fm,'fm');
rmt2=5*demod(gfm2,wc/(2*pi),fm,'fm');
rmt3=5*demod(gfm3,wc/(2*pi),fm,'fm');
%************************************************************************
%************************************************************************
%Punto (9)
%************************************************************************
%Representación gráfica de las señales
figure(5);
subplot(4,1,1);
plot(n,rmt,n,mt);
txt1=strcat('Señal reconstruida utilizando "demod" (con opt=
',num2str(0.039),')');
title(txt1);
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
legend('Señal reconstruida','Señal original');
grid on;
subplot(4,1,2);
plot(n,rmt1,n,mt);
txt1=strcat('Señal reconstruida utilizando "demod" (con opt=
',num2str(indk(1)),')');
title(txt1);
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
legend('Señal reconstruida','Señal original');
grid on;
subplot(4,1,3);
plot(n,rmt2,n,mt);
txt1=strcat('Señal reconstruida utilizando "demod" (con opt=
',num2str(indk(2)),')');
title(txt1);
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
legend('Señal reconstruida','Señal original');
grid on;
186
subplot(4,1,4);
plot(n,rmt3,n,mt);
txt1=strcat('Señal reconstruida utilizando "demod" (con opt=
',num2str(indk(3)),')');
title(txt1);
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
legend('Señal reconstruida','Señal original');
grid on;
%************************************************************************
%************************************************************************
%Punto (10)
%************************************************************************
%CALCULO DE LOS ESPECTROS
%Cálculo de la DFT utilzando la FFT para la señal gfm1
Y2=fft(gfm1,Nfft); %FFT de Nfft puntos para la señal FM
Y2=fftshift(Y2); %Reordenamiento de los valores de la FFT
norm2=max(abs(Y2)); %Para normalizar el espectro en magnitud
Yf2=unwrap(angle(Y2)); %Cálculo de las componentes de fase de la señal
187
subplot(3,1,2)
plot(f,abs(Y3)/norm3);
txt=strcat('Espectro continuo en magnitud de la señal FM (con
opt=',num2str(indk(2)),')');
title(txt);
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
xlim([-1*10000 1*10000]);
grid on;
subplot(3,1,3)
plot(f,abs(Y4)/norm4);
txt=strcat('Espectro continuo en magnitud de la señal FM (con
opt=',num2str(indk(3)),')');
title(txt);
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
xlim([-1*10000 1*10000]);
grid on;
%************************************************************************
188
A.7 Código fuente laboratorio de modulación PAM
%************************************************************************
%LABORATORIO DE MODULACION PAM
%************************************************************************
%************************************************************************
%REALIZADO POR: José Gabriel Fernández Carazo
% A21941
% Escuela de Ingeniería Eléctrica
% Facultad de Ingeniería
% Universidad de Costa Rica
%************************************************************************
%Ultima modificación: Julio del 2007.
%************************************************************************
%************************************************************************
%Se limpia el workspace de MATLAB y las variables en uso.
clc;
clear;
%************************************************************************
%************************************************************************
%MODULACION Y DEMODULACION PAM
%************************************************************************
%Punto (1)
%************************************************************************
L_medio=500; %Mitad de la cantidad de muestras a recolectar
Nfft=2048; %Cantidad de puntos para calcular la FFT
fm=1000; %Frecuencia de muesreo según Nyquist
treq=2*L_medio/fm; %Tiempo requerido para recolectar L muestras
fs=((2*L_medio-1)/treq); %División de tiempo para recolectar L muestras
n=0:1/fs:treq; %Vector de muestras a recolectar
num_n=0:length(n)-1; %Vector en cantidad de muestras recolectadas
%Señal a modular
Am=10;
wm=4*pi;
ym=Am*cos(wm*n);
189
%Tren de pulsos o cuantificador
pulsos=(square(2*pi*30*n,25)+1)/2;
%************************************************************************
%Punto (2)
%************************************************************************
%Se grafican los resultados
figure(1)
subplot(3,1,1);
plot(n,ym);
title('Señal a modular');
xlabel('Tiempo (segundos)');
ylabel('m(t)');
txt=strcat('fmuestreo= ',num2str(fm),' Hz');
legend(txt);
grid on;
subplot(3,1,2);
plot(n,pulsos);
title('Tren de pulsos o cuantificador');
xlabel('Tiempo (segundos)');
ylabel('g(t)');
txt=strcat('fmuestreo= ',num2str(fm),' Hz');
legend(txt);
grid on;
subplot(3,1,3)
plot(n,spam);
title('Señal modulada empleando modulación por amplitud de pulsos');
xlabel('Tiempo (segundos)');
ylabel('s(t)');
txt=strcat('fmuestreo= ',num2str(fm),' Hz');
legend(txt);
grid on;
190
%Grafica del espectro de frecuencia de la señal a modular
figure(2)
subplot(2,1,1);
plot(f,abs(Y1)/norm1);
title('Espectro continuo en magnitud de la señal a modular');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
xlim([-50 50]);
grid on;
subplot(2,1,2);
plot(f,Yf1);
title('Espectro continuo de fase de la señal a modular');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
xlim([-50 50]);
grid on;
subplot(2,1,2);
plot(f,Yf2);
title('Espectro continuo de fase de la señal a modulada');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
%************************************************************************
%************************************************************************
%Punto (3)
%************************************************************************
%Ejemplo simple de cuantificación
partition = [0,1,3]; %Criterio de evaluación de muestras
codebook = [-1,0.5,2,3]; %Niveles de cuantifficación o símbolos
samp = [-2.4,-1,-0.2,0,0.2,1,1.2,1.9,2,2.9,3,3.5,5]; %Muestras
191
[index,quantized] = quantiz(samp,partition,codebook); %Cuantificador
index %Muestra el nivel otorgado
quantized %Muestras cuantificadas
%************************************************************************
%************************************************************************
%Punto (4)
%************************************************************************
L_medio=200; %Mitad de la cantidad de muestras a recolectar
Nfft=2048; %Cantidad de puntos para calcular la FFT
fm=4000; %Frecuencia de muesreo según Nyquist
treq=2*L_medio/fm; %Tiempo requerido para recolectar L muestras
fs=((2*L_medio-1)/treq); %División de tiempo para recolectar L muestras
n1=0:1/fs:treq; %Vector de muestras a recolectar
%CUANTIFICACION
%Se define la partición
a=round(max(ym1dc));
particion = [0:1:a-1]; %La longitud de la partición debe ser una
%unidad menor que le codebook
simbolos = [0:1:a]; %Niveles de cuantioficación o símbolos
%Cuantificación
[intervalos,sencuant] = quantiz(ym1dc,particion,simbolos);
%************************************************************************
%************************************************************************
%Punto (5)
%************************************************************************
%Modualción PAM utilizando pammod
b=[4 8 16 32 64 128 256 512]; %Niveles en potencia de 2
L=length(b);
192
%Modulación PAM
spam1=pammod(sencuant,M);
%************************************************************************
%************************************************************************
%Punto (6)
%************************************************************************
%se grafican los resultados
figure(4)
subplot(3,1,1);
plot(n1,ym1);
title('Señal a modular');
xlabel('Tiempo (segundos)');
ylabel('m(t)');
txt=strcat('fmuestreo= ',num2str(fm),' Hz');
legend(txt);
xlim([0 treq/3])
grid on;
subplot(3,1,2);
plot(n1,sencuant,'-xb');
hold on;
stem(n1,sencuant,'.c');
hold off;
title('Señal muestreada y cuantificada');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
txt=strcat('fmuestreo= ',num2str(fm),' Hz');
legend(txt);
xlim([0 treq/3]);
grid on;
subplot(3,1,3);
plot(n1,real(spam1),'m');
txt=strcat('Señal modulada mediante la función "pammod". M=',num2str(M),'
símbolos.');
title(txt);
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
txt=strcat('fmuestreo= ',num2str(fm),' Hz');
legend(txt);
xlim([0 treq/3]);
grid on;
%************************************************************************
%************************************************************************
%Punto (7)
%************************************************************************
%Demodulación utilizando pamdemod
z=pamdemod(spam1,M);
193
%Se recupera la señal original eliminando el nivel DC
z1=z-max(abs(ym1));
subplot(2,1,2)
plot(n1,z1,n1,ym1,':r')
title('Señal demodulada');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
legend('Señal reconstruida','Señal original');
xlim([0 treq/3]);
grid on;
%************************************************************************
%************************************************************************
%Punto (8)
%************************************************************************
%Cálculo de la DFT utilzando la FFT para la señal modulada
Y3=fft(spam1,Nfft); %FFT de Nfft puntos
Y3=fftshift(Y3); %Reordenamiento de los valores de la FFT
norm3=max(abs(Y3)); %Para normalizar el espectro en magnitud
Yf3=unwrap(angle(Y3)); %Cálculo de las componentes de fase de la señal
figure(6)
subplot(2,1,1);
plot(f,abs(Y3)/norm3);
title('Espectro continuo en magnitud de la señal modulada');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
subplot(2,1,2);
plot(f,Yf3,'m');
title('Espectro continuo de fase de la señal a modulada');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
194
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
figure(7)
subplot(2,1,1);
plot(f,abs(Y4)/norm3);
title('Espectro continuo en magnitud de la señal demodulada');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
subplot(2,1,2);
plot(f,Yf4,'m');
title('Espectro continuo de fase de la señal a demodulada');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
%************************************************************************
%************************************************************************
%Punto (9)
%************************************************************************
%Se obtiene un diagrama de ojo utilizando la función eyediagram
eyediagram(real(spam1),M);
title('Diagrama de Ojo para la señal PAM');
xlabel('Tiempo (s)');
ylabel('Amplitud');
grid on;
%************************************************************************
195
A.8 Código fuente laboratorio de modulación QAM
%************************************************************************
%LABORATORIO DE MODULACION QAM
%************************************************************************
%************************************************************************
%REALIZADO POR: José Gabriel Fernández Carazo
% A21941
% Escuela de Ingeniería Eléctrica
% Facultad de Ingeniería
% Universidad de Costa Rica
%************************************************************************
%Ultima modificación: Junio del 2007.
%************************************************************************
%************************************************************************
%Se limpia el workspace de MATLAB y las variables en uso.
clc;
clear;
%************************************************************************
%************************************************************************
%MODULACION QAM
%************************************************************************
%Punto (1)
%************************************************************************
%Variables iniciales
L_medio=200; %Mitad de la cantidad de muestras a recolectar
Nfft=2048; %Cantidad de puntos para calcular la FFT
fm=4000; %Frecuencia de muesreo según Nyquist
treq=2*L_medio/fm; %Tiempo requerido para recolectar L muestras
fs=((2*L_medio-1)/treq); %División de tiempo para recolectar L muestras
n1=0:1/fs:treq; %Vector de muestras a recolectar
196
%CUANTIFICACION
%Se define la partición
a=round(max(ymtdc));
particion = [0:1:a-1]; %La longitud de la partición debe ser una
%unidad menor que le codebook
simbolos = [0:1:a]; %Niveles de cuantificación o símbolos
%Cuantificación
[intervalos,sencuant] = quantiz(ymtdc,particion,simbolos);
%************************************************************************
%************************************************************************
%Punto (2)
%************************************************************************
%Grafica de la señal a modular
figure(1)
subplot(3,1,1);
plot(n1,ym1,'-r');
title('Señal con frecuencia 180 Hz');
xlabel('Tiempo (segundos)');
ylabel('m(t)');
txt=strcat('fmuestreo= ',num2str(fm),' Hz');
legend(txt);
grid on;
subplot(3,1,2);
plot(n1,ym2,'-g');
title('Señal con frecuencia 25 Hz');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
txt=strcat('fmuestreo= ',num2str(fm),' Hz');
legend(txt);
grid on;
subplot(3,1,3);
plot(n1,ymt);
title('Señal a modular');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
txt=strcat('fmuestreo= ',num2str(fm),' Hz');
legend(txt);
grid on;
%señal cuantificada
figure(2)
subplot(2,1,1);
plot(n1,ymt);
title('Señal a modular');
xlabel('Tiempo (segundos)');
ylabel('m(t)');
txt=strcat('fmuestreo= ',num2str(fm),' Hz');
197
legend(txt);
grid on;
subplot(2,1,2);
plot(n1,sencuant,'-xb');
hold on;
stem(n1,sencuant,'.r');
hold off;
title('Señal muestreada y cuantificada');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
txt=strcat('fmuestreo= ',num2str(fm),' Hz');
legend(txt);
xlim([0 treq/3]);
grid on;
%************************************************************************
%************************************************************************
%Punto (3)
%************************************************************************
%Modulación QAM utilizando qammod
b=[4 8 16 32 64 128 256 512]; %Niveles en potencia de 2
L=length(b);
%Modulación QAM
sqam=qammod(sencuant,M);
subplot(2,1,2);
plot(imag(sqam),'-m');
title('Señal QAM en fase');
xlabel('Tiempo (segundos)');
198
ylabel('Amplitud');
grid on;
%************************************************************************
%************************************************************************
%Punto (4)
%************************************************************************
%Señal QAM transmitida
ytx = sqam;
%************************************************************************
%Punto (5)
%************************************************************************
%La nueva señal es recibida
yrx = ynoisy;
%************************************************************************
%Punto (6)
%************************************************************************
%Demodulación QAM utilizando "qamdemod"
199
figure(5)
subplot(2,1,1)
plot(n1,z1,n1,ymt);
title('Señal demodulada a partir de una señal QAM sin ruido');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
legend('Señal reconstruida','Señal original');
grid on;
subplot(2,1,2)
plot(n1,z2,n1,ymt);
title('Señal demodulada a partir de una señal QAM con ruido');
xlabel('Tiempo (segundos)');
ylabel('Amplitud');
legend('Señal reconstruida','Señal original');
grid on;
%************************************************************************
%************************************************************************
%Punto (7)
%************************************************************************
%Vector de frecuencias para los espectros en frecuencia
M=Nfft/2;
faux(M+1:Nfft)=0:M-1; %Vector de frecuencias desordenado
faux(1:M)=-M:-1; %Vector de frecuencias ordenado
f=fm*faux/(Nfft); %Vector de frecuencias normalizado
200
%Cálculo de la DFT utilzando la FFT para la señal demodulada con ruido
Y5=fft(z2,Nfft); %FFT de Nfft puntos
Y5=fftshift(Y5); %Reordenamiento de los valores de la FFT
norm5=max(abs(Y5)); %Para normalizar el espectro en magnitud
Yf5=unwrap(angle(Y5)); %Cálculo de las componentes de fase de la señal
subplot(2,1,2);
plot(f,Yf1);
title('Espectro continuo de fase de la señal a modular');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
subplot(2,1,2);
plot(f,Yf2);
title('Espectro continuo de fase de la señal QAM sin ruido');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
201
%Grafica del espectro de frecuencia de la señal modulada con ruido
figure(8)
subplot(2,1,1);
plot(f,abs(Y3)/norm3);
title('Espectro continuo en magnitud de la señal QAM con ruido');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
subplot(2,1,2);
plot(f,Yf3);
title('Espectro continuo de fase de la señal QAM con ruido');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
subplot(2,1,2);
plot(f,Yf4);
title('Espectro continuo de fase de la señal demodulada sin ruido');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
202
subplot(2,1,2);
plot(f,Yf5);
title('Espectro continuo de fase de la señal demodulada con ruido');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
grid on;
%************************************************************************
203
APÉNDICE B: Diagramas de bloques de los ejercicios de simulación en
SIMULINK
************************************************************************
LABORATORIO DE FILTROS DIGITALES
************************************************************************
REALIZADO POR: José Gabriel Fernández Carazo
A21941
Escuela de Ingeniería Eléctrica
Facultad de Ingeniería
Universidad de Costa Rica
************************************************************************
Ultima modificación: Julio del 2007.
************************************************************************
Onda de 720 Hz
FDATool
Onda de 3000 Hz
FDATool
Señales Señal completa
Onda de 120 Hz
Salida del filtro
Filtro pasabanda IIR N=6 pasabanda
Chebyshev Tipo I
Onda de 400 Hz Zero-Order
Hold1 FDATool
Add1
204
B.2 Simulación: laboratorio de FFT
************************************************************************
LABORATORIO FFT
************************************************************************
REALIZADO POR: José Gabriel Fernández Carazo
A21941
Escuela de Ingeniería Eléctrica
Facultad de Ingeniería
Universidad de Costa Rica
************************************************************************
Ultima modificación: Julio del 2007.
************************************************************************
Señal de entrada
B-FFT
Espectro de la señal de entrada
FDATool
Salida del filtro pasoabajo
Onda de 1500 Hz Salida f iltro pasobajo
Onda de 2325 Hz
Filtro FIR N=36
Pasabanda Kaiser B-FFT
Espectro de la salida del filtro pasabanda
FDATool
Salida del filtro pasoalto
Salida f iltro pasoalto
205
B.3 Simulación: laboratorio de modulación AM
************************************************************************
LABORATORIO MODULACION AM
************************************************************************
REALIZADO POR: José Gabriel Fernández Carazo
A21941
Escuela de Ingeniería Eléctrica
Facultad de Ingeniería
Universidad de Costa Rica
************************************************************************
Ultima modificación: Julio del 2007.
************************************************************************
Señal a modular
Zero-Order
Hold1
FDATool
Señal reconstruida 1.7-1.7z-1 2
sqrt u
2-1.4z-1
Señal reconstruida Filtro pasoalto para eliminar DC Raíz cuadrada1 Elevador
Filtro FIR pasobajo
N=36 Hamming
B-FFT
Espectro de la salida Raíz cuadrada Salida del filtro
del filtro paso alto pasobajo
206
B.4 Simulación: laboratorio de modulación DSBSC-AM
************************************************************************
LABORATORIO MODULACION DSBSC-AM
************************************************************************
REALIZADO POR: José Gabriel Fernández Carazo
A21941
Escuela de Ingeniería Eléctrica
Facultad de Ingeniería
Universidad de Costa Rica
************************************************************************
Ultima modificación: Julio del 2007.
************************************************************************
exp(-0.5*(u)) Product
Clock B-FFT
Fcn Zero-Order
Hold2 Espectro señal a modular
Señal modulada
B-FFT
Espectro portadora
Demodulador
FDATool
Señal demodulada
B-FFT
Espectro de la salida
del filtro pasobajo
207
B.5 Simulación: laboratorio de modulación SSB-AM
************************************************************************
LABORATORIO MODULACION SSB-AM
************************************************************************
REALIZADO POR: José Gabriel Fernández Carazo
A21941
Escuela de Ingeniería Eléctrica
Facultad de Ingeniería
Universidad de Costa Rica
************************************************************************
Ultima modificación: Julio del 2007.
************************************************************************
Señal DSBSC-AM
Señal DSBSC-AM
MODULACION SSB-AM
Modulador SSB-AM (Banda lateral inferior) B-FFT
FDATool
Espectro de la señal DSBSC-AM
DEMODULACION SSB-AM
Product2 Señal reconstruida con
Filtro FIR pasobajo banda lateral inferior
N=36 Hamming1
Señal portadora1 Zero-Order FDATool
Hold2
208
B.6 Simulación: laboratorio de modulación FM
************************************************************************
LABORATORIO MODULACION FM
************************************************************************
REALIZADO POR: José Gabriel Fernández Carazo
A21941
Escuela de Ingeniería Eléctrica
Facultad de Ingeniería
Universidad de Costa Rica
************************************************************************
Ultima modificación: Julio del 2007.
************************************************************************
Señal FM Señal FM
FM
FM Señal FM
Modulator B-FFT
Passband
Espectro señal FM
FM
FM
Demodulator
Passband
FDATool
Señal demodulada
Señal demodulada
209
B.7 Simulación: laboratorio de modulación PAM
************************************************************************
LABORATORIO MODULACION PAM
************************************************************************
REALIZADO POR: José Gabriel Fernández Carazo
A21941
Escuela de Ingeniería Eléctrica
Facultad de Ingeniería
Universidad de Costa Rica
************************************************************************
Ultima modificación: Julio del 2007.
************************************************************************
MODULACION PAM
Integer to Bit
Random M-PAM
Converter Señal PAM
Integer B-FFT
Random Integer M-PAM Espectro señal PAM
Generator Modulator
Baseband
Señal aleatoria de enteros positivos Se convierten en bits
|u|
210
B.8 Simulación: laboratorio de modulación QAM
************************************************************************
LABORATORIO MODULACION QAM
************************************************************************
REALIZADO POR: José Gabriel Fernández Carazo
A21941
Escuela de Ingeniería Eléctrica
Facultad de Ingeniería
Universidad de Costa Rica
************************************************************************
Ultima modificación: Julio del 2007.
************************************************************************
MODULACION QAM
Señal QAM
Random Rectangular
Integer QAM B-FFT
Random Integer Rectangular QAM Espectro señal QAM
Generator Modulator
Baseband Señal QAM
Señal aleatoria de enteros positivos
Re(u)
Cuadratura
Im(u)
Fase
Complex to Señal QAM
Real-Imag
Rectangular
Señal reconstruida
QAM
sin ruido
Señal reconstruida
Constelación señal Rectangular QAM sin ruido en el canal
QAM sin ruido Demodulator
AWGN Baseband1
AWGN
Channel
B-FFT
Espectro señal reconstruida
sin ruido en el canal
Constelación señal
QAM con ruido
Rectangular
Señal reconstruida
QAM
con ruido
Señal reconstruida
Rectangular QAM con ruido en el canal
Demodulator
Baseband
B-FFT
Espectro señal reconstruida
con ruido en el canal
211