Matlab Pam

Universidad de Costa Rica Facultad de Ingeniería Escuela de Ingeniería Eléctrica IE – 0502 Proyecto Eléctrico Diseño e

Views 184 Downloads 18 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Universidad de Costa Rica Facultad de Ingeniería Escuela de Ingeniería Eléctrica

IE – 0502 Proyecto Eléctrico

Diseño e implementación de un laboratorio virtual en DSP para comunicaciones usando Matlab y Simulink

Por: José Gabriel Fernández Carazo

Ciudad Universitaria Rodrigo Facio Julio del 2007

Diseño e implementación de un laboratorio virtual en DSP para Comunicaciones usando Matlab y Simulink Por: José Gabriel Fernández Carazo

Sometido a la Escuela de Ingeniería Eléctrica de la Facultad de Ingeniería de la Universidad de Costa Rica como requisito parcial para optar por el grado de: BACHILLER EN INGENIERÍA ELÉCTRICA Aprobado por el Tribunal:

_________________________________ Ing. Jorge Romero Chacón Profesor Guía

_________________________________ Ing. Víctor Hugo Chacón Profesor lector

_________________________________ Ing. Lucía Acuña Avendaño Profesora lectora

ii

DEDICATORIA

Este proyecto se lo dedico primero y sobre todo a Dios por la vida, por la disposición y energía que ha hecho crecer en mí y que me ha permitido llegar hasta este nivel.

A mi familia, razón importante para buscar siempre una superación intelectual.

A mi madre por el consistente apoyo, paciencia y motivación para siempre buscar obtener nuevos logros. Y porque su sola presencia es una razón para seguir adelante.

iii

RECONOCIMIENTOS

Al profesor Jorge Romero por su confianza, paciencia, consejos, apoyo bibliográfico, aportes y guía en la elaboración de este trabajo, así como el tiempo brindado para discutir las dudas y avances.

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 con el camino profesional que he elegido.

A dos grandes amigas Joselyn Ovares por su compañía incondicional e interés en mi avance en todo el transcurso del desarrollo de este proyecto y Jennifer Soto por su apoyo y motivación para seguir adelante en los momentos difíciles.

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 4.2

Conclusiones ...................................................................................................... 132 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 B.5 B.6 B.7 B.8

Simulación: laboratorio de modulación DSBSC-AM.................................... 207 Simulación: laboratorio de modulación SSB-AM ......................................... 208 Simulación: laboratorio de modulación FM .................................................. 209 Simulación: laboratorio de modulación PAM ............................................... 210 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 AM

Modulación de amplitud (Amplitude Modulation)

DFT

Transformada discreta de Fourier (Discrete Fourier Transform)

DSBSC-AM

Modulación de amplitud de doble banda lateral con portadora suprimida

(Double

Sideband

Suppressed

Carrier

Amplitude

Modulation) DSP

Procesamiento digital de señales (Digital Signal Processing)

FFT

Transformada rápida de Fourier (Fast Fourier Transform)

FIR

Respuesta de duración finita al impulse (Finite duration Impulse Response)

FM

Modulación en frecuencia (Frequency Modulation)

IDFT

Transformada Discreta de Fourier Inversa (Inverse Discrete Fourier Transform)

IIR

Respuesta de duración infinita al impulse (Infinite duration Impulse Response)

LSB

Banda lateral inferior (Low Sideband)

LSI

Integración a gran escala (Large Scale Integration)

MSI

Integración a media escala (Medium Scale Integration)

PLL

Circuito de lazo por enganche de fase (Phase Locked Loop)

QAM

Modulación de amplitud en cuadratura (Quadrature Amplitude Modulation)

SSB-AM

Modulación de amplitud de banda lateral única (Single Sideband Amplitude Modulation)

USB

Banda lateral superior (Upper Sideband)

VLSI

Integración a muy gran escala (Very Large Scale Integration)

xii

RESUMEN

La Escuela de Ingeniería Eléctrica de la Universidad de Costa Rica tiene gran interés en el Procesamiento Digital de Señales, y por eso se ha decidido desarrollar una serie de prácticas de simulación en los apartados que envuelve la ciencia del procesamiento digital de señales para los sistemas de comunicación. Primero se presenta una investigación teórica de las técnicas de simulación utilizadas en los sistemas de comunicación. Esta investigación teórica permite reforzar y 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 evaluar los conceptos de la transformada discreta de Fourier utilizando la transformada rápida de Fourier, le siguen las prácticas de modulación AM completa, DSBSC-AM, SSBAM y FM, después las prácticas de modulación digital PAM y QAM. Por último, se muestra el código fuente generado para la solución de los ejercicios de simulación en MATLAB planteados en cada una de las prácticas de laboratorio, así como los diagramas de bloques de los ejercicios de simulación en SIMULINK planteados para cada una de ellas.

xiii

CAPÍTULO 1: Introducción 1.1

Objetivos

1.1.1

Objetivo general Preparar y generar prácticas para una simulación previa a la ejecución de experimentos que emplearían tarjetas construidas para realizar procesamiento digital de señales.

1.1.2

Objetivos específicos Preparación del manual de prácticas para simulación. Diseño de prácticas adicionales en el área de comunicaciones digitales. Introducción de nuevas técnicas de simulación en el área de sistemas de comunicaciones digitales.

1.2

Justificación del tema El gran avance de la ciencia y la ingeniería, en el desarrollo de circuitos integrados,

microprocesadores y computadoras en los últimos 30 años, ha generado un gran interés en 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 aplicado a muchas disciplinas tanto en ingeniería como economía y desde la astronomía hasta la biología molecular.

1

Es por eso que este es un tema de estudio de gran interés para la Escuela de Ingeniería Eléctrica de la Universidad de Costa Rica, y por eso se ha decidido desarrollar una serie de prácticas de simulación en los apartados que envuelve la ciencia del procesamiento digital de señales, las cuales se realizarán de forma previa a un laboratorio en el cual se pondrán en práctica todos los conocimientos adquiridos en el curso de Procesamiento Digital de Señales que imparte dicha Escuela, con tarjetas de programación de microprocesadores diseñados para el tratamiento digital de señales.

1.3

Problema a resolver El problema a resolver, es el de realizar el manual de prácticas para simulació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, modulación y demodulación AM, modulación y demodulación FM, detección de errores de transmisión; y estos tan solo para mencionar algunos, los demás se deben determinar por medio de la investigación teórica.

Las prácticas incluirán una nota teórica, un procedimiento detallado de los ejercicios que se deben realizar, y por último tendrán un cuestionario para evaluar todos los conceptos que en el experimento se incluyan.

2

1.4

Metodología La metodología propuesta describe la manera en la cual va a transcurrir el proceso

de investigación hasta alcanzar la meta establecida por medio de los objetivos anteriormente descritos.

Primeramente se debe elaborar un marco teórico, incluyendo una breve introducción 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 investigación teórica se debe realizar con la revisión, obtención, extracción y recopilación de literatura proveniente de libros, revistas, artículos, bibliotecas e Internet.

El siguiente paso es el desarrollo de los ejercicios incluidos en las prácticas de simulación, las cuales se deben plantear y solucionar con la ayuda de MATLAB y SIMULINK, las cuales son dos herramientas informáticas muy poderosas y de gran importancia para el desarrollo de sistemas de procesamiento digital de señales.

Por último se evalúa cada una de las prácticas por medio de un análisis de resultados y el procedimiento efectuado para cada una de ellas.

3

CAPÍTULO 2: Desarrollo teórico 2.1

Introducción al procesamiento digital de señales El acelerado desarrollo de circuitos integrados, comenzando con la integración a

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 (VLSI, very large scale integration) de circuitos electrónicos integrados ha estimulado el desarrollo de ordenadores digitales más pequeños, rápidos, y baratos y de hardware de propósito general. Con estos circuitos digitales, se ha hecho posible construir sistemas digitales altamente sofisticados, capaces de realizar funciones y tareas para un procesamiento de señal digital que normalmente eran demasiado difíciles y/o caras con circuitería o sistemas de procesamiento de señales analógicas. A través del DSP, se han desarrollado hoy en día, sofisticados sistemas de comunicación, nació el Internet, se ha podido obtener valiosa información acerca del cosmos a partir de las señales astronómicas, las señales sísmicas pueden ser analizadas para determinar la magnitud de un terremoto o para predecir la estabilidad de un volcán, las imágenes o fotografías por computador pueden ser ahora mejoradas, entre muchas otras cosas más.

4

2.2

Tipos de señales1 Las señales se pueden encontrar en la mayoría de los campos de la ciencia y la

ingeniería, así como en la astronomía, acústica, biología, comunicaciones, sismología, 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 pulsante, mientras las señales sísmicas son manifestaciones de terremotos o de volcanes 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 computadoras, telefonía y sistemas de radar, o el Internet. 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 composición química, pueden determinar el tamaño y la densidad de una estrella pulsante de acuerdo a la frecuencia de radiación de esta. Los sismólogos pueden determinar la magnitud y el lugar de origen de un terremoto, al igual que un vulcanólogo puede predecir cuando un volcán estará en erupción. Los cardiólogos pueden diagnosticar la condición del corazón, al mirar los patrones o alteraciones de los tejidos a través de un electrocardiograma. Se puede difundir información a través del Internet, ayudar a los

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 independientes. Las señales se pueden clasificar como: •

Señales continuas en el tiempo (analógicas)



Señales discretas en el tiempo (digitales)

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. Matemáticamente, las señales analógicas se describen como funciones continuas de 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 señales también se pueden clasificar como: •

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 separación. La figura 2.2a y 2.2b muestra respectivamente, a una señal cuantificada continua en el tiempo y una señal cuantificada discreta en el tiempo.

(a)

(b)

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

(a)

(b)

Figura 2.2 Tipos de señales: (a) Señal continua en el tiempo cuantificada, (b) señal discreta en el tiempo cuantificada

2.3

Representación frecuencial del dominio1 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 funciones en el dominio de la frecuencia, por ejemplo un señal continua en el tiempo compuesta por la sumatoria de las componentes sinusoidales, tal como 9

x(t ) = ∑ Ak sin (ωk t + φk )

(2.3-1)

k =1

puede ser descrita completamente por dos series, A(ω ) = { Ak : ω = ωk

para k = 1,2,3,K,9}

(2.3-2)

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 en la señal. A las series A(ω ) y φ (ω ) se les conoce respectivamente como el espectro de magnitud y el espectro de fase de la señal. Por ejemplo, si A(ω ) y φ (ω ) en la ecuación 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 2.3 y en el dominio de la frecuencia en las figuras 2.4a y b.

Tabla 2.1 Parámetros de una señal obtenidos a partir de la ecuación 2.3-1 k

ωk

Ak

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

φk

Figura 2.3 Representación en el dominio del tiempo de la señal periódica dada por la ecuación (2.3-1).

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

La utilidad de representar una señal en el dominio de la frecuencia, se puede apreciar al comparar el dominio del tiempo con el dominio de la frecuencia al analizar la 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 periódicos. Por otro lado, la representación en el dominio de la frecuencia, provee una descripción detallada y significativa de cada una de los componentes en frecuencia, y de los aportes en magnitud y fase de cada uno de los componentes presentes en la secuencia. La representación propuesta en la ecuación 2.3, se conoce como la Serie de Fourier 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 científicos, matemáticos e ingenieros han ideado una gran variedad de herramientas 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 Transformada de Fourier, la cual se aplica tanto a señales periódicas o no periódicas continuas en el tiempo; la Transformada Z, la cual se utiliza para señales no periódicas discretas en el tiempo; y la Transformada Discreta de Fourier, la cual es la más adecuada para señales periódicas discretas en el tiempo. Cada una de estas herramientas será retomada en los siguientes apartados.

11

2.4

Filtros analógicos y digitales1 El término filtro se utiliza comúnmente para describir un dispositivo que discrimina,

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 partículas de polvo presentes en el aire lo atraviesen. El filtrado se emplea en el procesamiento digital de señales de diferentes maneras, por ejemplo, en la eliminación de ruido indeseable de señales deseadas, en la conformación espectral para ecualización de canales de comunicaciones, en la detección de señales en radar, sonar y comunicaciones, en los análisis espectrales de señales, etc.

2.4.1 Filtros analógicos

Los filtros eléctricos, desde que fueron inventados, han hecho posible el gran desarrollo de las telecomunicaciones. Originalmente los filtros analógicos fueron inventados para ser usados para receptores de radio y sistemas telefónicos para comunicar personas a larga distancia, convirtiéndose de esta manera en elementos importantes en todos los tipos de sistemas de comunicación. Con el desarrollo de filtros en los últimos años, estos se pueden clasificar según su función, su gama de frecuencias o según su tecnología y de acuerdo, con los elementos que los componen. Algunos tipos de filtros analógicos son los siguientes:

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



Filtros activos RC discretos



Filtros de microondas



Filtros activos RC integrados

2.4.2 Filtros digitales

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 ya sea en magnitud o en frecuencia. Con el rápido avance en la tecnología de los circuitos integrados, el desarrollo de tecnologías digitales hizo que se construyeran sistemas más versátiles y de muy bajo costo. El desarrollo de filtros digitales sigue creciendo día con día, y por ello se tiene los siguientes ejemplos: •



Filtros adaptativos

recursivos



Filtros multidimensionales



Filtros de abanico



Filtros Multitasa



Filtros bidimensionales

Filtros

recursivos

y

no

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 El objetivo es aprender como implementar las técnicas de filtrado para señales de

tiempo discreto, usualmente utilizadas en el curso de Procesamiento Digital de Señales.

2.5.1 Suma convolución y respuesta en frecuencia para tiempo discreto

La salida y[n] de un sistema lineal e invariante en el tiempo se puede expresar 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 ]

(2.5-1)

k = −∞

La transformada z de la convolución de dos señales es igual a la multiplicación de las transformadas de cada una: Y ( z) =



∑ y[n]z

−n

= X ( z) ⋅ H ( z)

(2.5-2)

n = −∞

donde H ( z) =



∑ h[n]z − n

y

X ( z) =



∑ x[n]z

−n

(2.5-3)

n = −∞

n = −∞

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 ω

j ( n − k )T



= Ce jωnT

k = −∞

∑ h[k ] ⋅ e

− jωkT

k = −∞

= 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 con su amplitud dada a partir del número complejo. H * (ω ) = H ( z ) z = e jωT

(2.5-5)

La expresión H * (ω ) se le conoce como la respuesta en frecuencia del sistema. La expresión A(ω ) = H * (ω ) se le conoce como la amplitud de la respuesta del sistema y el

ángulo θ (ω ) = arg H * (ω ) se le conoce como la respuesta de fase del sistema. Estas funciones todas están en función de ω con un período ωs = 2π T . En coordenadas polares la respuesta en frecuencia se ve así H * (ω ) = A(ω )e jθ (ω )

(2.5-6)

Entonces, de acuerdo con la ecuación 2.5-4, la salida puede ser expresada como y[n] = CA(ω )e j[ωnT +θ (ω )]

(2.5-7)

Cuando la entrada es una señal sinusoidal real, por ejemplo x[n] = C cos(ωnT + φ ) = ℜe{Ce jφ e jωnT }

(2.5-8)

La salida es de la siguiente manera y[n] = ℜe{H * (ω )Ce jφ e jωnT } = CA(ω ) cos[ωnT + θ (ω ) + φ ]

15

(2.5-9)

En otras palabras, el sistema modifica la magnitud de la señal sinusoidal de entrada por medio de la amplitud de la respuesta y varía su fase a través de la fase de la respuesta en frecuencia, lo que constituye la idea básica del filtrado digital.

2.5.2 Filtros de respuesta de duración finita al impulso (FIR)

FIR es un acrónimo en inglés para Finite Impulse Response o Respuesta finita al impulso. Se trata de un filtro, en el cual si la entrada es una señal impulso, la salida tendrá un número finito de términos no nulos. 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 tipo de filtros tiene especial interés en aplicaciones de audio. 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 mismas características. Esto se traduce en un mayor gasto computacional.

2.5.2.1 Estructura en forma directa de un filtro FIR

La realización de la estructura en forma directa se deriva directamente de la 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

y[n] = ∑ h[k ] ⋅ x[n − k ] = k =0

n

∑ x[k ] ⋅ h[n − k ]

(2.5-10)

k = n − N +1

Un filtro de este tipo se le conoce como un filtro de respuesta finita al impulso de N-etapas (FIR), filtro no recursivo, filtro transversal, o moving average filter (filtro de combinación lineal ponderada). El diagrama de bloques para la realización de la estructura 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 salen de la línea de retardo, las cuales son muestras de la respuesta al impulso.

Figura 2.5 Diagrama de bloques de la estructura en forma directa de un filtro FIR

17

2.5.2.2 Métodos para el diseño de filtros FIR

Hay tres métodos básicos para diseñar este tipo de filtros: •

Método de las ventanas. Las más habituales son:



Ventana rectangular



Ventana de Barlett



Ventana de Von Hann



Ventana de Hamming



Ventana de Blackman



Ventana de Kaiser



Muestreo en frecuencia



Rizado constante (Aproximación de Chebyshev y algoritmo de intercambio de Remez).

2.5.3 Filtros de respuesta de duración infinita al impulso (IIR)

Un filtro con respuesta al impulso, h(n), que tiene duración infinita es conocido como un filtro IIR, h(n) es la suma de varios exponenciales. En el dominio de la transformada z, H(z), se conoce como la función de transferencia, y es una función racional de z. Es la razón de dos polinomios de grado finito, tal y como se muestra en la siguiente función racional, H ( z) =

b0 + b1 z −1 + b2 z −2 + L + bN z − N B( z ) = −1 −2 −M 1 + a0 + a1 z + a2 z + L + aM z A( z )

18

(2.5-11)

2.5.3.1 Estructura en forma directa de un filtro IIR

La función de transferencia racional dada por la ecuación 2.5-11, se puede obtener de diferentes maneras. Una de ellas, es por medio de la estructura en forma directa. La razón de las transformadas z entre la salida y la entrada del filtro esta dada por Y ( z) B( z ) = H ( z) = X ( z) A( z )

(2.5-12)

De la expresión anterior obtenemos, M N ⎛ ⎞ Y ( z ) ⋅ A( z ) = X ( z ) ⋅ B( z ) o Y ( z )⎜1 + ∑ ak z − k ⎟ = X ( z )∑ bk z − k k =0 ⎝ k =1 ⎠

(2.5-13)

Despejando para Y(z) N

M

k =0

k =1

Y ( z ) = ∑ bk X ( z ) z − k − ∑ ak Y ( z ) z − k

(2.5-14)

La ecuación en diferencias es el equivalente en el dominio del tiempo N

M

k =0

k =1

y[n] = ∑ bk x[n − k ] − ∑ ak y[n − k ]

(2.5-15)

La ecuación anterior muestra cómo construir un filtro a partir de las N entradas y M salidas pasadas. Un filtro implementado de esta manera se le conoce como un filtro recursivo, dado que las salidas pasadas son utilizadas para calcular la salida actual. Se le llama de forma directa porque los coeficientes en la función de transferencia aparecen en la ecuación en diferencias.

19

Y ( z) =

X ( z) B( z ) = V ( z ) B( z ) A( z )

(2.5-16)

donde V ( z) = X ( z)

1 A( z )

(2.5-17)

La expresión anterior se muestra en la siguiente figura

Figura 2.6 Primer paso de la estructura en forma directa tipo 1 de un filtro IIR

La Señal intermedia v[n] puede ser obtenida a partir de la estructura de forma directa M

v[n] = x[n] − ∑ ak v[n − k ]

(2.5-18)

k =1

luego, la salida puede estar representada por N

y[n] = ∑ bk v[n − k ]

(2.5-19)

k =0

Un diagrama de bloques para las ecuaciones 2.5-18, 2.5-19 se muestra en la 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.

Figura 2.7 Diagrama de bloques de la estructura en forma directa tipo 1 de un filtro IIR

Los elementos s1[n],….,sN[n], son variables de estado para el filtro. La salida actual y el siguiente estado pueden ser obtenidos a partir de la entrada y estado actual. La 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

Paso 2: Calculo de la salida y[n] N

y[n] = b0v[n] + ∑ bk sk [n] k =1

Paso 3: Actualizar las variables de estado

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] Otra estructura, es la de forma directa tipo 2, la cual se puede obtener de la ecuación 2.5-13. Para simplificar, sea M=N. N

Y ( z ) = b0 X ( z ) + ∑ [bk X ( z ) − akY ( z )]z − k

(2.5-20)

k =1

Un diagrama de bloques que representa la expresión anterior se muestra en la figura 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 variables de estado de este tipo de estructura.

Paso1: Cálculo de la salida y[n]

y[n] = b0 x[n] + s1[n]

23

Paso 2: Actualizar las variables de estado s1[n + 1] = b1 x[n] − a1 y[n] + s2 [n]

s2 [n + 1] = b2 x[n] − a2 y[n] + s3[n] M s N −1[n + 1] = bN −1 x[n] − aN −1 y[n] + s N [n]

s N [n + 1] = bN x[n] − aN y[n] 2.5.4 Transformación bilineal1

El diseño de filtros digitales a partir de filtros analógicos es un campo maduro y bien desarrollado, así que en la mayoría de las veces es de gran utilidad diseñar un filtro digital en el dominio analógico y luego este se convierte al dominio digital. Un filtro analógico se puede describir por su función de transferencia M

H a (s) =

B( s) = A( s )

∑β s

k

∑α s

k

k =0 N

k =0

k

(2.5-21)

k

donde {α k } y {β k } son los coeficientes del filtro, o por su respuesta al impulso, que se relaciona con Ha(s) mediante la transformada de Laplace H a (s ) = ∫ h(t )e − st dt ∞

−∞

1

(2.5-22)

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 d k y (t ) M d k x(t ) αk = ∑ βk ∑ dt k dt k k =0 k =0 N

(2.5-23)

donde x(t) denota la señal de entrada e y(t) denota la salida del filtro. Cada una de estas tres caracterizaciones equivalentes de un filtro analógico conduce a métodos alternativos para convertir el filtro al dominio digital. Recuérdese que un sistema analógico lineal invariante en el tiempo con función de transferencia H(s) es estable si todos sus polos se encuentran en la mitad izquierda del plano s. Consecuentemente, si la técnica de conversión es efectiva debería tener las siguientes propiedades deseables: •

El eje jΩ en el plano s debería corresponderse a la circunferencia unidad en el plano z. Así, habrá una relación directa entre las dos variables de frecuencia en los dos dominios.



El semiplano izquierdo del plano s se debería corresponder con el interior de la circunferencia unidad en el plano z. Así, un filtro analógico estable se convertirá en un filtro digital estable.

Uno de estos métodos es la correspondencia del plano s al plano z, denominada transformación bilineal, que soluciona ciertas limitaciones que poseen otros métodos. La transformación bilineal es una correspondencia conformadora que transforma el eje jΩ en

25

la circunferencia unidad del plano z sólo una vez, evitando el solapamiento de componentes de frecuencia. Además, todos los puntos en el semiplano izquierdo s se corresponden con el interior de la circunferencia unidad en el plano z y todos los puntos en el semiplano derecho de s se corresponden con puntos fuera de la circunferencia unidad del plano z. De esta manera se necesita una transformación de s a s’, la cual contenga todo el 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 esta dada por s' =

2 ⎛ sT ⎞ tan −1 ⎜ ⎟ T ⎝ 2 ⎠

(2.5-24)

Figura 2.9 Mapeo del plano s al plano s’

Ahora para ver el efecto de esta transformada es mejor pasar al eje jΩ. Sustituyendo s=jΩ y s’=jΩ en (2.5-24), se obtiene Ω' =

2 ⎛ ΩT ⎞ tan −1 ⎜ ⎟ T ⎝ 2 ⎠

26

(2.5-25)

O equivalentemente, ⎛ ΩT ⎞ ⎟ ⎝ 2 ⎠

ω = 2 tan −1 ⎜

(2.5-26)

Por tanto, el eje Ω esta completamente contenido en el intervalo (-π, π) para ω. También se puede notar que la relación entre ω y Ω no es lineal, pero es aproximadamente lineal para valores pequeños de ω ≈ ΩT , tal y como se muestra en la figura 2.10.

Figura 2.10 Mapeo de Ω a ω por medio de la transformación bilineal.

Ahora, la transformación del plano s al plano z se obtiene invirtiendo (2.5-24), así s=

2 ⎛ s'T ⎞ tanh⎜ ⎟ T ⎝ 2 ⎠

(2.5-27)

Luego a partir de z = e s 'T se obtiene s ' = (1 T )ln z y sustituyendo en (2.5-27), se obtiene

27

s=

2 ⎛ ln z ⎞ tanh⎜ ⎟ T ⎝ 2 ⎠

(2.5-28)

Recordando que: tanh x =

e x − e − x 1 − e −2 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 = ⎜⎜ T ⎝ 1 + z −1 ⎟⎠

(2.5-29)

Por tanto, el diseño en tiempo discreto de un filtro se obtiene a partir del diseño en tiempo continuo a través de la transformada bilineal. H ( z ) = H c ( s)

2 ⎛ 1− z − 1 S= ⎜ T ⎜⎝ 1+ z −1

⎞ ⎟ ⎟ ⎠

(2.5-30)

Se puede notar que la transformada bilineal es invertible, es decir hay una transformada inversa que se deriva a partir de (2.5-29) T s 2 z= T 1− s 2 1+

(2.5-31)

La relación no-lineal que existe entre Ω y ω dada por la ecuación (2.5-26) se le conoce como distorsión en frecuencia. De esta manera el efecto en H’(ω) relativo a Hc(jΩ) se obtiene a partir de (2.5-30) H ' (ω ) = H c ( jΩ)

28

Ω=

2 ⎛ω ⎞ tan ⎜ ⎟ T ⎝2⎠

(2.5-32)

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'(ω).

De la figura anterior se puede notar que a partir de esta transformación Hc(jΩ) se comprime en frecuencia, pero a pesar de esto, las características de Hc(jΩ) se mantienen en H’(ω). Esta propiedad es la característica más importante de la transformada bilineal.

29

Para diseñar filtros utilizando la transformación bilineal se utiliza el siguiente procedimiento: Distorsión en Frecuencia: se calculan los valores de Ωc y Ωr correspondientes a los

valores especificados de ωc y ωr a partir de Ω=

2 ⎛ω ⎞ tan⎜ ⎟ T ⎝2⎠

(2.5-33)

Diseño en tiempo continuo: a partir de los valores de Ωc, Ωr, δ1, δ2, y N, se obtiene

las ceros y polos del filtro analógico.

Transformación de los ceros y polos: utilizando la ecuación (2.5-36) los ceros σm

y polos sk se transforman en zm y pk. Poniendo Hc(jΩ) en términos de sus polos y ceros de la siguiente manera

∏ H ( s) = K ∏

Mc

m =1 N

c

(s − σ m )

( s − sk ) k =1

(2.5-34)

Y aplicando la transformada bilineal se produce

(

H ( z ) = b0 1 + z

)

−1 N − M c

30

∏ ∏

Mc m =1 N

(1 − zm z −1 )

(1 − pk z −1 ) k =1

(2.5-35)

donde T σm 2 zm = T 1− σm 2

T sk 2 pk = T 1 − sk 2 1+

1+

y

(2.5-36)

Calcular b0: se calcula el coeficiente de ganancia b0 igualando las ganancias

de H (1) = H c (0) o las ganancias de otras frecuencias equivalentes. 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 El objetivo es repasar y utilizar algunas técnicas importantes en el procesamiento

digital de señales. Prácticamente sería construir un analizador del espectro utilizando la Transformada Rápida de Fourier (FFT, acrónimo en inglés de Fast Fourier Transform).

2.6.1 Muestreo en tiempo discreto utilizando la transformada de Fourier

Suponga que una señal continua en el tiempo, es muestreada con un período T o una frecuencia de muestreo de ωs = 2π T para obtener una señal discreta en el tiempo x[n]=x(nT). Se define en tiempo discreto la Transformada de Fourier de x[n] como la siguiente expresión, X (ω ) =



∑ x[n] ⋅ e

− jωnT

(2.6-1)

n = −∞

La transformada Z de la señal se obtiene sustituyendo por z = e jωT . Nótese que X (ω ) tiene un período ωs , puesto que la sumatoria es una serie de Fourier. La señal

discreta de Fourier puede ser determinada en tiempo discreto a partir de la transformada de 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

x[n] =

2

1

ωs

∫ X (ω ) ⋅ e −

jωnT



(2.6-2)

ws 2

Así, x[n] puede ser considerada como la suma de ondas sinusoidales muestreadas en un intervalo de frecuencias continuas, de acuerdo al ancho de banda según Nyquist − ωs 2 < ω < ωs 2 con amplitudes complejas dadas por X(ω). De esta manera X(ω) se le puede llamar como el espectro de frecuencia de la señal.

2.6.2 La transformada discreta de Fourier y su inversa

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 x[n], la cual se definió en el punto 2.6.1. Entonces, la Transformada Discreta de Fourier (DFT, acrónimo en inglés de Discrete Fourier Transform) de x[n], se define como N −1

X k = X (kωs N ) = ∑ x[n] e

−j

2π nk N

para k = 0, 1,.…, N-1

(2.6-3)

n =0

La DFT es simplemente la serie de N muestras de X(ω) tomadas a diferentes valores de frecuencia dadas por ωs N dentro del intervalo de Nyquist. Los valores originales de la señal se pueden obtener utilizando la Transformada Discreta Inversa de Fourier (IDFT, acrónimo en inglés de Inverse Discrete Fourier Transform), dada por la siguiente fórmula

33

1 x[n] = N

N −1

∑X k =0

k

e

j

2π nk N

para k = 0, 1,.…, N-1

(2.6-4)

2.6.3 La transformada rápida de Fourier1

La transformada discreta de Fourier (DFT) juega un papel importante en el análisis, el diseño y la realización de algoritmos y sistemas de procesamiento digital de señales. Una de las razones por las que el análisis en Fourier es de una amplia importancia en el procesamiento digital de señales es debido a la existencia de un algoritmo eficiente para calcular la DFT. Este algoritmo se le denomina como la Transformada Rápida de Fourier (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: k+

WN W

N 2

k+N N

= −WNk =W

k N

Simetría

(2.6-5)

Periodicidad

Existen básicamente dos tipos de algoritmos FFT: •

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 complejas y N − 1 sumas complejas. En consecuencia, para calcular los N valores de de DFT necesitamos N 2 multiplicaciones complejas y N 2 − N sumas complejas. Por otra parte el cálculo utilizando estos algoritmos reduce el número de sumas complejas a N log 2 N . De manera para valores de N muy grandes es de gran importancia utilizar la FFT

en lugar de calcular directamente la DFT. El algoritmo de diezmado en el tiempo es uno de los algoritmos mas utilizados en la actualidad, este se presenta a continuación. Para simplificar la notación, sea WN = e − j 2π N , de esta manera de (2.6-3) obtengo Xk =

N −1

∑ x[n] e

−j

2π nk N

n=0

N −1

= ∑ x[n]WNnk

(2.6-6)

n=0

Este algoritmo asume que N = 2v . Luego se separa la sumatoria en dos sumatorias, cuando n es par y otra cuando n es impar.

Xk =

N −1 2

∑ x[2n] W n=0

2 nk N

N −1 2

+ ∑ x[2n + 1] WN( 2 n +1) k para k = 0, 1, K , N − 1

(2.6-7)

n=0

Ahora sea, a [n] = x[2n] b [n] = x[2n + 1]

para n = 0, 1, K ,

35

N −1 2

(2.6-8)

Se puede notar que WN2 = WN 2 . Por tanto, (2.6-7) puede escribirse como

Xk =

N −1 2

∑ a[n] W

nk N /2

n=0

N −1 2

+ WNk ∑ b[n] WNnk/ 2 para k = 0, 1, K , N − 1

(2.6-9)

n=0

y definiendo Ak y Bk de la siguiente manera

Ak = Bk =

N −1 2

∑ a[n] W

nk N /2

n=0

N −1 2

para n = 0, 1, K , N − 1

(2.6-10)

∑ b[n] W n=0

nk N /2

De esta manera (2.6-9) se puede escribir como

X k = Ak + WNk Bk

para n = 0, 1, K , N − 1

(2.6-11)

El siguiente paso muestra las ecuaciones claves para la FFT de diezmado en el tiempo. Primero se nota que WNN / 2 = −1 . Luego, la ecuación anterior se puede separar en

dos nuevas ecuaciones, X k = Ak + WNk Bk X

k+

N 2

= Ak − WNk Bk

para n = 0, 1, K ,

N −1 2

(2.6-12)

El cálculo básico de las dos ecuaciones anteriores se muestra en la siguiente figura, 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.

Un diagrama de flujo para un cálculo completo de la primera etapa de este algoritmo con N = 8, se muestra en la siguiente figura.

Figura 2.13 Primera etapa del algoritmo FFT de diezmado en el tiempo.

37

Otro algoritmo para el cálculo de la FFT importante, denominado algoritmo de diezmado en frecuencia. Esto implica un almacenamiento por columnas de la secuencia de datos de entrada. Para deducir el algoritmo se empieza dividiendo la ecuación (2.6-6) en dos sumatorias, una de las cuales contiene los primeros N 2 puntos de datos y el otro los últimos N 2 puntos de datos. Así se obtiene

Xk =

Xk =

N −1 2

∑ x[n]WNkn + n=0

N −1

∑ x[n]W N 2

n=

N −1 2

∑ x[n]W

kn N

n=0

kn N

N Nk 2 −1 2 N N n= 2

+W

(2.6-13) ⎡

∑ x ⎢⎣n +

N ⎤ kn WN 2 ⎥⎦

kN

Dado que WN 2 = (− 1) , la expresión (2.6-13) puede reescribirse como k

N Nk 2 −1 2 N N n= 2



∑ ⎨ x[n] + (− 1)

Xk = W

k



N⎤⎫ ⎡ x ⎢n + ⎥ ⎬WNkn 2⎦⎭ ⎣

(2.6-14)

Ahora se diezma X k en las muestras pares e impares. De esta manera, se obtiene

X 2k =

N −1 2





∑ ⎨ x[n] + x ⎢⎣n + n=0



N ⎤ ⎫ kn ⎬W N 2 ⎥⎦ ⎭ 2

para k = 0, 1,K,

N −1 2

(2.6-15)

y

X 2 k +1 =

N −1 2





∑ ⎨ x[n] − x ⎢⎣n + n=0



N ⎤ ⎫ kn kn ⎬W N W N 2 ⎥⎦ ⎭ 2 2

38

para k = 0, 1,K,

N −1 2

(2.6-16)

Donde se recurre al hecho de que WN2 = W N . Si se definen las secuencias de 2

N 2

puntos g1 (n ) y g 2 (n ) como N⎤ ⎡ g1 [n] = x[n] + x ⎢n + ⎥ 2⎦ ⎣ ⎧ N ⎤⎫ ⎡ g 2 [n] = ⎨ x[n] − x ⎢n + ⎥ ⎬WNn 2 ⎦⎭ ⎣ ⎩

(2.6-17)

N para n = 0, 1, 2,K , − 1 2

Entonces

X 2k =

N −1 2

∑ g [n]W n =0

X 2 k +1 =

1

N −1 2

kn N 2

∑ g [n]W n=0

2

(2.6-18) kn N 2

El cálculo de las secuencias g1 [n] y g 2 [n ] según (2.6-17) y el uso de estas secuencias para el cálculo de la DFT de N 2 puntos se muestra en la figura 2.14. Este procedimiento computacional puede repetirse diezmando la DFT de N 2 puntos para X 2 k y X 2 k +1 . Consecuentemente, el cálculo de la DFT de N puntos por medio del algoritmo para la FFT de diezmado en frecuencia, requiere

(N 2)log 2 N

multiplicaciones complejas y N log 2 N sumas complejas, igual que el algoritmo de diezmado en tiempo.

39

Un diagrama de flujo para un cálculo completo de la primera etapa de este algoritmo con N = 8, se muestra en la siguiente figura.

Figura 2.14 Primera etapa del algoritmo FFT de diezmado en frecuencia

Se puede observar que el cálculo básico en esta figura es la mariposa mostrada en la figura 2.12

40

2.6.4 Uso de la FFT para determinar la densidad espectral de potencia1

Hay señales de energía finita que tienen transformada de Fourier y están caracterizadas en el dominio espectral por su densidad espectral de energía. Por otro lado, la clase importante de señales caracterizadas como procesos aleatorios estacionarios no 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 I N (ω ) =

1 2 Y (ω ) N

(2.6-19)

donde N −1

Y (ω ) = ∑ y[n] e − jωnT

(2.6-20)

n=0

es en tiempo discreto la transformada de Fourier de y[n]. Se puede demostrar que la transformada inversa del periodograma es iguala a la función de autocorrelación ⎧1 ⎪ R(n ) = ⎨ N ⎪0 ⎩

N −1

∑ y[n + k ] y[k ]

para

n ≤ N −1

k =0

(2.6-21)

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 R(0 ) =

1 N

N −1

∑ y[k ]

2

=

k =0

1

ωs / 2

ω 2 ∫−ω

s

/2

I N (ω ) dω

(2.6-22)

es la potencia promedio de la secuencia de puntos. Esta relación justifica el uso de la autocorrelación promediada en el tiempo, como la interpretación del periodograma como una función que muestra como la potencia se distribuye en el dominio de la frecuencia. A simple vista, se puede asumir que conforme aumenta N, el periodograma se vuelve una mejor forma de estimar la densidad espectral de potencia para procesos aleatorios estacionarios. Sin embargo, esto no es cierto. Conforme N aumenta, el periodograma tiende a oscilar más y más rápidamente. Una solución a este problema es promediar los periodogramas de diferentes segmentos de la secuencia de N puntos. Sea x[n] una secuencia de duración M = LN y la ventana L para cada uno de los segmentos. ⎧h[n] x[n + kL] yk [n] = ⎨ ⎩0

para n = 0, 1,..., N − 1 cualquier otro

(2.6-23)

donde h[n] es la función de la ventana deseada. El periodograma obtenido del segmento ventaneado está dado por I N , k (ω ) . Así, la densidad espectral de potencia se determina ahora por

) 1 L −1 S = ∑ I N , k (ω ) L k =0

42

(2.6-24)

Cuando los segmentos de puntos son estadísticamente independientes, el promedio de L segmentos reduce la varianza en un factor de L. Además los segmentos de datos se pueden ir solapando a ciertos porcentajes para intentar mejorar las ganancias de la estimación.

43

2.7

Nota teórica laboratorio de modulación AM1 El objetivo es examinar un método muy común de transmitir información conocido

como modulación de amplitud (AM, acrónimo en inglés de Amplitude Modulation), y a su vez conocer como se utiliza para procesar señales digitales.

2.7.1 Descripción de la modulación de amplitud (AM)

Las señales de información deben ser transportadas entre un transmisor y un receptor sobre alguna forma de medio de transmisión. Sin embargo, las señales de información pocas veces encuentran una forma adecuada para la transmisión. La modulación se define como el proceso de transformar información de su forma original a 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 se va a transmitir. Puede ser representada tanto en forma temporal como en forma de espectro de frecuencias. La modulación recurre a una nueva señal auxiliar de frecuencia f0. Esta frecuencia f0 recibe el nombre de frecuencia portadora o frecuencia central. Evidentemente la frecuencia f0 se elige de forma que se encuentre en la banda de paso del 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 s (t ) = Ac [1 + ka m(t )]cos ωct

(2.7-1)

c (t ) = Ac cos ωct

(2.7-2)

donde

es llamada la onda portadora de amplitud Ac y frecuencia f c = ωc (2π ) Hz. La frecuencia portadora, fc, es relativamente alta de acuerdo con la amplitud de la señal modulante (señal original). El parámetro k a es una constante positiva llamada índice de modulación del modulador. La señal e(t ) = Ac 1 + k a m(t )

(2.7-3)

se le conoce como la envolvente de s(t). Cuando fc es relativamente alta de acuerdo 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 m(t). En general, en radiodifusión AM, k a m(t ) es ajustado de la siguiente manera 1 + ka m(t ) ≥ 0

para todo t

(2.7-4)

Para este caso la envolvente es e(t ) = Ac [1 + k a m(t )]

45

(2.7-5)

Entonces m(t) se puede obtener a partir de la envolvente, a los receptores que poseen esta propiedad se les conoce como demoduladores no coherentes, porque no se generan frecuencias en el receptor o las frecuencias utilizadas para la demodulación son completamente independientes de la frecuencia o fase de la onda portadora del transmisor.

2.7.1.1 Espectro de una señal AM

Suponga que la señal de banda base m(t) tiene como transformada de Fourier M (ω ) y M (ω ) = 0 para ω ≥ W .

Es una señal pasobajo con frecuencia de corte W. La

transformada de Fourier de la señal transmitida s(t), es

S (ω ) = Acπ δ (ω + ωc ) + Acπ δ (ω − ωc ) +

Ac A ka M (ω + ωc ) + c ka M (ω − ωc ) 2 2

(2.7-6)

En la expresión anterior se identifican señales de cuatro frecuencias diferentes, dos de amplitud π Ac y frecuencia ωc y − ωc , que corresponde a la portadora y cuya amplitud y frecuencia no dependen de la señal moduladora. Las otras dos señales tienen frecuencias

(ω + ωc )

y (ω − ωc ) , separadas por debajo y arriba de la portadora por ω, cada una de

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. Para frecuencias positivas, la componente frecuencial superior es (ωc + W ) y la inferior (ωc − W ) . La diferencia entre ambas define el ancho de banda de transmisión de la señal AM que se representa mediante Br y viene dado por la siguiente ecuación Br = 2W

Figura 2.15 Espectro de una señal AM

47

(2.7-7)

2.7.2 Demodulación de una señal AM capturando la envolvente

Un circuito análogo, muy simple y conocido como detector de envolvente es usado comúnmente en los radios para demodular señales AM. Este circuito esta implementado por un diodo, capacitores y resistencias, es un seguidor de picos de la onda AM. Existen dos métodos para la detección de la envolvente de gran importancia en el procesamiento digital de señales. El primer método se conoce como ley cuadrática y el segundo método utiliza la transformación de Hilbert para crear algo llamado la envolvente compleja.

2.7.2.1 Demodulación de señales AM utilizando la ley cuadrática

El diagrama de bloques de la ley cuadrática se muestra en la figura 2.16. La entrada 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 que la frecuencia de corte se aumentó en 2W. El segundo término tiene un espectro 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 de estos dos términos no deben solaparse. Esto se logra si 2W < 2ωc − 2W

48

or ωc > 2W

(2.7-9)

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 banda lateral en el ancho de banda Nyquist de corte 2W .

Figura 2.16 Detector de envolvente (Ley Cuadrática)

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 no tiene componentes de espectro cerca de la frecuencia cero y el nivel DC puede ser eliminado utilizando un filtro pasoalto.

49

2.8

Nota teórica laboratorio de modulación DSBSC-AM1 Puesto que es indispensable que en el receptor se reinserte la portadora exactamente

a la misma frecuencia y fase de la portadora utilizada para modular la señal en el transmisor, en el receptor sólo sería necesaria una muestra o piloto de esa portadora, de nivel suficiente para sincronizar o enganchar la frecuencia de un oscilador local. En estas condiciones, no es necesario transmitir la portadora con toda su potencia y basta, como se mencionó con transmitir sólo una muestra de ella. Esto hace posible transmitir la señal modulada en amplitud sólo con la potencia requerida para la señal de información y permite reducir de manera importante la potencia del transmisor con la consiguiente reducción del costo de operación. Este razonamiento da lugar a la posibilidad de transmitir 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 precisa para sincronizarse, aunque es posible, a expensas de circuitos más complejos. A este tipo de modulación se le conoce como modulación de amplitud con portadora suprimida de doble banda lateral (DSBSC-AM, acrónimo en inglés para double-sideband suppressed-carrier amplitude modulation).

2.8.1 Descripción matemática de una señal DSBSC-AM

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)

Esta es la misma señal AM excepto que con la componente sinusoidal de la portadora eliminada. Usualmente la señal m(t) que se transmite posee valores positivos y negativos que no pueden ser recuperados por medio de un detector de envolvente. Un método de demodulación llamado demodulación coherente es utilizado para este caso de señales. Luego la transformada de Fourier de s(t) es S (ω ) = 0.5 Ac M (ω − ωc ) + 0.5 Ac M (ω + ωc )

(2.8-2)

De la ecuación anterior se puede notar que es el mismo espectro de una señal AM pero sin el valor discreto de la frecuencia de la portadora. Tal y como se muestra en la figura 2.18, en este caso el proceso de modulación simplemente traslada la señal moduladora a las frecuencias ± ωc . Se tienen las dos bandas laterales sin portadora. En este caso el ancho de banda de la señal moduladora es B = 2W y la eficiencia en potencia

η = 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).

2.8.2 El receptor coherente ideal

El diagrama de bloques de un receptor coherente ideal se muestra en la figura 2.17. Primero la señal recibida se pasa a través de un filtro pasabanda centrado a la frecuencia de

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 Oscilator). Suponiendo una señal sin ruido, el producto de esa multiplicación es 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)

El dispositivo que es capaz de obtener el resultado anterior se le conoce como modulador balanceado.

Figura 2.17 Diagrama de bloques de un Receptor Coherente Ideal

La transformada de Fourier de la salida del modulador balanceado es S1 (ω ) = Ac M (ω ) + 0.5 Ac M (ω + 2ωc ) + 0.5 Ac M (ω − 2ωc )

(2.8-4)

y se muestra en la figura 2.18(c). El primer término a mano derecha de la ecuación (2.8-3) es proporcional a la señal transmitida. El segundo término tiene los componentes 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.

Figura 2.18 Espectro de una señal DSBSC-AM

53

2.8.3 Lazo de Costas: técnica práctica para demodulación coherente

Un receptor debe tener un perfecto conocimiento de la frecuencia de portadora y la 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 obtener un sistema receptor adecuado para demodular señales DSBSC-AM se denomina lazo de costas, el cual es una modificación de un tipo de PLL. Un esquema de dicho 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.

Figura 2.19 Diagrama de bloques del demodulador de lazo Costas

54

En general, la señal después de pasar por el filtro pasabanda tiene la forma s (nT ) = Ac m(nT )cos(ωc nT + θ1 )

(2.8-5)

donde ωc es frecuencia nominal de la portadora y θ1 es una constante o un cambio muy lento de fase. Cuando existe una diferencia en frecuencia entre la frecuencia nominal y las frecuencias de la portadora, ya sea por una mala calibración en el transmisor o el oscilador local del receptor, θ1 toma la forma

θ1 = ∆ω nT + γ

(2.8-6)

donde ∆ω es la diferencia en frecuencia y γ es una constante de fase. El primer paso de este sistema, es formar la envolvente compleja

) s+ (nT ) = s(nT ) + js (nT ) = Ac m(nT )e j (ω c nT +θ1 )

(2.8-7)

Las líneas sólidas y punteadas paralelas en la figura 2.19 representan señales 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

φ (nT ) = ωc nT + θ 2 (nT )

(2.8-8)

Este ángulo es luego pasado por el bloque con el exponencial complejo para dar lugar a la señal del oscilador local e − jφ (nT ) .

55

La señal del oscilador local es multiplicada por la envolvente compleja dando como resultado c(nT ) = s+ (nT )e − jφ (nT ) = Ac m(nT )e j [θ1 −θ 2 (nT )]

(2.8-9)

Esta señal es separada en su parte real e imaginaria, tal y como se muestra

{

}

) 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 )]

Se dice que el lazo está enganchado cuando el error de fase θ1 − θ 2 se mantenga pequeño. Cuando el error es exactamente cero, la señal inicial demodulada aparecerá en el punto llamado m1(nT) del diagrama de bloques, de esta manera c1 (nT ) = m1 (nT ) y c2 (nT ) = 0 .

Luego cuando se multiplica la parte real por la parte imaginaria se obtiene q(nT ) = c1 (nT )c2 (nT ) = Ac2 m 2 (nT ) cos[θ1 − θ 2 (nT )]sin[θ1 − θ 2 (nT )] q(nT ) = 0.5 Ac2 m 2 (nT )sin{2[θ1 − θ 2 (nT )]}

(2.8-11)

Se puede notar que cuando θ1 y θ2 difieren en menos de 90 grados, q (nT ) tiene el 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 ) q (nT ) ≈ Ac2 m 2 (nT )[θ1 − θ 2 (nT )] para

θ1 − θ 2 (nT ) ωc

cualquier otro

(2.9-3)

y la banda lateral inferior se selecciona utilizando un filtro pasobajo ideal

⎧1 H inf (ω ) = ⎨ ⎩0

para

ω < ωc

cualquier otro

(2.9-4)

Figura 2.21 Diagrama de bloques de la modulación SSB

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 como se muestra a continuación. La señal SSB tiene la siguiente transformada de Fourier S + (ω ) = 2S (ω )u (ω ) = 2 A(ω ) H (ω )u (ω ) = Ac M (ω − ωc )H (ω )

(2.9-5)

y la transformada de la envolvente compleja es Sˆ (ω ) = S + (ω + ωc ) = Ac M (ω )H (ω + ωc )

61

(2.9-6)

para el caso de la banda lateral superior. Sustituyendo H sup (ω ) por H (ω ) en la ecuación (2.9-6), se puede notar que Sˆ (ω ) = Ac M (ω )u (ω ) = 0.5 Ac M (ω )(1 + sign ω ) Sˆ (ω ) = 0.5 Ac M (ω )[1 + j (− j sign ω )] = 0.5 Ac M (ω ) + j 0.5 Ac Mˆ (ω )

(2.9-7)

Entonces la envolvente compleja es ~ s (t ) = 0.5 Ac [m(t ) + jmˆ (t )]

(2.9-8)

Por consiguiente la señal SSB puede expresarse como

{

}

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)

Similarmente para el caso de la banda lateral inferior, al seguir el mismo desarrollo se obtiene Sˆ (ω ) = Ac M (ω )u (− ω ) = 0.5 Ac M (ω )(1 − sign ω ) Sˆ (ω ) = 0.5 Ac M (ω )[1 − j (− j sign ω )] = 0.5 Ac M (ω ) − j 0.5 Ac Mˆ (ω )

(2.9-10)

Por consiguiente, la envolvente compleja ~ s (t ) = 0.5 Ac [m(t ) − jmˆ (t )]

(2.9-11)

De esta manera la correspondiente señal SSB es

{

}

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)

A partir de las ecuaciones (2.9-9) y (2.9-12) se puede obtener la estructura del modulador SSB mostrado en la figura 2.22.

62

Figura 2.22 Modulador SSB utilizando la transformada de Hilbert

2.9.2 Demodulación coherente de señales SSB

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) o (2.9-12) por 2 cos ωct se obtiene b(t ) = Ac m(t )cos 2 ωct m Ac m(t )sin ωct cos ωct

b(t ) = 0.5 Ac m(t ) + 0.5 Ac m(t )cos 2ωct m 0.5 Ac mˆ (t )sin 2ωct

(2.9-13)

El primer término del lado derecho de la ecuación anterior es proporcional a la señal 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 frecuencia de corte W. El efecto en el dominio de la frecuencia, al multiplicar por cos ωct en el dominio del tiempo, es mover el espectro S (ω ) hacia la derecha y hacia la izquierda

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 de la señal a transmitir m(t ) se pone la señal recibida s (t ) y el bloque H (ω ) por un filtro pasobajo. En la práctica, a la entrada de este sistema se coloca un filtro pasabanda para eliminar ruido que se adhiere a la señal modulada. Otra forma para demodular señales SSB está basado en la utilización de la transformada de Hilbert. El primer paso es tomar la transformada de Hilbert de la señal recibida s (t ) . Usando la ecuación (2.9-8) y (2.9-11), se obtiene s+ (t ) = s (t ) + jsˆ(t ) = ~ s (t )e jω c t = 0.5 Ac [ m(t ) ± jmˆ (t )]e jω c t

(2.9-14)

en donde el signo positivo es para el caso de la banda lateral superior y el negativo es para el caso de la banda lateral inferior. Ahora al multiplicar la expresión por e − jω c t se genera la envolvente compleja sˆ(t ) = s+ (t )e − jω c t = 0.5 Ac [ m(t ) ± jmˆ (t )]

(2.9-15)

En el dominio del tiempo esto significa que la transformada de (2.9-14) se traslada a una frecuencia más baja que la frecuencia de m(t ) . Por último, al tomar la parte real de la señal compleja se tiene que

64

{

}

0.5 Ac m(t ) = ℜe s+ (t )e − jω c t = ℜe{[s(t ) + jsˆ(t )][cos ωct − jsenωct ]} 0.5 Ac m(t ) = s(t )cos ωct + sˆ(t )senωct

(2.9-16)

la cual es proporcional a la señal transmitida. Este demodulador usa la transformada de Hilbert pero no necesita un etapa de filtrado que elimine términos de la frecuencia portadora. El diagrama de bloques para este demodulador es el mismo que se muestra en la figura 2.22 cuando se cambia m(t ) por s (t ) , las amplitudes del seno y el coseno igual a 1, y el signo positivo se usa en el sumador de la salida. Estos dos tipos de demoduladores suponen que el receptor tiene perfecto conocimiento de la frecuencia y fase de la portadora. Desafortunadamente, esta información no se puede obtener como en el caso del lazo de Costas porque la señal SSB contiene una componente en cuadratura no deseada mˆ (t )senωct .

Esta componente

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. En el caso de señales musicales o señales de video, la distorsión de fase es un error no tolerable.

65

2.9.3 Desplazamiento en frecuencia

En sistemas de comunicaciones en la mayoría de las veces para no decir todas, el 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. La idea de traslación en frecuencia descrita para SSB puede generalizarse de la siguiente forma. Sea s (t ) una señal pasabanda cuyo espectro está centrado en una portadora de frecuencia ω0 . El requerimiento es trasladar o desplazar en frecuencia el espectro hacia arriba de forma que la frecuencia de la portadora es cambiada de ω0 a otra superior

ω1 = ω0 + ∆ω . Primero tenemos que s+ (t ) = s (t ) + jsˆ(t )

(2.9-17)

S + (ω ) = 2S (ω ) u (ω )

(2.9-18)

la transformada de Fourier es

El siguiente paso es multiplicar (2.9-17) por e j∆ω t para obtener r+ (t ) = s+ (t )e j∆ω t = [s (t ) + jsˆ(t )][cos ∆ω t + jsen∆ω t ] y su transformada es

66

(2.9-19)

R+ (ω ) = S + (ω − ∆ω )

(2.9-20)

Al hacer lo anterior se desplaza el espectro original hacia la derecha por ∆ω y se mueve desde ω0 hasta la frecuencia ω1 . Al tomar la parte real de r+ (t ) se obtiene la señal transmitida r (t ) = s(t )cos ∆ωt − sˆ(t )sen∆ωt

(2.9-21)

La parte real de r+ (t ) también puede ser expresada como r (t ) = [r+ (t ) + r+ (t )] 2

(2.9-22)

Entonces su transformada de Fourier es

[

]

R(ω ) = R+ (ω ) + R+ (ω ) 2

R(ω ) = S (ω − ∆ω )u (ω − ∆ω ) + S (− ω − ∆ω )u (− ω − ∆ω )

(2.9-23)

La figura 2.22 también es el diagrama de bloques para el desplazamiento en frecuencia: se cambia m(t ) por s (t ) , la frecuencia ωc se reemplaza por ∆ω , 0.5 Ac por 1, y el signo negativo se usa en el sumador del que se obtiene la salida. Esto porque el desplazamiento en frecuencia es funcionalmente lo mismo que un modulador de banda lateral superior nada más que con la apropiada frecuencia portadora.

67

2.10 Nota teórica laboratorio de modulación FM Modulación en Frecuencia (FM, acrónimo en inglés para Frequency Modulation) fue inventada y comercializada después de AM. Fue utilizada en un principio por la radiodifusión para crear canales radiofónicos. Su principal ventaja radica en que al sistema FM apenas le afectan las interferencias y descargas estáticas. El objetivo es estudiar la teoría básica de modulación y demodulación FM.

2.10.1 Descripción de la modulación FM1

En una señal se pueden variar tres propiedades: la amplitud, la frecuencia y la fase. El proceso de modulación consiste en variar algunos de estos parámetros en la señal portadora, de acuerdo a la señal que se desea modular. La modulación en frecuencia consiste en variar la frecuencia de la señal portadora. La modulación FM es inmune a las no linealidades. Las no linealidades en este caso generan ondas moduladas con portadoras múltiplos de la original. Esta característica hace a FM útil en aquellos sistemas de transmisión de alta potencia ya que el uso de amplificadores permite altos rendimientos. Una señal FM es generada utilizando la señal de banda base para cambiar la frecuencia instantánea de la señal portadora pero sin cambiar su amplitud. La frecuencia instantánea de una señal sinusoidal cosθ (t ) está definida por

1

Tretter, S. A. “Communication System Design Using DSP Algorithms”. Primera Edición, Kluwer Academic / Plenum Publishers, New York, Estados Unidos, 2003.

68

ω (t ) =

d θ (t ) dt

(2.10-1)

Esta definición se justifica al observar que cuando θ (t ) = ωct , su derivada es ωc la 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)

donde kω es una constante positiva conocida como sensibilidad frecuencial. Un 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

0

(2.10-3)

donde

θ m (t ) = kω ∫ m(τ ) dτ t

0

(2.10-4)

es la desviación de fase de la señal portadora causada por m(t ) . Por último la señal FM generada a partir de m(t ) es s (t ) = Ac cos[ωct + θ m (t )]

(2.10-5)

Un aproximación en tiempo discreto para una señal FM se puede obtener reemplazando la integral por una sumatoria en (2.10-3), de esta manera tenemos

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

La fase de la portadora se puede calcular a partir de la siguiente ecuación recursiva

θ (nT ) = θ ((n − 1)T ) + ωcT + kωTm((n − 1)T )

(2.10-8)

La señal muestreada FM resultante sería s (nT ) = Ac cosθ (nT )

2.10.1.1

(2.10-9)

Modulación FM de un tono simple

Una expresión sencilla para la transformada de Fourier de una señal FM en términos de la transformada de señal de banda base parecida a la de AM, no existe. Sin embargo, en el caso especial cuando la señal de banda base es m(t ) = Am cos ωmt , se pueden obtener resultados muy interesantes. A este caso especial se le conoce como modulación FM de un tono simple. La señal FM que se obtiene para m(t ) es ⎞ ⎛ k A s (t ) = Ac cos⎜⎜ ωc + ω m sin ωmt ⎟⎟ ωm ⎠ ⎝

70

(2.10-10)

De la expresión anterior se define un parámetro conocido como índice de modulación de frecuencia y está dado por

β=

kω Am

ωm

=

máxima desviación de frecuencia frecuencia de modulación

(2.10-11)

A continuación se muestra en la siguiente figura el efecto de modulación FM

Figura 2.23 Modulación FM

2.10.1.2

Ancho de banda de una señal FM

Dado que la portadora en FM es la suma de todas las componentes espectrales de la señal FM, dicha suma da como resultado una señal de amplitud constante. En otras palabras, la portadora en FM puede considerarse como la señal compleja total. Debido a

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 de la señal de banda base y la máxima desviación en frecuencia. Esta relación de desviación está dada por la ecuación (2.10-11). El ancho de banda de la señal modulada, bajo estas condiciones está dado por: BT = 2(∆f + f m ) Hz

(2.10-12)

En la ecuación anterior, ∆f es la máxima desviación en frecuencia y f m es la 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 señal modulada en frecuencia con razonable exactitud cuando el índice de modulación es mucho mayor a 1, pero falla cuando es cercano o menor a 1.

2.10.2 Demodulación FM: discriminador en frecuencia

Los demoduladores de FM físicamente son circuitos dependientes de la frecuencia que producen un voltaje de salida que es directamente proporcional a la frecuencia instantánea en su entrada ( Vsalida = K ∆f , en donde K está en voltios por Hertz y es la función de transferencia para el demodulador, ∆f es la diferencia, entre la frecuencia de 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 Foster-Seeley, detector de relación, demodulador de PLL y detector en cuadratura. El

72

detector de pendiente, discriminador de Foster-Seeley y el detector de relación son todos formas de discriminadores de frecuencia de circuito sintonizado. Los discriminadores de frecuencia de circuito sintonizado se convierten de FM a AM y después demodulan la envolvente de AM con detectores de picos convencionales. La figura 2.24 muestra el diagrama de un discriminador muy sencillo.

Figura 2.24 Diagrama de bloques elemental de un discriminador de frecuencia

2.10.2.1

Discriminador FM utilizando un detector de envolvente

Este tipo de discriminador es el más sencillo. La figura 2.24 muestra el diagrama de bloques, en el cual se puede notar una primera etapa donde se debe implementar un filtro diferenciador ideal en lugar del filtro pasabanda y la segunda etapa es un detector de envolvente, bajo la suposición de que la entrada al diferenciador es una señal FM de amplitud constante. Ahora suponemos lo siguiente, cuando θ m (t ) es suficientemente pequeño y la banda limitada, entonces cosθ m (t ) y sin θ m (t ) son señales de banda limitada con frecuencias de corte menores ωc , se puede demostrar que s+ (t ) = s (t ) + jsˆ(t ) = Ac e j [ω c t +θ m (t )] Al calcular el ángulo, de la expresión anterior se obtiene

73

(2.10-13)

ϕ (t ) = arctan[sˆ(t ) s(t )] = ωct + θ m (t )

(2.10-14)

Al derivar la expresión anterior se obtiene

d ϕ (t ) = dt

s(t )

d d sˆ(t ) − sˆ(t ) s (t ) dt dt = ωc + kω m(t ) 2 2 s (t ) + sˆ (t )

(2.10-15)

Del resultado anterior se puede notar que se trata de la frecuencia instantánea.

2.10.2.2

Discriminador FM utilizando la envolvente compleja

La envolvente compleja de una señal FM es dada por ~ s (t ) = s+ (t )e − jω c t = sI (t ) + jsQ (t ) = Ac e jθ m (t )

(2.10-16)

Al calcular el ángulo de la expresión anterior se obtiene

ϕ~(t ) = arctan[sQ (t ) sI (t )] = θ m (t )

(2.10-17)

Al derivar la expresión anterior se obtiene

d ~ ϕ (t ) = dt

sI (t )

d d sQ (t ) − sQ (t ) sI (t ) dt dt = kω m(t ) 2 2 sI (t ) + sQ (t )

El resultado anterior es proporcional a la señal banda base. La siguiente figura muestra como implementar este discriminador.

74

(2.10-18)

Figura 2.25 Discriminador en tiempo discreto usando la envolvente compleja1

2.10.3 Demodulación FM usando un PLL

Desde el desarrollo de los circuitos integrados lineales LSI, la demodulación FM puede lograrse muy fácilmente con un PLL. Aunque la operación de un PLL es bastante complicada, la operación de un demodulador PLL de FM, es probablemente, la más sencilla y fácil de entender. La figura 2.26 muestra el diagrama de bloques de un demodulador FM. Las líneas sólidas y las líneas punteadas representan la parte real y la parte imaginaria de una señal.

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 la envolvente compleja que contiene la información transmitida, luego se pasa a través de un detector de fase el cual consigue calcular la diferencia de fase entre la señal FM y la salida del VCO. Luego esta señal se pasa por un filtro que permite obtener la frecuencia de la señal portadora, a esto se le conoce como enganche de frecuencia.

Figura 2.26 Demodulador FM con PLL en tiempo discreto1

Un demodulador de frecuencia de PLL no requiere de circuitos sintonizados y automáticamente compensa los cambios en la frecuencia de la portadora debido a la estabilidad en el oscilador de transmisión.

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 cambios en la frecuencia en la señal de entrada, manteniendo un error de fase en la entrada del comparador de fase. Por tanto, si la entrada es una señal FM y la frecuencia natural VCO es igual a la frecuencia central de la señal de entrada, el voltaje de corrección se produce a la salida del comparador de fase y alimenta de nuevo a la entrada de VCO, siendo proporcional a la desviación de frecuencia, por tanto es la señal demodulada. Este sistema es no lineal debido a las características del detector de fase. Pero si se ignoran las discontinuidades de la función arcotangente la cual se encarga de obtener la diferencia en fase, este sistema se puede representar como un sistema lineal tal y como se muestra en la siguiente figura.

Figura 2.27 Modelo linearizado del PLL

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 conocer este tipo de modulación de gran importancia para el procesamiento digital de señales.

2.11.1 Descripción de la modulación PAM

En la modulación PAM, la información es transmitida en símbolos de valores discretos, uniformemente espaciados por intervalos de tiempo. La señal portadora es un tren periódico de pulsos rectangulares separados a la misma distancia uno de otro. La siguiente figura muestra una representación de este tipo de modulación

Figura 2.28 Modulación PAM

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

El diagrama de bloques de un sistema PAM se muestra en la figura 2.29. El transmisor de entrada d i es una secuencia de datos binarios con una velocidad de transmisión de Rd bits/segundo . Estos bits de entrada son puestos dentro de palabras de 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 de voltaje. Estos símbolos son generados por una frecuencia f s = Rd J símbolos/segundo y el intervalo entre un símbolo y otro está dado por T = 1 f s . Los niveles están espaciados por 2d con M posibles valores l i = d (2i − 1)

para i = −

M M + 1, ...., 0, ...., 2 2

(2.11-1)

De lo anterior, se puede notar que el nivel mínimo es − (M − 1)d y el nivel máximo es (M − 1)d . El tren de pulsos está representado por un tren de impulsos de Dirac s* (t ) =



∑ a δ (t − kT )

k = −∞

k

(2.11-2)

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 al ancho de banda del canal. El resultado de este filtrado es s (t ) =



∑ a g (t − kT ) k

k = −∞

T

(2.11-3)

El canal se modela como un filtro lineal e invariante en el tiempo con una respuesta en frecuencia C (ω ) , seguido de la suma de la componente de ruido introducida por el canal. En el receptor, la salida del canal r(t) primero se pasa por un filtro que se encarga de eliminar el ruido que no pertenece a la señal.

80

La combinación del filtro transmisor, el canal y el filtro receptor, se le conoce como filtro conformador, y da como resultado la siguiente respuesta en frecuencia G (ω ) = GT (ω )C (ω )GR (ω )

(2.11-4)

y su respuesta al impulso es g (t ) = gT (t ) ∗ c(t ) ∗ g R (t ) = F −1{G (ω )}

(2.11-5)

Luego a la salida del filtro receptor se obtiene x(t ) =



∑ a g (t − kT ) + υ (t ) ∗ g (t )

k = −∞

k

T

R

(2.11-6)

Ahora se supone que el ruido es cero y la respuesta al impulso combinada es cero en los instantes nT excepto para n = 0 donde esta es 1, entonces tenemos ⎧1 para n = 0 g (nT ) = δ n , 0 = ⎨ ⎩0 cualquier otro valor

(2.11-7)

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 del filtro receptor se reduce a x(nT ) = an , esta expresión es exactamente la secuencia de 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 todo el ancho de banda de la señal, así no se introduce distorsión.

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 ciertas muestras, dándole el valor ideal que le corresponde. La salida del ecualizador es cuantificada a la tasa de velocidad de muestreo y se le otorga a cada muestra el valor que le corresponde. Luego la salida del cuantificador se convierte en una palabra binaria de J-bit y transformada de nuevo en una salida de secuencia serial.

2.11.2 Criterio de Nyquist para no tener ISI

A partir de la ecuación (2.11-7) se establece el criterio para no tener ISI en términos de la respuesta al impulso g (nT ) del filtro conformador de la señal de banda base y está dada por g (nT ) =

1 2π





−∞

G (ω )e jωnT dω

(2.11-8)

Sea ωs = 2πf s = 2π T . La integral de (2.11-8) puede ser calculada si se fracciona el eje ω en una serie de intervalos muy pequeños.

ω ⎛ ω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 ∞

1 g (nT ) = ∑ ω k = −∞

s

− kω s

2



∫ ω s

2

− kω s

ωs ∞

1 1 G (ω )e jωnT dω = ∑ T k = −∞ ω s

2



∫ω

1 G (ω − kωs )e j (ω − kω s )nT dω (2.11-9) T s

2

Se puede notar que e − jknω s T = e − kn 2π = 1 y al tomar la suma dentro de la integral nos da ωs

g (nT ) =

2

1

ωs



∫ω G (ω )e *

jωnT



(2.11-10)

s

2

donde G * (ω ) =

1 ∞ ∑ G(ω − kωs ) T k = −∞

(2.11-11)

La función G*(w) se le conoce en la teoría del procesamiento digital de señales como solapamiento o envolvente del espectro. El criterio (2.11-7) para no tener ISI se satisface si y solo si G*(w)=1.

2.11.3 Diagramas de ojo1

Una herramienta práctica para el estudio de la calidad de un sistema PAM es el 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 señalización en sincronismo con la señal recibida a las placas de deflexión horizontal. 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 denomina diagrama de ojo. 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 características de la señal como el mejor instante de muestreo y la sensibilidad frente a errores de temporización.

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

Un diagrama de ojos va a proporcionar mucha información práctica que caracteriza a un sistema PAM. Los parámetros asociados más interesantes de un diagrama de ojos se 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 la apertura del ojo es mayor. La pendiente de la zona interior del ojo determina la sensibilidad frente a errores de temporización.

85

El margen del ruido para un símbolo en el instante de muestreo esta definido por la altura del ojo. 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.

2.11.4 Recuperación de la frecuencia del tren de pulsos

En típicos sistemas PAM, el receptor es razonablemente bueno, pero no perfecto, al 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 continuación se presenta un método para recuperar la frecuencia de muestreo de la señal transmitida, particularmente para sistemas de banda limitada. El diagrama de bloques del recuperador de frecuencia se muestra en la figura 2.32. La salida x(t ) del filtro receptor primero se pasa a través de un prefiltro con una respuesta en frecuencia B (ω ) . El prefiltro usualmente es un filtro pasabanda centrado en f s 2 , a la mitad del valor de la frecuencia del tren de pulsos. La combinación del filtro conformador y el prefiltro, da como resultado la siguiente respuesta en frecuencia y respuesta al impulso G1 (ω ) = G (ω )B (ω ) y

86

g1 (t ) = g (t ) ∗ b(t )

(2.11-12)

De esta manera la salida del prefiltro es q(t ) =



∑ a g (t − kT )

k = −∞

k

(2.11-13)

1

Luego la salida del prefiltro se pasa a través de un potenciador cuya salida es p (t ) = q 2 (t ) =





∑ ∑ a a g (t − kT )g (t − mT )

k = −∞ m = −∞

k

m 1

1

(2.11-14)

La salida del potenciador se pasa a través de un filtro pasabanda de banda estrecha H (ω ) , para el que su frecuencia central es f s . La salida z (t ) tiene la forma de una función

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 .

Figura 2.32 Diagrama de bloques del sistema de recuperación de frecuencia

87

2.12 Nota teórica laboratorio de modulación QAM1 La Modulación de Amplitud en Cuadratura (QAM, acrónimo en inglés para Quadrature Amplitude Modulation) es una modulación digital en la que el mensaje está contenido tanto en la amplitud como en la fase de la señal transmitida. La importancia de este sistema de modulación se debe a la gran cantidad de aplicaciones asociadas a ella. Es empleada en multitud de sistemas de transmisión de televisión, microondas y satélite. 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 modulation), que consigue velocidades de transmisión muy elevadas combinando la modulación con la codificación de canal.

2.12.1 Transmisor QAM básico

El diagrama de bloques de un transmisor QAM básico se muestra en la figura 2.33. Los datos d i serie de entrada, generados a velocidad Ri bps se agrupan mediante un convertidor serie a paralelo, formando palabras de J bits que pasarán al módulo de mapeo de estas palabras. Este módulo se encarga de seleccionar un símbolo de entre los M = 2 J posibles símbolos, ubicados sobre un espacio bidimensional. A la salida, los símbolos se producen por tanto a una velocidad de f s = Rd J símbolos por segundo o baudios.

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

Los símbolos a transmitir son números complejos que representaremos como ck = ak + jbk . Así, el alfabeto lo forman el conjunto de números complejos que podremos transmitir. Este alfabeto se puede representar en el plano complejo, formando la constelación de la modulación. En la siguiente gráfica se presentan diferentes constelaciones posibles

89

Figura 2.34 Constelaciones QAM

A continuación, los símbolos se introducen en los moduladores de impulsos, uno para cada componente, obteniendo las señales: a* (t ) =



∑ a δ (t − kT ) k

k = −∞

(2.12-1)

y b* (t ) =



∑ b δ (t − kT )

k = −∞

k

(2.12-2)

Estas dos señales se pasan a través de los filtros de transmisión a(t ) =



∑ a g (t − kT )

k = −∞

k

y

90

T

(2.12-3)

b(t ) =



∑ b g (t − kT )

k = −∞

k

(2.12-4)

T

La función gT (t ) corresponde al filtro de transmisión y es de tipo pasobajo. En una implementación discreta, los filtros actúan como filtros interpoladores, produciendo L muestras por cada símbolo de entrada, de forma que la frecuencia de trabajo de los filtros será de Lfs. La señal QAM se obtiene modulando en DSBSC-AM estas señales s (t ) = a(t )cos ωct − b(t )senωct

(2.12-5)

Así, a (t ) es la componente en fase de la señal QAM y b(t ) la componente en cuadratura. El equivalente pasobajo de la señal QAM, tomando como frecuencia de referencia fc será ~ s (t ) = a(t ) + jb(t ) =





∑ ak gT (t − kT ) + j ∑ bk gT (t − kT )

k = −∞

~ s (t ) =



∑ (a

k = −∞

k

k = −∞

+ jbk )gT (t − kT ) =



∑ c g (t − kT )

k = −∞

k

(2.12-6)

T

La señal analítica es ⎡ ∞ ⎤ s+ (t ) = ⎢ ∑ ck gT (t − kT )⎥ e jω c t ⎣k = −∞ ⎦

(2.12-7)

En donde la señal QAM transmitida se puede expresar como s (t ) = ℜe{s+ (t )}

(2.12-8)

Por tanto, el modulador QAM puede ser representado de forma esquemática, por el siguiente diagrama de bloques mostrado en la figura 2.35.

91

Figura 2.35 Representación de un modulador QAM en términos de señales complejas

Se puede observar que, en el esquema de modulación propuesto se obtiene primero la señal pasobajo que se modula más tarde en DSBSC-AM.

2.12.2 Modulador QAM utilizando filtros conformadores pasabandas

Otra alternativa para la implementación del transmisor QAM puede conseguirse modificando la ecuación (2.12-7) de la siguiente manera

(

)

∞ ⎡ ∞ ⎤ jω c t s+ (t ) = ⎢ ∑ ck gT (t − kT )⎥ e = ∑ ck e jωc kT gT (t − kT )e jω c (t − kT ) k = −∞ ⎣k = −∞ ⎦

(2.12-9)

donde gT (t ) es la respuesta al impulso del filtro conformador. Ahora sea h(t ) = gT (t )e jω c t = hI (t ) + jhQ (t )

(2.12-10)

donde hI (t ) = gT (t ) cos ωc t

y hQ (t ) = gT (t )senωc t

(2.12-11)

Este filtro es un filtro pasabanda con respuesta en frecuencia H (ω ) = GT (ω − ωc ) . También, sea ck′ = ck e jω c kT = ak′ + jbk′

92

(2.12-12)

donde

{

}

(2.12-13)

{

}

(2.12-14)

ak′ = ℜe ck e jω c kT = ak cos ωc kT − bk senωc kT y bk′ = ℑm ck e jω c kT = ak senωc kT + bk cos ωc kT Sustituyendo estas definiciones en la ecuación (2.12-9), da como resultado 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 = −∞

k I

k Q

(2.12-16)

Un diagrama de bloques para el modulador en términos de las señales complejas se muestra en la figura 2.36. Y el diagrama de bloques que representa a la ecuación (2.12-16), se muestra en la figura 2.37.

Figura 2.36 Modulador QAM utilizando un filtro conformador pasabanda

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 traslación espectral se produce en la última etapa. Los filtros conformadores de pulsos hI (t ) y hQ (t ) son también interpoladores igual 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 multiplicación a razón de L por cada símbolo.

94

CAPÍTULO 3: Laboratorios En este capítulo se describen las prácticas de cada uno de los temas desarrollados en el capítulo anterior. Cada práctica consta de dos partes: •

Simulación, utilizando MATLAB y SIMULINK.



Cuestionario de preguntas específicas.

La parte de simulación es necesaria para repasar los conocimientos adquiridos durante el curso de procesamiento digital de señales. Asimismo, el estudiante será capaz de aplicar estos conocimientos en la solución de los ejercicios propuestos.

Después el estudiante deberá analizar cada uno de los resultados obtenidos y obtener sus propias conclusiones.

Por último se presenta un cuestionario para reforzar los conceptos que se presentan en el desarrollo del laboratorio.

95

3.1

Laboratorio de filtros digitales Los filtros ideales definidos como ⎧constante H (ω ) = ⎨ ⎩0

para ω < ωo

(banda de paso)

para ω > ωo

(banda de rechazo)

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 se realizará de forma abrupta. La figura muestra las características indicadas

Figura 3.1 Respuesta en frecuencia de un filtro pasobajo

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 funciones que se muestran a continuación:

Tabla 3.1 Funciones más comunes para el diseño de filtros digitales en MATLAB Filtro Digital

Tipo

Función 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)

FIR

Ventana

b = fir1(n,Wn,'ftype',window) b = fir2(n,f,m,npt,window)

Para conocer bien el uso de estas funciones se debe consultar la herramienta de ayuda de MATLAB.

97

3.1.1 Filtros digitales FIR

Resuelva los siguientes ejercicios: 1. Diseñe un filtro pasabanda de respuesta finita al impulso (FIR) de orden 8, suponiendo una frecuencia de muestreo de 8 kHz. Las frecuencias de paso están situadas en 1200 y 2000 Hz. Utilice la función “fir1”. 2. Obtenga la respuesta en frecuencia del filtro anterior pero para un orden de 16, 32, 64 y compare con el resultado anterior. Grafique las respuestas en frecuencia en una misma gráfica y comente sus resultados. 3. Considere una señal de entrada formada por la suma de tres señales sinusoidales de frecuencia 720, 1440, 3000 Hz y amplitud A1 = 7 , A2 = 3 y A3 = 15 respectivamente. Grafique la salida del filtro y comente sus resultados. 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.

3.1.2 Filtros digitales IIR

Resuelva cada paso del siguiente procedimiento: 1.

Diseñe un filtro digital IIR basado en el prototipo de un filtro elíptico pasobajo con frecuencia de corte en 300 Hz, una atenuación máxima en la banda de paso de 0.5 dB y una atenuación mínima en la banda de rechazo de 80 dB, suponiendo que la señal de entrada será muestreada a una

98

frecuencia de 8000Hz. En MATLAB utilice la función “ellip” para implementar el filtro. 2.

Grafique la respuesta en frecuencia del filtro anterior utilizando la función “freqz” (ver ayuda de MATLAB).

3.

Considere que la señal de entrada está formada por la suma de dos señales sinusoidales de frecuencia 180 y 720 Hz respectivamente. Usando la función “filter”, grafique la salida del filtro y determine que sucede.

4.

Estudiar la dependencia del filtro de los parámetros de orden, atenuación mínima y máxima, pero manteniendo la frecuencia de corte y modificando alguno de los parámetros anteriores. Utilice al menos 3 valores diferentes para cada uno y grafique los resultados.

5.

Diseñe un filtro digital pasabanda Chebyshev Tipo I de orden 6 con frecuencia de paso de 300 y 500 Hz, suponiendo que la señal de entrada será muestreada a una frecuencia de 8000 Hz. Grafique la respuesta en frecuencia del filtro.

6.

Considere una señal de entrada formada por la suma de tres señales sinusoidales de frecuencia 120, 400, 680 Hz respectivamente. Grafique la salida del filtro y explique que sucede.

7.

Diseñe un filtro digital rechaza banda de orden 6 con frecuencias de rechazo entre 300 y 500 Hz, suponiendo que la señal de entrada será muestreada a una frecuencia de 8000 Hz. Grafique la respuesta en frecuencia del filtro.

99

8.

Repita el punto 6.

9.

Diseñe un filtro pasabanda de respuesta infinita al impulso (IIR), basado en el prototipo de un filtro elíptico analógico pasobajo. Use una frecuencia de muestreo de 8 kHz. La banda lateral inferior del filtro debe 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 no debe ser mayor que 0.3 dB y la atenuación mínima en la banda de rechazo de al menos 40 dB. Utilice las funciones de MATLAB para la conversión de filtros.

3.1.3 Filtrado en SIMULINK

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 llamado “Sine Wave” de la librería “Sources” en SIMULINK para generar cada 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 componentes en frecuencia. Luego utilice el bloque “Zero-Order Hold” para muestrear la señal debe configurarlo para una frecuencia de muestreo de 8 KHz. 2. Ahora utilice el bloque “Digital Filter Design” de la librería “Filtering / Filter Designs” y con este bloque genere con la ayuda de la herramienta “FDATool”

100

un filtro FIR de orden 64 de ventana Hamming con una banda de paso entre 1200 Hz y 2000 Hz. Luego coloque en la entrada de este filtro la señal muestreada y coloque un “Scope” para poder ver la salida del filtro y compruebe que se han suprimido las componentes de 720 Hz y 3000 Hz. 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 diferencias entre estos dos tipos de filtros. 2. ¿Qué es la transformación bilineal y para qué se utiliza? 3. Investigue si existen otros métodos de transformación para pasar de un filtro analógico a uno digital.

101

3.2

Laboratorio de FFT El algoritmo de la FFT es una manera eficiente de calcular la DFT. Una primera

aproximación al cálculo de la DFT requeriría la suma compleja de N multiplicaciones complejas para cada una de las salidas. En total, N 2 multiplicaciones complejas y N 2 sumas complejas para realizar una DFT de N puntos.

Lo que consigue el algoritmo FFT es simplificar enormemente el cálculo de la DFT introduciendo “atajos” matemáticos para reducir drásticamente el número de operaciones. En MATLAB se tienen las siguientes funciones para estimar la FFT de una secuencia de entrada.

Tabla 3.2 Funciones utilizadas en MATLAB para el cálculo de la FFT. Función en MATLAB

Descripción

Obtiene la FFT del vector x. “X” es un vector de números complejos ordenados desde k = 0, 1,…, N-1. Se recomienda que Y = fft(x)

la longitud del vector x sea una potencia de 2. Lo que no se

Y = fft(x,N)

recomienda es que la longitud de x sea un número primo. Otra opción de la FFT es especificar el número de puntos con el que se quiere hacer la FFT.

X= ifft(Y,N)

Obtiene la FFT inversa del vector x. También se puede

X= ifft(Y,N)

especificar el número de puntos N con el que se quiere hacer la

102

IFFT. Reordena el vector Y en orden creciente de frecuencia. Si “Y” Y = fftshift(Y)

es el vector resultante de hacer una FFT, utilizando esta función reordenamos los puntos en función de la frecuencia.

3.2.1 Cálculo de la FFT

Para probar y extender los conocimientos en la FFT, lleve a cabo las siguientes tareas 1.

Sea la secuencia x[n] = cos(0.25πn ) + cos(0.5πn ) + cos(0.52πn ) . Calcular la DFT utilizando la función de MATLAB fft(x, N). Sea L la longitud de la secuencia x[n] de 256 muestras. Probar con diferentes valores de número de muestras N, tales como 16, 32, 64, 128, 256, 512, 1024. Indique a partir de que valor de N son distinguibles las tres frecuencias de la señal de entrada.

2.

Describir lo que sucede en el espectro de frecuencia, si una secuencia de entrada de L = 100 muestras de x[n] se rellena con ceros hasta N = 200. Comente sus resultados.

3.

Calcule la inversa de la FFT obtenida a partir de la señal rellenada con ceros, utilizando la función de MATLAB ifft(X) para recuperar la señal en el dominio del tiempo.

103

4.

Usando la FFT, se desea estudiar las componentes en frecuencia de una señal conformada por la suma de las siguientes señales x1 (t ) = 0.0472 cos(2π (200)t + 1.5077 )

x2 (t ) = 0.1362 cos(2π (400)t + 1.8769)

x3 (t ) = 0.4884 cos(2π (500)t − 0.1852)

x4 (t ) = 0.2942 cos(2π (1600)t − 1.4488) x5 (t ) = 0.1223 cos(2π (1700)t )

De esta manera para la señal mencionada se debe determinar

5.



¿Cuál es su frecuencia fundamental?



¿Qué frecuencia de muestreo debe usarse?



Valor adecuado de N para obtener suficiente precisión de frecuencias.



Grafique la magnitud y la fase de la señal en el dominio de la frecuencia. Calcule la inversa de la FFT obtenida a partir de la señal del punto (4) utilizando la función de MATLAB ifft(X) para recuperar la señal en el dominio del tiempo.

3.2.2

Analizador de espectro de frecuencia en SIMULINK

Un analizador de espectro es un sistema que permite obtener las frecuencias que 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 frecuencia de la señal de entrada.

104

1.

Genere una señal de entrada compuesta de las siguientes señales x1[n] = 12sen(2π (1500 )n )

x2 [n] = 1.25 cos(2π (1200)n) + 3.75 cos(2π (175)n) + 2.15 cos(2π (2325)n) Y obtenga el espectro en frecuencia de esta señal utilizando el bloque mencionado anteriormente. 2.

Implemente un filtro FIR pasobajo utilizando una ventana Hamming, con una frecuencia de corte de 1000 Hz de orden 36.

3.

Implemente un filtro FIR pasabanda utilizando una ventana Kaiser, con una banda de paso entre 1200 y 2000 Hz de orden 36.

4.

Implemente un filtro FIR pasoalto utilizando una ventana Hamming, con una frecuencia de corte de 2000 Hz de orden 36.

5.

Para cada uno de los filtros coloque a la entrada la señal compuesta y obtenga el espectro en frecuencia para la salida de cada filtro.

3.2.3 Cuestionario

1.

¿Explique en que consiste los dos algoritmos básicos para la FFT, diezmado en el tiempo y diezmado en frecuencia?

2.

Investigue en que consisten los fenómenos en frecuencia conocidos como “aliasing” y “leakage”.

105

3.3

Laboratorio de modulación AM Entre los primeros moduladores empleados se encuentra la modulación de amplitud.

La necesidad más importante para modular señales es el desplazamiento de los componentes en frecuencia de una señal para poder transmitirla por un canal de comunicación donde se transmiten otras señales. La siguiente figura presenta el principio básico de la modulación AM

Figura 3.3 Diagrama del principio básico de modulación AM

MATLAB tiene varias funciones para modular y demodular, estas funciones se muestran en la siguiente tabla.

Tabla 3.3 Funciones de MATLAB para modulación y demodulación AM Función en MATLAB

Descripción

Esta función modula una señal de entrada x y = modulate(x,fc,fs,'method')

con una frecuencia portadora

fc

y una

[y,t] = modulate(x,fc,fs)

frecuencia de muestreo f s , “am” se usa en

106

lugar de 'method'. También se puede obtener el vector de tiempo interno que utiliza la función “modulate” para hacer los cálculos.

La función “demod” demodula la señal modulada obtenida por la función “modulate” para obtener la señal original. Demodula la x = demod(y,fc,fs,'method')

señal con una frecuencia portadora f c y una frecuencia de muestreo f s , “am” se usa en lugar de 'method'.

3.3.1 Modulación AM

1.

Utilice las funciones mostradas en la tabla 3.3 para la modulación y demodulación de una señal coseno, conocida para este tipo de modulación como tono de prueba. Las funciones de la tabla 3.3 utilizan un índice de modulación de m = 1 . La frecuencia de la portadora es 10 veces la frecuencia de la señal a modular con una amplitud igual a 1, en este caso la señal a modular está dada por tono = 5 cos(2π (10 )t )

2.

Obtenga las gráficas de la señal a modular, la señal modulada, la señal demodulada, así como el espectro en magnitud y el espectro de fase en frecuencia de las tres señales.

107

3.

Ahora desarrolle un código en MATLAB para implementar la función “modulate”. Varíe la amplitud de la señal a modular y la señal portadora, de tal modo que se obtenga un índice de modulación m < 1 , otro índice m = 1 y por último m > 1 .

4.

Compare la señal inicial obtenida con la señal modulada para los tres casos. Comente y explique que ocurre en cada uno.

5.

En la mayoría de los casos, cuando se modula una señal el canal de transmisión introduce a la señal modulada otra señal pequeña pero que sin duda distorsiona la señal original, esta señal se le conoce popularmente como ruido en el canal. Repita los puntos del (1) al (2) pero esta vez introduciendo ruido al canal de transmisión. Utilice la herramienta de ayuda de MATLAB para generar una señal de valores aleatorios de cierta amplitud la cual será su ruido. Comente y compare sus resultados con los obtenidos en el punto (2).

3.3.2 Detector de envolvente (Ley Cuadrática)

1.

Implemente el detector de envolvente de Ley Cuadrática que se muestra en la figura 3.4. Utilice una frecuencia de muestreo de 8 KHz, una frecuencia de 2 KHz para la señal portadora y una frecuencia de 200 Hz para la señal a modular m(t ) . Utilice un filtro FIR pasobajo con una función ventana Hamming para H (ω ) con un orden suficiente para

108

suprimir las componentes no deseadas alrededor de 2 f c con una atenuación de al menos 40 dB. Suponga que m(t ) no tiene componentes espectrales menores a los 50 Hz y elimine el nivel DC a la salida del bloque de raíz cuadrada utilizando un filtro pasoalto con la siguiente función de transferencia. G(z ) =

1 + c ⎛ 1 − z −1 ⎞ ⎜ ⎟ 2 ⎜⎝ 1 − cz −1 ⎟⎠

donde c es una constante ligeramente menor a 1. Grafique la respuesta de magnitud en frecuencia y fase de este filtro para diferentes valores de c para seleccionar un valor para que el filtro funcione de forma apropiada. 2.

Grafique la señal modulada y la salida del detector de envolvente. Obtenga el espectro de magnitud y el espectro de fase en frecuencia de ambas señales. Comente sus resultados.

3.

En SIMULINK implemente el detector de la figura 3.4 y explique en forma detallada su funcionamiento. Para ello utilice el bloque “Math Function” para simular el bloque que eleva al cuadrado la señal de entrada y el bloque que obtiene la raíz cuadrada de la señal a la salida del filtro pasobajo. El filtro pasobajo genérelo con el bloque “Digital Filter Design”. Para el filtro pasoalto utilice el bloque “Discrete Filter”. Luego obtenga el espectro de la señal a modular y la salida del filtro paso alto. Mantenga los parámetros del punto (1). Comente sus resultados

109

Figura 3.4 Detector de envolvente de Ley Cuadrática

3.3.3 Cuestionario

1.

Investigar en que consiste el índice de modulación y cuáles son sus efectos.

2.

¿Qué efecto produce el ruido del canal de comunicación en la modulación de amplitud?

3.

Mencione y explique cuáles son algunas de las ventajas y desventajas que tiene la modulación AM.

110

3.4

Laboratorio de modulación DSBSC-AM La modulación AM completa incluye la transmisión de las componentes en

frecuencia tanto de la portadora como de la señal a modular. Este tipo de modulación 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 recuperación de la información completa en banda base. Puesto que es indispensable que en el receptor se reinserte la portadora exactamente a la misma frecuencia y fase de la portadora utilizada para modular la señal en el transmisor, en el receptor sólo sería necesaria una muestra o piloto de esa portadora. En estas condiciones, no es necesario transmitir la portadora con toda su potencia y basta, 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. La siguiente figura muestra el principio básico de la demodulación para modulación por doble banda lateral sin portadora donde H (ωm ) es un filtro FIR pasobajo con una frecuencia de corte dos veces la frecuencia de la señal original.

Figura 3.5 Diagrama del principio básico de demodulación AM

111

En MATLAB para modular y demodular con doble banda lateral con portadora suprimida, se utiliza las funciones “modulate” y “demod”, cambiando la palabra “method” por la opción “amdsb-sc”.

3.4.1 Modulación DSBSC-AM

1.

Utilizando MATLAB y basado en la figura 3.5 demodule una señal utilizando modulación DSBSC que ha sido modulada por una señal portadora con una frecuencia de 200 Hz. La señal a modular es la siguiente m(t ) = 10e −0.5t sin (2π (20)t )

2.

Grafique la señal a modular, la señal modulada y la demodulada. Grafique la salida del filtro.

3.

Obtenga el espectro de magnitud en frecuencia de la señal antes de pasar por el filtro y después de pasar por este.

4.

Compare la señal inicial con la obtenida luego de la modulación y demodulación de la misma y comente sus resultados.

5.

Ahora utilizando las funciones “modulate” y “demod” de MATLAB module y demodule la señal del punto (1).

6.

Grafique la señal modulada y la demodulada y compare con la señal original. Obtenga además el espectro de magnitud en frecuencia de ambas señales.

112

7.

Compare los resultados del punto (6) con los obtenidos en el punto (2).

3.4.2 Modulación y demodulación AM utilizando SIMULINK

1.

Con ayuda de la herramienta SIMULINK de MATLAB, implemente el modelo de simulación DSBSC-AM de la sección 3.4.1 y el modelo básico de demodulación de la figura 3.5. Para generar la señal a modular de la sección 3.4.1, utilice los bloques “Sine Wave”, “Clock” y “Fcn”. El tercer bloque es para generar una señal basado en una función y el segundo es la variable para generar la señal deseada. Utilice el bloque “Digital Filter Design” para generar el filtro pasobajo.

2.

Muestre la señal a modular, la señal modulada y la señal demodulada.

3.

Obtenga el espectro en frecuencia de estas señales utilizando el bloque “Spectrum Scope”.

3.4.3 Cuestionario

1.

¿Cuáles son las ventajas de utilizar este tipo de modulación de doble banda lateral con portadora suprimida (DSBSC-AM)?

2.

¿Por qué se utiliza un PLL para implementar un demodulador coherente cuando se usa este tipo de modulación DSBSC-AM?

113

3.5

Laboratorio de modulación SSB Los tipos de modulación AM y DSBSC-AM no utilizan eficientemente el espectro

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 de la modulación 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 respecto a AM y DSBSC-AM. La figura siguiente muestra un tipo de modulador SSB, que utiliza una señal modulada con DSBSC-AM y una etapa de filtrado.

Figura 3.6 Modulador SSB

3.5.1 Modulación SSB-AM

1.

En MATLAB, con base en el modulador de la figura 3.6, implemente este tipo de modulación SSB, tanto para la banda superior como la inferior. Utilice una señal portadora con frecuencia de 2 KHz y de amplitud Ap = 1 . Utilice un filtro con un ancho en la pendiente de rechazo menor a 2 veces la frecuencia de la señal a modular. Para seleccionar la banda

114

lateral superior se utiliza un filtro paso alto con una frecuencia de corte mayor a la frecuencia de la portadora ⎧1 H sup (ω ) = ⎨ ⎩0

ω > ωc

para

cualquier otro

Para seleccionar la banda inferior se utiliza un filtro pasobajo con una frecuencia de corte menor a la frecuencia de la portadora ⎧1 H inf (ω ) = ⎨ ⎩0 2.

Pruebe

su

procedimiento

ω < ωc

para

cualquier otro para

la

siguiente

señal

de

entrada

m(t ) = Am cos(2π 600t ) con Am = 0.5 . 3.

Grafique las señales generadas por el modulador y la señal de entrada. También grafique la respuesta en frecuencia y fase de los filtros utilizados.

4.

Obtenga el espectro de magnitud en frecuencia para las señales generadas por el modulador y la señal de entrada. Comente sus resultados.

3.5.2 Demodulación SSB-AM

1.

Debe implementar un demodulador SSB. Este demodulador posee el mismo diagrama de bloques de la figura 3.6, excepto que en lugar de la señal a transmitir m(t ) se pone la señal recibida s (t ) y el bloque H (ω ) se

115

reemplaza por un filtro pasobajo con una frecuencia de corte de tal manera que deje pasar la señal original. 2.

Una vez que tenga listo el procedimiento para demodular, pruebe con la señal modulada que obtuvo en el punto (2) de la sección 3.5.1.

3.

Grafique y compare la salida del demodulador con la señal original, para así poder comprobar si el procedimiento es efectivo. Grafique la respuesta en frecuencia del filtro paso bajo.

4.

Obtenga el espectro de magnitud en frecuencia para las señales demoduladas y comente sus resultados.

3.5.3 Modulación y demodulación SSB–AM en SIMULINK

1.

En SIMULINK implemente este modulador SSB y repita el ejercicio. Utilice los bloques “Sine Wave” para generar la señal a modular del punto (6) y la señal portadora del punto (1) de la sección 3.5.1. Multiplique 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 SSBAM.

2.

Obtenga el espectro en frecuencia con el bloque “Spectrum Scope” para la señal a modular y la señal SSB-AM de banda lateral inferior y superior.

116

3.

Luego implemente el procedimiento para demodular la señal SSB-AM para recuperar la señal original, tal y como se indicó en el punto (1) de la sección 3.5.2.

4.

Obtenga el espectro de frecuencia de estas señales y compare con el espectro de la señal original.

3.5.4 Cuestionario

1.

¿Cuáles son las ventajas y desventajas de utilizar la modulación SSB?

2.

Mencione y explique al menos dos métodos diferentes al del laboratorio que existen para modular una señal SSB.

3.

Investigar cuáles otros métodos para demodular señales SSB existen. Explique detalladamente cada uno.

117

3.6

Laboratorio de modulación FM La modulación en frecuencia consiste en hacer variar la frecuencia de la portadora

en función de la señal moduladora. Estas variaciones han de ser proporcionales a la amplitud de la señal a transmitir. Un modulador de FM debe tener las siguientes características: •

La frecuencia de la señal de salida no será siempre la de la portadora.



Si la señal a modular tiene un valor de cero en su amplitud, en la salida tendremos una señal de frecuencia igual a la portadora.



Si la señal a modular tiene un valor positivo en su amplitud, en la salida se tendrá una señal de frecuencia proporcional superior a la de la portadora.



Si la señal a modular tiene un valor negativo en su amplitud, en la salida se tendrá una señal de frecuencia proporcional inferior a la de la portadora.



La frecuencia de la señal a modular no afecta a la variación de frecuencia de la señal modulada, únicamente influye en la velocidad a la que se produce la variación.

3.6.1 Modulación FM

1.

Implemente la modulación de frecuencia de un tono simple en MATLAB. Utilice un índice de modulación β = 5 . La frecuencia de la señal a modular es de 100 Hz y la frecuencia de la señal portadora es de 1 KHz.

118

Utilice una frecuencia de muestreo de 80 KHz. La señal a modular es m(t ) = Am cos ωmt . La señal modulada es la siguiente ⎛ ⎞ k A s (t ) = Ac cos⎜⎜ ωc + ω m sin ωmt ⎟⎟ ωm ⎝ ⎠

Calcule una valor adecuado de kω y Am para que el valor de beta sea 5. 2.

Grafique la señal a modular y la señal modulada (señal FM generada). Comente sus resultados.

3.

Determine el espectro de frecuencia en magnitud y fase de la señal modulada. Compruebe que la señal FM posee muchas componentes en frecuencia y que la magnitud de componente de la señal portadora tiende a cero.

4.

Utilizando la función “modulate” de MATLAB y cambiando la palabra “method” por “fm” module la señal m(t ) = Am cos ωmt con una frecuencia de 100 Hz y la portadora con una frecuencia de 1 KHz. Cuando se utiliza la opción “fm” se debe agregar una constante llamada “opt” esta representa el índice de modulación, pruebe con 0.04.

5.

Grafique la señal a modular y la señal modulada con “modulate”.

6.

Utilizando “modulate” varíe el valor de la constante “opt”. Puede utilizar tres valores diferentes entre 0 y 1.

7.

Grafique estas tres señales FM generadas y observe lo que sucede cuando el índice de modulación es modificado.

119

8.

Ahora utilizando “demod” demodule las señales obtenidas en los puntos (6) y (7). Utilice “fm” en lugar de la palabra “method”.

9.

Grafique las señales demoduladas para cada índice de modulación probado y compare con la señal original la cual es la señal a modular. Comente sus resultados.

10.

Obtenga el espectro en frecuencia de magnitud y fase para cada una las señales obtenidas en el punto (8).

3.6.2 Modulación y demodulación FM utilizando SIMULINK

1.

Como introducción a la modulación y demodulación FM, SIMULINK 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 “FM Modulator Paseband” y “FM Demodulator Passband”. Utilice estos bloques para modular la señal del punto (1) de la sección 3.6.1. La herramienta de ayuda de MATLAB tiene la información necesaria para utilizar correctamente estos bloques.

2.

Utilice nuevamente el bloque “Sine Wave” para generar la señal a modular. La señal que se obtiene después del bloque demodulador pásela a través de un filtro IIR pasobajo Chebyshev Tipo I con una frecuencia de corte que permita el paso de la frecuencia central de la señal original y justifique el porque de su escogencia.

120

3.

Obtenga la grafica de la señal a modular, la señal FM y la señal demodulada. También represente el espectro de frecuencia para cada una de estas señales utilizando el bloque “Spectrum Scope”.

3.6.3 Cuestionario

1.

¿Por qué la magnitud de la componente en frecuencia de la portadora tiende a cero?

2.

Investigue, ¿qué es el índice de modulación en frecuencia y cuál es su efecto cuando se usa modulación FM? ¿Cómo debe ser este para que la señal se pueda reconstruir bien?

3.

¿Cuáles son las ventajas y desventajas de utilizar la modulación FM?

121

3.7

Laboratorio de modulación PAM En la modulación PAM, la información es transmitida en símbolos de valores

discretos, uniformemente espaciados por intervalos de tiempo. La señal portadora es un tren periódico de pulsos rectangulares separados a la misma distancia uno de otro. La amplitud de los pulsos es proporcional al valor instantáneo de las muestras de una señal continua. Una señal PAM se puede representar por la siguiente ecuación

s (t ) =



∑ [1 + k m(nT )]g (t − nT ) a

n = −∞

s

s

Donde s (t ) > 0 para todo valor de n, m(nTs ) es la muestra de la señal a modular m(t ) , ka es la sensibilidad en amplitud y g (t ) es la forma del pulso o cuantificador. La tasa

de muestreo debe ser mayor que dos veces la frecuencia máxima de la señal moduladora m(t ) de acuerdo con el teorema de muestreo.

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 muestran en la siguiente tabla.

122

Tabla 3.4 Funciones de MATLAB para modulación y demodulación PAM Función en MATLAB

Descripción

La salida de esta función es la envolvente compleja de una señal “x” al ser modulada utilizando modulación PAM. y = pammod(x,M)

“M” es la cantidad de niveles de cuantificación

y = pammod(x,M,ini_phase)

de la señal, la cual debe estar dada en valores enteros positivos. La segunda opción “ini_phase” especifica en radianes la fase inicial de la señal modulada. Esta función demodula la envolvente compleja de

z = pamdemod(y,M)

una

señal

PAM.

Los

niveles

de

cuantificación es la variable “M”.

z = pamdemod(y,M,ini_phase)

La segunda opción “ini_phase” especifica en radianes la fase inicial de la señal PAM.

3.7.1 Modulación y demodulación PAM en MATLAB

1.

Para conocer el efecto de la modulación de amplitud de pulso module la siguiente señal y = 10 cos(4πt ) , utilice una frecuencia de muestreo de 1000 Hz y obtenga mil muestras. En MATLAB con la ayuda de la función “square”, cree un tren de pulsos con ciclo de trabajo de un 25% y

123

una frecuencia de 30 Hz, esto para apreciar este fenómeno. Añada un nivel DC a la señal original y multiplique esta por el tren de pulsos. 2.

Grafique la señal a modular, el tren de pulsos y la señal modulada. También obtenga y grafique el espectro en magnitud y fase de la señal a modular y la señal modulada.

3.

Para poder utilizar las funciones de la tabla 3.4 se necesita que la señal esté antes cuantificada en niveles de valores enteros positivos. Para no tener problemas con estas funciones utilizaremos la función “quantiz” que nos permite cuantificar una señal a los niveles o símbolos que queramos en este caso enteros positivos. Para ello emplee el siguiente código y explique detalladamente lo que sucede. 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 ) con una frecuencia central f m = 100 Hz y Am = 15 . Debe utilizar una frecuencia de muestreo de f muestreo = 4 KHz y obtenga 200 muestras. Recuerde que “M” debe ser una potencia de 2 suficiente para generar los niveles de cuantificación de la señal cuantificada, pero antes de

124

cuantificar debe añadir un nivel DC a la señal muestreada suficiente para que no haya niveles de valores negativos. 5.

Module por medio de modulación PAM utilizando la función “pammod” la señal cuantificada en el punto (4).

6.

Grafique la señal a modular, la señal cuantificada y la señal modulada. Grafique la señal cuantificada utilizando tanto la función “plot” como la función “stem”.

7.

Demodule la señal PAM generada en el punto (5) utilizando la función “pamdemod”. Grafique la señal demodulada y compare con la señal original. Comente sus resultados

8.

Obtenga el espectro de frecuencia en magnitud y fase de la señal modulada y la señal demodulada.

9.

Obtenga el diagrama de ojo de la señal demodulada utilizando la función “eyediagram” y comente sus resultados.

3.7.2 Modulación y demodulación PAM en SIMULINK

1.

Para modulación y demodulación PAM existen los siguientes bloques en SIMULINK “M-PAM Modulator Baseband” y “M-PAM Demodulator Baseband”. Estos se pueden configurar para recibir enteros positivos o una trama de bits. Para simular un pequeño sistema PAM entonces se necesita generar primero de forma aleatoria cierta cantidad de 32

125

elementos utilizando el bloque “Random Integer Generator”. Utilice una frecuencia de muestreo de 1000 Hz. Luego convierta esta señal a bits con el siguiente bloque “Integer to Bit Converter”. Después module y demodule esta señal utilizando los bloques para simulación PAM que se encuentran en la librería “Digital Baseband Modulation”. 2.

Utilice la herramienta de ayuda de MATLAB para utilizar correctamente estos bloques.

3.

Obtenga la señal a modular, la señal modulada y la señal demodulada. Compare la señal reconstruida con la señal original.

4.

Obtenga un diagrama de ojo de la señal demodulada con el bloque “Discrete Time Eye Diagram Scope” para 8 muestras por símbolo.

5.

Se recomienda utilizar un tiempo de simulación de 30 segundos para apreciar con claridad lo que esta sucediendo. Comente sus resultados.

3.7.3 Cuestionario

1.

¿Qué es el fenómeno de Interferencia entre símbolos (ISI)?

2.

¿Qué es un diagrama de ojo? ¿Cuál es su importancia en el análisis de sistemas de comunicaciones digitales?

3.

¿Cuáles son las ventajas y desventajas de la modulación PAM?

126

3.8

Laboratorio de modulación QAM La modulación de amplitud en cuadratura o QAM es una modulación digital en la

que el mensaje está contenido tanto en la amplitud como la fase de la señal transmitida. Se basa en la transmisión de dos mensajes independientes por un único camino. Esto 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 mejora la eficiencia de ancho de banda. La modulación QAM es un esquema un tanto riguroso. Un pequeño error en la fase o la frecuencia de la portadora en el demodulador no solo resulta en pérdida o distorsión de las señales sino interferencia entre ambos canales. La modulación QAM es utilizada en las transmisiones de televisión en color para multiplexar las señales de crominancia, que portan la información acerca del color. En este caso, la sincronización se logra por la inserción periódica de una muestra de la señal 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”, estas funciones se muestran en la siguiente tabla.

127

Tabla 3.5 Funciones de MATLAB para la modulación y demodulación QAM Función en MATLAB

Descripción

La salida de esta función es la envolvente compleja de una señal “x” al ser modulada utilizando modulación QAM. “M” es la cantidad de niveles de cuantificación y = qammod(x,M)

de la señal, la cual debe estar dada en valores

y = qammod(x,M,ini_phase)

enteros positivos en potencia de 2. La señal obtenida es una constelación de forma rectangular o en cruz. La segunda opción “ini_phase” especifica en radianes la fase inicial de la señal modulada Esta función demodula la envolvente compleja de una señal QAM. “M” es la cantidad de niveles de cuantificación

z = qamdemod(y,M)

de la señal, la cual debe estar dada en valores

z = qamdemod(y,M,ini_phase)

enteros positivos en potencia de 2. La segunda opción “ini_phase” especifica en radianes la fase inicial de la señal modulada

128

3.8.1 Modulación y demodulación QAM

1.

Se desea modular una señal formada por las siguientes señales m1 (t ) = Am sen(2πf1t )

m2 (t ) = Am sen(2πf 2t ) Donde Am = 7 , f1 = 180 Hz y f 2 = 25 Hz. Utilice una frecuencia de muestreo de f muestreo = 4 KHz y obtenga 200 muestras. Cuantifique la señal muestreada a niveles enteros positivos. 2.

Grafique la señal a modular y la señal cuantificada (utilice tanto “plot” como “stem”).

3.

Module la señal cuantificada en el punto (1) utilizando la función “qammod” y grafique la señal modulada en cuadratura y fase.

4.

Suponga que a la señal se le añade ruido en el canal de transmisión. El canal contiene ruido gausiano o AWGN. Este ruido se genera con el siguiente código, utilícelo y explique. k=log2(M); EbNo = 10; %dB snr = EbNo + 10*log10(k) - 10*log10(1); ynoisy = awgn(ytx,snr,'measured');

5.

Utilice la función “scatterplot” para mostrar la constelación de la señal QAM antes y después de que se le añada el ruido gausiano. Comente sus resultados.

129

6.

Luego demodule la señal con y sin ruido utilizando la función “qamdemod”. Grafique ambas señales demoduladas y compare con la señal original. Comente sus resultados.

7.

Por último obtenga el espectro de frecuencia en magnitud y fase de la señal a modular, la señal modulada y demodulada, ambas con y sin ruido. Comente sus resultados.

3.8.2 Modulación y demodulación QAM con SIMULINK

1.

Para modulación y demodulación QAM existen los siguientes bloques en SIMULINK “Rectangular QAM Modulator Baseband” y “Rectangular QAM Demodulator Baseband”. Estos se pueden configurar para recibir enteros positivos o una trama de bits. Para simular un pequeño sistema QAM entonces se necesita generar primero de forma aleatoria cierta cantidad de 32 elementos utilizando el bloque “Random Integer Generator”. Utilice una frecuencia de muestreo de 1000 Hz. Después module y demodule esta señal utilizando los bloques para simulación QAM que se encuentran en la librería “Digital Baseband Modulation”.

2.

Para simular un canal de transmisión con ruido utilice el bloque llamado “AWGN Channel”. Modifique sus propiedades y utilice en la “Mode” la 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 salida debe ir a la entrada del demodulador. 3.

Utilice la herramienta de ayuda de MATLAB para utilizar correctamente estos bloques.

4.

Obtenga la señal a modular, la señal modulada con y sin ruido y la señal demodulada. Compare la señal reconstruida con la señal original.

5.

Obtenga un diagrama de constelación de la señal demodulada con el bloque “Discrete Time Scatter Plot Scope” para 32 muestras por símbolo.

6.

Se recomienda utilizar un tiempo de simulación de al menos 100 segundos para apreciar con claridad lo que esta sucediendo. Comente sus resultados.

3.8.2 Cuestionario

1.

¿Cuáles son las ventajas y desventajas de la modulación QAM?

2.

¿En qué consiste un canal de transmisión que añade ruido blanco gausiano (AWGN acrónimo en inglés para Additive White Gaussian Noise)? ¿Qué es el SNR y el BER?

3.

¿Cuál es la importancia de evaluar un sistema de comunicación digital con un canal de este tipo?

4.

Investigue en qué consiste el estándar de transmisión V22bis para sistemas de comunicación digital.

131

CAPÍTULO 4: Conclusiones y recomendaciones

4.1

Conclusiones MATLAB Y SIMULINK son dos herramientas muy poderosas con las cuales se

hace posible la simulación de sistemas de comunicación tanto analógicos como digitales. Se demostró que con estas dos herramientas se puede obtener una aproximación excelente para el estudio de los conceptos básicos en el comportamiento de los sistemas de comunicación. Al desarrollar prácticas de simulación en sistemas de comunicaciones tanto analógicos como digitales, se logra dar un enfoque práctico a los conceptos planteados en el curso de Procesamiento Digital de Señales, mediante la simulación de señales en el dominio del tiempo, así como en el dominio de la frecuencia al evaluar conceptos como muestreo, cuantificación, filtrado, densidad espectral, modulación analógica y digital, por mencionar algunos de los más comunes. Se consigue aprender los conceptos de como implementar las técnicas de filtrado para señales de tiempo discreto usualmente utilizadas en el curso de procesamiento digital de señales por medio del laboratorio de filtros digitales. El laboratorio de FFT permite conocer y utilizar una técnica importante en el análisis espectral de señales discretas. Este laboratorio ayudó a implementar un analizador de espectro utilizando la Transformada Rápida de Fourier (FFT), el cual fue de gran ayuda para los laboratorios siguientes.

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 en laboratorio de modulación AM. Con el laboratorio de modulación DSBSC-AM se consigue introducir al estudiante a una técnica de modulación AM que permite transmitir la señal modulada en amplitud sólo con la potencia requerida para la señal de información. El laboratorio de modulación SSB-AM permite conocer otra técnica de modulación AM la cual utiliza la mitad del ancho de banda al utilizar eficientemente el espectro en frecuencia. También se pudo demostrar que se puede recuperar la señal original a pesar de que solo se transmita la mitad de esta. Se pudo estudiar la teoría básica de modulación y demodulación FM por medio de las ecuaciones que MATLAB presenta para este tipo de modulación. Analizar el espectro de frecuencia de una señal FM por medio del laboratorio de modulación FM. El laboratorio de modulación PAM da a conocer el principio básico de la modulación por amplitud de pulsos la cual es de gran importancia en el procesamiento digital de señales. Se introduce el concepto de una herramienta llamada diagrama de ojo que permite analizar la calidad de una señal PAM. El último laboratorio de modulación QAM da a conocer otro método de modulación 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 tareas cotidianas de muchas personas alrededor del mundo. Estas prácticas de simulación permitirán al estudiante no sólo familiarizarse con la teoría durante sus estudios, sino que le permitirá tener una idea más clara del comportamiento y las técnicas utilizadas en los sistemas de comunicación.

4.2

Recomendaciones Las prácticas planteadas deben estar acompañadas de una base teórica. Esto debido

a que las técnicas de comunicación utilizadas en los sistemas de comunicación se mejoran 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. MATLAB 7.0.1 es la versión en la que se basa la realización de los ejercicios de simulación por lo que algunas de las funciones y bloques de SIMULINK mencionados para la simulación de modulaciones es posible que no aparezcan en versiones anteriores a esta.

134

BIBLIOGRAFÍA A continuación se presenta las referencias bibliográficas consultadas para la elaboración de este proyecto.

Libros: 1. Antoniou, A. “Digital Signal Processing: Signals, Systems and Filters”, Primera edición, McGraw-Hill, New York, Estados Unidos, 2006. 2. Tretter, S. A. “Communication System Design Using DSP Algorithms”, Primera edición, Kluwer Academic / Plenum Publishers, New York, Estados Unidos, 2003. 3. Jackson, L. B. “Digital filters and Signal Processing”, Tercera edición, Boston: Kluwer Academic Publishers, Estados Unidos, 1996. 4. Stanley, W. D. “Digital Signal Processing”, Segunda edición, Reston Publishing Company, Inc., Estados Unidos, 1984. 5. Alkin, O. “Digital Signal Processing: A Laboratory Approach Using PC-DSP”, Primera edición, Prentice Hall, Estados Unidos, 1994. 6. Proakis, J. G. “Tratamiento digital de señales”, Tercera edición, Prentice Hall, Madrid, España, 1998. 7. Bildstein, P. “Filtros Activos”, Primera edición, Marcombo Boixareu Editores, España, 1977. 8. Johnson, D. E. “Rapid Practical Designs of Active Filters”, Primera edición, John Wiley & Sons, Inc., Estados Unidos, 1975.

135

Páginas web: 9. Universidad de Valladolid. Marcos Martínez Fernández, MMF. “Modulación analógica y digital de Pulsos”, http://www.lpi.tel.uva.es/lpi/dld/tts/tema5.pdf

10. Universidad de Valladolid. Marcos Martínez Fernández, MMF. “Transmisión digital en banda base”, http://www.lpi.tel.uva.es/lpi/dld/tts/tema6.pdf

11. Universidad de Valladolid. Marcos Martínez Fernández, MMF. “Transmisión digital paso banda”, http://www.lpi.tel.uva.es/lpi/dld/tts/tema7.pdf

136

APÉNDICES

APÉNDICE A: Código fuente de los ejercicios de simulación en MATLAB A.1

Código fuente laboratorio de filtros digitales

%************************************************************************ %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 %Parámetros del filtro N=[8 16 32 64]; Wn=[1200 2000]/(fm/2); L=length(N); M=zeros(N(L)+1,L);

%Orden del filtro %Frecuencias de corte %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 %Visualización de la respuesta en frecuencia figure(1) subplot(2,1,1); plot(W/pi,20*log10(abs(H))); title('Respuesta en magnitud del filtro Hamming'); 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; %************************************************************************ %************************************************************************ %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; %Gráficas de las señales que conforman la señal de entrada figure(2) subplot(3,1,1); plot(t,xin1); title('Señal con frecuencia de 720 Hz'); xlabel('Tiempo (segundos)'); ylabel('Amplitud'); grid on; 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 %Se grafican las salidas de los filtros figure(4) subplot(4,1,1); plot(t,fil(:,1)); txtp1=strcat('Salida del filtro Hamming de orden N=',num2str(N(1))); title(txtp1); xlabel('Tiempo (segundos)');

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 %Cálculo 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

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 %Se grafican las salidas de los filtros figure(6) subplot(4,1,1); plot(t,fil(:,1)); txtp1=strcat('Salida del filtro Kaiser de orden N=',num2str(N(1))); title(txtp1); xlabel('Tiempo (segundos)'); ylabel('Amplitud'); grid on; 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 %Cálculo 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 % Visualización de la respuesta en frecuencia figure(7) subplot(2,1,1); plot(W/pi,20*log10(abs(H))); title('Respuesta en magnitud del filtro Bartlett'); 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;

142

%Filtrando fil=zeros(length(x_in),L); for i=1:L h1=filter(M(:,i),1,x_in); fil(:,i)=h1; end %Se grafican las salidas de los filtros figure(8) subplot(4,1,1); plot(t,fil(:,1)); txtp1=strcat('Salida del filtro Bartlett de orden N=',num2str(N(1))); title(txtp1); xlabel('Tiempo (segundos)'); ylabel('Amplitud'); grid on; 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 %Parámetros del filtro N2=8;

%Orden del filtro

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 %Se grafican los resultados figure(9) subplot(2,1,1); plot(f,20*log10(abs(H))); axis([0 2500 -200 0]); title('Respuesta en magnitud del filtro'); xlabel('Frecuencia (Hz)'); ylabel('Magnitud (dB)'); txtp5=strcat('N=',num2str(N2)); legend(txtp5); grid on; 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); %Cálculo de los coeficientes de un filtro IIR tipo elíptico for i=1:L [b,a]=ellip(Ns(i),0.3,60,300/(fm/2),'low'); for j=1:length(b) B(j,i)=b(j); end for j=1:length(a) A(j,i)=a(j); end end %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 %Se grafica la respuesta en frecuencia de cada uno de los filtros figure(12); subplot(2,1,1); plot(F,20*log10(abs(Hf)+eps)); title('Respuesta de magnitud del filtro Amin=0.3 dB, Amax=60 dB'); xlabel('Frecuencia (Hz)'); ylabel('Magnitud (dB)'); legend('N=8','N=12','N=16'); grid on; 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; %Cálculo de los coeficientes de un filtro IIR tipo elíptico B=zeros(Ns(L)+1,L); A=zeros(Ns(L)+1,L); for i=1:L [b,a]=ellip(Ns(1),Amin(i),60,300/(fm/2),'low'); for j=1:length(b) B(j,i)=b(j); end for j=1:length(a) A(j,i)=a(j); end end %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 %Se grafica la respuesta en frecuencia de cada uno de los filtros figure(13); subplot(2,1,1); plot(F,20*log10(abs(Hf)+eps));

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;

%Cálculo de los coeficientes de un filtro IIR tipo elíptico B=zeros(Ns(L)+1,L); A=zeros(Ns(L)+1,L); for i=1:L [b,a]=ellip(Ns(1),0.3,Amax(i),300/(fm/2),'low'); for j=1:length(b) B(j,i)=b(j); %Se guardan uno a uno los coeficientes end for j=1:length(a) A(j,i)=a(j); %Se guardan uno a uno los coeficientes end end %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 %Se grafica la respuesta en frecuencia de cada uno de los filtros figure(14); subplot(2,1,1); plot(F,20*log10(abs(Hf)+eps)); title('Respuesta de magnitud del filtro N=8, Amin=0.3 dB'); xlabel('Frecuencia (Hz)'); ylabel('Magnitud (dB)'); legend('Amax=20','Amax=60','Amax=120'); grid on; 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 %Parámetros del filtro N=6; wn=[300 500];

%Orden del filtro

%Cálculo de los coeficientes de un filtro IIR tipo eliptico [b1,a1]=cheby1(N,0.5,wn/(fm/2)); %Respuesta en frecuencia [H,f]=freqz(b1,a1,2048,fm); %Se grafican los resultados figure(15); subplot(2,1,1); plot(f,20*log10(abs(H))); title('Respuesta de magnitud del filtro IIR pasabanda, Chebyshev Tipo I'); xlabel('Frecuencia (Hz)'); ylabel('Magnitud (dB)'); grid on; 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); %Se grafica la salida del filtro figure(16) 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 (7) %************************************************************************ fm=8000; %Frecuencia de muestreo %Parámetros del filtro N=6; wn=[300 500]; [b2,a2]=cheby1(N,0.5,wn/(fm/2),'stop'); [H,f]=freqz(b2,a2,2048,fm);

%Orden del filtro %Cálculo de los coeficientes de %un filtro IIR tipo elíptico %Respuesta en frecuencia

%Se grafican los resultados figure(18); subplot(2,1,1); plot(f,20*log10(abs(H))); title('Respuesta de magnitud del filtro IIR rechazabanda, Chebyshev Tipo I'); xlabel('Frecuencia (Hz)'); ylabel('Magnitud (dB)'); grid on; 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); %Parámetros del filtro W=[2500 2600]/(fm/2); Wp=W(1); Ws=W(2); R=[0.3 40]; Rp=R(1); Rs=R(2); %Cálculo del orden del filtro [n,Wn] = ellipord(Wp,Ws,Rp,Rs,'s'); %Cálculo de los coeficientes de un filtro analógico tipo elíptico o cauer [numa,dena]=ellip(n,Rp,Rs,Wn*(fm/2)*2*pi,'low','s'); %Respuesta en frecuencia del filtro analógico [H1,f1]=freqs(numa,dena,fm); %Utilizando la transformación bilineal se pasa de un filtro analógico a *un filtro digital [numd,dend] = bilinear(numa,dena,fm,1000); %Ahora se hace una transformación espectral pasando de un filtro pasobajo *a un filtro pasabanda [b2,a2]=iirlp2bp(numd,dend,0.3,wn); %Respuesta en frecuencia del filtro IIR basado en un filtro analógico %pasobajo elíptico. [H2,f2]=freqz(b2,a2,2048,fm);

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 %Se define la secuencia de entrada xin=cos(2*pi*1/8*n)+cos(2*pi*1/4*n)+cos(2*pi*13/50*n); 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; faux(1:M)=-M:-1; f=fn*faux/(Nfft(i));

%Vector de frecuencias desordenado %Vector de frecuencias ordenado %Vector de frecuencias normalizado

%Graficas de las espectros en frecuencias de las señales obtenidas figure; subplot(3,1,1); plot(n,xin); axis([0 treq -3 3]); title('Señal de entrada original'); xlabel('Tiempo (segundos)'); ylabel('Amplitud'); txtp=strcat('f muestreo = ',num2str(fn),' Hz'); legend(txtp); grid on; 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 %Cálculo de la DFT utilzando la FFT Y2=fft(xnew,Nfft2); %FFT de Nfft puntos para la secuencia xnew Y3=fftshift(Y2); %Reordenamiento de los valores de la FFT norm2=max(abs(Y3)); %Para normalizar el espectro en magnitud %Vector de frecuencias M1=Nfft2/2; faux1(M1+1:Nfft2)=0:M1-1; faux1(1:M1)=-M1:-1; f1=fn*faux1/(Nfft2);

%Vector de frecuencias desordenado %Vector de frecuencias ordenado %Vector de frecuencias normalizado

%Graficas de las espectros en frecuencias de las señales obtenidas figure(8); subplot(3,1,1); plot(t2,xnew); axis([0 L2_medio*4 -3 3]); title('Señal de entrada rellenada con ceros'); xlabel('Tiempo (segundos)'); ylabel('Amplitud'); txtp2=strcat('f muestreo = ',num2str(fn2),' Hz'); legend(txtp2); grid on; 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 %Se definen las señales x1=0.04742*cos(2*pi*200*t3+1.5077); x2=0.1362*cos(2*pi*400*t3+1.8769); x3=0.4884*cos(2*pi*500*t3-0.1852); x4=0.4884*cos(2*pi*1600*t3-1.4488); x5=0.1223*cos(2*pi*1700*t3); %Se define la señal compuesta por las señales anteriores xtotal=x1+x2+x3+x4+x5; %Cálculo de la DFT utilzando Y4=fft(xtotal,Nfft3); Y5=fftshift(Y4); norm=max(abs(Y5)); Yf=unwrap(angle(Y5)); %Vector de frecuencias M3=Nfft3/2; faux3(M3+1:Nfft3)=0:M3-1; faux3(1:M3)=-M3:-1; f3=fn3*faux3/(Nfft3);

la FFT %FFT de Nfft puntos para la secuencia xtotal %Reordenamiento de los valores de la FFT %Para normalizar el espectro en magnitud %Cálculo de las componentes de fase

%Vector de frecuencias desordenado %Vector de frecuencias ordenado %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 %Señal mensaje (tono): fs=fm; ftono=10; wtono=2*pi*ftono; mtono=1.6*cos(wtono*t);

%Frecuencia de muestreo %Frecuencia de la señal a modular %Frecuencia en rads/s %Señal a modular

%Señal modulada (AM) fc=100; s=modulate(mtono,fc,fs,'am');

%Frecuencia de la señal portadora %Señal modulada

%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; %Gráfica de la señal modulada subplot(3,1,2) plot(t,s); title('Señal modulada'); xlabel('Tiempo (segundos)'); ylabel('Amplitud'); txt=strcat('f muestreo =',num2str(fs),' Hz'); legend(txt); axis([0 treq/4 -2 2]); grid on; %Gráfica de la señal demodulada subplot(3,1,3); plot(t,mreconst); title('Señal reconstruida'); xlabel('Tiempo (segundos)'); ylabel('Amplitud'); axis([0 treq -3 3]); txt=strcat('f muestreo =',num2str(fs),' Hz'); legend(txt); grid on; %Cálculo de la DFT utilzando la FFT Nfft=1024; Y=fft(s,Nfft); %FFT de Nfft puntos para la señal s Y2=fftshift(Y); %Reordenamiento de los valores de la FFT norm=max(abs(Y2)); %Para normalizar el espectro en magnitud Yf=unwrap(angle(Y2)); %Cálculo de las componentes de fase de la señal %Vector de frecuencias M=Nfft/2; faux(M+1:Nfft)=0:M-1; faux(1:M)=-M:-1; f=fm*faux/(Nfft);

%Vector de frecuencias desordenado %Vector de frecuencias ordenado %Vector de frecuencias normalizado

%Se grafican los resultados obtenidos figure(2)

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; %Cálculo de la DFT utilzando la Ytono=fft(mtono,Nfft); Y2tono=fftshift(Ytono); norm1=max(abs(Y2tono)); Yftono=unwrap(angle(Y2tono));

FFT de la señal tono de prueba %FFT de Nfft puntos para la señal mtono %Reordenamiento de los valores de la FFT %Para normalizar el espectro en magnitud %Cálculo de las componentes de fase

%Cálculo de la DFT utilzando la FFT de la señal reconstruida Yreconst=fft(mreconst,Nfft); %FFT de Nfft puntos para la señal mtono Y2reconst=fftshift(Yreconst); %Reordenamiento de los valores de la FFT norm2=max(abs(Y2reconst)); %Para normalizar el espectro en magnitud Yfreconst=unwrap(angle(Y2reconst)); %Cálculo de las componentes de fase %Se grafican los resultados figure(3) subplot(2,1,1); plot(f,abs(Y2tono)/norm1,f,abs(Y2reconst)/norm2); title('Espectro continuo en magnitud'); xlabel('Frecuencia (Hz)'); ylabel('Magnitud normalizada |FFT|'); legend('Señal tono de prueba','Señal reconstruida'); 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

Ap=5; indmod=[0.45 1 2.6]; ka=0.5;

%Amplitud de la portadora %Indice de modulación %Indice de sensibilidad

%Modulación para cada uno de los diferentes índices de modulación L=length(indmod); for i=1:L Am1=indmod(i)/ka; fym=5; fyc=10*fym; %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)); %Se grafican los resultados figure(4); if i==1 subplot(3,1,1); plot(t,real(ys)); title('Señal AM con índice de modulación m1'); xlabel('Tiempo (segundos)'); ylabel('Amplitud'); axis([0 treq/4 -(ysmax+1) ysmax+1]); grid on;

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;

ma M=b(i) end i=i+1; end

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)); %se grafican los resultados figure(5) subplot(2,1,1) plot(n1,ym1) title('Señal original'); xlabel('Tiempo (segundos)'); ylabel('Amplitud'); txt=strcat('fmuestreo= ',num2str(fm),' Hz'); legend(txt); xlim([0 treq/3]); grid on; 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; %Cálculo de la DFT utilzando la FFT para la señal demodulada Y4=fft(z1,Nfft); %FFT de Nfft puntos 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 de la señal 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 %Muestreo de la señal a modular Am=7; wm1=2*pi*180; wm2=2*pi*25; ym1=Am*sin(wm1*n1); ym2=Am*sin(wm2*n1); ymt=ym1+ym2; %Se añade un nivel DC suficiente para no tener valores negativos ymtdc=ymt+max(abs(ymt));

196

%CUANTIFICACION %Se define la partición a=round(max(ymtdc)); particion = [0:1:a-1]; simbolos = [0:1:a];

%La longitud de la partición debe ser una %unidad menor que le codebook %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); %Búsqueda del M apropiado dependiendo de la amplitud de la señal una vez %cuantificada M=0; %Inicialización de M i=1; while M==0 if b(i)>a M=b(i); %Asignación de un M end i=i+1; end %Modulación QAM sqam=qammod(sencuant,M); %grafica de la señal en cuadratura y fase figure(3) subplot(2,1,1); plot(real(sqam),'-g'); title('Señal QAM en cuadratura'); xlabel('Tiempo (segundos)'); ylabel('Amplitud'); grid on; 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; %Simulación de un canal AWGN %Se envia la señal través de este canal k=log2(M); EbNo = 10; %Tasa de energía de la densidad de energía espectral dB snr = EbNo + 10*log10(k) - 10*log10(1);%Tasa de ruido por muestra ynoisy = awgn(ytx,snr,'measured'); %Se genera la nueva señal con ruido %************************************************************************ %************************************************************************ %Punto (5) %************************************************************************ %La nueva señal es recibida yrx = ynoisy; %Se analiza la señal QAM utilizando un diagrama de constelación M valores h=scatterplot(yrx,1,0,'g.'); hold on; scatterplot(ytx,1,0,'k*',h); title('Señal QAM'); ylabel('En Cuadratura'); xlabel('En Fase'); legend('Señal con ruido','Señal sin ruido',4); grid on; hold off; %************************************************************************ %************************************************************************ %Punto (6) %************************************************************************ %Demodulación QAM utilizando "qamdemod" %Se demodula la señal sin ruido z1=qamdemod(ytx,M); z1=z1-max(abs(ymt)); %Se demodula la señal con ruido z2=qamdemod(yrx,M); z2=z2-max(abs(ymt));

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 %Cálculo de la DFT utilzando la FFT para la señal a modular Y1=fft(ymt,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 de la señal %Cálculo de la DFT utilzando la FFT para la señal modulada sin ruido Y2=fft(ytx,Nfft); %FFT de Nfft puntos 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 %Cálculo de la DFT utilzando la FFT para la señal modulada con ruido Y3=fft(yrx,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 %Cálculo de la DFT utilzando la FFT para la señal demodulada sin ruido Y4=fft(z1,Nfft); %FFT de Nfft puntos 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 de la señal

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 %Grafica del espectro de frecuencia de la señal a modular figure(6) 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); 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); grid on; %Grafica del espectro de frecuencia de la señal modulada sin ruido figure(7) subplot(2,1,1); plot(f,abs(Y2)/norm2); title('Espectro continuo en magnitud de la señal QAM sin ruido'); 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; %Grafica del espectro de frecuencia de la señal demodulada sin ruido figure(9) subplot(2,1,1); plot(f,abs(Y4)/norm4); title('Espectro continuo en magnitud de la señal demodulada sin 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; %Grafica del espectro de frecuencia de la señal demodulada con ruido figure(10) subplot(2,1,1); plot(f,abs(Y5)/norm5); title('Espectro continuo en magnitud de la señal demodulada con 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 B.1

Simulación: laboratorio de filtros digitales ************************************************************************ 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 1440 Hz Add

Zero-Order Hold

Filtro FIR N=64 Hamming

Salida del filtro pasabanda FIR

Onda de 3000 Hz Señales Señal completa

FDATool

Onda de 120 Hz Filtro pasabanda IIR N=6 Chebyshev Tipo I Onda de 400 Hz Add1

Zero-Order Hold1

FDATool

Onda de 680 Hz Señales1 Señal completa1

204

Salida del filtro pasabanda

Filtro rechaza banda IIR N=6 Chebyshev Tipo I1

Salida del filtro rechaza banda

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 Salida f iltro pasobajo

Onda de 1500 Hz

Filtro Pasobajo FIR N=36 Hamming

Onda de 175 Hz

Onda de 1200 Hz

B-FFT Espectro de la salida del filtro pasobajo

Zero-Order Hold

FDATool Salida del filtro pasabanda Salida f iltro pasabanda

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

Filtro FIR N=36 Pasoalto Hamming

B-FFT Espectro de la salida del filtro 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 modular1

Seña a modular

Zero-Order Hold2

B-FFT Espectro de la señal a modular

Señal a modular Product

0.5

Zero-Order Hold

Modulador

Señal modulada

ka 1 Nivel DC

Señal portadora Zero-Order Hold1 Detector de envolvente de Ley Cuadrática Señal reconstruida

FDATool

1.7-1.7z-1

sqrt

2-1.4z-1 Señal reconstruida

Filtro pasoalto para eliminar DC

Raíz cuadrada1

Raíz cuadrada

206

Salida del filtro pasobajo

2

Elevador Filtro FIR pasobajo N=36 Hamming

B-FFT Espectro de la salida del filtro paso alto

u

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. ************************************************************************

Sen de 20Hz

Zero-Order Hold1

Fcn

Señal a modular

Product

exp(-0.5*(u)) Clock

Señal a modular

B-FFT

Zero-Order Hold2

Espectro señal a modular Señal modulada

Señal portadora

Zero-Order Hold

Product1

Señal modulada

B-FFT Espectro portadora

Demodulador FDATool

Señal demodulada

LO (Oscilador Local)

Zero-Order Hold3

Product3

Señal demodulada Filtro FIR pasobajo N=24 Hamming 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 a modular

Señal a modular

Sen de 600Hz

Zero-Order Hold1

B-FFT

Product1

Zero-Order Hold

Espectro de la señal a modular

Señal portadora 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 Señal SSB-AM banda lateral inferior Señal SSB-AM banda lateral inf erior

Filtro FIR pasobajo N=36 Hamming

B-FFT

Espectro de la señal SSB-AM banda lateral inferior

Modulador SSB-AM (Banda lateral superior) FDATool

Señal SSB-AM banda lateral superior Señal SSB-AM banda lateral superior

Filtro FIR pasoalto N=36 Hamming

B-FFT

Espectro de la señal SSB-AM banda lateral superior FDATool

DEMODULACION SSB-AM

Product2 Filtro FIR pasobajo N=36 Hamming1 FDATool

Señal portadora1 Zero-Order Hold2 Product3

Filtro FIR pasobajo N=36 Hamming2

208

Señal reconstruida con banda lateral inferior

Señal reconstruida con banda lateral superior Comparación

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. ************************************************************************

MODULACION DE UN TONO SIMPLE Señal a modular

Señal a modular

Sen de 100Hz Zero-Order Hold1

B-FFT

Señal a modular

Espectro señal a modular Comparación

Señal FM

Señal FM

FM FM Modulator Passband

Señal FM

B-FFT Espectro señal FM

FM FM Demodulator Passband FDATool Señal demodulada Señal demodulada

Filtro Chebyshev Tipo I N=6 pasobajo

B-FFT Espectro 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 Random Integer

Integer to Bit Converter

M-PAM

Señal PAM

Random Integer Generator

M-PAM Modulator Baseband Señal aleatoria de enteros positivos Se convierten en bits

B-FFT

Espectro señal PAM

|u| Abs

Señal PAM

Diagrama de Ojo Señal PAM

M-PAM M-PAM Demodulator Baseband

Bit to Integer Converter Bit to Integer Converter

Señal reconstruida Señal reconstruida

B-FFT Espectro señal reconstruida

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

Random Integer Random Integer Generator

Rectangular QAM Rectangular QAM Modulator Baseband Señal aleatoria de enteros positivos

Señal QAM

B-FFT Espectro señal QAM Señal QAM

Re(u) Im(u)

Cuadratura

Complex to Real-Imag Rectangular QAM Constelación señal QAM sin ruido

AWGN

AWGN Channel

Señal reconstruida sin ruido

Rectangular QAM Demodulator Baseband1

Fase

Señal QAM

Señal reconstruida sin ruido en el canal

B-FFT Espectro señal reconstruida sin ruido en el canal

Constelación señal QAM con ruido

Rectangular QAM Rectangular QAM Demodulator Baseband

Señal reconstruida con ruido

Señal reconstruida con ruido en el canal

B-FFT Espectro señal reconstruida con ruido en el canal

211