You are on page 1of 105

Proyecto Fin de Carrera

Trabajo Fin de Grado


Ingeniería
Grado endeIngeniería
Telecomunicación
de las Tecnologías de Telecomu-
nicación

Formato de Publicación
Comunicaciones de la en
digitales Escuela Técnica
Python:
Superior de Ingeniería
estimación espectral

Autor:Autor: Alberto
F. Javier Manzanedo
Payán Somet Vicioso
Tutor:Tutor:
Juan Juan
José Murillo Fuentes
José Murillo Fuentes y Francisco Javier Payan Somet

Dpto.
Dep. Teoría
Teoría de ladeSeñal
la señal y comunicaciones
y Comunicaciones
Escuela Técnica
Escuela TécnicaSuperior de Ingeniería
Superior de Ingeniería
Universidad
Universidad de Sevilla
de Sevilla
Sevilla,
Sevilla, 20132022
Trabajo Fin de Grado
Grado en Ingeniería de las Tecnologías de Telecomunicación

Comunicaciones digitales en Python:


estimación espectral

Autor:
Alberto Manzanedo Vicioso

Tutor:
Juan José Murillo Fuentes y Francisco Javier Payan Somet
Profesor Titular

Dpto. Teoría de la señal y comunicaciones


Escuela Técnica Superior de Ingeniería
Universidad de Sevilla
Sevilla, 2022
Trabajo Fin de Grado: Comunicaciones digitales en Python:
estimación espectral

Autor: Alberto Manzanedo Vicioso


Tutor: Juan José Murillo Fuentes y Francisco Javier Payan Somet

El tribunal nombrado para juzgar el trabajo arriba indicado, compuesto por los siguientes profesores:

Presidente:

Vocal/es:

Secretario:

acuerdan otorgarle la calificación de:

El Secretario del Tribunal

Fecha:
Resumen

E n este estudio se pretende realizar una introducción al campo de la estimación espectral y


en concreto, a la estimación de espectros de potencia aplicado a señales del mundo de
las comunicaciones digitales como son las modulaciones digitales de tipo lineal. Finalmente, se
implementarán las técnicas de estimación analizadas en el lenguaje de programación Python para,
posteriormente, realizar un supuesto experimental aplicando estos métodos a una modulación digital
PAM entre otras cosas.

I
Índice

Resumen I
Notación V

1 Introducción 1

2 Estimación de la densidad espectral: Fundamento teórico 3


2.1 Estimación de la densidad espectral de energía 3
2.2 Estimación de la densidad espectral de potencia de procesos aleatorios WSS: Periodograma 5
2.3 Efectos de enventanado 12
2.4 Zero padding 16

3 Periodograma: métodos no paramétricos 19


3.1 Método de Bartlett 19
3.2 Método de Welch 21
3.3 Método de Blackman y Tukey 22
3.4 Comparación de prestaciones 25
3.4.1 Estimador PSD de Bartlett 26
3.4.2 Estimador PSD de Welch 27
3.4.3 Estimador PSD de Blackman-Tukey 28

4 Estimación espectral de procesos cicloestacionarios 31


4.1 Periodograma cíclico 34
4.2 Métodos de estimación de la función de correlación espectral o espectro cíclico 37
4.2.1 Método de suavizado en frecuencia 38
4.2.2 Método de suavizado en tiempo 39

5 Técnicas de estimación espectral en Python 41


5.1 Algoritmos de estimación de la PSD: periodograma y sus métodos no paramétricos 41
5.1.1 Periodograma 41
5.1.2 Periodograma de Bartlett 42
5.1.3 Periodograma de Welch 43
5.1.4 Periodograma de Blackman-Tukey 45
5.2 Algoritmos de estimación de la SCF: periodograma cíclico y sus métodos derivados 46
5.2.1 Periodograma cíclico 46
5.2.2 Método de suavizado en frecuencia del CP 47
5.2.3 Método de suavizado en tiempo del CP 48

III
IV Índice

6 Ejemplo experimental de estimación espectral: modulación digital lineal 51


6.1 Diseño de un transmisor PAM 52
6.2 Configuración de parámetros del modelo experimental 54
6.3 Resultados experimentales 55
6.3.1 PSD estimada mediante periodograma 56
6.3.2 PSD estimada mediante método de Bartlett 58
6.3.3 PSD estimada mediante método de Welch 59
6.3.4 PSD estimada mediante método de Blackman-Tukey 62
6.3.5 SCF estimada mediante periodograma cíclico 64
6.3.6 SCF estimada mediante el método de suavizado en frecuencia del CP 67
6.3.7 SCF estimada mediante el método de suavizado en tiempo del CP 70
6.4 Conclusiones y análisis finales 74
6.4.1 Detalles generales de la PSD y sus estimaciones 74
6.4.2 Detalles generales de la SCF y sus estimaciones 76
6.4.3 Estimación espectral para otras modulaciones lineales 79
6.4.4 Estimación espectral para modulaciones con ruido 81

Índice de Figuras 83
Índice de Tablas 85
Índice de Códigos 87
Bibliografía 89
Glosario 91
Notación

R Cuerpo de los números reales


C Cuerpo de los números complejos
Z Cuerpo de los números enteros
∈ Contenido en
< Menor que
≪ Mucho menor que
> Mayor que
≫ Mucho mayor que
≈ Aproximadamente igual
∞ Infinito
xR → ∞ x tiende a ∞
Integral
∑ Sumatorio
∗ operación de convolución
|·| Módulo / Valor absoluto
(·)∗ Conjugado
˜· Enventanado
F {·} Transformada de fourier
F −1 {·} Transformada de fourier inversa
DT FT {·} Transformada de fourier en tiempo discreto (D.T.F.T.)
⟨·⟩ Valor medio de una función
lı́mx→a {·} Límite cuando x tiende a a de una función
e Número e
ejx Exponencial compleja
sen(·) Función seno
cos(·) Función coseno
sinc(·) Función seno cardial normalizada
logn (·) Logaritmo en base n
δ (·) Delta de Dirac
N Número de muestras de la señal x(n) realización de un
proceso aleatorio
M Número de muestras del segmento i de la señal x(n)
K Número de segmentos de la señal x(n) en el método de
Bartlett
L Número de segmentos de la señal x(n) en el método de
Welch

V
VI Notación

t Variable temporal medida en segundos


Tm Periodo de muestreo medido en segundos
T0 Periodo de una señal medido en segundos
f0 Frecuencia de una señal medido en Hercios
T Parámetro temporal medido en segundos
f Variable frecuencial mediada en Hercios
F Variable frecuencial normalizada
Fm Frecuencia de muestreo medida en Hercios
Fc Frecuencia de ciclo normalizada Hercios
B Frecuencia máxima de la señal
BW Ancho de banda
Ex Energía de x medida en julios
Ts Tiempo de símbolo medido en segundos
Tb Tiempo de bit medido en segundos
Rs Tasa de símbolo medido en símbolos
Rb Tasa de bit medido en bits por segundo
M Número de símbolos de la modulación
k Número de bit por símbolo
Eav Energía media de símbolo medida en julios
Eb Energía media de bit medida en julios
An Proceso aleatorio discreto estacionario en sentido débil
p(t) Pulso conformador de modulación lineal
Px Energía de x medida en vatios
x(t) Señal continua dependiente del tiempo
x(n) Señal discreta dependiente de la variable discreta n
xm (n) Resultando de muestreo de la señal x
xi (n) Segmento i de la señal x
xN (n) Señal discreta dependiente de n truncada a N puntos
x̃(n) Señal discreta dependiente de n enventanada
X( f ) Espectro en frecuencia de la señal x
X(F) Espectro en frecuencia normaliza de la señal x resultado
de D.T.F.T.
X̃( f ) Espectro de la señal x enventanada
Rx (τ) Autocorrelación de la señal x
rx (n) Autocorrelación discreta de la señal x
Sx ( f ) Densidad espectral de energía de la señal x
Sx (F) Densidad espectral de energía de la señal x en frecuencia
normalizada resultado de D.T.F.T.
X(t,ν) Proceso aleatorio X
XT ( f ,ν) Proceso aleatorio truncado entre −T /2 y T /2
X(t) Variable aleatoria resultado de un proceso aleatorio para
un instante de tiempo t
mx Media de la señal x
mX (t) Valor esperado del proceso aleatorio X
E[X] Valor esperado del proceso aleatorio X
Var[X] Varianza del proceso aleatorio X
σX Desviación típica del proceso aleatorio X
fX(t) Función densidad de probabilidad del proceso aleatorio
X en el instante t
fˆ(x) Estimador de la función f (x)
Notación VII

γX (t1 ,t2 ) Autocorrelación estadística del proceso aleatorio X


γX (τ) Autocorrelación estadística del proceso aleatorio estacio-
nario X
γ˜X Autocorrelación estadística enventanada del proceso alea-
torio estacionario X
ΓX ( f ) Densidad espectral de potencia del proceso aleatorio X
xν0 (t) Señal continua resultado de la realización del proceso
aleatorio X(t,ν)
Pxν (t) Potencia de xν0 (t) mediada en vatios
0
Sxν ( f ) Densidad espectral de energía de xν0 (t)
0
Px (F) Periodograma
Pxi (F) Periodograma del segmento i de la señal x
PxB (F) Periodograma de Bartlett
PxW (F) Periodograma de Welch
PxBT (F) Periodograma de Blackman-Tukey
w(n) Ventana cualquiera
W (F) Espectro de ventana cualquiera
wB (m) Ventana de Bartlett
WB (F) Espectro de ventana de Bartlett
rA Coeficiente de Pearson del periodograma de tipo A
rB Coeficiente de Pearson del periodograma de Bartlett
rW Coeficiente de Pearson del periodograma de Welch
rBT Coeficiente de Pearson del periodograma de Blackman-
Tukey
∆F Resolución espectral
a Múltiplos enteros de la frecuencia fundamental de ciclo
a/T
γX 0 (τ) Función de autocorrelación cíclica ó autocorrelación cí-
clica del proceso aleatorio WSCS X (CAF)
a/T
Rx 0 (τ) Estimador de CAF en dominio continuo
a/T
rx 0 (n) Estimador de CAF en dominio discreto
a/T
ΓX 0 (τ) Función de correlación espectral o espectro cíclico del
proceso aleatorio WSCS X (SCF)
a/T
Px 0 (F) Periodograma cíclico
a/T
Px,sym0 (F) Periodograma cíclico simétrico
1 Introducción

En las últimas décadas, las comunicaciones digitales han cobrado más y más relevancia en el mundo
tecnológico. Hoy en día, infinidad de procesos y sistemas dependen en cierto punto de este tipo
de técnicas de comunicación. Estas son implementadas mediante modulaciones digitales que, de
manera resumida, consiste en agrupar los bits de información a enviar en M paquetes diferentes
de k bits cada uno de tal forma que a cada paquete de bit se le asigna una función denominada
pulso conformador. Estas funciones que representan las agrupaciones de bit se van transmitiendo
de manera sucesiva generándose así una transmisión digital.
Para caracterizar este tipo de modulaciones es necesario recurrir a la estadística, en concreto al
campo de los procesos aleatorios. Esto ofrece un modelo matemático independiente de la información
a enviar, es decir, no depende del conjunto de bit o mensaje que se quieran transmitir y, por tanto,
representa de manera fehaciente el sistema de comunicaciones digitales al completo ya que, es
válido para cualquier transmisión.
Tanto para diseñar este tipo de sistemas como para poder caracterizarlos, es de gran importancia
conocer cómo se distribuye la potencia inyectada en la transmisión a lo largo del espectro, de
esta forma, se puede entre otras cosas determinar el ancho de banda ocupado para así obtener el
canal requerido o la interferencia que podría provocar la transmisión en componentes espectrales
adyacentes pertenecientes a otras transmisiones. La función que mide esta distribución de potencia
en el espectro se denomina densidad espectral de potencia (PSD) y será el principal objeto de
estudio de este trabajo.
Puesto que las modulaciones digitales se definen a través de procesos aleatorios su determinación
experimental al completo carece de sentido. Pese a esto, se pueden estimar ciertas propiedades
mediante funciones de realizaciones del propio proceso, es decir, transmisiones concretas. A estas
funciones se las conoce como estimadores. En este punto, la palabra determinación debe ser
cambiada por la palabra estimación la cual da nombre al campo de estudio en que se enmarca este
trabajo, estimación espectral.
Con todo esto, el objetivo final será estimar la distribución espectral de potencia de modulaciones
digitales de tipo lineal. Para ello se hará un análisis deductivo donde, en el capítulo 2 se hará una
breve introducción teórica a la estimación de la PSD para señales deterministas de energía finita para
posteriormente dar el salto a señales de potencia como son los procesos aleatorios estacionarios,
donde se encontrará un primer estimador para la PSD, el periodograma.
A continuación, en el capítulo 3, se hará un recorrido por las principales técnicas de estimación
derivadas del periodograma, conocidas como métodos no paramétricos donde se hará un análisis
cualitativo de las principales características que estos ofrecen.
En el capítulo 4 se dará paso al análisis espectral de las modulaciones digitales lineales donde se
verá que estas pertenecen a una nueva categoría de procesos aleatorios denominados cicloestaciona-
rios (WSCS) para la cual, la esperanza y autocorrelación estadísticas presentan una distribución
periódica con periodo denominado periodo cíclico. cómo se estudiará en este capítulo, las técnicas

1
2 Capítulo 1. Introducción

de estimación derivadas del periodograma serán del todo válidas para estimar la PSD de este tipo
de procesos.
Debido a las propiedades cicloestacionarias, surge una nueva visión del concepto de distribución
de potencia en el espectro puesto que, existirán componentes espectrales correlacionados separados
por múltiplos de la frecuencia de ciclo fundamental (inversa del periodo cíclico) que mostrarán
distribuciones de potencia distintas de cero. Esta función de potencia espectral recibe el nombre
de espectro cíclico o función de correlación espectral (SCF). En el caso de los procesos aleatorios
WSS, estas correlaciones son nulas y, por tanto, la SCF es la propia PSD. De la misma forma,
tomando una diferencia de frecuencias nula, es decir, un múltiplo de cero en la frecuencia de ciclo,
se obtendrá la PSD del proceso WSCS.
Con todo esto, para finalizar este capítulo se analizará el periodograma cíclico, así como dos
métodos derivados de este capaces de estimar la SCF. Además, se verá que se mantiene la generalidad
respecto a la SCF con la PSD donde al tomar nula la frecuencia de ciclo en el periodograma cíclico,
este convergerá al periodograma visto en el capítulo 3.
En capítulo 5 se dará paso a la implementación en el lenguaje de programación Python de los
métodos de estimación estudiados para finalmente en el capítulo 6 hacer un supuesto experimental
donde se pondrán en práctica estas técnicas para estimar la PSD y la SCF de una modulación digital
lineal de tipo PAM. Como añadido, al final de este capítulo se realizarán una seria de aclaraciones y
generalizaciones respecto a los resultados obtenidos además de nuevos análisis donde se añadirá
ruido al sistema o se propondrá una nueva modulación.
2 Estimación de la densidad espectral:
Fundamento teórico

A lo largo del siguiente capítulo, se hará una introducción a la estimación espectral pasando
primeramente por la densidad espectral de energía hasta encontrar el estimador periodograma para
la densidad espectral de potencia de procesos aleatorios [15, 17].

2.1 Estimación de la densidad espectral de energía

Se va a considerar una señal determinista en tiempo continuo x (t) de energía finita la cual puede
obtenerse como:
Z ∞
E= |x(t)|2 dt < ∞ (2.1)
−∞

Además, se supondrá que su transformada de Fourier X( f ) existe. Según el teorema de Parseval [1],
la energía de x(t) puede describirse a través de su transformada de Fourier.
Z ∞ Z ∞
E= |x(t)|2 dt = |X( f )|2 d f (2.2)
−∞ −∞

Al termino |X( f )|2 se le denomina densidad espectral de energía de x(t) (ESD) puesto que
representa la distribución energética de esta a lo largo de todo el espectro de frecuencias.

Sx ( f ) = |X( f )|2 (2.3)


Esta función espectral se puede obtener, a partir de su correspondiente función temporal aplicando
la transformada de Fourier inversa. Dicha función temporal representa la autocorrelación de la señal
x(t) y se define como:
Z ∞
Rx (τ) = x∗ (t)x(t + τ)dt (2.4)
−∞

Según lo expuesto, existen dos vías para obtener la ESD de x(t). Una de ellas es calcular primera-
mente la autocorrelación de x(t) para posteriormente hallar la transformada de Fourier de esta, lo
que se conoce como método indirecto. Y la segunda consiste en aplicar la ecuación (2.3) calculando
la transformada de Fourier de x(t) de manera directa para posteriormente obtener el módulo de esta
al cuadrado.
Si bien, ambos caminos implican funciones continuas que no pueden ser manejadas en softwares
de cálculo y, por tanto, impiden obtener técnicas de estimación realizables de manera practica

3
4 Capítulo 2. Estimación de la densidad espectral: Fundamento teórico

sobre funciones reales las cuales son discretas y de longitud finita. En un primer acercamiento para
solventar esta problemática, se realizará un muestreo periódico sobre la señal x(t) a una frecuencia
de muestreo Fm la cual se supondrá, cumple con el criterio de Nyquist (Fs > 2B). Esta versión
muestreada de la señal x(t) es una secuencia discreta que se denotará como x(n), −∞ < n < ∞.
En este caso, para obtener el espectro en frecuencia de x(n), se debe recurrir a la transformada de
Fourier en tiempo discreto (DTFT) definida como:

X(F) = ∑ x(n)e− j2πFn (2.5)
n =−∞

Donde F = f /Fs . Análogamente al estudio en tiempo continuo, la autocorrelación de x(n) se puede


computar recurriendo a la definición de la operación de convolución discreta.

rx (m) = ∑ x∗ (n)x(n + m) (2.6)
n =−∞

Al igual que ocurría en el caso de la señal continua x(t), se puede demostrar, según el teorema de
Wiener-Khinchin [5], que la DTFT de rx (m) es la ESD definida en el dominio F de x(n).

Sx (F) = ∑ rx (m)e− j2πFm (2.7)
m =−∞

Sustituyendo la ecuación (2.6) en la ecuación anterior, la ESD se puede expresar de manera


directa a través de la DTFT de x(n).

Sx (F) = |X(F)|2 (2.8)

A pesar de obtener una expresión para ESD de x(t) a través de su versión muestreada x(n), sigue
existiendo el problema de la infinitud de las muestras. De esta forma y para terminar de asimilar
el supuesto a un caso real, se supondrá un truncamiento finito de N muestras de x(n). Esto se
puede expresar matemáticamente como el producto de la señal x(n) de infinitas muestras, por una
señal rectangular de N muestras unitarias w(n) (ventana). A este procedimiento se le conoce como
enventanado, de tal forma que, la relación entre x(n) y la señal enventanada x̃(n) es

x(n), 0 ≤ n ≤ N − 1
x̃(n) = x(n)w(n) = (2.9)
0, e.o.c
Si ahora se pretende obtener el espectro de la señal truncada, es fácilmente notable que el resultado
será la convolución del espectro de la señal x(n) con el espectro de la ventana w(n).
Z 1/2
X̃(F) = X(α)W (F − α)dα (2.10)
−1/2

Al final de este capítulo se dedicará una sección a los efectos del enventanado, como adelanto,
decir que enventanar una señal provoca una distorsión o deformación del espectro de la señal real el
cual depende de manera directa de las características de la ventana. Aparece un fenómeno conocido
como fuga espectral donde el espectro se expande hacia frecuencias donde el espectro real debería
ser cero. Este fenómeno se muestra a través de la aparición de lóbulos los cuales tanto su ancho
como altura y número dependen de la ventana seleccionada. Además, como se ha adelantado ya,
existen multitud de ventanas diferentes que se adecuan a cada caso en cuestión ofreciendo diferentes
posibilidades en cuanto a resultados obtenidos.
De esta discusión se concluye que, puesto que la señal enventanada x̃(n) ofrece un espectro
aproximado al de la señal real x(n) que depende principalmente de la ventana, la densidad espectral
2.2 Estimación de la densidad espectral de potencia de procesos aleatorios WSS: Periodograma 5

de energía resultante heredará también estas propiedades, puesto que, según la ecuación (2.8) la
ESD de una ruta de muestras finitas x̃(n) será:
2
N−1
Sx̃ (F) = |X̃(F)|2 = ∑ x̃(n)e − j2πFn (2.11)


n = 0
lo cual mantiene los efectos del enventanado y, por esto, la ESD así obtenida será una versión
aproximada de la ESD real.
La expresión dada en (2.11) puede ser computada de manera numérica recurriendo al transformada
de Fourier discreta (DFT). Esta transformada es una versión discreta de la DTFT puesto que esta,
a pesar de estar definida a través de una señal discreta, el dominio F que resulta sigue siendo
continuo y, por esto, no puede ser calculado numéricamente. Para ello, la DFT plantea un muestreo
en un periodo de la función Sx̃ (F) de N frecuencias equiespaciadas. Existe un algoritmo altamente
eficiente conocido como FFT (transformada rápida de Fourier) que permite implementar la DFT de
cualquier señal discreta. Matemáticamente, esta operación se puede expresar como
  N−1 2
k 2πk

Sx̃ F = = ∑ x̃(n)e− j N n = Sx̃ (k) (2.12)

N n = 0

Notar que, este resultado es aún más si cabe, una versión aproximada del espectro real Sx ( f ).

2.2 Estimación de la densidad espectral de potencia de procesos aleatorios


WSS: Periodograma

Hasta ahora se han considerado señales deterministas de energía finita las cuales poseen transformada
de Fourier y pueden ser caracterizadas a través de su densidad espectral de energía. Además de
este tipo de señales, existen multitud de casos en las que las señales involucradas no pueden ser
modeladas de esta manera puesto que no son deterministas o poseen energía infinita.
Como ejemplo de esto, el caso de las modulaciones digitales es claramente representativo de este
tipo de señales ya que, desde un punto de vista general no son deterministas puesto que dependen
de la información enviada en cada momento y, por tanto, para una correcta descripción de estas
señales, se acude al campo de la estadística, en concreto al ámbito de los procesos estocásticos o
aleatorios.
Siguiendo pues este enfoque la señal a estudiar será un proceso aleatorio [16] del tipo X(t,ν) y,
por consiguiente, dependerá no solo de la variable temporal t, sino también de una variable aleatoria
ν que modele el comportamiento estadístico. La característica principal de este tipo de funciones es
que, si se fija el valor de la variable aleatoria ν0 , se obtiene una señal determinista variable en el
tiempo x(t) a la que se le denomina realización del proceso aleatoria o muestra del proceso aleatorio.
De igual forma, fijar un instante temporal t0 implica obtener una variable aleatoria que se denotará
como X(t0 ).
Puesto que este proceso aleatorio posee dos dimensiones, una estadística y otra temporal, exis-
tirán dos enfoques distintos de caracterizarlo. Uno determinista basado en las propiedades de las
realizaciones de este y otro de tipo estadístico que arroje las características de la variable aleatoria
en cuestión.
Aplicando pues el enfoque estadístico, se pueden obtener dos propiedades que serán de interés a
lo largo de este estudio. la esperanza o media estadística que se define como
Z ∞
mX (t) = E[X(t)] = x fX(t) (x) dx (2.13)
−∞
y la autocorrelación estadística
6 Capítulo 2. Estimación de la densidad espectral: Fundamento teórico

Z ∞Z ∞
γX (t1 ,t2 ) = γX (t,t + τ) = E[X ∗ (t)X(t + τ)] = x1 x2 fXt ,Xt+τ (x1 ,x2 ;t,t + τ) dx1 dx2 (2.14)
−∞ −∞

Ambas expresiones operan sobre la dimensión estadística del proceso y, por ello, en general serán
funciones del tiempo. Existe un caso donde esta dependencia de la variable determinista no ocurre
y se dice que el proceso aleatorio en cuestión es estacionario. Cuando esto sucede únicamente en la
esperanza y la autocorrelación se dice que el proceso aleatorio es estacionario en sentido amplio
(WSS) o también conocido como estacionaridad débil. De esta forma, la esperanza estadística será
constante

mX (t) = E[X(t)] = mX (2.15)


y la autocorrelación dependerá exclusivamente de la diferencia entre los instantes donde esta se
aplica (τ), de modo que, es independiente del instante t1 de partida

γX (t,t + τ) = E[X ∗ (t)X(t + τ)] = γX (τ) (2.16)


Según el teorema de Wiener-Khinchin [5, pág Potencia], la densidad espectral de potencia (PSD)
de un proceso aleatorio estacionario es la transformada de Fourier de su función de autocorrelación,
es decir
Z ∞
ΓX ( f ) = γX (τ)e− j2π f τ dτ (2.17)
−∞

Para entender un poco más esta definición, se tomará el siguiente procedimiento. En primer lugar,
se calculará la densidad espectral de potencia de una realización de dicho proceso. Para ello se
toma un valor fijo de la variable estadística, es decir, una realización cuyo resultado, como se vio
anteriormente, es una señal determinista dependiente del tiempo xν0 (t) de energía infinita, cuya
potencia se define como

Z T /2
1 1 1
Z ∞
Pxν = lı́m |xν0 (t)|2 dt = lı́m |xν0 T (t)|2 dt = lı́m R (0) = ⟨|xν0 T (t)|2 ⟩ (2.18)
0 T →∞ T −T /2 T →∞ T −∞ T →∞ T xν0 T

donde 
xν0 (t), −T /2 ≤ t ≤ T /2
xν0 T (t) =
0, e.o.c
y que, según el teorema de Parseval,

1 1
Z ∞ Z ∞
Pxν = lı́m |xν0 T (t)|2 dt = lı́m |Xν0 T ( f )|2 d f (2.19)
0 T →∞ T −∞ T →∞ T −∞

De esta ecuación se concluye que, la PSD de una realización cualquiera del proceso aleatorio
estacionario X(t,ν) viene dada por

1
Sxν ( f ) = lı́m |X ( f )|2 (2.20)
0 T →∞ T ν0 T
Ahora bien, esta PSD obtenida, es a su vez un proceso aleatorio SX ( f ,ν0 ), puesto que depende
del valor tomado para ν. Por tanto, es lógico pensar que, tomando el promedio estadístico del nuevo
proceso obtenido, se obtendrá (ahora sí) la PSD del proceso aleatorio al completo.
   
1 1
2
ΓX ( f ) = E lı́m |XT ( f ,ν)| = lı́m E |X ( f ,ν)|2 (2.21)
T →∞ T T →∞ T T
2.2 Estimación de la densidad espectral de potencia de procesos aleatorios WSS: Periodograma 7

Por último, para conectar completamente con la ecuación (2.17), se puede operar a través de la
ecuación anterior, expresando esta en función del proceso aleatorio en el dominio del tiempo, es
decir

   
1 2 1 ∗
ΓX ( f ) = lı́m E |X ( f ,ν)| = lı́m E X ( f ,ν)XT ( f ,ν) =
T →∞ T T T →∞ T T
   
1 1
lı́m E F {XT (t,ν)} · F {XT (−t,ν)} = lı́m E
∗ F {XT (t,ν) ∗ XT (−t,ν)} =

T →∞ T T →∞ T
     Z∞ 
1 1
F lı́m E X (t,ν) ∗ XT (−t,ν) = F lı́m E
∗ ∗
X (t + τ,ν)XT (t,ν) dt =
T →∞ T T T →∞ T −∞ T
 Z T /2
1 T /2
   
1
Z
F lı́m E ∗
X(t + τ,ν)X (t,ν) dt = F lı́m ∗
E [X(t + τ,ν)X (t,ν)] dt =
T →∞ T −T /2 T →∞ T −T /2

1 T /2
 Z  Z ∞
F lı́m γX (τ) dt = γX (τ)e− j2π f τ dτ
T →∞ T −T /2 −∞

En un caso real, no se puede disponer del proceso aleatorio al completo ya que, por propia
definición, al depender este de una variable aleatoria, se necesitarían infinitas realizaciones de este.
De lo que si se pude disponer es de una o más realizaciones del proceso sobre las cuales se pueden
estimar su media y autocorrelación, por ejemplo, para el caso de una muestra:
Z T /2
1
mx = lı́m x(t) dt (2.22)
T →∞ T −T /2

Z T /2
1
Rx (τ) = lı́m x∗ (t)x(t + τ) dt (2.23)
T →∞ T −T /2

Puesto que la realización (función muestra) de la que se dispondrá ser finitas, se puede suponer
que, para cuando la duración de esta (T0 ) sea suficientemente grande, se puede hacer la siguiente
aproximación:
Z T0 /2
1
mx ≈ x(t) dt (2.24)
T0 −T0 /2

Z T0 /2
1
Rx (τ) ≈ x∗ (t)x(t + τ) dt (2.25)
T0 −T0 /2

En este punto se puede plantear la pregunta, ¿De qué forma se pueden obtener datos estadísticos
referentes al proceso aleatorio con tan solo realizaciones de este? En respuesta a esto, se debe
pensar que, puesto que el proceso aleatorio bajo estudio es estacionario y, por tanto, su esperanza
estadística es constante y su autocorrelación no dependen del tiempo es lógico suponer que, teniendo
una realización del proceso de duración infinita, todos los posibles valores que aporta la variable
estadística del proceso aleatorio, han ocurrido y promediar esta en el tiempo sería equivalente
a calcular la esperanza estadística del proceso aleatorio que la generó. De igual forma ocurriría
con la autocorrelación que, convergería a la autocorrelación estadística. A esta propiedad se la
denomina ergodicidad [18], y es la conexión básica entre la teoría de procesos aleatorios y el estudio
experimental de estos. Matemáticamente,para el caso de lo momentos de primer y segundo orden,
se puede expresar como:
Z T0 /2
1
mX = lı́m mx = lı́m x∗ (t) dt (2.26)
T0 →∞ T0 →∞ T0 −T0 /2
8 Capítulo 2. Estimación de la densidad espectral: Fundamento teórico

Z T0 /2
1
γX (τ) = lı́m Rx (τ) = lı́m x∗ (t)x(t + τ) dt (2.27)
T0 →∞ T0 →∞ T0 −T0 /2

A las funciones que aparecen dentro de límite se les denomina estimadores [11] y forman parte de
una categoría a la que en teoría estadística se le conoce como estadísticos. Estas funciones, como
bien indica su nombre, se utilizan para estimar propiedades estadísticas que en este caso son la
esperanza y la autocorrelación. De tal forma que, al evaluar estas funciones para una determinada
longitud de la muestra del proceso, se obtendrá una estimación de la función o del valor al que
pretenden estimar. El alcance de un estimador viene descrito a través de una serie de propiedades
como son el sesgo, la eficiencia, la robustez, la consistencia, la suficiencia y la invarianza. En este
estudio, se tomará como condición suficiente para dar por válido un estimador si cumple con el
criterio de consistencia, el cual exige que:

1. La esperanza estadística del estimador debe converger a la función que pretende estimar a
medida que la duración de la muestra tiende a infinito.

E[ fˆ(x)] → f (x) cuando T0 → ∞, siendo T0 la duración de la muestra. (2.28)

2. La varianza estadística del estimador debe tender a cero a medida que la duración de la muestra
tiende a infinito.

Var[ fˆ(x)] → 0 cuando T0 → ∞, siendo T0 la duración de la muestra. (2.29)

En el caso de contar con más de un estimador para una misma propiedad estadística, se tomará
aquel con menor varianza. Esto se conoce como eficiencia del estimador.
Siguiendo este análisis, la ecuación (2.25) es un candidato a estimador de la autocorrelación del
proceso aleatorio estacionario y, según lo visto, se tendría que comprobar la validez de este para
que dicha estimación sea correcta.
Nuevamente se encuentra la misma tesitura que para el caso de señales deterministas de energía.
Si se pretenden realizar estimaciones sobre señales reales, debemos plantear estimadores basados
en señales discretas y finitas. Para ello se tomarán N muestras de la realización x(t) del proceso
aleatorio a una frecuencia de muestreo Fm > 2B donde B es la máxima frecuencia de la señal. Esta
nueva señal obtenida que se denotará como x(n) es un conjunto de N muestras de una realización
del proceso aleatorio estacionario, la cual es discreto, finita y hereda directamente las propiedades
de ergodicidad de su versión continua.
Siguiendo el mismo razonamiento que en el caso continuo, tendría sentido plantear un estimador de
la autocorrelación estadística (en tiempo discreto) del proceso aleatorio mediante la autocorrelación
discreta de x(n). Dicha función se puede expresar como

1 N−m−1 ∗
rx (m) = ∑ x (n)x(n + m) m = 0,1,...,N − 1
N − m n=0
N−1
(2.30)
1
rx (m) = ∑ x∗ (n)x(n + m)
N − |m| n=|m|
m = −1, − 2,...,1 − N

Aplicando el primer criterio de consistencia de estimadores enunciado anteriormente, se cumple


que

1 N−m−1
E[γ̂X (m)] = E[rx (m)] = ∑ E[x∗ (n)x(n + m)] = γX (m) (2.31)
N − |m| n=0
2.2 Estimación de la densidad espectral de potencia de procesos aleatorios WSS: Periodograma 9

Como se ve, no ha sido necesario tomar el límite de muestras a infinito. Cuando esto sucede se
dice que el estimador es insesgado o centrado.
Respecto al segundo criterio, la varianza del estimador se puede aproximar como


N
Var[γ̂X (m)] = Var[rx (m)] ≈ ∑ [|γX (n)|2 + γX∗ (n − m)γX (n + m)] (2.32)
(N − |m|)2 n=−∞

donde al tomar el límite cuando las muestras tienden a infinito se cumple claramente que

lı́m Var[γ̂X (m)] = 0 (2.33)


N→∞

lo cual demuestra que el estimador para la autocorrelación estadística del proceso aleatorio es
consistente. Si bien, la expresión encontrada para la varianza del estimador crece a medida que se
tienen valores mayores del parámetro m (para un número de muestras dada), esto motiva el intento
de encontrar un nuevo estimador que mejore las prestaciones respecto a la varianza y, por tanto,
según las propiedades de los estimadores, sea más eficiente. Para ello se da una expresión alternativa
para la autocorrelación media de la señal x(n) que será el nuevo candidato a estimador.

1 N−|m|−1 ∗
rx′ (m) = ∑ x (n)x(n + m) m = 1 − N,.., − 1,0,1,...,N − 1 (2.34)
N n=0
La esperanza de dicho estimador resulta

1 N−|m|−1
 
|m|
E[γ̂X (m)] = E[rx′ (m)] = ∗
∑ E[x (n)x(n + m)] = 1 − N γX (m) (2.35)
N n=0
En este caso, el nuevo estimador no es insesgado, pero cumple con el primer criterio de consis-
tencia puesto que, al tomar el límite de muestras infinitas sobre la función anterior converge a la
función de autocorrelación estadística. Se dice pues que el estimador es asintóticamente insesgado.
Respecto a la varianza, se puede demostrar que

1 ∞
Var[γ̂X (m)] = Var[rx′ (m)] ≈ ∑ [|γX (n)|2 + γX∗ (n − m)γX (n + m)] (2.36)
N n=−∞
Es fácilmente observable que esta varianza es inferior a medida que el retraso en la autocorrelación
de la señal x(n) crece
N
Var[rx (m)] (N−|m|)2 N2
= = ≥ 1 −→ Var[rx′ (m)] ≤ Var[rx (m)]
Var[rx′ (m)] 1
N
(N − |m|)2

y por consiguiente el estimador rx′ (m) es más eficaz que el estimador primeramente propuesto.
Además, se sigue cumpliendo el segundo criterio de consistencia lo cual hace más interesante
utilizar este nuevo estimador para este estudio. Por comodidad en la notación, se eliminará el
superíndice prima de rx′ (m) de la expresión (2.34) ya que a partir de aquí se trabajará solo con este
estimador.
Una vez se ha encontrado un estimador consistente para obtener de manera experimental la
autocorrelación estadística del proceso aleatorio estacionario a través de muestras de una realización
del este, es lógico pensar que, si se computa la DTFT del estimador encontrado se obtendría un
estimador de la densidad espectral de potencia en el dominio de F del mismo.
N−1
Px (F) = ∑ rx (m)e− j2πFm (2.37)
m=1−N
10 Capítulo 2. Estimación de la densidad espectral: Fundamento teórico

Desarrollando esta ecuación, sobre el termino rx (m), se encuentra una forma alternativa de
expresar el estimador Px (F)
2
1 N−1 1 2
Px (F) = ∑ x(n)e − j2πFn
= |X(F)| (2.38)

N n=0 N

Donde X(F) es la DTFT de la señal x(n). A la función Px (F) se le conoce con el nombre de pe-
riodograma la cual fue introducida por Schuster en el año 1898 para detectar y medir periodicidades
ocultas en muestras de señales. La obtención de dicha función viene descrita mediante dos formas,
que no son más que un método directo a través de la DTFT de la señal x(n) y un método indirecto
computándose primeramente la autocorrelación de la señal x(n) para posteriormente hallar su DTFT.
Estos métodos recuerdan a las ecuaciones (2.7) y (2.8) y de hecho, comparando la ecuación (2.38)
y (2.8) se puede ver la relación fundamental entre potencia y energía.

S xT ( f )
Px ( f ) = lı́m (2.39)
T →∞ T
donde SxT es la densidad espectral de energía de una señal determinista x(t) truncada entre −T /2
y T /2 y ΓX ( f ) es la densidad espectral de potencia de la señal x(t). Si se supone que esta señal
x(t) proviene de la realización de un proceso aleatorio estacionario, y que es muestreada a una
frecuencia Fm , se obtiene la señal xN (n) y, por ello, la ecuación (2.39)

SxN (F)
PxN (F) = lı́m (2.40)
N→∞ N
Donde Tm N = T . Si se toma un número de muestras suficientemente grande, la expresión anterior
se puede aproximar como

SxN (F) |XN (F)|2


PxN (F) ≈ = (2.41)
N N
donde la señal xN (n) es idéntica a la señal x(n) introducida en esta sección.
Finalizando aquí este breve inciso sobre la relación existente entre estimación de la PSD de
procesos aleatorios estacionarios y ESD de señales deterministas de energía finita, queda por
comprobar la consistencia del estimadorperiodograma.
En primer lugar, la esperanza estadística de dicho estimador resulta
" #
N−1 N−1
E[Px (F)] = E ∑ rx (m)e− j2πFm = ∑ E [rx (m)] e− j2πFm
m=1−N m=1−N
(2.42)
N−1
 
|m|
= ∑ 1− γX (m)e− j2πFm
m=1−N N

la cual se puede interpretar como la DTFT del enventanado de la autocorrelación


  
|m|
E[Px (F)] = DT FT {γ̃X (m)} = DT FT 1− γX (m) (2.43)
N
 
donde al termino 1 − |m| N es una ventana de tipo Bartlett o triangular debida al sesgo del
estimador. Por tanto, una forma alternativa de expresar este resultado es a través de la convolución
de la DTFT de la autocorrelación ΓX (F), por la DTFT de la ventana
∞ Z 1/2
E[Px (F)] = ∑ γ̃X (m)e− j2πFm = ΓX (υ)WB (F − υ) dυ (2.44)
m=−∞ −1/2
2.2 Estimación de la densidad espectral de potencia de procesos aleatorios WSS: Periodograma 11

donde WB (F) es el espectro en frecuencia normalizada de la ventana Bartlett. Esta relación ofrece
un resultado bastante ilustrativo del resultado esperado al utilizar el periodograma como estimador
de la PSD de un proceso aleatorio estacionario. La consecuencia de esto es que la esperanza de dicho
estimador ofrece una versión distorsionada de la verdadera PSD ΓX (F) acorde con las propiedades
de la ventana. Este resultado de hecho es similar al problema que se planteó al inicio del estudio,
donde se analizaba la estimación de la ESD de una señal determinista la cual, también resultaba una
versión distorsionada del verdadero espectro. Al igual que ocurría en este caso, se puede demostrar
que, a medida que el número de muestras N crece, los efectos del enventanado desaparecen y la
esperanza del periodograma converge a la verdadera PSD del proceso. Se dice pues, que dicho
estimador es asintóticamente insesgado

" #
N−1
lı́m E[Px (F)] = lı́m E ∑ rx (m)e− j2πFm
N→∞ N→∞
m=1−N
(2.45)
N−1  ∞
|m|
= lı́m ∑ 1− γX (m)e− j2πFm = ∑ γX (m)e− j2πFm = ΓX (F)
N→∞
m=1−N N m=−∞

Si embargo, el problema se tiene al aplicar el segundo criterio de consistencia sobre este estimador
que, como se verá a continuación, no se cumple puesto que la varianza de este no decae a cero a
medida que las muestras tomadas N tienden a infinito.
Tomando como ejemplo, un proceso aleatorio estacionario de tipo gaussiano, la varianza del
periodograma es
"  2 #
sen (2πFN)
Var[Px (F)] = Γ2X (F) 1 + (2.46)
N sen (2πF)

la cual, cuando se toma el límite cuando N → ∞, tiende a

lı́m Var[Px (F)] = Γ2X (F) (2.47)


N→∞

En resumen, si bien el estimador de la autocorrelación estadística del proceso rx (m) dado por
la ecuación (2.34) es consistente, su transformada de Fourier, es decir, el estimador denominado
periodograma Px (F) no lo es. Dicho estimador contiene un sesgo cuando se tiene una duración
finita de N muestras que como se ve en la ecuación (2.44), se traduce en una distorsión de la PSD
real causa del enventanado. Por tanto, esto limita, entre otras cosas, la capacidad de resolución de
aquellos espectros que tengan fuertes componentes espectrales estrechamente espaciadas. Además
de esto, el periodograma presenta una varianza no nula cuando se tiene un número de muestras
infinito, lo que lo hace del todo inconsistente.
A pesar de estos problemas y debido a la fácil implementación de dicho estimador que, como se
ve en la ecuación (2.38), basta con aplicar el algoritmo de FFT sobre las muestras del proceso y
elevar el módulo de este resultado al cuadrado, motiva el estudio de técnicas que, aun asumiendo
estos problemas inherentes a la propia definición del estimador, mejoren los resultados de este y
aprovechando así la fácil implementación. Estas técnicas se agrupan en dos categorías principales
denominadas métodos no paramétricos o clásicos y métodos paramétricos.
Los métodos no paramétricos no hacen suposiciones sobre el origen de los datos y se centran
en encontrar un estimador consistente basado en el periodograma o en su defecto, que mejore las
prestaciones de este aumentando la capacidad de resolución y disminuyendo la varianza.
Los métodos paramétricos se construyen a partir de modelos basados en el origen de los datos y
que, por lo general, proporcionan una resolución significativamente mayor que los métodos clásicos.
12 Capítulo 2. Estimación de la densidad espectral: Fundamento teórico

Además de estas dos categorías, existen algunas técnicas más modernas como son el método de
Capon basado en reducir la varianza de la estimación, el método de Pisarenko de descomposición
harmónica o el método música.
En las siguientes secciones de este estudio, se analizarán los métodos paramétricos y cómo estos
se comportan a la hora de estimar señales típicas del mundo de las comunicaciones.

2.3 Efectos de enventanado

Como se ha visto en los capítulos anteriores, para estimar el espectro de potencia o energía, es
necesario tomar un numero finito de muestras N de una realización del proceso aleatorio. Esto se
traduce en lo que se conoce como enventanado [10] y está presente a lo largo de todo este estudio y,
por este motivo, es conveniente detenerse y analizar cómo influye esto en el espectro en frecuencia.
Si bien ya se han mencionado algunos de estos efectos como son la fuga espectral, existen otros
como la resolución espectral.
Para ilustrar esto en primer lugar, se supondrá que se tiene una señal dada por la siguiente
ecuación:

x(t) = cos (2π f0t) (2.48)


El espectro de dicha función se puede obtener de manera directa como

1 1
X( f ) = δ ( f − f0 ) + δ ( f + f0 ) (2.49)
2 2
Si ahora se quisiera computar numéricamente su espectro, se tendría que muestrear dicha señal a
una frecuencia Fm > F0 de tal forma que se eliminen los efectos del aliasing.

x(nTm ) = cos (2π f0 nTm ) −→ x(n) = cos (2πF0 n) (2.50)


Y también, será necesaria trucar la señal a un número finito de muestras N de tal forma que
n = 0,1,...,N − 1. Esto, como ya se ha visto, se puede expresar como el producto de la señal x(n)
por una ventana que tome valores distintos de cero en el intervalo [0,N − 1]. En un primer análisis
se tomará una ventana rectangular

x̃(n) = x(n)w(n) = x(n), n = 0,1,...,N − 1 (2.51)


La señal x̃(n) es la señal muestreada y truncada para N muestras de x(t) cuyo espectro, se puede
determinar a través de la DTFT de x̃(n).Esto a su vez se puede expresar a través de la convolución
del espectro de x(n) por el espectro de la ventana tal como se vio en la ecuación (2.10)

1 1
X̃(F) = W (F − F0 ) + W (F + F0 ), F = [−0.5, 0.5] (2.52)
2 2
Siendo W (F) la transformada discreta de Fourier de la ventana w(n)

sin (2πFN/2) − j2πF(N−1)/2


W (F) = e (2.53)
sin (2πF/2)
A continuación, se representa la magnitud del espectro de la señal (2.51) para un valor de F0 = 0.2:

Como se ve el espectro resultante difiere en gran medida del espectro ideal dado por (2.49). En
primer lugar, se observa el fenómeno de fuga espectral donde la potencia que en principio debería
de concentrarse únicamente en la frecuencia F0 , se "derrama" a lo largo del espectro en forma de
lóbulos secundarios. Dichos lóbulos pasan por 0 en frecuencias múltiplos de 1/N de tal forma que
2.3 Efectos de enventanado 13

Figura 2.1 Espectro de la señal x̃(n) con ventana rectangular, N = 10 y F0 = 0.2.

Figura 2.2 Espectro de la señal x̃(n) con ventana rectangular, N = 30 y F0 = 0.2.

el ancho del lóbulo principal viene dado por 1/N. Se puede observar que, si se aumenta el número
de puntos tomados en el muestreo, el ancho del lóbulo principal decrece y aparecen más lóbulos
secundarios, más estrechos y de menor potencia. De hecho, cuando N → ∞, el espectro converge a
una delta centrada en F0 el cual sí representa el espectro ideal de x(t).
Hasta el momento, solo se ha tenido en cuenta un enventanado de tipo de rectangular, pero en la
práctica, existen multitud de ventanas con diferentes propiedades que ofrecen distintas posibilidades
para adecuarse a las necesidades de cada caso. Un ejemplo de estas ventanas es la ventana de Bartlett
la cual está presente en la definición del periodograma de un proceso aleatorio estacionario. Esta
ventana tiene la forma
 2
1 sin (πFM)
WB (F) = (2.54)
M sin (πF)
donde M = (N + 1)/2 y, aplicando esta ventana a la señal x(n), se tiene

1 1
X̃(F) = WB (F − F0 ) + WB (F + F0 ), F = [−0.5, 0.5] (2.55)
2 2
cuyo espectro resultante se muestra en la figura a continuación.
Como se ve, las características respecto al número de lóbulos cambia, es decir, el ancho de los
lóbulos aumenta pero la magnitud de los lóbulos secundarios es inferior y, en consecuencia, la
14 Capítulo 2. Estimación de la densidad espectral: Fundamento teórico

Figura 2.3 Espectro de la señal x̃(n) con ventana de Bartlett, N = 10 y F0 = 0.2.

Figura 2.4 Espectro de la señal x̃(n) con ventana de Bartlett, N = 30 y F0 = 0.2.

potencia fugada es notablemente menor.


Otro aspecto fundamental a la hora de enventanar señales es la resolución espectral. Esta carac-
terística mide la mínima separación de frecuencias que se puede distinguir en el espectro, de tal
forma que a medida que este parámetro sea menor, la resolución espectral será mejor puesto que se
pueden identificar más frecuencias fundamentales en el espectro. Para ver esto, se puede suponer
una nueva señal x(n) dada por

x(n) = cos (2πF1t) + cos (2πF2t) (2.56)


donde ∆F = F2 − F1 . Aplicando el mismo procedimiento anterior, donde se utilizaba una ventana
rectangular, el nuevo espectro de x̃(n) resulta

1
X̃(F) = [W (F − F1 ) +W (F − F2 ) +W (F + F1 ) +W (F + F2 )] , F = [−0.5, 0.5] (2.57)
2
Siguiendo el mismo razonamiento anterior, se puede intuir el hecho de que para ciertos valores
de N los lóbulos principales de W (F ± F1 ) y W (F ± F2 ) podrán solaparse de tal forma que no se
puedan distinguir visualmente y es por esto por lo que surge el concepto de resolución espectral.
Para resolver este problema, se puede recurrir a una regla práctica que defina una condición para
el número de muestras N que permita distinguir dos componentes de frecuencias separados una
2.3 Efectos de enventanado 15

cierta cantidad ∆F. De manera aproximada se puede decir que, cuando ∆F es mayor o igual que
el ancho del lóbulo principal tomado cuando este reduce 3 dB respecto al valor máximo, serán
distinguibles y, por tanto, queda definido la resolución espectral máxima (separación de frecuencias
mínima distinguible) como:

β
∆F = (2.58)
N

Siendo β un factor que depende exclusivamente del tipo de ventana y también del criterio
seleccionado. En este caso se optado por un criterio poco restrictivo que toma como ancho del
lóbulo principal una reducción de 3 dB de referencia, pero hay algunos libros que optan por 6 dB.
Una idea cualitativa de la resolución espectral que ofrecen las principales ventanas se recoge la
tabla 2.1.

Tabla 2.1 Resolución espectral máxima para diferentes tipos de ventanas de igual longitud N [10].

Ventana Resolución 3dB (∆F)


Rectangular 0.89/N
Bartlett 1.28/N
Hanning 1.44/N
Hamming 1.30/N
Blackman 0.89/N

Figura 2.5 Espectro de la señal x(n) definida en (2.56) con enventanado rectangular para N = 10,
F1 = 0.20 y F2 = 0.23.

Por lo tanto, según este criterio, se puede justificar la diferencia en el ancho del lóbulo principal
entre la ventana rectangular y de Bartlett. Tomando por ejemplo el caso donde N = 50, se representa
en la figura 2.7 el espectro de la señal x(n) definida en (2.48) con enventanado rectangular y de
Bartlett respectivamente en dB. Si se mide el ancho del lóbulo principal para ambos caso, se ve que
casa perfectamente con los valores de resolución espectral máxima dados en la tabla 2.1.
Respecto a cómo afecta todo esto al estimador periodograma es fácil ver que, según la propia
definición del estimador, ecuación (2.38), los efectos se manifiestan de manera directa y es por esto
que a la hora de realizar estimaciones de la PSD habrá que tener presente los efectos de fuga y
resolución espectral.
16 Capítulo 2. Estimación de la densidad espectral: Fundamento teórico

Figura 2.6 Espectro de la señal x(n) definida en (2.56) con enventanado rectangular para N = 50,
F1 = 0.20 y F1 = 0.23.

(a) Enventanado rectangular. (b) Enventanado de Bartlett.

Figura 2.7 Espectro de la señal x(n) definida en (2.48) en dB con enventanado rectangular y de
Bartlett, N = 50 y F0 = 0.2.

2.4 Zero padding

El zero padding [13] es una técnica utilizada en el cálculo de espectros a través del algoritmo FFT.
Esta consiste en añadir valores nulos al final de la señal muestreada para mejorar las cualidades
de su espectro. Es muy importante tener claro que esta técnica no ofrece mejores resultados del
espectro en cuanto a resolución espectral se refiera. Lo que se consigue con esto en realidad es
mejorar las cualidades de la representación en cuanto a interpolación de los puntos. Para ilustrar
con mayor claridad esto, se aplicará esta técnica al estimador periodograma.
Para ello se puede partir de la ecuación (2.38) donde dicho estimador queda definido a partir de la
DTFT de N muestras de la realización del proceso aleatorio x(n). Como se vio ya en la sección 2.1, el
resultado de la DTFT está definido en una variable continua F y, por tanto, será necesario muestrear
este dominio para una serie de frecuencias determinadas. Para esto se recurre al algoritmo FFT el
cual, si se tienen N puntos de la señal x(n), calcula N frecuencias equiespaciadas pertenecientes a
un periodo de la DTFT. Aplicando esto a la ecuación (2.38), se obtendrá el periodograma evaluado
en las frecuencias F = k/N con k = 0,1,...,N − 1.
2.4 Zero padding 17

2
1 N−1 2πk

Px (k/N) = ∑ x(n)e −j N n
k = 0,1,...,N − 1 (2.59)
N n=0

Como se ve, dicho algoritmo evalúa únicamente N frecuencias del espectro continuo de x(n) lo
cual implica una pérdida de información y en muchos casos no proporciona una buena representación
del espectro estimado. Una solución simple pero eficaz para esto, consiste en rellenar la señal x(n)
hasta L muestras añadiendo ceros (zero padding) de tal forma que el computo de periodograma
quedaría.
2
1 N−1 2πk

− j
Px (k/L) = ∑ x(n)e L n k = 0,1,...,L − 1 (2.60)
N n=0
Esto implica que, cuando se le aplique el algoritmo a la nueva señal rellenada de ceros, se
obtendrán L puntos de la PSD estimada. Si bien, este método no mejora la resolución espectral
de la señal, únicamente ofrece mejoras en la interpolación de aquellos puntos que pertenecen al
espectro real y, por tanto, mejorando los resultados en cuanto a la representación pero no en cuanto
a la resolución espectral se refiere.
3 Periodograma: métodos no
paramétricos

A continuación, se dará paso al estudio y análisis de los principales métodos clásicos denominados
no paramétricos utilizados para estimar la densidad espectral de potencia de procesos aleatorios
estacionarios [15, 17]. Todas estas técnicas implementan en última instancia la DTFT de la señal
discreta de N puntos resultantes de la realización del proceso y no hacen suposiciones sobre el origen
de dichas muestras. Las principales diferencias de estos métodos se dan en cómo es tratada esta
cadena de información previa a ser transformada. Dado que las estimaciones se basan completamente
en un registro finito de datos, la resolución espectral cómo se ha visto en la sección 2.3, dependerá
del tipo de ventana utilizada y del número de muestras tomadas. Además, se podrá comprobar que
cuando se encuentren mejoras respecto a la varianza inherente de dicho estimador, la resolución
espectral se verá repercutida negativamente. Al final de este capítulo se realizará una comparación
cualitativa referido a la resolución espectral y al coeficiente de Pearson ofrecido por los diferentes
métodos.

3.1 Método de Bartlett

El método Bartlett consigue una reducción en la varianza del periodograma mediante tres pasos.
Primeramente, se divide la señal de información x(n) en K segmentos de longitud M siendo
M = N/K de tal forma que no existe solapamiento entre estos.

xi (n) = x(n + iM) i = 0,1,...,K − 1


(3.1)
n = 0,1,...,M − 1

En segundo lugar, se computa el periodograma de los K segmentos.


2
1 M−1
i
Px (F) = ∑ xi (n)e− j2πFn i = 0,1,...,K − 1 (3.2)


M n=0

Por último, se obtiene el periodograma completo a través de la media uniforme de estas K


funciones.

1 K−1 i
PxB (F) = ∑ Px (F) (3.3)
K i=0

19
20 Capítulo 3. Periodograma: métodos no paramétricos

El súper índice B denota que este estimador periodograma implementa el método Bartlett. Sus
propiedades estadísticas se pueden obtener de manera sencilla en función de las propiedades del
periodograma clásico. La esperanza estadística se puede expresar como
" #
1 K−1 i 1 K−1
B
E[Px (F)] = E ∑ x P (F) = ∑ E[Pxi (F)] = E[Pxi (F)] (3.4)
K i=0 K i=0
y utilizando la ecuación (2.42) y (2.44) se obtiene que

M−1
 
|m|
E[Pxi (F)] = ∑ 1− γX (m)e− j2πFm =
M
m=1−M
Z 1/2 (3.5)
= ΓX (υ)Wb (F − υ) dυ
−1/2

donde
 2
1 sen (πFM)
WB (F) = (3.6)
M sen (πF)
es la respuesta en frecuencia de la ventana de Bartlett. De este resultado se puede extraer que, la
esperanza del periodograma de Bartlett es la convolución en frecuencia de la verdadera densidad
espectral de potencia del proceso por la ventana de Bartlett de parámetro M. A diferencia del
resultado obtenido por en la ecuación (2.42) donde, en este caso, la ventana tenía una longitud de
2N − 1 puntos, ahora el ancho de muestras de la ventana se ha reducido a M = N/K, o lo que es lo
mismo, el ancho en frecuencia de la ventana ha aumentado por un factor K. Esto se traduce en una
mayor pérdida de resolución espectral.
Para darle consistencia a este resultado, se puede demostrar que este nuevo estimador es, al
igual que el periodograma básico, asintóticamente insesgado ya que, manteniendo un valor de K
constante, cuando N → ∞, M → ∞ y, por tanto

lı́m E[Pxi (F)] = ΓX (F) (3.7)


N→∞

Respecto a la varianza estadística se tiene que


" #
K−1
1 1 K−1  1
Var[PxB (F)] = Var Pxi (F) = 2 ∑ Var Pxi (F) = Var Pxi (F) (3.8)
  

K i=0 K i=0 K

y, de igual forma que se hizo para obtener la esperanza estadística de Pxi (F), se toma la ecuación
(2.46) y se llega al siguiente resultado
"  #
sen (2πFM) 2

1 2
B
Var[Px (F)] = ΓX (F) 1 + (3.9)
K M sen (2πF)
Si ahora, se toma el límite para un número de muestras infinitas se obtiene una reducción en la
varianza respecto al periodograma básico en un factor K.

1 2
lı́m Var[PxB (F)] =
Γ (F) (3.10)
N→∞ K X
En resumen, el método de Bartlett consiste en promediar K periodogramas de segmentos no
solapadas de la realización del proceso aleatorio. Este método genera un nuevo estimador para la
densidad espectral de potencia del proceso denominado periodograma de Bartlett PxB (F) que, al
3.2 Método de Welch 21

igual que el periodograma básico, es asintóticamente insesgado, pero presenta una varianza k veces
menor. Como contrapartida, se sacrifica resolución espectral.

3.2 Método de Welch

El método de estimación de Welch toma como punto de partida el método de Bartlett al cual se le
aplican una serie de modificaciones en sus pasos previos a la obtención del estimador final. Estas
modificaciones se resumen en dos. En primer lugar, se tomarán en este caso L segmentos de longitud
M de la realización del proceso aleatorio de tal forma que haya solapamiento.

xi (n) = x(n + iD) i = 0,1,...,L − 1


(3.11)
n = 0,1,...,M − 1

iD es la muestra de inicio del segmento i que, para que exista solapamiento, tendrá que ser
menor que la longitud de cada uno de ellos. La segunda modificación añade en el cómputo del
periodograma de cada segmento Pxi (F), un enventanado a cada uno de ellos. Esto se puede expresar
como
2
1 M−1
P̃xi (F) = ∑ xi (n)w(n)e− j2πFn i = 0,1,...,L − 1 (3.12)

MU n=0

donde U es un factor de normalización utilizado para eliminar la contribución energética de la


ventana y, por tanto, se define como

1 M−1 2
U= ∑ w (n) (3.13)
M n=0
Finalmente, igual que para el método de Bartlett, el periodograma de Welch es el promediado de
los periodograma modificados de los segmentos, es decir

1 L−1 i
PxW (F) = ∑ P̃x (F) (3.14)
L i=0
La esperanza estadística de este estimador es
" #
L−1
1 1 L−1
E[PxW (F)] = E ∑ P̃xi (F) = ∑ E[P̃xi (F)] = E[P̃xi (F)] (3.15)
L i=0 L i=0

y la esperanza estadística del periodograma modificado del segmento i es

M−1 M−1
1
E[P̃xi (F)] =
MU ∑ ∑ w(n)w(m)E[xi (n)xi∗ (m)]e− j2πF(n−m)
n=0 m=0
(3.16)
M−1 M−1
1
=
MU ∑ ∑ w(n)w(m)γX (n − m)e− j2πF(n−m)
n=0 m=0

Sabiendo que
Z 1/2
γX (n) = ΓX (ν) dν (3.17)
−1/2
22 Capítulo 3. Periodograma: métodos no paramétricos

se puede sustituir esta expresión en la ecuación (3.14) y se obtiene

" #
Z 1/2 M−1 M−1
1
E[P̃xi (F)] =
MU −1/2
ΓX (ν) ∑ ∑ w(n)w(m)e− j2π( f −ν)(n−m) dν
Z 1/2
n=0 m=0
(3.18)
= ΓX (ν)W ( f − ν) dν
−1/2

donde
2
1 M−1
W(f) = ∑ w(n)e− j2πFn (3.19)

MU n=0
se puede comprobar que, este estimador modificado es asintóticamente insesgado ya que, cuando
el límite de muestras M tiende a infinito, la ventana se hace infinitamente ancha y, por tanto, su
respuesta en frecuencia tiende a una delta. De esta forma, la convolución en frecuencia de la ecuación
(3.16) daría como resultado la verdadera densidad espectral de potencia del proceso.

lı́m E[Pxi (F)] = ΓX (F) (3.20)


N→∞

Respecto a la varianza del estimador de Welch, se tiene (aplicando directamente la definición de


varianza estadística)

1 L−1 L−1
Var[PxW (F)] = 2 ∑ ∑ E[P̃xi (F)P̃xj (F)] − E 2 [PxW (F)] (3.21)
L i=0 j=0
Es lógico pensar que, suponiendo que no haya solapamiento (L = K), es decir que se esté en el
supuesto del método de Bartlett, se deberían obtener los mismos resultados.

1
Var[PxW (F)] = Var[P̃xi (F)] (3.22)
L
de tal forma que, cuando N → ∞ y M → ∞
1
Var[PxW (F)] ≈ Γ2X (F) (3.23)
L
Suponiendo un caso más propio de esta nueva técnica donde si exista solapamiento, por ejemplo,
el caso que utilizó Welch para su estudio donde suponía un 50 % de solapamiento (L = 2K) se tiene
un resultado para la varianza de

9 2 1
Var[PxW (F)] ≈ Γ (F) = 0.5625 · Γ2X (F) (3.24)
8L X K
En resumen, el método de Welch redefine el estimador de Bartlett de manera que los segmentos
presentan solapamientos entre ellos. Este efecto mantiene las propiedades de estimador insesgado
y reduce la varianza de este. Cabe decir que, el valor de la varianza dependerá del porcentaje de
solapamiento elegido, así como de la ventana utilizada en el periodograma de los segmentos.

3.3 Método de Blackman y Tukey

El método de Blackman y Tukey toma la ecuación (2.37) añadiendo un enventanado a la correlación


rx (m). La justificación de hacer esto es que, para grandes retrasos, las estimaciones son menos
fiables ya que para valores de m que se acercan a N, la varianza de estas estimaciones es muy alta,
3.3 Método de Blackman y Tukey 23

y por lo tanto se les debe dar un peso menor en la formación de la estimación. El estimador de
Blackman-Tukey se define como

M−1
PxBT (F) = ∑ rx (m)w(m)e− j2πFm (3.25)
m=1−M

donde la ventana w(m) tendrá un ancho de 2M − 1 muestras y es cero para |m| ≥ M. Este resultado
se puede expresar de manera alternativa a través de la convolución del espectro de la ventana por el
espectro de autocorrelación, es decir el periodograma.
Z 1/2
PxBT (F) = Px (u)W (F − u) du (3.26)
−1/2

Por tanto, como era de esperar, esta propuesta ofrece una versión suavizada del periodograma
básico. Además, se pueden intuir algunas propiedades que debe cumplir la ventana, como son
paridad para asegurar que la estimación es real y debe ser no negativa para |F| ≤ 1/2 puesto que la
PSD debe ser positiva.
La esperanza estadística de este estimador es
Z 1/2
E[PxBT (F)] = E[Px (u)]W (F − u) du (3.27)
−1/2

donde, según la ecuación (2.44)


Z 1/2
E[Px (u)] = ΓX (v)WB (u − v) dv (3.28)
−1/2

añadiendo el resultado de esta expresión a la ecuación (3.27) se obtiene


Z 1/2 Z 1/2
E[PxBT (F)] = ΓX (v)WB (u − v)W (F − u) dudv (3.29)
−1/2 −1/2

Equivalente a esto, se puede analizar la esperanza estadística trabajando en el dominio del tiempo

M−1
E[PxBT (F)] = ∑ E[rx (m)]w(m)e− j2πFm
m=1−M
(3.30)
M−1
= ∑ γX (m)wB (m)w(m)e− j2πFm
m=1−M

siendo wB (m) la ventana de Bartlett en el domino temporal

1 − |m| ,

|m| < N
wB (m) = N (3.31)
0, e.o.c

Si se elige una longitud para la ventana w(m) tal que M << N, provocará que esta sea más
estrecha que WB (m) y entonces se cumple la siguiente aproximación:
Z 1/2
WB (u − v)W (F − u) du ≈ W (F − v) (3.32)
−1/2

que si se aplica a la ecuación (3.29), queda


24 Capítulo 3. Periodograma: métodos no paramétricos

Z 1/2
E[PxBT (F)] ≈ ΓX (v)W (F − v) dv (3.33)
−1/2

y análogamente en el dominio del tiempo


M−1
E[PxBT (F)] ≈ ∑ γX (m)w(m)e− j2πFm (3.34)
m=1−M

Respecto a la varianza del estimador de Blackman-Tukey, aplicando directamente la definición se


tiene

Var[PxBT (F)] = E[[P̃xBT (F)]2 ] − E 2 [PxBT (F)] (3.35)


El primer sumando de esta expresión es el momento de orden dos del estimador que se puede
analizar a través de la ecuación (3.27) como
Z 1/2 Z 1/2
E[[P̃xBT (F)]2 ] = E[Px (u)Px (v)]W (F − u)W (F − v) dudv (3.36)
−1/2 −1/2

El término E[Px (u)Px (v)] se puede desarrollar resolviendo la ecuación (2.44)

"  2  2 #
sen (π(v + u)N) sen (π(v − u)N)
E[Px (u)Px (v)] = ΓX (u)ΓX (v) 1 + + (3.37)
N sen (π(v + u)) N sen (π(v − u))

y sustituyendo este resultado en la ecuación (3.36)

Z 1/2
2
E[[P̃xBT (F)]2 ] = ΓX (v)W (F − v) dv
−1/2
Z 1/2 Z 1/2
+ ΓX (u)ΓX (v)W (F − u)W (F − v) (3.38)
−1/2 −1/2
"  #
sen (π(v + u)N) 2 sen (π(v − u)N) 2
 
· + dudv
N sen (π(v + u)) N sen (π(v − u))

Analizando ahora el segundo sumando de la varianza en la ecuación (3.35) es fácil ver que, dicho
término se puede expresar como
Z 1/2
2
E 2 [PxBT (F)] = ΓX (v)W (F − v) dv (3.39)
−1/2

y que junto con el resultado expuesto en la ecuación (3.38) ofrece un resultado para la varianza de

Z 1/2 Z 1/2
Var[PxBT (F)] = ΓX (u)ΓX (v)W (F − u)W (F − v)
−1/2 −1/2
" 2  2 # (3.40)
sen (π(v + u)N) sen (π(v − u)N)
· + dudv
N sen (π(v + u)) N sen (π(v − u))

En el caso en el que N >> M, la función Nsensen(π(v+u)N) sen (π(v−u)N)


(π(v+u)) y N sen (π(v−u)) son relativamente estrechas
comparadas con W (F) en las cercanías donde v = −u y v = u y, por tanto, se puede hacer la siguiente
aproximación:
3.4 Comparación de prestaciones 25

Z 1/2
" 2  2 #
sen (π(v + u)N) sen (π(v − u)N)
ΓX (v)W (F − v) + dv
−1/2 N sen (π(v + u)) N sen (π(v − u))
(3.41)
Γ (−u)W (F + u) + ΓX (u)W (F − u)
≈ X
N
Aplicando esto a la ecuación (3.40) se obtiene

Z 1/2
1
Var[PxBT (F)] ≈ ΓX (u)W (F − u)[ΓX (−u)W (F + u) + ΓX (u)W (F − u)] du (3.42)
N −1/2

y nuevamente, se puede hacer otra aproximación aplicando los mismos razonamientos expuestos
anteriormente Z 1/2
ΓX (u)ΓX (−u)W (F − u)W (F + u) du ≈ 0 (3.43)
−1/2

Finalmente, la varianza se convierte en


Z 1/2
1
Var[PxBT (F)] ≈ Γ2X (u)W 2 (F − u) du (3.44)
N −1/2

Este resultado puede aproximarse aún más suponiendo el caso donde W (F) sea más estrecha que
ΓX (F). Asumiendo este hecho, la ecuación (3.44) queda

 Z 1/2 
1
Var[PxBT (F)] ≈ Γ2X (F) W 2 (v) dv
N −1/2
" # (3.45)
1 M−1 2
≈ Γ2X (F) ∑ w (m)
N m=1−M

En conclusión, el método de estimación de Blackman y Tukey utiliza el método indirecto de


obtención del periodograma para obtener un nuevo estimador de la densidad espectral de potencia.
Para esto, realiza un enventanado previo del estimador de la autocorrelación del proceso con un
ancho de muestras 2M − 1 tal que M << N siendo N la longitud de muestras de la realización del
proceso.

3.4 Comparación de prestaciones


Una vez se han sido presentados los diferentes métodos no paramétricos de estimación espectral de
potencia, es de gran interés definir algún tipo de factor de calidad o figura de mérito que permita
comparar de cierta forma estos métodos. Como medida de calidad se puede recurrir al denominado
coeficiente de variación de Pearson [3], el cual ofrece de manera porcentual una medida de la
desviación típica de la estimación respecto a la media, o lo que es lo mismo, para cada método nos
dará información de cuan mucho o poco se desviarán los resultados obtenidos respecto al valor
esperado. Dicho coeficiente se define como
s
σ [PxA (F)] Var[PxA (F)]
rA = = (3.46)
E[PxA (F)] E 2 [PxA (F)]
Donde A = B (Bartlett), W (Welch), BT (Blackman-Tukey). Puesto que este coeficiente es adi-
mensional, las propiedades comparativas del mismo son más que evidentes. Puesto que se ha hecho
26 Capítulo 3. Periodograma: métodos no paramétricos

hincapié en encontrar una expresión para la varianza de los diferentes métodos y no de la desviación
típica, será más conveniente utilizar el cuadrado del coeficiente de Pearson para así expresarlo en
función de la varianza.

Var[PxA (F)]
rA2 = (3.47)
E 2 [PxA (F)]
Otro detalle comparativo importante es la resolución espectral máxima ofrecida entendida (según
lo visto en la sección 2.3) como la mínima separación de frecuencias que se puede distinguir en la
estimación. Esta propiedad vendrá dada por la ventana utilizada en cada método, (ver tabla 2.1).
Tomando como referencia el periodograma estándar, ecuación (2.38), se tiene que
2
1 N−1 1
Px (F) = ∑ x(n)e− j2πFn = |X(F)|2 (3.48)

N n=0 N
Donde se encontró que, cuando N → ∞

1. Esperanza:
E[Px (F)] → ΓX (F) (3.49)

2. Varianza:
Var[Px (F)] → Γ2X (F) (3.50)

y, por tanto, el cuadrado del coeficiente de Pearson queda

Γ2X (F)
r2 = =1 (3.51)
Γ2X (F)
Este resultado muestra que, si los diferentes métodos de estimación mejoran el periodograma
básico reduciendo la varianza del estimador, se cumplirá que

rA2 < 1 (3.52)


Siendo un estimador de desviación nula o convergencia perfecta aquel que presenta r = 0.
En lo referido a la resolución espectral, en el estudio del periodograma se vio que la esperanza
de dicho estimador posee un sesgo dado por la ventana de Bartlett lo cual, según la ecuación (2.44),
es un enventanamiento de la verdadera PSD y ofrece una resolución de:

0.89
∆F = (3.53)
N
3.4.1 Estimador PSD de Bartlett

El método de Bartlett consiste en un promediado de periodogramas de K segmentos de longitud M


pertenecientes a la ruta de muestras de la realización del proceso aleatorio de longitud N. Puesto
que estos segmentos carecen de solapamiento se tendrá que K = N/M. Por tanto, retomando la
definición para el periodograma de Bartlett vista en la ecuación (3.3) se tiene que:

1 K−1 i
PxB (F) = ∑ Px (F) (3.54)
K i=0
Siendo la esperanza y la varianza de este cuando N → ∞ y M → ∞, con K fijado

1. Esperanza:
E[PxB (F)] → Γ2X (F) (3.55)
3.4 Comparación de prestaciones 27

2. Varianza:
1 2
Var[PxB (F)] → Γ (F) (3.56)
K X

y, por consiguiente, el coeficiente de Pearson al cuadrado para el periodograma de Bartlett es


1 2
K ΓX (F) 1 M
rB2 = = = (3.57)
Γ2X (F) K N
En lo referido a la resolución espectral, la esperanza del periodograma de Bartlett es, para una
longitud de la muestra N fijada (ecuaciones (3.4) y (3.5)):

E[PxB (F)] = E[Pxi (F)] = ΓX (F) ∗Wb (F) (3.58)


Donde WB (F) es la ventana de Bartlett de longitud M, lo que ofrece una resolución espectral de

0.89 M
∆F = = 0.89 (3.59)
K N
3.4.2 Estimador PSD de Welch

El método de Welch es una modificación del método de Bartlett donde se tienen L segmentos de
longitud M que en este caso presentan solapamiento entre ellos. Además, a la hora del cálculo del
periodograma de cada segmento, se realiza un enventanado de la misma longitud que estos, pero
dando la posibilidad de usar ventanas diferentes a la rectangular. En la sección 3.2 se definió el
periodograma de Welch como
 2 
L−1 L−1  M−1
1 1 1 
W i
Px (F) = ∑ P̃x (F) = ∑ ∑ xi (n)w(n)e − j2πFn (3.60)


L i=0 L i=0  MU n=0 

para el cual, cuando N → ∞ fijando L y para un solapamiento de un 50 % entre muestras, se


obtiene:

• Esperanza:
E[PxW (F)] = E[Pxi (F)] → ΓX (F) (3.61)

• varianza:
1 2
Var[PxW (F)] → Γ (F) (3.62)
L X

lo que arroja un coeficiente de Pearson al cuadrado de


9 2
8L ΓX (F) 9
2 =
rW = (3.63)
Γ2X (F) 8L
En lo referido a la resolución espectral, teniendo en cuenta las ecuaciones (3.15) y (3.18), la
esperanza estadística del periodograma de Welch para un número de muestras N finito es

E[PxW (F)] = E[Pxi (F)] = ΓX (F) ∗W (F) (3.64)


y, por tanto, la resolución espectral vendrá determinada por el tipo de ventana seleccionada que,
en el caso por ejemplo de la ventana de Bartlett, se tendría

1.28
∆F = (3.65)
M
28 Capítulo 3. Periodograma: métodos no paramétricos

3.4.3 Estimador PSD de Blackman-Tukey

El método de estimación de Blackman y Tukey se basa en la obtención del periodograma mediante


un enfoque indirecto, es decir, en primer lugar, se estima la autocorrelación del proceso y posterior-
mente, a través del teorema de Wiener-Khinchin, se obtiene el periodograma como la DTFT de
la autocorrelación. Previo a este paso, se realiza un enventanado del estimador de autocorrelación
que mejora las prestaciones de la estimación final. Retomando la definición del periodograma
Blackman-Tukey dada por la ecuación (3.25):
M−1
PxBT (F) = ∑ rx (m)w(m)e− j2πFm = Px (F) ∗W (F) (3.66)
m=1−M

Cuando N → ∞ y M → ∞, hacen converger la esperanza y la varianza a

• Esperanza:
E[PxBT (F)] → ΓX (F) (3.67)

• varianza para una ventana de Bartlett:


" #
1 M−1 2 2M
Var[PxBT (F)] ≈ Γ2X (F) ∑ w (m) → Γ2X (F) (3.68)
N m=1−M 3N

El coeficiente de Pearson al cuadrado es


2M 2
3N ΓX (F) 2M M
2
rW = = ≈ 0.7 (3.69)
Γ2X (F) 3N N
Puesto que la ventana utilizada tiene longitud 2M − 1, la resolución espectral en el caso, por
ejemplo, de usar una ventana de Bartlett será:

1.28 0.64
∆F = ≈ (3.70)
2M − 1 M
Para concluir con esta sección, es interesante ver que las dos figuras de mérito encontradas para
los diferentes métodos de estimación (resolución espectral y coeficiente de Pearson) se pueden
relacionar a través de los parámetros longitud de muestras N y de segmentos M. En la tabla 3.1, se
recogen estas relaciones, en concreto, se ha introducido el coeficiente de Pearson al cuadrado en
función de la resolución espectral.

Tabla 3.1 Coeficiente de Pearson al cuadrado en función de la resolución espectral máxima para el
periodograma de Bartlett, el periodograma de Welch con ventana de Bartlett y 50 % de
overlap y periodograma de Blackman-Tukey de ventana de Bartlett.

Coeficiente de Pearson Resolución espectral


Método no paramétrico rA2 = f (∆F)
al cuadrado (rA2 ) (∆F)
Bartlett M/N 0.89/M rB2 = 0.89/N∆F
Welch 9M/16N 1.28/M rW2 = 0.72/N∆F

Blackman-Tukey 0.6M/N 0.64/M 2


rBT = 0.43/N∆F

De estas relaciones se puede ver que, el coeficiente de Pearson al cuadrado es inversamente


proporcional a la resolución espectral y, por tanto, es imposible para cualquier longitud de muestras
N tener un coeficiente de Pearson y una resolución espectral de valor cero. Es por esto por lo que
3.4 Comparación de prestaciones 29

será necesario llegar a un punto de equilibrio que se adapte a las necesidades de nuestro proceso
aleatorio de estudio. Si por ejemplo se da la mínima de ∆F necesaria (la resolución espectral
requerida), se puede ajustar el número de muestras tomadas para obtener una determinada relación
entre varianza y esperanza de la estimación. De igual forma, si se tiene un número de muestras dado
se deberá, o sacrificar resolución espectral en favor de tener menor desviación en la estimación, o
por lo contrario, aumentar la desviación en favor de mejorar la resolución espectral.
4 Estimación espectral de procesos
cicloestacionarios

Hasta el momento, el estudio de estimadores para la densidad espectral de potencia, parte de la


condición que el proceso aleatorio a estimar sea de tipo estacionario en sentido amplio (WSS), lo
que implica que el proceso en cuestión deba cumplir la condición (2.15) y (2.16). Esto se puede
ver teniendo en cuenta los estimadores definidos para la media y autocorrelación dados en (2.24) y
(2.25) los cuales cumplen ambas condiciones. No obstante, el objetivo de este trabajo es encontrar
estimadores para señales implicadas en comunicaciones digitales, es decir, modulaciones digitales.
Este tipo de señales se modelan a través de procesos aleatorios que en general no son estacionarios
y, por tanto, se podría pensar que los estimadores definidos hasta el momento no serían válidos para
este tipo de situaciones. A pesar de esto, se verá a continuación que, si lo son y que, de hecho, los
estimadores vistos en el capítulo 3 serían una particularidad de un caso más general.
En primera instancia, se deben analizar qué características desde el punto de vista estadístico,
poseen los procesos aleatorios que modelan este tipo de señales. Para esto, se supondrá un caso
sencillo de modulación digital de tipo lineal en banda base con tasa de bit Rb y formada por un
pulso conformador p(t) de energía unidad. El proceso aleatorio que modela dicha modulación [2]
tiene la siguiente forma:

X(t) = ∑ An p(t − nTs ) (4.1)
n=−∞

Donde An es un proceso aleatorio discreto estacionario en sentido débil (WSS) que depende,
para cada n del símbolo que se transmitirá. En general, An podrá tomar valores reales o complejos
dependiendo del tipo de modulación tomada. La esperanza estadística de dicho proceso es

" #
∞ ∞
mX (t) =E[X(t)] = E ∑ An p(t − nTs ) = ∑ E[An ]p(t − nTs )
n=−∞ n=−∞
(4.2)

=mA ∑ p(t − nTs )
n=−∞

Como se puede ver, no se cumple la condición (2.15) puesto que la expresión encontrada para la
esperanza depende del tiempo de manera periódica con periodo TS y, por esto, se cumple que

mX (t) = mX (t + λ Ts ), λ ∈Z (4.3)
Respecto a la autocorrelación del proceso, se tiene que

31
32 Capítulo 4. Estimación espectral de procesos cicloestacionarios

" #
∞ ∞
γX (t1 ,t2 ) =E[X(t1 )X ∗ (t2 )] = E ∑ ∑ An A∗m p(t1 − nTs )p∗ (t2 − mTs )
n=−∞ m=−∞
(4.4)
∞ ∞
= ∑ ∑ E[An A∗m ]p(t1 − nTs )p∗ (t2 − mTs )
n=−∞ m=−∞

Tomando el cambio de variable k = n − m y sabiendo que An es un proceso WSS se obtiene

∞ ∞
γX (t1 ,t2 ) =E[X(t1 )X ∗ (t2 )] = ∑ ∑ E[Am+k A∗m ]p(t1 − (m + k)Ts )p∗ (t2 − mTs )
k=−∞ m=−∞

"

# (4.5)
= ∑ γA (k) ∑ p(t1 − (m + k)Ts )p∗ (t2 − mTs )
k=−∞ m=−∞

Nuevamente, se observa que no se cumple la condición de estacionaridad (2.16) para la auto-


correlación puesto que esta depende de los instantes t1 y t2 y no únicamente de la diferencia entre
estos tiempos. A pesar de esto, como se observa con la esperanza estadística, se tiene un resultado
periódico de periodo Ts puesto que

γX (t1 ,t2 ) = γX (t1 + λ Ts ,t2 + λ Ts ), λ ∈Z (4.6)


Los procesos aleatorios que cumplen estas dos condiciones de periodicidad temporal tanto para la
esperanza estadística como para la correlación se denominan procesos aleatorios cicloestacionarios
en sentido amplio (WSCS) [7, 9].
Este cambio en las propiedades fundamentales del proceso incurre en ciertos cambios en la
metodología para encontrar la densidad espectral de potencia. De esta forma, si por ejemplo se
quisiera aplicar el teorema de Wiener-Khinchin tal como se vio en la sección 2.2, surgiría un
problema. La autocorrelación para un proceso aleatorio WSCS no depende únicamente de la
variable τ puesto que depende del instante de referencia donde esta se tome. Por lo que, aplicando
este teorema de manera directa se obtendrán infinitas PSD para cada instante de tiempo tomado. Una
solución posible sería promediar la autocorrelación en el tiempo previamente a ser transformada al
dominio de la frecuencia y de esta manera se obtendría la densidad espectral de potencia promediada
en el tiempo. Esta solución es del todo válida, pero conlleva la perdida de información de ciertas
propiedades de la distribución de potencia del proceso en el dominio de la frecuencia.
Para tener una visión más amplia del espectro de potencia de un proceso cicloestacionario [14, 6],
se debe comenzar reescribiendo la función de autocorrelación del proceso a través de su serie de
Fourier, lo cual es posible puesto que esta es periódica.

n/T0 j2π Tn t
γX (t,t + τ) = ∑ γx (τ)e 0 (4.7)
n=−∞

n/T
El termino γX 0 (τ) son los coeficientes complejos de la serie de Fourier y en este caso recibe el
nombre de función de autocorrelación cíclica que puede expresarse como
Z T0 /2
n/T 1 − j2π Tn t
γX 0 (τ) = γX (t,t + τ)e 0 dt (4.8)
T0 −T0 /2

Las frecuencias n/T0 se denominan frecuencias cíclicas y muestran aquellas frecuencias para las
cuales la función de autocorrelación es distinta de cero. La frecuencia 1/T0 se denomina frecuencia
cíclica fundamental. Es fácil ver que, para procesos puramente estacionarios (WSS), el termino
33

n/T
γX 0 (τ) solo es distinto de cero en el caso γX0 (τ) ya que no posee frecuencias cíclicas. De este
hecho se deduce la generalidad de esta nueva función de autocorrelación cíclica la cual engloba a la
función de autocorrelación para procesos WSS dada por la ecuación (2.14) cuando n = 0.
El espectro de esta nueva función de autocorrelación se denomina espectro cíclico o función de
correlación espectral (SCF) [8]. Esta relación se engloba dentro del teorema de Wiener-Khinchin.
Z ∞
n/T n/T0
ΓX 0 ( f ) = γX (τ)e− j2π f τ dτ (4.9)
−∞

El espectro encontrado muestra la correlación entre componentes espectrales del proceso se-
parados por múltiplos de 1/T0 . Al igual que ocurre con la función de autocorrelación cíclica,
particularizando para n = 0, se obtiene en este caso la densidad espectral de potencia
Z ∞ Z ∞
Γ0X ( f ) = γX0 (τ)e− j2π f τ dτ = < γX (t,t + τ) >t e− j2π f τ dτ = ΓX ( f ) (4.10)
−∞ −∞

De este análisis se concluye como afecta la periodicidad temporal a los procesos aleatorios
generando una nueva dimensión formada por las frecuencias cíclicas del mismo. Es por esto por
lo que hablar de densidad espectral de potencia de un proceso cicloestacionario, no es más que
promediar el espectro en su dimensión temporal o lo que es lo mismo, tomar como frecuencia de
ciclo el valor nulo. Asumiendo este hecho, el análisis de la PSD de un proceso cicloestacionario y
de un proceso estacionario es idéntico.
En este punto, se puede obtener la función de autocorrelación cíclica del proceso WSCS descrito
por (4.4), sustituyendo la ecuación (4.5) en (4.8). Suponiendo además que el proceso An es de media
cero (lo cual es común en la mayoría de las modulaciones digitales lineales), se tiene que

Z Ts /2
" #

n/T 1 n
γX s (τ) = γA (0) ∑ p(t + τ − mTs )p∗ (t − mTs ) e− j2π Ts t dt
Ts −Ts /2 m=−∞
(4.11)
γA (0) ∞
Z
− j2π Tns t
= p(t + τ)p∗ (t)e dt
Ts −∞

Sustituyendo esto en la ecuación (4.9), se obtiene la función de correlación espectral teórica del
proceso

γA (0) ∞
Z ∞ Z
n/T n
ΓX s ( f ) = p(t + τ)p∗ (t)e− j2π Ts t dte− j2π f τ dτ
−∞ Ts −∞
γA (0) ∞ ∞
Z Z
n
= p(t + τ)e− j2π f τ dτ p∗ (t)e− j2π Ts t dt
Ts −∞ −∞
(4.12)
γA (0)
Z ∞
n
= P( f ) p∗ (t)e− j2π Ts t e j2π f t dt
Ts −∞
γ (0) n
= A P( f )P∗ ( f + )
Ts Ts

La densidad espectral de potencia de este proceso se puede obtener de manera directa aplicando
el resultado visto en (4.10)

γA (0) γ (0)
Γ0X ( f ) = P( f )P∗ ( f ) = A |P( f )|2 = ΓX ( f ) (4.13)
Ts Ts
34 Capítulo 4. Estimación espectral de procesos cicloestacionarios

4.1 Periodograma cíclico

Como se ha visto, el espectro cíclico de un proceso WSCS incluye la PSD cuando se toma en
(4.9) la frecuencia de ciclo igual a cero. Es por esto por lo que encontrar un estimador para la
SCF del proceso debe conducir de alguna manera al periodograma clásico o en su defecto, a un
estimador alternativo para la PSD. En cualquier caso, el procedimiento a seguir para encontrar
este estimador, será similar al que se utilizó para encontrar el periodograma. Para poder introducir
cualquier estimador para un proceso aleatorio, es necesario que este posee propiedades ergódicas.
En el caso de los procesos WSCS el concepto es un poco más complejo puesto que la ruta de
muestras infinitas de la realización del proceso debe poder contener las propiedades de periodicidad
que representan a este. Esta suposición no es descabellada y de hecho los procesos aleatorios de
interés para este trabajo (modulaciones lineales) lo cumplen y, por tanto, tiene sentido expresar la
autocorrelación cíclica del proceso a través de la autocorrelación cíclica de la realización de este.
Matemáticamente, el estimador planteado se puede expresar como

Z T /2
n/T0 1 − j2π Tn t
Rx (τ) = x(t + τ)x∗ (t)e 0 dt (4.14)
T −T /2

Al suponer que el proceso cicloestacionario posee la propiedad cicloergodicidad o también


llamada periódicamente ergódica, se cumple que

n/T0 n/T0
γX (τ) = lı́m E[Rx (τ)] (4.15)
T →∞

Al igual que se hizo con la función de autocorrelación cíclica para obtener la función de correlación
espectral, se recurrirá a la relación cíclica de Wiener-Khinchin dada por la ecuación (4.9) para
obtener a través del estimador planteando en (4.14) un candidato a estimador para la SCF.

1 T /2
Z 
n/T ∗ − j2π Tn t
Px 0 ( f ) =F x(t + τ)x (t)e 0 dt
T −T /2
Z ∞ 
1 − j2π Tn t
= F ∗
xT (t + τ)xT (t)e 0 dt
T −∞ (4.16)
1 n − j2π Tn τ ∗
  o
= F xT (τ) ∗ xT (−τ)e 0
T
1
= XT ( f )XT∗ ( f − n/T0 )
T

Este estimador se denomina periodograma cíclico [4, 14] y será el punto de partida para encontrar
de manera experimental las propiedades del espectro de potencia de un proceso WSCS.

Un detalle de este estimador es que carece de simetría en el espectro, lo cual a la hora de su


representación es limitante para poder observar espectros con altas frecuencias de ciclo. Para
solventar esto, se puede expresar el periodograma cíclico de manera simétrica como
4.1 Periodograma cíclico 35

1 T /2
 Z 
n/T ∗ − j2π 2Tn t − j2π 2Tn t
Px 0 ( f ) =F x(t + τ)x (t)e 0 e 0 dt
T −T /2
Z ∞ 
1 − j2π 2Tn (t+τ) ∗ − j2π 2Tn t j2π 2Tn τ
= F xT (t + τ)e 0 xT (t)e 0 dte 0
T −∞
1 nh − j2π 2Tn τ − j2π 2Tn τ ∗ j2π 2Tn τ
  i o
= F xT (τ)e 0 ∗ x (−τ)e
T 0 e 0 (4.17)
T      
1 n ∗ n n
= X f+ XT f − ∗δ f −
T T 2T 2T0 2T0
 0 
n/T n
=Px,sym0 ( f ) ∗ δ f −
2T0

n/T
El termino Px,sym0 ( f ) es la versión simétrica del periodograma cíclico. De la misma forma, se
puede obtener la versión simétrica del estimador de la autocorrelación cíclica a partir de la relación
de Wiener–Khinchin como

  
n/T
n
n/T0
o
n/T0 n n/T0 jπ n τ
Rx 0 (τ) = F −1 Px ( f ) = F −1 Px,sym ( f ) ∗ δ f − = Rx,sym (τ)e T0 (4.18)
2T0

n/T
Donde Rx,sym
0
(τ) es la versión simétrica del estimador de la autocorrelación cíclica

Z T /2
n/T0 1 − j2π Tn t
Rx,sym (τ) = x(t + τ/2)x∗ (t − τ/2)e 0 dt (4.19)
T −T /2

La asimetría tanto en la autocorrelación cíclica como en la SCF surge a la hora de tomar como
instantes t1 = t y t2 = t + τ en la autocorrelación cíclica. Para hacerlo simétrico basta con redefinir
los instantes t1 = t − τ/2 y t2 = t + τ/2. De esta forma se obtendrá directamente la SCF simétrica.
Al igual que ocurre en el caso de la estimación de la PSD para procesos estacionarios, en la
práctica no solamente se carece del proceso cicloestacionario en cuestión, sino que además la
realización de la que se dispone tampoco es infinita ni continua y, por esto, será necesario encontrar
una expresión para estos nuevos estimadores que tomen como punto de partida una ruta de muestras
x(n) de longitud finita N.
Para el estimador de autocorrelación cíclica planteado en (4.14) se puede definir su versión en
tiempo discreto como

a/L 1 N−|m|−1 a
rx (m) = ∑ x(k + m)x∗ (k)e− j2π L k ,
N k=0
m = 0,1,...,N − 1
(4.20)
a/L 1 N−1 a
rx (m) = ∑ x(k + m)x∗ (k)e− j2π L k , m = −1, − 2,...,1 − N
N k=|m|

siendo L el número de muestras contenidas en un periodo y a un número entero que representa


un múltiplo de la frecuencia fundamental de ciclo normalizada 1/L. Se puede demostrar que este
estimador es consistente. Respecto a la esperanza estadística se tiene
36 Capítulo 4. Estimación espectral de procesos cicloestacionarios

a/L 1 N−|m|−1 a
E[rx (m)] = ∑ E[x(k + m)x∗ (k)]e− j2π L k
N k=0
 
N−|m|−1
1 b/L b a
= ∑  b ∑1 1 γx (m)e j2π L k  e− j2π L k
N k=0
L ∈ [− 2 , 2 )

1 N−|m|−1 b/L b−a


= ∑ b ∑ γx (m)e j2π L k
N k=0
L ∈ [− 21 , 12 )

(4.21)
!
N−|m|−1
1 b/L b−a
= ∑ γx (m) ∑ e j2π L k
N b
L ∈ [− 21 , 12 ) k=0

N − |m| b/L
= ∑ γx (m), b = a±λL
N b
L ∈ [− 21 , 12 )
N − |m| a
±λ
= ∑ γxL (m)
N a
L ±λ ∈ [− 12 , 12 )
N − |m| a/L a/L
= γx (m) = wB (m) · γx (m)
N

donde el termino wB (m) es una ventana de Bartlett de longitud 2N − 1 que representa el sesgo
del estimador. La consistencia de la esperanza estadística es fácilmente notable puesto que
 
a/L a/L |m| a/L
lı́m E[rx (m)] = γx (m) lı́m 1− = γx (m) (4.22)
N→∞ N→∞ N
Nuevamente, se debe recurrir al teorema de Wiener–Khinchin. En este caso la transformada de
Fourier para tiempo continuo pasará a ser la transformada de Fourier de tiempo discreto (DTFT) y,
por ello, el estimador resultante para el SCF es

N−1
a/L a/L
Px (F) = ∑ rx (m)e− j2πFm (4.23)
m=1−N

Debido a las similitudes de este estimador con el periodograma, este recibe el nombre de perio-
dograma cíclico puesto que pretende estimar el espectro cíclico de un proceso WSCS. La esperanza
estadística de este periodograma es también sesgada puesto que

N−1
a/L a/L
E[Px (F)] = ∑ E[rx (m)]e− j2πFm
m=1−N
N−1
= ∑
a/L
wB (m) · γx (m)e− j2πFm (4.24)
m=1−N
Z 1/2
a/L
= ΓX (υ)Wb (F − υ) dυ
−1/2

cuyo sesgo es la ventana de Bartlett WB (F). Pese a esto, se puede ver que este estimador es
asintóticamente insesgado ya que al tomar el límite cuando N → ∞ converge al verdadero espectro
cíclico puesto que el espectro de la ventana tiende a ser una delta.
4.2 Métodos de estimación de la función de correlación espectral o espectro cíclico 37

a/L a/L a/L a/L


lı́m E[Px (F)] = ΓX (F) ∗ lı́m {WB (F)} = ΓX (F) ∗ δ (F) = ΓX (F) (4.25)
N→∞ N→∞

Finalmente, en lo que respecta a la varianza del periodograma cíclico, el resultado es similar al


periodograma donde la varianza cuando N → ∞ no tendía a cero y, por tanto, el estimador no era
consistente. En este caso el resultado es

a/L a/L
lı́m Var[Px (F)] = ΓX (F) (4.26)
N→∞

A partir de la ecuación (4.23), se puede obtener una expresión alternativa sustituyendo en esta la
ecuación (4.20).

n/T0 1  a
Px (F) = X (F) X ∗ F − (4.27)
N L
O la versión simétrica

a/L 1  a  ∗ a
Px,sym (F) = X F+ X F− (4.28)
N 2L 2L
Al igual que en la ecuación (4.17), también se cumple que

n/T0 a/L a
Px (F) = Px,sym (F) ∗ δ (F −
) (4.29)
2L
Un detalle del periodograma cíclico es que este, al igual que su versión continua, engloba al
periodograma tomando la frecuencia de ciclo nula, de tal manera que

1
Px0 (F) = |X(F)|2 = Px (F) (4.30)
N
De la misma forma ocurre con el estimador para la autocorrelación cíclica, rx0 (m) = rx (m), donde
rx (m) viene dado por la ecuación (2.34).
Estas congruencias reflejan el motivo de la notación seguida en este capítulo puesto que los
estimadores cíclicos dan lugar a la versión no cíclica vista en el capítulo 3 para la frecuencia de
ciclo nula.
Finalmente, para poder implementar este estimador en un programa de cálculo se debe recurrir al
algoritmo FFT el cual, como se ha visto en anteriores capítulos, computa la DTFT presente en la
propia definición del estimador para una serie de frecuencias equiespaciadas en un periodo. De esta
forma, la versión simétrica y discreta del periodograma cíclico queda
   
a/L 1 k a k a
Px,sym (k/N) = X + X ∗ − k = 0,1,...,N − 1 (4.31)
N N 2L N 2L

4.2 Métodos de estimación de la función de correlación espectral o espectro


cíclico

A lo largo de este capítulo se ha buscado encontrar una expresión que permita estimar las propiedades
espectrales de los procesos aleatorios cicloestacionarios que como se ha visto, se amplía al concepto
de función de correlación espectral, donde surge una nueva dimensión de frecuencias que representa
las frecuencias de ciclo. El resultado de esto es el denominado periodograma cíclico que quedó
definido en la ecuación (4.28). Este estimador ofrece una forma directa a través de una realización del
proceso aleatorio de obtener el espectro cíclico para un múltiplo de la frecuencia de ciclo fundamental
dado. Esta metodología de estimación es válida, pero presenta dos problemas fundamentales.
38 Capítulo 4. Estimación espectral de procesos cicloestacionarios

En primera instancia, la varianza de la estimación es elevada debido a que el estimador no es


consistente y, por consiguiente, su varianza no converge a cero para tamaños de muestra creciente.
Es por esto por lo que surge la idea, al igual que ocurre en el caso del periodograma, de encontrar
técnicas de estimación que sean capaces de reducir o eliminar esta varianza mejorando así la
calidad de las estimaciones. En este contexto, se analizarán dos métodos de estimación basados
en el periodograma cíclico que pretenden reducir alta varianza de este. Ambas técnicas no hacen
suposiciones del origen de las muestras y, por tanto, comparten similitudes en sus orígenes con los
métodos no paramétricos basados en el periodograma de ahí que tenga cierto sentido englobarlos
dentro de la categoría de métodos de estimación no paramétricos. Dichas técnicas reciben el nombre
de: método de suavizado en frecuencia y método de suavizado en tiempo [4].
En segundo lugar, para trabajar de manera eficiente con este estimador es necesario conocer a
priori la frecuencia de ciclo fundamental del proceso lo cual, no siempre será posible. Si bien, se
puede realizar un barrido para ciertas frecuencias de ciclo buscando así algunas frecuencias para
las cuales el espectro cíclico concuerde con lo esperado. Esto no es muy eficiente puesto que, desde
el punto de vista del costo computacional, si se toma Np como el número de iteraciones necesarias
para computar un periodograma para una frecuencia de ciclo concreta, el costo computacional
total será Np · N f c , siendo N f c el número de frecuencias de ciclo que se computaran, lo cual es muy
elevado. Para esto existen técnicas más complejas que permiten estimar el espectro cíclico en todo
su conjunto los cuales se alejan de los objetivos de este estudio. Por mencionar alguna de estas
técnicas, se tiene el analizador de correlación espectral de banda (SSCA) y método de acumulación
de FFT (FAM) [12].
El interés de este trabajo se centra en estimar de manera numérica las propiedades espectrales de
señales típicas de las comunicaciones digitales, en concreto las modulaciones lineales. En estos
casos la frecuencia de ciclo viene determinada por la inversa del periodo de símbolo 1/Ts y, por
esto, los métodos más eficientes serán los no paramétricos o enfocados puesto que la frecuencia
fundamental de ciclo es conocida. Es por este motivo que se analizarán únicamente este tipo de
técnicas, en concreto las dos mencionadas anteriormente (suavizado de tiempo y de frecuencia).

4.2.1 Método de suavizado en frecuencia

Una manera sencilla de reducir el problema de la varianza de la estimación o de la inconsistencia del


periodograma cíclico es recurrir a una técnica muy eficiente denominada suavizado de frecuencias
(se habla de frecuencia y no de tiempo puesto que la función a suavizar está definida en el dominio
de la frecuencia). Esta técnica consiste en aplicar un filtrado al estimador que en última instancia
reduzca los efectos de la dispersión de los puntos respecto al valor esperado, es decir, la varianza.
Un ejemplo de esto es el filtro de promedio móvil o también llamado media móvil que consiste
(en su versión simple) en un filtrado de la señal discreta de entrada de tal forma que, para cada punto
de la entrada, la salida será un promediado de D − 1 puntos de entrada anteriores. Aplicando esto al
periodograma cíclico (4.28)

a/L a/L
Px, FSM (k/N) = W (k) ∗ Px,sym (k/N) (4.32)
donde W (F) representa el filtro de media móvil simple cuya respuesta al impulso es

k
1
W (k) = ∑ δ ( j) (4.33)
D j=k−D+1

De esta manera, la versión suavizada o promediada del periodograma cíclico quedaría

k
a/L 1 a/L
Px, FSM (k/N) = ∑ Px,sym ( j/N) (4.34)
D j=k−D+1
4.2 Métodos de estimación de la función de correlación espectral o espectro cíclico 39

La esperanza estadística del estimador promediado es:

k
a/L 1 a/L
E[Px, FSM (k/N)] = ∑ E[Px,sym ( j/N)]
D j=k−D+1
1 a/L a/L a/L

= E[Px,sym ((k − D + 1)/N] + E[Px,sym ((k − D + 2)/N] + ... + E[Px,sym (k/N]
D
a/L
=E[Px,sym (k/N)]
(4.35)

De lo que se deduce que, el efecto de este filtrado no afecta a la esperanza del estimador (se
mantiene la consistencia para este estadístico).
Respecto a la varianza, mantenido un valor fijado de D, cuando N → ∞ se tiene que

k
a/L 1 a/L
Var[Px, FSM (k/N)] = ∑ Var[Px,sym ( j/N)]
D2 j=k−D+1
1  a/L a/L a/L

≈ 2 Var[Px,sym ((k − D + 1)/N] +Var[Px,sym ((k − D + 2)/N] + ... +Var[Px,sym (k/N]
D
1 a/L
= Var[Px,sym (k/N)]
D
(4.36)

lo que provoca una reducción teórica en la varianza de las estimaciones en un factor de 1/D.
En definitiva, el método de suavizado de frecuencia (FSM), se hace convolucionar una ventana
de suavizado con el periodograma cíclico para formar una estimación del SCF. Una ventaja de
este método es que permite un control fino sobre la resolución espectral de la estimación según la
elección de la ventana, pero tiene como inconveniente que requiere una transformada de Fourier
sobre todo el conjunto de datos y posteriormente una convolución lo cual, desde el punto de vista
del coste computacional, podría ser muy elevado.

4.2.2 Método de suavizado en tiempo

El método de suavizado en tiempo (TSM, surge como alternativa al problema del alto costo compu-
tacional del método FSM. En lugar de promediar (suavizar) el periodograma cíclico sobre el dominio
frecuencial, se promedian múltiples periodogramas cíclicos a lo largo del tiempo. Esto se con sigue
con una segmentación de la ruta de muestras x(n) obteniendo así una estimación del SCF mediante
el promediado de los periodogramas cíclicos de cada segmento. Matemáticamente, los segmentos
obtenidos se pueden expresar como

xi (n) = x(n + iM) i = 0,1,...,K − 1


(4.37)
n = 0,1,...,M − 1

Donde el índice i representa el segmento en cuestión, K el número de segmentos totales y M la


longitud
 N de cada segmento. Puesto que no existe solapamiento, la longitud de cada segmento es
M = K . De esta forma, el periodograma cíclico de cada segmento es:

a/L 1  a  ∗ a
Pxi ,sym (F) = Xi F + Xi F − i = 0,1,...,K − 1 (4.38)
M 2L 2L
40 Capítulo 4. Estimación espectral de procesos cicloestacionarios

y por consiguiente, el periodograma cíclico al completo es el promediado de los periodogramas


cíclicos de los K segmentos.

1 K−1 a/L 1 K−1 1 


 
a/L a  ∗ a
Px, T SM (F) = P
∑ xi ,sym (F) = ∑ M i X F + X F − (4.39)
K i=0 K i=0 2L i 2L
Este método es una extensión del método de Bartlett y, de hecho, si se toma como frecuencia de
ciclo el valor cero (a = 0) el periodograma cíclico converge al periodograma de Bartlett.
La esperanza estadística que ofrece esta técnica es
" #
a/L 1 K−1 a/L 1 K−1 a/L a/L
E[Px, T SM (F)] = E ∑ Pxi ,sym (F) = ∑ E[Pxi ,sym (F)] = E[Pxi ,sym (F)] (4.40)
K i=0 K i=0
y teniendo en cuenta la ecuación (4.24),
Z 1/2
a/L a/L
E[Px, T SM (F)] = ΓX (υ)WB (F − υ) dυ (4.41)
−1/2

donde WB (F) es la ventana de Bartlett de longitud 2M − 1 que muestra el sesgo del estimador.
Al tomar el límite cuando N → ∞ y manteniendo un valor fijo de K, M → ∞ lo que provoca que se
mantenga la asintoticidad insesgada del estimador y, por tanto, la consistencia de este estadístico.
En cuanto a la varianza, al igual que en el método de Bartlett, se reduce en un factor K respecto a
la estimación básica.

" #
a/L 1 K−1 a/L
Var[Px, T SM (F)] =Var ∑ Pxi ,sym (F)
K i=0
1 K−1 h
a/L
i
= 2 ∑ Var Pxi ,sym (F)
K i=0 (4.42)
1 h
a/L
i
= Var Pxi ,sym (F)
K
1 h
a/L
i
= Var Px,sym (F)
K
En conclusión, se puede ver claramente la reducción del costo computacional de esta técnica
respecto a su homóloga FSM. La segmentación de x(n) y posteriormente aplicar la FFT es mucho
menos costoso que aplicar la FFT a x(n) al completo. Además, el promediado de periodogramas
cíclicos es también mucho menos costoso que realizar una convolución por una señal de alta longitud
de muestra.
5 Técnicas de estimación espectral en
Python

A lo largo de los capítulos anteriores, se han presentado y analizado diferentes técnicas de estimación
tanto para la densidad espectral de potencia de procesos estacionarios como para la función de
correlación espectral de procesos cicloestacionarios. El fin último de estas técnicas como de este
trabajo es poder implementarlas utilizando algún software de cálculo numérico de programación para
poder aplicarlas a señales reales. Es por esto por lo que, a lo largo de este capítulo, se propondrán una
serie de algoritmos basados en el lenguaje de programación Python, que permitan posteriormente
poner en práctica las diferentes técnicas vistas.

5.1 Algoritmos de estimación de la PSD: periodograma y sus métodos no


paramétricos

Como punto de partida, se implementarán los diferentes métodos de estimación vistos en el capítulo
3 para estimar la PSD. El periodograma, el periodograma de Bartlett, el de Welch y por último el
de Blackman-Tukey.

5.1.1 Periodograma

Para implementar un algoritmo que compute el periodograma de una ruta de muestras, se recurrirá
a una función denominada periodograma que recibirá como argumentos:

• La ruta de muestras x, que en este caso representará una realización del proceso aleatorio en
cuestión.
• Una variable de tipo string donde se indica el método de cómputo del periodograma, directo
(a través de la FFT de x) o indirecto (mediante la FFT de la autocorrelación estimada de x).

A partir estos parámetros de entrada, la función devolverá:

• El periodograma de la señal de entrada x.


• Una variable que representa el dominio de frecuencias normalizadas donde está definido el
periodograma. Esta variable contendrá N frecuencias normalizadas y equiespaciadas entre
−0.5 y 0.5 donde N es la longitud en muestras de x.

El código en cuestión que define dicha función se muestra a continuación:

41
42 Capítulo 5. Técnicas de estimación espectral en Python

Código 5.1 Función que implementa el periodograma.


def periodograma(x, metodo):
'''
Función que computa el periodograma de una ruta
de muestras.
5
Entradas:
x = Ruta de muestras
metodo = Método de computo requerido

10 Devuelve:
P_x = Periodograma
F = Dominio de frecuencia normalizada de P_x
'''

15 N = len(x) # Longitud de la muestra

# Método directo
if metodo == 'directo':
P_x = (1/N)*abs(fftshift(fft(x)))**2
20
# Método indirecto
elif metodo == 'indirecto':
r_x = np.correlate(x,x,mode='full')/N
P_x = fftshift(fft(r_x))
25
# Error en el método seleccionado
else:
print('método incorrecto')
return
30
# Dominio de frecuencia normalizada
F = np.linspace(-1/2,1/2,len(P_x))

return [P_x,F]
35

5.1.2 Periodograma de Bartlett

Para el periodograma de Bartlett, se recurrirá nuevamente a una función denominada peridograma_-


bartlett que recibirá como argumentos:

• La ruta de muestras x, que en este caso representará una realización del proceso aleatorio en
cuestión.
• El número K de segmentos en los que se dividirá x.

A partir estos parámetros, la función devolverá:

• El periodograma de Bartlett de la señal de entrada x.


• Una variable que representa el dominio de frecuencias normalizadas donde está definido este
periodograma. Esta variable contendrá M frecuencias normalizadas y equiespaciadas entre
−0.5 y 0.5 donde M es la longitud en muestras de los segmentos.

El código que define dicha función se muestra a continuación:


5.1 Algoritmos de estimación de la PSD: periodograma y sus métodos no paramétricos 43

Código 5.2 Función que implementa el método de Bartlett para el periodograma.


def periodograma_bartlett(x, K):
'''
Función que computa el periodograma de Bartlett de una ruta
de muestras.
5
Entradas:
x = Ruta de muestras
K = Número de segmentos en los que se dividirá x

10 Devuelve:
Pb_x = Periodograma de Bartlett
F = Dominio de frecuencia normalizada de Pb_x
'''

15 N = len(x) # Longitud de la muestra completa

# Longitud de cada segmento, se pierden N-(M*K) muestras


M = int(np.floor(N/K))

20 # Se crea una matriz con los segmentos de K filas y M


columnas
x_i = x[0:K*M].reshape(K,M)

# Se calcula el periodograma de cada segmento


P_xi = (1/M)*abs(fftshift(fft(x_i)))**2
25
# Se calcula el periodograma de Bartlett promediando los
periodogramas de cada segmento
Pb_x=sum(P_xi[:])/K

# Dominio de frecuencia normalizada


30 F = np.linspace(-1/2,1/2,len(Pb_x))

return [Pb_x,F]

5.1.3 Periodograma de Welch

En el caso del método de Welch, la función en cuestión denominada peridograma_welch recibirá


como argumentos:

• La ruta de muestras x, que en este caso representará una realización del proceso aleatorio en
cuestión.
• El número L de segmentos en los que se dividirá x.
• El overlap medido como el cociente entre el número de muestras que comparten dos segmentos
adyacentes (M −D) entre la longitud de los segmentos (M) en tanto por ciento. Para simplificar
y debido a que pequeños cambios en este parámetro no producen variaciones notables en la
estimación, se tomarán porcentajes de solapamientos múltiplos de 5 y menores que 100 %.

y devolverá:

• El periodograma de Welch de la señal de entrada x.


44 Capítulo 5. Técnicas de estimación espectral en Python

• Una variable que representa el dominio de frecuencias normalizadas donde está definido el
periodograma de Welch. Esta variable contendrá M frecuencias normalizadas y equiespaciadas
entre −0.5 y 0.5 donde M es la longitud en muestras de los segmentos.
• El número L de segmentos.

El código de esta función es:

Código 5.3 Función que implementa el método de Welch para el periodograma.


def periodograma_welch(x, L, OL):
'''
Función que computa el periodograma de Welch de una ruta
de muestras.
5
Entradas:
x = Ruta de muestras
L = Número de segmentos en los que se dividirá x
OL = Porcentaje de solapamiento
10 Devuelve:
Pw_x = Periodograma de Bartlett
F = Dominio de frecuencia normalizada de Pb_x
'''

15 # Se comprueba si OL es múltiplo de 5 y menor que 100%


if OL%5 == 0 and OL<100:
OL = OL/100
N = len(x) # Longitud de la muestra completa

20 # Se calcula M_max teniendo en cuenta que N deberá ser


# mayor o igual que el número de muestras utilizadas
# tras la segmentación con solapamiento lo cual puede
# obtenerse como M + (L-1)*(M-D)
M_max = int(np.floor(N/(1 + (L-1)*(1-OL))))
25
# Se calcula M_min con el toolbox fractions sabiendo
que OL = (M-D)/M
M_min = fc.Fraction.from_float(OL).limit_denominator().
denominator

30 # Se comprueba la compatibilidad para los parámetros


# de OL y L requeridos
if M_min < M_max:
# Se calculo M a través de un múltiplo entero de
# M_min tal que es <= que M_max para así reducir
35 # el número de muestras sobrantes del total
M = M_min*int(np.floor(M_max/M_min))

# El número de muestras solapadas es M-D o M*OL


n_overlap = int(M*OL)
40
# Se genera una matriz de segmentos de dimensión LxM
x_i = np.zeros((L,M))
for i in np.arange(L):
x_i[i]=x[(i)*(M-n_overlap):(i)*(M-n_overlap) + M]
45
5.1 Algoritmos de estimación de la PSD: periodograma y sus métodos no paramétricos 45

# Obtención de ventana de Bartlett con ayuda del


paquete
signal del toolbox scipy
w = signal.bartlett(M,sym='true')

50 # Creación de parámetro U para normalizar w


U = (1/M)*sum(w**2)

# Cálculo del peridograma de Welch


P_xi = (1/(M*U))*abs(fftshift(fft(x_i*w)))**2
55 Pw_x = sum(P_xi[:])/L

# Dominio de frecuencias donde está definido Pw_x


F = np.linspace(-1/2,1/2,len(Pw_x))
return [Pw_x,F]
60
else:
print('Parametros L y OL no compatibles')
return

65 else:
print('El overlap debe ser multiplo de 5')
return

5.1.4 Periodograma de Blackman-Tukey

Por último, para el método de Blackman-Tukey, se definirá la función peridograma_blackman_tukey


que recibirá como entrada:

• La autocorrelación estimada de la ruta de muestras x.


• El tipo de ventana que se utilizará (rectangular o triangular) mediante una variable de tipo
string.
• El porcentaje de enventanado (PEV ) medido como M N %, donde 2M − 1 será la longitud
 

resultante de la ventana.

y devolverá:

• El periodograma de blackman-tukey de la señal de entrada x.


• Una variable que representa el dominio de frecuencias normalizadas donde está definido este
periodograma. Esta variable contendrá 2M − 1 frecuencias normalizadas y equiespaciadas
entre −0.5 y 0.5.

El código resultante es:

Código 5.4 Función que implementa el método de Blackman y Tukey para el periodograma.
def periodograma_blackman_tukey(r_x, ventana, PEV):
'''
Función que computa el periodograma de Blackman y Tukey de
una ruta de muestras.
5
Entradas:
46 Capítulo 5. Técnicas de estimación espectral en Python

r_x = Autocorrelación estimada de la ruta de muestras


ventana = tipo de ventana requerida
(rectangular o triangular)
10 PEV = Porcentaje de enventanado
Devuelve:
Pbt_x = Periodograma de Blackman-Tukey
F = Dominio de frecuencia normalizada de Pbt_x
'''
15
N = int((len(r_x)+1)/2)
M = int(np.floor(PEV*N/100))

if ventana == 'rectangular':
20 # Creacion de ventana de rectangular
w = np.ones(2*M-1)

elif ventana == 'triangular':


# Creacion de ventana de Bartlett
25 w = signal.bartlett(2*M-1, sym='true')

else:
print('Error de ventana seleccionada')

30 # Cálculo del peridograma de blackman-tukey


C = int(np.floor((2*N-1)/2))-1
Pbt_x = fftshift(fft(r_x[C-(M-1):C+M]*w))

# Dominio de frecuencias donde está definido Pbt_x


35 F = np.linspace(-1/2,1/2,len(Pbt_x))
return [Pbt_x,F]

5.2 Algoritmos de estimación de la SCF: periodograma cíclico y sus métodos


derivados
En el capítulo 4 se analizaron una serie de técnicas que permitían estimar las propiedades de la
función de correlación espectral de procesos aleatorios WSCS. En concreto, se definió el periodo-
grama cíclico, así como dos métodos derivados de este que pretendían mejorar ciertos defectos en
la estimación. A continuación, se implementarán dichas técnicas en Python.

5.2.1 Periodograma cíclico

Tomando la ecuación (4.34), se puede definir una función de nombre periodograma_ciclico que
recibirá únicamente como argumento de entrada, La ruta de muestras x y devolverá el periodograma
cíclico (simétrico).
Esta técnica requiere aplicar un desplazamiento en frecuencia, tanto negativo (retraso), como
positivo (adelanto). Esto se puede realizar fácilmente apoyándonos en las propiedades periódicas
del espectro de una señal discreta. Puesto que dicho espectro posee un periodo unidad (medido en
frecuencias normalizadas), la operación de adelanto y atraso es un movimiento circular del espectro
obtenido tras computar la FFT. Si, por ejemplo, se tiene un espectro centrado en cero, este estará
comprendido entre −1/2 y 1/2 y, por tanto, atrasar el espectro b muestras, implica que las ultimas
b muestras del espectro se coloquen delante de la que, previo al atraso, era la primera muestra.
En el caso de un adelanto, las b primeras muestras del espectro, se colocan en la parte final. Esta
5.2 Algoritmos de estimación de la SCF: periodograma cíclico y sus métodos derivados 47

operación circular se puede realizar mediante el método de la librería numpy de Python, roll. En el
caso que ocupa, un desplazamiento de ± 2L a
, implica un desplazamiento de ±N 2La
muestras.
De forma alternativa, este desplazamiento se puede realizar aplicando la propiedad de desplaza-
miento de la transformada de Fourier
  N−1 
k a a 2πk
X ± = ∑ x(n)e∓ j2π 2L n e− j N n (5.1)
N 2L n=0

Esto es menos eficiente (desde el punto de vista del coste computacional) puesto que requiere
aplicar dos veces el algoritmo de FFT sobre todo la ruta muestras, mientras que usando el método
roll, el algoritmo FFT solo se realiza una vez.
Siguiendo este razonamiento, el código de la función periodograma_ciclico es:

Código 5.5 Función que implementa el periodograma cíclico de manera directa.


def periodograma_ciclico(x, Fc):
'''
Función que computa el periodograma cíclico
de una ruta de muestras.
5
Entradas:
x = Ruta de muestras
Fc = Frecuencia de ciclo

10 Devuelve:
CP_x = Periodograma cíclico
F = Dominio de frecuencia normalizada de CP_x
'''

15 N = len(x) # Longitud de la muestra completa

# Desplazamiento de Fc/2 medido en muestras


offset = int(np.round((Fc/2) * N))

20 # Calculo del periodograma cíclico


X = fftshift(fft(x))
X1 = np.roll(X, +offset)
X2 = np.roll(X, -offset)
CP_x = (1/N) * np.conj(X1) * X2
25
# Dominio de frecuencias normalizadas del CP
F = np.linspace(-1/2,1/2,len(CP_x))
return [CP_x, F]

5.2.2 Método de suavizado en frecuencia del CP

Se definirá una función denominada periodograma_ciclico_FSM que recibirá como argumentos:

• La ruta de muestras x
• La frecuencia de ciclo a evaluar Fc.

A la salida, la función retornará:

• El periodograma cíclico suavizado en frecuencia de la señal de entrada.


48 Capítulo 5. Técnicas de estimación espectral en Python

• El dominio de frecuencias normalizada del espectro estimado.

El código en cuestión es idéntico al de la función anterior, pero añadiendo un filtrado de media


móvil al periodograma cíclico.

Código 5.6 Función que implementa el método de suavizado en frecuencia para el periodograma
cíclico.
def periodograma_ciclico_FSM(x, Fc):
'''
Función que computa el periodograma cíclico de una
ruta de muestras mediante el método de suavizado
5 en frecuencia.

Entradas:
x = Ruta de muestras
Fc = Frecuencia de ciclo
10
Devuelve:
CP_x = Periodograma cíclico
F = Dominio de frecuencia normalizada de CP_x
'''
15
N = len(x) # Longitud de la muestra completa
D = int(N*0.005) # Longitud del filtro de media móvil

# Desplazamiento de Fc/2 medido en muestras


20 offset = int(np.round((Fc/2) * N))

# Cálculo del periodograma cíclico


X = fftshift(fft(x))
X1 = np.roll(X, offset) # retraso de Fc/2
25 X2 = np.roll(X, -offset) # adelanto de Fc/2
CP_x = (1/N) * np.conj(X1) * X2

# Suavizado aplicando filtro de media móvil de D muestras


CP_x = np.convolve(CP_x, np.ones(D)/D, mode='valid')
30
# Dominio de frecuencias normalizadas del CP suavizado
F = np.linspace(-1/2,1/2,len(CP_x))
return [CP_x, F]

5.2.3 Método de suavizado en tiempo del CP

En este caso, la función denominada periodograma_ciclico_TSM recibirá como parámetros:

• La ruta de muestras x.
• La frecuencia de ciclo a evaluar Fc.
• El número de segmentos o bloques en los que se dividirá x.

y devolverá:

• El periodograma cíclico suavizado en tiempo de la señal de entrada.


5.2 Algoritmos de estimación de la SCF: periodograma cíclico y sus métodos derivados 49

• El dominio de frecuencias normalizadas del espectro estimado.

El código en cuestión es:

Código 5.7 Función que implementa el método de suavizado en tiempo para el periodograma
cíclico.
def periodograma_ciclico_TSM(x, Fc, K):
'''
Función que computa el periodograma cíclico de una
ruta de muestras mediante el método de suavizado
5 en tiempo.

Entradas:
x = Ruta de muestras
Fc = Frecuencia de ciclo
10 K = Número de segmentos

Devuelve:
CP_x = Periodograma cíclico
F = Dominio de frecuencia normalizada de CP_x
15 '''

N=len(x) # Longitud de la muestra completa


M=int(np.floor(N/K)) # Longitud de cada segmento

20 # Desplazamiento de Fc/2 medido en muestras


offset = int(np.round((Fc/2) * M))

# Matriz de segmentos
x_k = x[0:K*M].reshape(K,M)
25 # Matriz formada por el espectro de cada segmento
X_k = fftshift(fft(x_k))

# Cálculo del periodograma cíclico suavizado


X1_k=np.zeros((K,M), dtype=complex)
30 X2_k=np.zeros((K,M), dtype=complex)
for ii in np.arange(K):
# Retraso de Fc/2 y compensación de perdida de fase
# tras la FFT de los segmentos
X1_k[ii] = np.conj(np.roll(X_k[ii], offset))*np.exp(-1j*
np.pi*a*ii*M)
35
# Adelanto de Fc/2 y compensación de perdida de fase
# tras la FFT de los segmentos
X2_k[ii] = np.roll(X_k[ii], -offset)*np.exp(-1j*np.pi*a*
ii*M)

40 CP_x_k = (1/M) * X1_k * X2_k


CP_x = sum(CP_x_k[:])/K

# Dominio de frecuencias normalizadas del CP suavizado


F=np.linspace(-1/2,1/2,len(CP_x))
45 return [CP_x, F]
6 Ejemplo experimental de estimación
espectral: modulación digital lineal

Recapitulando, en el capítulo 2 se encontró la expresión de un estimador para la función de densidad


espectral de potencia (PSD) denominado periodograma (ver ecuación (2.37).
En el capítulo 3, se estudiaron y analizaron una serie de técnicas derivadas de este estimador que
permitían reducir la alta varianza en la estimación y la no convergencia para longitudes de muestra
creciente. A priori, tanto el periodograma como las tres técnicas presentadas quedaban restringidas
a procesos aleatorios estacionarios en sentido amplio.
Puesto que el objetivo de este trabajo es poder computar numéricamente un estimador capaz de
estimar las propiedades espectrales de la distribución de potencia de modulaciones digitales lineales,
en el capítulo 4 se estudiaron este tipo de señales y se obtuvo que pueden ser modeladas a través de
procesos cicloestacionarios en sentido amplio y, por tanto, el momento de primer y segundo orden
(Esperanza y Autocorrelación estadística) dependen periódicamente del tiempo con periodo Ts . Esta
propiedad provocaba que, en la distribución espectral de potencia, apareciera una nueva dimensión
de valores discretos que representa la anchura espectral entre pares de frecuencias correlaciones
en el espectro. Estas anchuras son múltiplos enteros de la frecuencia de ciclo fundamental 1/T s
(donde Ts en este caso, es el tiempo de símbolo). A este "nuevo" espectro de potencia se le conoce
con el nombre de espectro cíclico o función de correlación espectral (SCF).
Para estimar la SCF de este tipo de modulaciones, se encontró un nuevo tipo de estimador
denominado periodograma cíclico (4.28) donde mediante el parámetro a, se puede seleccionar la
frecuencia de ciclo a evaluar. Además, se demostró que, tomando un valor nulo para la frecuencia
de ciclo, el periodograma cíclico converge al periodograma definido en el capítulo 3 y de esta forma
los métodos de estimación espectral no paramétricos basados en este son del todo válidos para
estimar la PSD de este tipo de procesos aleatorios. Esta convergencia se puede generalizar para
cualquier tipo de proceso WSCS
Con todo esto, a lo largo de las sucesivas secciones de este capítulo, se propondrá un supuesto
experimental donde se simularán realizaciones del proceso aleatorio definido en (4.1) particularizan-
do para una modulación de tipo anchura de pulsos (PAM) y se aplicarán los diferentes algoritmos
vistos en el capítulo 5 para estimar las propiedades de la distribución espectral de potencia.
Como punto de partida, se retoma a continuación el modelo matemático dado en (4.1) para
modulaciones lineales el cual nos servirá para construir la modulación PAM.

X(t) = ∑ An p(t − nTs ) (6.1)
n=−∞

Ts es el periodo o duración de cada símbolo transmitido, p(t) es el pulso conformador de energía


Eg y An es un proceso aleatorio discreto WSS de media cero que representa la amplitud de cada

51
52 Capítulo 6. Ejemplo experimental de estimación espectral: modulación digital lineal

símbolo transmitido o el símbolo de la constelación propiamente dicho sn = An Eg . Este proceso


p
puede tomar M valores distintos dependiendo del número de símbolos de la modulación. Cada
símbolo representa una agrupación de k bits diferentes por lo que M = 2k .
La inversa del periodo de símbolo se conoce como tasa de símbolo Rs = 1/Ts y sabiendo que
en cada símbolo hay k bits, la tasa de bit será Rb = k/Ts = 1/Tb , donde Tb = Ts /k es el periodo o
tiempo de bit.
Cada símbolo transmitido tendrá una energía Ei dependiente del valor de la amplitud asociado a
cada símbolo. Se puede definir por tanto una energía media de símbolo como Eav = M1 ∑M i=1 Ei .
A la hora de implementar cualquier tipo de señal en un software de cálculo, esta siempre será
discreta. Si se quisiera por ejemplo definir el pulso conformador p(t), lo que se tendría es una
sucesión de L muestras cuya longitud temporal total es Ts . La relación entre duración en tiempo
y muestras es Ts = Tm L, donde Tm es el periodo de muestreo. Además, tanto la señal definida en
muestras como la señal definida en tiempo deben tener la misma energía. Para esto se debe de

cumplir que p(n) = Tm p(nTm ).
Para los sucesivos estudios, se utilizará una modulación PAM descrita por los siguientes paráme-
tros (algunos de ellos podrán ser modificados según el tipo de análisis requerido):

• Número de símbolos: M = 4 −→ k = log2 M = 2.


• Tiempo de símbolo: Tb = 0.1 s −→ Ts = 0.2 s.
• Energía media de bit: Eb = 4 J −→ Eav = 8 J.
• Número de muestras del pulso conformador: L = 10 −→ Tm = Ts /L = 20 ms.
• Pulso conformador: rectángulo de ancho Ts y altura unidad.
• Número de bits transmitidos: Nb = k · 104 = 2 · 104 bits.

Puesto que el objetivo será estimar las propiedades espectrales de esta señal, conviene introducir
el resultado teórico que, para la PSD siguiendo la ecuación (4.19) y particularizando para los
parámetros seleccionados, se tiene

Γx ( f ) = Eb log2 M · sinc2 ( f Ts ) (6.2)


donde γa (0) = Eav /E p = Eb log2 M/Ts . De esta forma, la versión en frecuencia normalizada
(F = f /Fm ) resultado de un periodo de la DTFT es

Γx (F) = Fm Eb log2 M · sinc2 (FL) (6.3)


En el caso de la SCF se puede obtener a través de la ecuación (4.15) como
a/Ts
Γx ( f ) = Eb log2 M · sinc( f Ts ) · sinc( f Ts − a) (6.4)
Siendo así su versión simétrica:

a/Ts
Γx,sym ( f ) = Eb log2 M · sinc( f Ts + a/2) · sinc( f Ts − a/2)
a/L
(6.5)
Γx,sym (F) = Fm Eb log2 M · sinc(FL + a/2) · sinc(FL − a/2)

6.1 Diseño de un transmisor PAM

El diseño de un transmisor PAM se realiza mediante la construcción en Python de una función


denominada TransmisorPAM. Para ello se utilizará la función ya creada en la librería de Python
6.1 Diseño de un transmisor PAM 53

proporcionada por el departamento de Teoría de la Señal y Comunicaciones. Dicha función recibe


como entradas:

• La secuencia de dígitos binarios que se desea transmitir.


• La energía por bit que se desea utilizar en la transmisión, Ebv .
• El número de símbolos, M, de la modulación M-aria.
• El pulso conformador discreto que se utilizará para transmitir cada símbolo M-ario.
• Número de muestras del pulso conformador, L.

y devuelve:

• El tren de pulsos discreto generado.


• La secuencia de dígitos binarios realmente transmitidos, con rellenos de ceros hasta lograr
que el número de dígitos binarios transmitidos sea un múltiplo de log2 M.
• La secuencia de niveles de amplitud transmitidos (secuencia de puntos de la constelación), sn .
• El pulso básico discreto de energía unidad utilizado en la transmisión (la base φ (t) del espacio
de señal digital) con una duración de L muestras.

El código que muestra dicha función se muestra a continuación:

Código 6.1 Función que implementa un transmisor PAM ideal.


def transmisorpam(Bn, Eb, M, p, L):
'''
[Xn,Bn,An,phi,alfabetopam] = transmisorpam(Bn,Eb,M,p,L)

5 Entradas:
Bn = Secuencia de dígitos binarios
Eb = Energía media por bit transmitida en Julios
M = Número de síímbolos del código PAM
p = Pulso paso de baja o paso de banda
10 L = Número de puntos a utilizar en la representación de
un símbolo

Devuelve:
Xn = la señal de información (discreta)
15 Bn = La secuencia de dígitos binarios realmente
transmitidos
An = La secuencia de niveles de amplitud transmitidos
phi = Pulso básico real normalizado (energía unidad)
alfabetopam = Los niveles de amplitud asociados a cada
20 símbolo
'''

#Comprobación de parámetros de entrada


p=np.reshape(p,[np.size(p)]) # Tamaño de vector L
25 if len(Bn)<1 or Eb<=0 or M<2 or p@p==0 or L<1:
raise Exception('Error: revise los parámetros de entrada'
)

# Se obtienen los niveles asociados a cada símbolo


54 Capítulo 6. Ejemplo experimental de estimación espectral: modulación digital lineal

k = int(np.ceil(np.log2(M)))
30 M = 2**(k) # Se Ajusta M a una potencia de dos

# Alfabeto de símbolos resultante


alfabetopam = np.sqrt(3*Eb*np.log2(M)/(M**2-1))*(2*(np.arange
(M))-M+1)

35 # Si Bn no tiene una longitud múltiplo de k,


# se completa con ceros
Nb = len(Bn) # Número de bits a transmitir, actualizado
# Comprobación de int y dimensiones
Bn = Bn.squeeze().astype(int)
40 Bn = np.r_[Bn,np.zeros(int(k*np.ceil(Nb/k)-Nb)).astype(int)]
Nb = len(Bn) # Número de bits a transmitir tras la corrección
Ns = Nb//k # Número de símbolos a transmitir

# La secuencia generada
45 if M>2:
An = alfabetopam[gray2de(np.reshape(Bn,[Ns,k]))]
else:
An = alfabetopam[Bn]

50 # Comprobación de las longitudes y otros datos


# del pulso suministrado para hacer que el número
# de muestras de este sea efectivamente L
Ls = len(p)
if Ls<L:
55 p = np.r_[p, np.zeros(L-Ls)]
elif Ls>L:
print('La duración del pulso se trunca a {} muestras'.
format(str(L)))
p = p[:L]

60 # Se normaliza la energía del pulso para obtener la base


# del sistema
phi = p / np.sqrt(p@p)

# Obtención del tren de pulsos


65 Xn = np.kron(An,phi)

return [Xn,Bn,An,phi,alfabetopam]

6.2 Configuración de parámetros del modelo experimental

Una vez ha sido implementada la función que se utilizará para generar las transmisiones digitales
PAM, se definirán a continuación los parámetros de estas transmisiones que serán utilizadas poste-
riormente como entradas para las funciones de estimación (algunos de estos parámetros podrán ser
modificados según el tipo de análisis requerido).

Código 6.2 Parámetros del supuesto experimental.


L = 10 # N o¯ de muestras por símbolo
M = 4 # Orden de la modulación
6.3 Resultados experimentales 55

Eb = 4 # Energía media de bit


Tb = 1/10 # Tiempo de bit
5
k = np.log2(M).astype(int) # N o¯ de bits por símbolo
Ts = k*Tb # Tiempo de símbolo
Tm = k*Tb/L # Periodo de muestreo
Fm = 1/Tm # Frecuencia de muestreo
10
# Generación del pulso conformador de la modulación
p = np.ones(L)

# Generación de secuencia de k10^4 bits aleatorios para


transmitir
15 Bn = np.random.randint(0,2,[k*int(1e4)])

# Generación de la transmisión PAM


[Xn,Bn,An,phi,alfabetopam]=transmisorpam(Bn,Eb,M,p,L)

20 # Transformación de la transmisión de la forma x(n) a x(nTm)


Xt = Xn / np.sqrt(Tm)

Nb = len(Bn) # N o¯ de bits trasmitidos


Ns = (Nb/k).astype(int) # N o¯ de símbolos transmitidos
25 N = Ns*L # Longitud total de muestras la transmisión

6.3 Resultados experimentales

En este punto, es necesario tener en cuenta algunos detalles. Puesto que se está operando con señales
discretas, el espectro resultante de las estimaciones proviene en última instancia de aplicar la DTFT
ya bien sea sobre la propia realización del proceso (método directo) o sobre su autocorrelación
estimada (método indirecto). Esto se hace mediante al algoritmo FFT el cual toma un periodo de
la DTFT y lo muestrea para un número de frecuencias equiespaciadas. Es conocido que la DTFT
es una suma infinita periódica del verdadero espectro de la señal con periodo Fm lo cual implica
dos cosas; el dominio de las estimaciones estará definido en [−Fm /2, Fm /2] o tomando frecuencias
normalizadas [−1/2, 1/2] y puesto que el espectro teórico dado en (6.2) y (6.4) es infinito, existirá
aliasing el cual será más notable en frecuencias cercanas a los extremos.
Otro detalle importante es lo referido a la magnitud de las estimaciones. Al inicio de este estudio,
para definir el periodograma, se partió de una realización de un proceso aleatorio estacionario que
era una función continua. Si bien, puesto que dicha función no era manejable desde el punto de
vista computacional, no solo se realizó un enventanado de la señal, sino que también se realizó un
muestreo de esta a una frecuencia Fm (en nuestro caso esta Fm vendrá determinada por el número de
puntos tomados para el pulso conformador p(t)).
Además de todo esto, es necesario prestar atención al tipo de señal tomada como entrada para las
estimaciones. Al inicio de este estudio, se partió de una señal continua x(t) que representaba una
realización del proceso aleatorio en cuestión pero que, al ser de carácter continuo, era necesario
tomar una versión muestreada y finita de esta para poder computar numéricamente las estimaciones.
Esto se realizaba suponiendo un muestreo ideal dando como resultado una señal denominada x(n)
la cual se tomaba como punto de partida para definir los estimadores.

x(n) = x(nTm ) (6.6)


56 Capítulo 6. Ejemplo experimental de estimación espectral: modulación digital lineal

Esta asignación hay que tomarla con cierta cautela puesto que x(n) no está definido en el dominio
n sino en nTm lo cual no es lo mismo como se vio al inicio de este capítulo al analizar el pulso con-
formador p(t) de la modulación PAM (la magnitud de la señal en ambos dominios está relacionada

directamente con un factor Tm para mantener las mismas propiedades energéticas y, por tanto
hagan referencia a la misma señal). Por esto a la hora de realizar las estimaciones se debe tomar
como entrada la modulación muestreada es decir x(nTm ) en su dominio temporal discretizado y no
su versión en el dominio n de valores enteros.
Finalmente, como se ha mencionado anteriormente, aplicar los métodos basados en el periodo-
grama a este tipo de procesos cicloestacionarios es del todo valido puesto que el periodograma y el
periodograma cíclico son idénticos para una frecuencia de ciclo nula y por tanto es esperable que
las estimaciones realizadas sea válidas independientemente de otros factores como el tipo de pulso
conformador o el orden y energía de la modulación elegida.

6.3.1 PSD estimada mediante periodograma

Como punto de partida del análisis experimental de estimación espectral de potencia para la
modulación PAM, se verá el comportamiento del periodograma. Para ilustrarlo, se genera el siguiente
código donde para una misma transmisión, se aplicará el algoritmo del periodograma tanto directo
como indirecto para diferentes longitudes de muestra.
Para el método directo se propone el siguiente código:

Código 6.3 Algoritmo propuesto para aplicar el periodograma sobre la transmisión PAM.
# Vector de longitudes para la muestra
N = (len(Xt)*np.array([1,1/10,1/100,1/1000])).astype(int)

# Bucle para generar las diferentes estimaciones según la


longitud requerida
5 for i in np.arange(4):
# Se computa el periodograma de Xt truncado a N[i] muestras
[Px,F] = periodograma(Xt[0:N[i]-1],'directo')
Px_dB = 10*np.log10(abs(P_x)) # Magnitud en dBW

10 color = ['r','b','g','y'] # vector de colores

# Representación de la magnitud del periodograma en dBW


plt.plot(F, Px_dB, color[i],
label = r'$P_x(N=10^'+str(i+2)+')$')
15
# Representación de la magnitud de la D.S.P. teórica en dBW
plt.plot(F_teor, Sx_dB , 'k', label = r'$\Gamma_x$')

# Se nombran y limitan los ejes, se ajusta la leyenda y se activa


el grid en la gráfica
20 plt.xlabel('F')
plt.ylabel('magnitud de la PSD [dBW]')
plt.legend(loc="lower left", mode = "expand", ncol = 3)
plt.axis([-1/2,1/2,-60,40])
plt.grid()
25

En el caso del método indirecto, se utilizará el mismo código cambiando únicamente el tipo de
acceso en la función periodograma de directo a indirecto.
6.3 Resultados experimentales 57

Figura 6.1 Estimación de la PSD mediante periodograma por método directo para distintas longitu-
des de la realización del proceso aleatorio WSCS definido en (6.1).

Figura 6.2 Estimación de la PSD mediante periodograma por método indirecto para distintas longi-
tudes de la realización del proceso aleatorio WSCS definido en (6.1).

En la figura 6.1 se pueden observar los resultados obtenidos al aplicar el método directo del
periodograma sobre la ruta de muestras generada a través de una transmisión PAM. De este análisis
se pueden obtener diversas conclusiones. En primer lugar, se observa que a medida que la longitud
58 Capítulo 6. Ejemplo experimental de estimación espectral: modulación digital lineal

de la muestra aumenta (N aumenta), la desviación de los puntos estimados no se reduce, lo cual


corrobora lo predicho por la teoría respecto a la consistencia de este estimador. En la ecuación
(2.54) se vio que, a medida que la longitud de muestras de la realización del proceso aleatorio crece,
la varianza del periodograma tiende de manera asintótica al cuadrado de la PSD. Análogamente,
la desviación típica (definida como la raíz de la varianza) tendrá un valor teórico igual a la PSD
teórica. De hecho, si de manera experimental se toma el espectro estimado de color rojo (puesto
que posea un número de muestras mayor) y se mide de manera aproximada la distancia entre los
puntos más elevados y los más bajos para frecuencias muy próximas, se tiene valores similares a
los de la PSD teórica para dicha frecuencia.
El caso del método indirecto (figura 6.2) es análogo al método directo en lo que respecta a la
forma de las estimaciones. Si bien este es menos eficaz desde el punto de vista computacional puesto
que requiere realizar una autocorrelación de la ruta muestras para la cual, cuando N es elevada,
genera unos tiempos de computación muy altos. En el caso por ejemplo de N = 105 , se tiene un
tiempo de cálculo de 3.5 [ms] para el método directo y de 10 [s] para el método indirecto.

6.3.2 PSD estimada mediante método de Bartlett

EL método de Bartlett segmenta la ruta de muestras completa en K segmentos para los cuales
aplica el algoritmo del periodograma para después realizar un promediado de estos. De esta forma
el parámetro característico de esta técnica es K, el número de segmentos. Para ofrecer una visión
completa de las capacidades de este método, se mostrará en una misma figura los resultados de las
estimaciones para diferentes valores de K con ayuda del siguiente código:

Código 6.4 Algoritmo propuesto para aplicar el periodograma de Bartlett sobre la transmisión PAM.
K = [10,30,100] # vector de valores de K
color = ['b','g','r'] # vector de colores

# Bucle para generar las diferentes estimaciones según la


segmentación requerida
5 for i in np.arange(len(K)):
# Se computa el periodograma de bartlett Xt con K[i]
segmentos
[Pb_x,F] = periodograma_bartlett(Xt, K[i])
Pb_x_dB = 10*np.log10(Pb_x) # Magnitud en dBW

10 # Representación de la magnitud de la P.S.D estimada en dBW


plt.plot(F, Pb_x_dB,
color[i],
label = r'$P^B_x(K='+str(K[i])+')$')

15 # Representación de la magnitud de la P.S.D teórica en dBW


plt.plot(F_teor, Sx_dB, 'k', label = r'$\Gamma_x$')

# Se nombran y limitan los ejes, se ajusta la leyenda y se activa


el grid en la gráfica
plt.xlabel('F')
20 plt.ylabel('magnitud de la PSD [dBW]')
plt.legend(loc="lower left", mode = "expand", ncol = 4)
plt.axis([-1/2,1/2,-25,30])
plt.grid()
6.3 Resultados experimentales 59

En la figura 6.3 se muestran los resultados obtenidos tras aplicar el método de Bartlett sobre la ruta
de muestras para 10, 30 y 100 segmentos. Es evidente que, a medida que aumentan los segmentos,
la varianza de la estimación se reduce lo cual concuerda con lo esperado en la ecuación (3.10). Si
bien, tomar un valor excesivo de segmentos, puede provocar que M, sea demasiado pequeña y, por
consiguiente, los periodogramas obtenidos para cada uno de ellos sean insuficientes para obtener
un buen resultado tras el promediado. Es por esto por lo que, el valor de K máximo deberá ser tal
que M sea aproximadamente mayor que 100 muestras para que la estimación sea aceptable.

Figura 6.3 Estimación de la PSD mediante método de Bartlett para distintas segmentaciones de la
realización del proceso aleatorio WSCS definido en (6.1).

6.3.3 PSD estimada mediante método de Welch

El método de Welch reutiliza el procedimiento de Bartlett añadiendo solapamiento y suavizado


de los segmentos. En este caso los parámetros característicos son el número de segmentos L, el
solapamiento entre muestras OL (overlap) y el tipo de ventana. Esto ofrece tres grados de libertad
que permiten hacer diferentes configuraciones para la estimación. En una primera aproximación, en
el siguiente código, se ha optado por usar una ventana triangular y se ha fijado el parámetro L = 50
para tomar distintos valores de (overlap).

Código 6.5 Algoritmo propuesto para aplicar el periodograma de Welch sobre la transmisión PAM
para diferentes valores del overlap.
OL = [90,70,50,10] # vector de valores de overlap
color = ['b','r','g','y'] # vector de colores

# Bucle para generar las diferentes estimaciones según el overlap


requerido
5 for i in np.arange(len(OL)):
# Se computa el periodograma de welch Xt con OL[i] de overlap
entre segmentos
60 Capítulo 6. Ejemplo experimental de estimación espectral: modulación digital lineal

[Pw_x,F] = periodograma_welch(Xt, 50, OL[i])


Pw_x_dB = 10*np.log10(Pw_x) # Magnitud en dBW

10 # Representación de la magnitud de la P.S.D estimada en dBW


plt.plot(F , Pw_x_dB,
color[i],
label = r'$P^W_x(OL='+str(OL[i])+')$')

15 # Representación de la magnitud de la P.S.D teórica en dBW


plt.plot(F_teor, Sx_dB, 'k', label = r'$\Gamma_x$')

# Se nombran y limitan los ejes, se ajusta la leyenda y se activa


el grid en la gráfica
plt.xlabel('F')
20 plt.ylabel('magnitud de la PSD [dBW]')
plt.legend(loc="lower left", mode = "expand", ncol = 4)
plt.axis([-1/2,1/2,-25,30])
plt.grid()

El resultado de ejecutar este código se muestra en la figura 6.4:

Figura 6.4 Estimación de la PSD del proceso aleatorio WSCS definido en (6.1) mediante método
de Welch para distintos solapamientos entre segmentos.

A medida que el overlap se reduce del tamaño máximo seleccionado (90 %), la estimación mejora
puesto que la desviación típica disminuye y la gráfica resultante tiende a la PSD teórica, pero cuando
se alcanzan valores cercanos al 50 % e inferiores, la desviación parece que se mantiene en un valor
constante como se ve entre las gráficas de color verde y amarillo.
Tomando un valor significativo de overlap, por ejemplo, un 50 %, se puede comprobar ahora
cómo evolucionan las estimaciones variando el número de segmentos. Para esto se puede reutilizar
el código anterior, pero cambiando el vector de OL por un vector de L
6.3 Resultados experimentales 61

Código 6.6 Algoritmo propuesto para aplicar el periodograma de Welch sobre la transmisión PAM
para diferentes valores de segmentación.
L = [10,30,100] # vector de valores de L
color = ['b','r','g'] # vector de colores

# Bucle para generar las diferentes estimaciones según el overlap


requerido
5 for i in np.arange(len(L)):
# Se computa el periodograma de welch Xt de L[i] segmentos
con un 50% entre ellos
[Pw_x,F] = periodograma_welch(Xt, L[i], 50)
Pw_x_dB = 10*np.log10(Pw_x) # Magnitud en dBW

10 # Representación de la magnitud de la P.S.D estimada en dBW


plt.plot(F , Pw_x_dB,
color[i],
label = r'$P^W_x(L='+str(L[i])+')$')

15 # Representación de la magnitud de la P.S.D teórica en dBW


plt.plot(F_teor, Sx_dB, 'k', label = r'$\Gamma_x$')

# Se nombran y limitan los ejes, se ajusta la leyenda y se activa


el grid en la gráfica
plt.xlabel('F')
20 plt.ylabel('magnitud de la PSD [dBW]')
plt.legend(loc="lower left", mode = "expand", ncol = 4)
plt.axis([-1/2,1/2,-25,30])
plt.grid()

En la figura 6.5 se muestra el resultado de las estimaciones del método de Welch para un overlap
fijo del 50 % y distintos valores de segmentación. Nuevamente, se observa lo predicho por la teoría.
A medida que el número de segmentos crece, la varianza de la estimación se reduce tal y como
marca (en este caso) la ecuación (3.24). De igual forma que ocurre con el método de Bartlett, para
una longitud de muestra N finita, el número de segmentos posible queda limitado hasta tal punto
que la longitud M de cada segmento sea lo suficientemente grande como para ofrecer una buena
estimación. Si bien, puesto que en este caso existe solapamiento entre muestras, el número de
segmentos para un mismo valor de N puede ser superior que en el caso del método de Bartlett.
En cualquier caso, este método ofrece más posibilidades que su predecesor puesto que posee tres
grados de libertad, el overlap, el número de segmentos y tipo de enventanado de estos.
62 Capítulo 6. Ejemplo experimental de estimación espectral: modulación digital lineal

Figura 6.5 Estimación de la PSD del proceso aleatorio WSCS definido en (6.1) mediante método
de Welch para diferente número de segmentos.

6.3.4 PSD estimada mediante método de Blackman-Tukey

El método de Blackman y Tukey, a diferencia de las técnicas anteriores, computa el periodograma de


los datos a través del método indirecto, es decir, de la autocorrelación estimada. Además, incorpora un
enventanado de los datos para reducir la varianza de la estimación. Como parámetros fundamentales
del sistema se tiene el porcentaje de enventanado de los datos, definido como PEV % = M N % y el
tipo de ventana utilizada. De esta forma, para mostrar las prestaciones de este método se utilizarán
dos tipos de ventanas, la triangular y la rectangular para las cuales se tomarán porcentajes de
enventanado del 50, 10, 1 y 0.25 %.
En primer lugar, para mostrar los resultados con la ventana rectangular se utilizará el siguiente
código:

Código 6.7 Algoritmo propuesto para aplicar el periodograma de Blackman-Tukey sobre la trans-
misión PAM para diferentes tamaños de ventana.
PEV = [50,10,1,0.25] # vector de valores de PEV
color = ['b','r','g','y'] # vector de colores

# Bucle para generar las diferentes estimaciones según el


porcentaje de enventanado requerido
5 for i in np.arange(len(PEV)):
# Se computa el periodograma de blackman-tukey de Xt para el
PEV[i] dado.
[Pbt_x,F] = periodograma_blackman_tukey(r_x, Xt,
'rectangular', PEV[i])
Pbt_x_dB = 10*np.log10(Pbt_x) # Magnitud en dBW
10
# Representación de la magnitud de la P.S.D estimada en dBW
6.3 Resultados experimentales 63

plt.plot(F , Pbt_x_dB,
color[i],
label = r'$P^{BT}_x(PEV='+str(PEV[i])+'\%)$')
15
# Representación de la magnitud de la P.S.D teórica en dBW
plt.plot(F_teor, Sx_dB, 'k', label = r'$\Gamma_x$')

# Se nombran y limitan los ejes, se ajusta la leyenda y se activa


el grid en la gráfica
20 plt.xlabel('F')
plt.ylabel('magnitud de la PSD [dBW]')
plt.legend(loc="lower left", mode = "expand", ncol = 4)
plt.axis([-1/2,1/2,-25,35])
plt.grid()
25

Los resultados obtenidos de este código se muestran en la siguiente figura.

Figura 6.6 Estimación de la PSD del proceso aleatorio WSCS definido en (6.1) mediante método
de Blackman y Tukey para distintos porcentajes de enventanado de tipo rectangular.

Según lo predicho por la teoría, para valores de M << N, se obtiene una varianza de la estimación
proporcional a la energía de la ventana utilizada. Es por esto por lo que, a medida que el ancho de
la ventana se reduce, la desviación también se reduce y las prestaciones de la estimación mejoran,
asemejándose la gráfica obtenida a la real. Se concluye por tanto que, el PEV deberá ser de entre
un 5 % y un 0.1 % para que la desviación obtenida sea aceptable.
Para la ventana triangular, basta con cambiar el tipo de ventana utilizada en la llamada a la función
periodograma_blackman_tukey. En este caso, en la figura 6.7 se recogen los resultados obtenidos.
Es notable la mejoría en la desviación de los puntos de la estimación con la ventana triangular
respecto a la ventana rectangular. Esto es debido a que, para un mismo porcentaje de enventanado,
la energía de la ventana triangular es menor que la rectangular y, por tanto, según la ecuación (3.45),
la varianza también será menor.
64 Capítulo 6. Ejemplo experimental de estimación espectral: modulación digital lineal

Figura 6.7 Estimación de la PSD del proceso aleatorio WSCS definido en (6.1) mediante método
de Blackman y Tukey para distintos porcentajes de enventanado de tipo triangular.

6.3.5 SCF estimada mediante periodograma cíclico

Hasta el momento, solo se han aplicado los métodos de estimación no paramétricos derivados del
periodograma para la PSD de la modulación PAM. Puesto que este tipo de señales pertenecen a
la categoría de procesos aleatorios WSCS el espectro de potencia no queda definido al completo
únicamente con la PSD. Por esto, en este punto se aplicarán los algoritmos de estimación del espectro
cíclico basados en el periodograma cíclico.
En una primera aproximación, se empleará la función periodograma_ciclico. Para ello es necesario
tener en cuenta ciertos aspectos. En primer lugar, el espectro cíclico está definido en 3 dimensiones
(dos continuas y una discreta). Por esto, se harán 2 representaciones diferentes, una de ellas en
formato tridimensional y otra en dos dimensiones, donde se solapará la dimensión discreta formada
por las frecuencias de ciclo.
En segundo lugar, puesto que para el número de puntos tomados en un tiempo de símbolo (L = 10)
existen 9 múltiplos de la frecuencia de ciclo fundamental que generan resultados diferentes en
cuanto a la magnitud del espectro (1/10, 2/10, ..., 9/10) y teniendo en cuenta que, para el espectro
cíclico simétrico en frecuencia normalizada, Fc = a/L = −a/L, se estimará el espectro para 5
frecuencias de ciclo diferentes evitando así que las representaciones sean muy engorrosas.
Por último, debido a que los resultados esperados de las estimaciones para el periodograma
cíclico sin suavizar presentan una alta variación, hacer este tipo de representación será complicada
desde el punto de vista de interpretar los resultados. Por ello se optará por separar la dimensión
discreta en figuras diferentes.
Siguiendo este razonamiento, se propone el siguiente código para aplicar la función periodogra-
ma_ciclico a la modulación PAM descrita:
6.3 Resultados experimentales 65

Código 6.8 Algoritmo propuesto para aplicar el periodograma cíclico sobre la transmisión PAM.
color = ['r','b','g','c','m','y'] # vector de colores
for a in np.arange(6):
plt.figure(a)
Fc = a/L # Selección de Frecuencia de ciclo
5
# Generación de la SCF real/ideal
Fp = np.linspace(-1/2,1/2,1000)
SCF_x = (Fm*Eb*k)*np.conj(np.roll(np.sinc(Fp*L), int(np.round
((Fc/2) * 1000))))*np.roll(np.sinc(Fp*L), -int(np.round((Fc/2) *
1000)))
SCF_x_dB = 10*np.log10(abs(SCF_x))
10
# Estimación de la SCF para Fc seleccionada
[PC_x, F] = periodograma_ciclico(Xt, Fc)
PC_x_dB = 10*np.log10(abs(PC_x))

15 # Selección de etiquetas para la leyenda


if a != 0:
label_srt1 = r'$P^{'+str(Fc)+'}_{x,sym}$'
label_srt2 = r'$\Gamma^{'+str(Fc)+'}_{x,sym}$'
else:
20 label_srt1 = r'$P_{x}$'
label_srt2 = r'$\Gamma_{x}$'

# Representación de la magnitud de la S.C.F estimada en dBW


plt.plot(F, PC_x_dB, color[a], label=label_srt1)
25
# Representación de la magnitud de la S.C.F teórica en dBW
plt.plot(Fp, SCF_x_dB, 'k', label=label_srt2)

# Se nombran y limitan los ejes y se activa la leyenda y


30 # el grid en la gráfica
plt.xlabel('F')
plt.ylabel('magnitud de la SCF [dBW]')
plt.legend()
plt.axis([-1/2,1/2,-40,36])
35 plt.grid()

El resultado tras la ejecución se muestra en la figura 6.8. Se puede observar que, para los 5
casos de frecuencias de ciclo seleccionadas, la estimación es buena desde el punto de vista de la
tendencia de los puntos respecto a sus valores teóricos (esperanza), pero es muy mala a la vista de
la varianza o desviación típica de los puntos estimados, lo cual es lo esperado teniendo en cuenta
las características de dicho estimador. De hecho, lo ocurrido aquí es idéntico al caso anterior donde
se analizó el periodograma siendo necesario recurrir a técnicas que reduzcan esta varianza.
66 Capítulo 6. Ejemplo experimental de estimación espectral: modulación digital lineal

(a) Fc = 0. (b) Fc = 0.1.

(c) Fc = 0.2. (d) Fc = 0.3.

(e) Fc = 0.4. (f) Fc = 0.5.

Figura 6.8 Estimación de la SCF del proceso aleatorio WSCS definido en (6.1) para diferentes
frecuencias de ciclo.
6.3 Resultados experimentales 67

6.3.6 SCF estimada mediante el método de suavizado en frecuencia del CP

La técnica de suavizado en frecuencia sobre el periodograma cíclico consiste en aplicar un pro-


mediado para cada punto estimado utilizando el punto y los D − 1 puntos posteriores. A esto se
le conoce como promediado móvil. Esta técnica se implementó de manera simple (sección 5.2) a
través de una convolución de una ventana rectangular normalizada de D muestras sobre el resultado
de la estimación tras aplicar el periodograma cíclico.
Para obtener una estimación de la SCF de la modulación PAM aplicando esta técnica se propone
lo siguiente:

Código 6.9 Algoritmo propuesto para aplicar el método FSM del periodograma cíclico sobre la
transmisión PAM.
# Código para generar una representación bidimensional con los
diferentes espectros obtenidos para las frecuencias de ciclo
seleccionadas.

# se crea una figura que estará compuesta por las 6 funciones


resultantes para las cuales se define un color, un tipo de línea
y un nivel de transparencia.
plt.figure(1)
5 alpha_var = [1,1,1,0.7,0.5,0.5]
color_var = ['r','b','g','--c','--m','--y']

# Se genera un bucle para los múltiplos enteros 'a' de 0 a 5, que


generaran las diferentes frecuencias de ciclo y sus respectivas
estimaciones.
for a in np.arange(6):
10 Fc = a/L # Frecuencia de ciclo normalizada.

# Estimación de la SCF para Fc seleccionada mediante


suavizado en frecuencia.
D = int(len(Xt)*0.005)
[PC_x, F] = periodograma_ciclico_FSM(Xt, Fc, D)
15 PC_x_dB = 10*np.log10(abs(PC_x)) # Magnitud en dBW

# Se generan las etiquetas para la leyenda de la figura.


if a != 0:
label_str = r'$P^{'+str(Fc)+'}_{x,sym}$'
20 else:
label_str = r'$P^{'+str(0)+'}_{x,sym}$'

# Representación de la función estimada.


plt.plot(F, PC_x_dB, color_var[a], label=label_str, alpha=
alpha_var[a])
25
# Finalmente, se nombran y limitan los ejes y se activa la
leyenda y el grid en la gráfica.
plt.xlabel('F')
plt.ylabel('magnitud de la SCF [dBW]')
plt.legend(loc="lower left", mode="expand", ncol=3)
30 plt.axis([-1/2,1/2,-35,30])
plt.grid()
68 Capítulo 6. Ejemplo experimental de estimación espectral: modulación digital lineal

# Código para generar una representación tridimensional con los


diferentes espectros obtenidos para las frecuencias de ciclo
seleccionadas.

35 # se crea una nueva figura que estará compuesta por las 6


funciones resultantes para las cuales se define un color
diferente en cada caso.

fig1 = plt.figure(2) # Se crea la figura.


ax1 = plt.axes(projection='3d') # Se crea el encuadre.

40 color = ['r','b','g','c','m','y'] # colores seleccionados.


for a in np.arange(6):
Fc = a/L # Frecuencia de ciclo normalizada.

# Se genera la SCF real para la Fc seleccionada.


45 Fp = np.linspace(-1/2,1/2,1000)
SCF_x = (Fm*Eb*k)*np.conj(np.roll(np.sinc(Fp*L), int(np.round
((Fc/2) * 1000)) ))* np.roll(np.sinc(Fp*L), -int(np.round((Fc/2)
* 1000)) )
SCF_x_dB = 10*np.log10(abs(SCF_x))

# Estimación de la SCF para Fc seleccionada mediante


suavizado en frecuencia.
50 D = int(len(Xt)*0.005)
[PC_x, F] = periodograma_ciclico_FSM(Xt, Fc, D)
PC_x_dB = 10*np.log10(abs(PC_x))

# Se crean las etiquetas para la leyenda de la figura.


55 if a != 0:
label_srt = r'$P^{'+str(Fc)+'}_{x,sym}$'
else:
label_srt = r'$P^{'+str(0)+'}_{x,sym}$'

60 # Representación de la función estimada en 3D.


ax1.plot3D(F, np.ones(len(F))*Fc, abs(PC_x), color[a],
label=label_srt)

# Representación de la función teórica en 3D.


ax1.plot3D(Fp, np.ones(len(Fp))*Fc, abs(SCF_x), 'k', alpha
=0.7)
65
# Finalmente, se nombran y limitan los ejes y se activa la
leyenda y el grid en la gráfica.
ax1.axis([-1/2,1/2,Fc,0])
ax1.set_zlim(0,420)
ax1.set_xlabel('F')
70 ax1.set_ylabel(r'$F_c = a/L$')
ax1.set_zlabel('magnitud de la SCF [W]')
plt.legend(bbox_to_anchor=(0,0.1,1,1), mode="expand", ncol=3)
plt.grid()

En las figuras 6.9 y 6.10 se muestran los resultados obtenidos de las estimaciones. El objetivo de
reducir la varianza o desviación en los puntos estimados se consigue de manera clara y evidente.
basta con comparar estos con los resultados obtenidos aplicando el periodograma cíclico sin suavizar
6.3 Resultados experimentales 69

(figura 6.8) para ver que el ajuste de los puntos estimados es mucho más acertado en el caso suavizado
lo cual, es lo esperado. Teniendo en cuenta la ecuación 4.39, y sabiendo que D = 0.005N = 500,
la varianza de la estimación se reduce con un factor de D−1 = 0.002, es decir un 0.2 % del valor
teórico sin suavizar. El mayor inconveniente de esta técnica es que requiere aplicar la FFT de toda la
ruta de muestras al completo lo cual puede incurrir en altos tiempos de computación para longitudes
largas. En este ejemplo realizado, se tiene una media de tiempo de cálculo de 0.018 seg.

Figura 6.9 Magnitud de la SCF estimada en dBW del proceso aleatorio WSCS definido en (6.1)
mediante suavizado en frecuencia del periodograma cíclico para las 5 primeras frecuen-
cias de ciclo (además de la frecuencia de ciclo nula) utilizando un filtro de media móvil
simple de ancho de banda normalizado igual a 0.005 (0.005N muestras).
70 Capítulo 6. Ejemplo experimental de estimación espectral: modulación digital lineal

Figura 6.10 Magnitud de la SCF estimada del proceso aleatorio WSCS definido en (6.1) mediante
suavizado en frecuencia del periodograma cíclico para las 5 primeras frecuencias de
ciclo (además de la frecuencia de ciclo nula) utilizando un filtro de media móvil simple
de ancho de banda normalizado igual a 0.005 (0.005N muestras).

6.3.7 SCF estimada mediante el método de suavizado en tiempo del CP

Para finalizar con las técnicas de estimación vistas en este trabajo y como alternativa al método de
suavizado en frecuencia, se aplicará ahora el método de suavizado en tiempo para el periodograma
cíclico. Para ello se utilizará el código del apartado anterior, pero cambiando el método de estimación
por la función periodograma_ciclico_FSM para un valor de K = 200.

Código 6.10 Algoritmo propuesto para aplicar el método TSM del periodograma cíclico sobre la
transmisión PAM.
# Código para generar una representación bidimensional con los
diferentes espectros obtenidos para las frecuencias de ciclo
seleccionadas.

# se crea una figura que estará compuesta por las 6 funciones


resultantes para las cuales se define un color, un tipo de línea
y un nivel de transparencia.
plt.figure(1)
5 alpha_var = [1,1,1,0.7,0.5,0.5]
color_var = ['r','b','g','--c','--m','--y']

# Se genera un bucle para los múltiplos enteros 'a' de 0 a 5, que


generaran las diferentes frecuencias de ciclo y sus respectivas
estimaciones.
for a in np.arange(6):
10 Fc = a/L # Frecuencia de ciclo normalizada.
6.3 Resultados experimentales 71

# Estimación de la SCF para Fc seleccionada mediante


suavizado en tiempo con 200 bloques.
K = 200
[PC_x, F] = periodograma_ciclico_TSM(Xt, Fc, K)
15 PC_x_dB = 10*np.log10(abs(PC_x)) # Magnitud en dBW.

# Se generan las etiquetas para la leyenda de la figura.


if a != 0:
label_str = r'$P^{'+str(Fc)+'}_{x,sym}$'
20 else:
label_str = r'$P^{'+str(0)+'}_{x,sym}$'

# Representación de la función estimada.


plt.plot(F, PC_x_dB, color_var[a], label=label_str, alpha=
alpha_var[a])
25
# Finalmente, se nombran y limitan los ejes y se activa la
leyenda y el grid en la gráfica.
plt.xlabel('F')
plt.ylabel('magnitud de la SCF [dBW]')
plt.legend(loc="lower left", mode="expand", ncol=3)
30 plt.axis([-1/2,1/2,-35,30])
plt.grid()

# Código para generar una representación tridimensional con los


diferentes espectros obtenidos para las frecuencias de ciclo
seleccionadas.

35 # se crea una nueva figura que estará compuesta por las 6


funciones resultantes para las cuales se define un color
diferente en cada caso.

fig1 = plt.figure(2) # Se crea la figura.


ax1 = plt.axes(projection='3d') # Se crea el encuadre.

40 color = ['r','b','g','c','m','y'] # colores seleccionados.


for a in np.arange(6):
Fc = a/L # Frecuencia de ciclo normalizada.

# Se genera la SCF real para la Fc seleccionada.


45 Fp = np.linspace(-1/2,1/2,1000)
SCF_x = (Fm*Eb*k)*np.conj(np.roll(np.sinc(Fp*L), int(np.round
((Fc/2) * 1000)) ))* np.roll(np.sinc(Fp*L), -int(np.round((Fc/2)
* 1000)) )
SCF_x_dB = 10*np.log10(abs(SCF_x))

# Estimación de la SCF para Fc seleccionada mediante


suavizado en tiempo con 200 bloques.
50 K = 200
[PC_x, F] = periodograma_ciclico_TSM(Xt, Fc, K)
PC_x_dB = 10*np.log10(abs(PC_x))

# Se crean las etiquetas para la leyenda de la figura.


55 if a != 0:
label_srt = r'$P^{'+str(Fc)+'}_{x,sym}$'
72 Capítulo 6. Ejemplo experimental de estimación espectral: modulación digital lineal

else:
label_srt = r'$P^{'+str(0)+'}_{x,sym}$'

60 # Representación de la función estimada en 3D.


ax1.plot3D(F, np.ones(len(F))*Fc, abs(PC_x), color[a],
label=label_srt)

# Representación de la función teórica en 3D.


ax1.plot3D(Fp, np.ones(len(Fp))*Fc, abs(SCF_x), 'k', alpha
=0.7)
65
# Finalmente, se nombran y limitan los ejes y se activa la
leyenda y el grid en la gráfica.
ax1.axis([-1/2,1/2,Fc,0])
ax1.set_zlim(0,420)
ax1.set_xlabel('F')
70 ax1.set_ylabel(r'$F_c = a/L$')
ax1.set_zlabel('magnitud de la SCF [W]')
plt.legend(bbox_to_anchor=(0,0.1,1,1), mode="expand", ncol=3)
plt.grid()

Los resultados obtenidos se muestran en las figuras 6.11 y 6.12. Nuevamente y como es de
esperar, la varianza de la estimación se reduce notablemente, en concreto, suponiendo una longitud
infinita de muestras de la realización del proceso, se tiene un factor de reducción en la varianza
de K −1 = 0.005. Además, debido a la segmentación, el número de muestras estimadas se reduce
notablemente lo cual reduce el tiempo de computación respecto al método anterior lo que lo hace
más apto para rutas de muestras muy largas donde esta diferencia será más notable. En este caso, el
tiempo de cómputo medio es de 0.015 seg.
6.3 Resultados experimentales 73

Figura 6.11 Magnitud de la SCF estimada en dBW del proceso aleatorio WSCS definido en (6.1)
mediante suavizado en tiempo del periodograma cíclico para las 5 primeras frecuencias
de ciclo (además de la frecuencia de ciclo nula) utilizando una segmentación de 200
bloques de la muestra completa.

Figura 6.12 Magnitud de la SCF estimada del proceso aleatorio WSCS definido en (6.1) mediante
suavizado en frecuencia del periodograma cíclico para las 5 primeras frecuencias de
ciclo (además de la frecuencia de ciclo nula) utilizando una segmentación de 200
bloques de la muestra completa..
74 Capítulo 6. Ejemplo experimental de estimación espectral: modulación digital lineal

6.4 Conclusiones y análisis finales


Con este último capítulo se ha podido poner en práctica las propiedades que ofrecen los diferentes
métodos de estimación espectral no paramétricos, basados en realizaciones de procesos aleatorios
de tipo WSCS. Para ello, se ha tomado como ejemplo de este tipo de procesos un tipo de modulación
digital lineal, la modulación por anchura de pulsos PAM.
Para realizar las estimaciones se han generado transmisiones finitas, aleatorias y libres de ruido
de este tipo de modulación con una cierta configuración previa en lo que respecta a la energía media
de bit, el número de bits por símbolo y el número de muestras tomadas para cada símbolo.
Como punto final de este trabajo, merece la pena analizar ciertos detalles comunes que se darán
para todas las técnicas estudiadas, así como realizar algún experimento alternativo como, por
ejemplo, utilizar otro tipo de modulación, o analizar cómo se comportan las estimaciones añadiendo
ruido al sistema.

6.4.1 Detalles generales de la PSD y sus estimaciones

Respecto a los resultados de las estimaciones de la densidad espectral de potencia para la modulación
PAM, se pueden obtener las siguientes conclusiones.
En primer lugar, se ha comprobado que, como se vio en el capítulo 4, las técnicas de estimación
basadas en el periodograma son totalmente válidas y aplicables para procesos aleatorios de tipo
WSCS como es el caso de la modulación PAM tomada como ejemplo en este estudio. Esto se puede
comprobar observando la convergencia de estas estimaciones hacia la PSD teórica.
En segundo lugar y enfocando más el análisis en la propia forma de esta función, existen diversos
detalles que merecen mención. Teniendo en cuenta la expresión teórica de la PSD, se tiene que el
espectro depende de manera directa del módulo al cuadrado de la transformada de Fourier del pulso
conformador de la modulación, es decir, |P( f )|2 . Es por esto que, para determinar el porqué de la
forma de onda de la PSD, se deberá analizar el espectro del pulso conformador el cual, para el caso
tomado como ejemplo es un rectángulo de altura unidad y longitud Ts , cuyo espectro al cuadrado es

|P( f )|2 = Ts2 sinc2 ( f Ts ) (6.7)


O de manera análoga expresado como un periodo de la DTFT en frecuencia normalizada

|P(F)|2 = Tm · L2 sinc2 (FL) (6.8)


Observando ambas ecuaciones, se puede ver claramente como el ancho de los lóbulos dependerá
de los parámetros Ts (indirectamente de M y Tb ) en el dominio f y de L en el dominio F. Esto
se puede entender de manera análoga teniendo en cuenta lo visto en la sección 2.3 referido a
efectos de enventanado. Si se asume que el pulso conformador es de longitud infinita y se realiza un
enventanado de duración Ts segundos o L muestras, se obtendrá un espectro resultante en frecuencia
normalizada idéntico a la ecuación (6.8).
Otro factor para destacar es que cuando se toma la magnitud de la PSD en dB, surgen puntos en
menos infinito debidos a los ceros de la función. puesto que las señales con las que se trabaja son
discretas y además sobre estas se realizan sucesivas operaciones que generan errores de redondeo, es
poco probable que se obtenga un valor nulo como tal en las estimaciones que resulte en un valor en
menos infinito. Es por esto por lo que en las estimaciones realizadas los picos tienen una caída finita.
En caso de obtener un valor en menos infinito en alguna función, a la hora de ser representados
Python simplemente los ignora, lo cual no es ningún problema puesto que en general se tendrá un
número de puntos muy elevado en comparación a estos lo que hace este defecto imperceptible.
Respecto al ancho de bando ocupado por la modulación BW , se toma como referencia el ancho
del lóbulo principal al pasar por cero (ver en escala logarítmica). De esta forma en el caso de la mo-
dulación PAM definida al inicio de este capítulo, el ancho del lóbulo principal es aproximadamente
6.4 Conclusiones y análisis finales 75

0.1 medido en el dominio de frecuencias normalizado (F). Por tanto, el ancho de banda en Hercios
es BW ≈ 0.1Fm = 5 Hz

Finalmente, se puede obtener la potencia del proceso aleatorio una vez se ha encontrado una
estimación de la PSD de este. Teniendo en cuenta la ecuación (2.17), la potencia teórica de la
modulación PAM seleccionada al inicio de este capítulo es:

Eb log2 M Eb
Z ∞ Z ∞
PX = Γx ( f ) d f = Eb log2 Msinc2 ( f Ts ) d f = = = 40 [W ] (6.9)
−∞ −∞ Ts Tb

Del análisis discreto se deduce que:

∑N−1 k
Z 0.5 
Px
PX ≈ Γx (F) dF ≈ k=0 N
(6.10)
−0.5 N

Esto se puede implementar en Python de manera sencilla para cualquier PSD estimada aproxi-
mando la integral como el sumatorio de esta función multiplicado por la diferencia en frecuencia
normalizada entre dos puntos consecutivos, es decir uno partido del número de puntos estimados.

En la tabla 6.1 se recogen los resultados de las potencias estimadas para el periodograma, el
método de Bartlett de parámetro K = 100, el de Welch para L = 50 y OL = 50 % y el de Blackman-
Tukey con ventana triangular y PEV = 1 %.

Potencia_estimada = sum(Px)/len(Px)

Tabla 6.1 Potencia estimada para la modulación PAM.

Método de estimación Potencia estimada


Periodograma 39.8976 [W ]
Bartlett 39.8976 [W ]
Welch 39.9898 [W ]
Blackman-Tukey 39.9432 [W ]
76 Capítulo 6. Ejemplo experimental de estimación espectral: modulación digital lineal

Figura 6.13 Magnitud de la PSD teórica en dBW del proceso aleatorio WSCS definido en (6.1) para
diferente número de puntos muestreados del pulso conformador.

6.4.2 Detalles generales de la SCF y sus estimaciones

Como se ha repetido en diversas ocasiones, el espectro de potencia para procesos aleatorios no


puramente estacionarios como es el caso de este estudio donde se tiene un proceso aleatorio de tipo
WSCS, no queda del todo definido únicamente con la PSD de este. Esto es porque la esperanza y
autocorrelación estadística del proceso, poseen una dependencia periódica en la dimensión temporal,
lo que genera un problema a la hora de obtener el espectro de potencia de forma directa a través
del teorema de Wiener-Khinchin. La dependencia periódica provoca que existan componentes
de frecuencia correlacionados separados por múltiplos de la inversa de este periodo, es decir la
frecuencia de ciclo lo cual genera lo que se conoce como espectro cíclico definido en dos dimensiones,
la de frecuencias naturales y la de ciclo.
Dicho esto, La expresión del espectro cíclico del proceso en cuestión (modulación PAM) viene
descrito en la ecuación (6.5). Análogamente a lo ocurrido con la PSD, el número de puntos tomados
del pulso conformador marca el número y anchura de los lóbulos del espectro en el dominio F.
Además, este parámetro marca el valor de la frecuencia de ciclo fundamental.
Para ilustrar con un poco más de detalle la forma del espectro al completo, se muestran en la figura
6.14 y 6.15 tanto el espectro teórico al completo con interpolación en la dimensión de frecuencias
de ciclo como las estimaciones de este con suavizado en tiempo y frecuencia para dos valores
diferentes de puntos tomados del pulso conformador (L).
6.4 Conclusiones y análisis finales 77

(a) SCF teórico.

(b) Estimación de la SCF mediante suavizado en frecuencia. (c) Estimación de la SCF mediante suavizado en tiempo.

Figura 6.14 SCF para 10 puntos muestreados del pulso conformador.


78 Capítulo 6. Ejemplo experimental de estimación espectral: modulación digital lineal

(a) SCF teórico.

(b) Estimación de la SCF mediante suavizado en frecuencia. (c) Estimación de la SCF mediante suavizado en tiempo.

Figura 6.15 SCF para 20 puntos muestreados del pulso conformador.

Se observa que, aumentar de L = 10 a L = 20, implica obtener una frecuencia de muestreo mayor
lo que permite obtener más puntos de la transmisión PAM (aumenta N). Esto afecta a la dimensión
de frecuencias puras normalizadas, donde en este caso los anchos de los lóbulos se reducen teniendo
por tanto que aumentar su magnitud puesto que la potencia no se ve alterada (La potencia del sistema
depende de Eb y Ts ) y afecta también a las frecuencias de ciclo puesto que Fc = a/L se obtienen en
este caso el doble respecto al caso donde L = 10.
Todo lo anterior ocurre de la misma forma expresando la SCF teórica en el dominio f . En este
caso el parámetro que marco el ancho de los lóbulos y el valor de la frecuencia de ciclo fundamental
es Ts .
6.4 Conclusiones y análisis finales 79

6.4.3 Estimación espectral para otras modulaciones lineales

Hasta el momento solo se han realizado estimaciones sobre la modulación digital de tipo PAM,
¿Qué se podría esperar para otro tipo de modulaciones lineales? Aprovechando la librería de Python
aportada por el departamento de Teoría de la señal y Comunicaciones donde aparte de la modulación
PAM están definidas las de tipo PSK y QAM, se puede plantear estimar el espectro para alguna de
ellas.
Para el caso de la PSK, por ejemplo, se propone la siguiente configuración de parámetros
característicos de la modulación:

• Número de símbolos: M = 4 −→ k = log2 M = 2.


• Tiempo de símbolo: Tb = 0.1 s −→ Ts = 0.2 s
• Energía media de símbolo: Eb = 2 J −→ Eav = 4 J.
• Número de muestras del pulso conformador: L = 10 −→ Tm = Ts /L = 20 ms.
• Pulso conformador: rectángulo de ancho Ts y altura unidad.
• Fase del pulso conformador (portadora): fc /Fm = L/2.
• Número de bits transmitidos: Nb = k · 104 = 104 bits.

Aplicando para esta modulación los métodos de suavizado en tiempo y frecuencia de la misma
manera que en el caso de la modulación PAM anterior, Se obtiene el resultado mostrado en las
figuras 6.16 y 6.17.

(a) Estimación de la SCF mediante suavizado en frecuencia. (b) Estimación de la SCF mediante suavizado en
frecuencia.

Figura 6.16 Estimación de la SCF de modulación QPSK mediante suavizado en frecuencia del
periodograma cíclico.

De estos resultados se pueden ver observando la PSD (Fc = 0) el efecto de la portadora en


fc /Fm = 0.25 que medido en Hercios son fc = 12.5Hz. Además, el ancho de banda estimado se
puede medir fácilmente tomando el ancho del lóbulo principal al pasar por cero y trasladando esto a
Hercios, BW ≈ 0.1Fm = 5 Hz
80 Capítulo 6. Ejemplo experimental de estimación espectral: modulación digital lineal

(a) Estimación de la SCF mediante suavizado en tiempo. (b) Estimación de la SCF mediante suavizado en
tiempo.

Figura 6.17 Estimación de la SCF de modulación QPSK mediante suavizado en tiempo del perio-
dograma cíclico.
6.4 Conclusiones y análisis finales 81

6.4.4 Estimación espectral para modulaciones con ruido

Para finalizar este estudio se supondrá un caso más real de cualquier sistema de comunicaciones
digitales típico, donde la señal recibida posee un ruido aditivo. Para esto, se añadirá a la modulación
PAM que se había definido al inicio de este capítulo un ruido blanco gaussiano.
Para definir este ruido blanco, se propone el siguiente código, donde la potencia del ruido
dependerá de la relación señal a ruido (SNR) que se supone proporciona el sistema.

Código 6.11 Generación de ruido gaussiano aditivo a la transmisión PAM.


SNR = 10**(SNR_dB/10) # relación señal ruido en unidades
naturales.
varzn = Eb/(2*SNR) # varianza del ruido.

# El ruido a la entrada del demodulador.


5 Wt = np.sqrt(varzn/Tm)*np.random.randn(N)

# La señal más el ruido.


Zt = Xt + Wt

Con la nueva señal generada Zt, se puede ahora estimar su espectro de tal forma que, aplicando
por ejemplo el método de Bartlett, se obtienen los siguientes resultados mostrados en la figura 6.18
para diferentes valores de SNR_dB.

(a) SNR = 1 dB. (b) SNR = 10 dB.

(c) SNR = 20 dB. (d) SNR = 30 dB.

Figura 6.18 PSD estimada de la modulación QPSK más un ruido aditivo de tipo gaussiano.
82 Capítulo 6. Ejemplo experimental de estimación espectral: modulación digital lineal

Se puede observar que, a medida que disminuye la relación señal a ruido, aumenta la varianza
del ruido y, por tanto, la potencia del ruido lo que provoca un aumento de la potencia neta de la
señal Zt que se refleja en un aumento de la magnitud de los lóbulos. Este aumento de la potencia
del ruido también influye en la varianza de la estimación, la cual aumenta en este caso.
Índice de Figuras

2.1 Espectro de la señal x̃(n) con ventana rectangular, N = 10 y F0 = 0.2 13


2.2 Espectro de la señal x̃(n) con ventana rectangular, N = 30 y F0 = 0.2 13
2.3 Espectro de la señal x̃(n) con ventana de Bartlett, N = 10 y F0 = 0.2 14
2.4 Espectro de la señal x̃(n) con ventana de Bartlett, N = 30 y F0 = 0.2 14
2.5 Espectro de la señal x(n) definida en (2.56) con enventanado rectangular para N = 10,
F1 = 0.20 y F2 = 0.23 15
2.6 Espectro de la señal x(n) definida en (2.56) con enventanado rectangular para N = 50,
F1 = 0.20 y F1 = 0.23 16
2.7 Espectro de la señal x(n) definida en (2.48) en dB con enventanado rectangular y de
Bartlett, N = 50 y F0 = 0.2 16

6.1 Estimación de la PSD mediante periodograma por método directo para distintas longitudes
de la realización del proceso aleatorio WSCS definido en (6.1) 57
6.2 Estimación de la PSD mediante periodograma por método indirecto para distintas longitu-
des de la realización del proceso aleatorio WSCS definido en (6.1) 57
6.3 Estimación de la PSD mediante método de Bartlett para distintas segmentaciones de la
realización del proceso aleatorio WSCS definido en (6.1) 59
6.4 Estimación de la PSD del proceso aleatorio WSCS definido en (6.1) mediante método de
Welch para distintos solapamientos entre segmentos 60
6.5 Estimación de la PSD del proceso aleatorio WSCS definido en (6.1) mediante método de
Welch para diferente número de segmentos 62
6.6 Estimación de la PSD del proceso aleatorio WSCS definido en (6.1) mediante método de
Blackman y Tukey para distintos porcentajes de enventanado de tipo rectangular 63
6.7 Estimación de la PSD del proceso aleatorio WSCS definido en (6.1) mediante método de
Blackman y Tukey para distintos porcentajes de enventanado de tipo triangular 64
6.8 Estimación de la SCF del proceso aleatorio WSCS definido en (6.1) para diferentes
frecuencias de ciclo 66
6.9 Magnitud de la SCF estimada en dBW del proceso aleatorio WSCS definido en (6.1)
mediante suavizado en frecuencia del periodograma cíclico para las 5 primeras frecuencias
de ciclo (además de la frecuencia de ciclo nula) utilizando un filtro de media móvil simple
de ancho de banda normalizado igual a 0.005 (0.005N muestras) 69
6.10 Magnitud de la SCF estimada del proceso aleatorio WSCS definido en (6.1) mediante
suavizado en frecuencia del periodograma cíclico para las 5 primeras frecuencias de ciclo
(además de la frecuencia de ciclo nula) utilizando un filtro de media móvil simple de ancho
de banda normalizado igual a 0.005 (0.005N muestras) 70

83
84 Índice de Figuras

6.11 Magnitud de la SCF estimada en dBW del proceso aleatorio WSCS definido en (6.1)
mediante suavizado en tiempo del periodograma cíclico para las 5 primeras frecuencias
de ciclo (además de la frecuencia de ciclo nula) utilizando una segmentación de 200
bloques de la muestra completa 73
6.12 Magnitud de la SCF estimada del proceso aleatorio WSCS definido en (6.1) mediante
suavizado en frecuencia del periodograma cíclico para las 5 primeras frecuencias de ciclo
(además de la frecuencia de ciclo nula) utilizando una segmentación de 200 bloques de la
muestra completa. 73
6.13 Magnitud de la PSD teórica en dBW del proceso aleatorio WSCS definido en (6.1) para
diferente número de puntos muestreados del pulso conformador 76
6.14 SCF para 10 puntos muestreados del pulso conformador 77
6.15 SCF para 20 puntos muestreados del pulso conformador 78
6.16 Estimación de la SCF de modulación QPSK mediante suavizado en frecuencia del perio-
dograma cíclico 79
6.17 Estimación de la SCF de modulación QPSK mediante suavizado en tiempo del periodo-
grama cíclico 80
6.18 PSD estimada de la modulación QPSK más un ruido aditivo de tipo gaussiano 81
Índice de Tablas

2.1 Resolución espectral máxima para diferentes tipos de ventanas de igual longitud N [10] 15

3.1 Coeficiente de Pearson al cuadrado en función de la resolución espectral máxima para el


periodograma de Bartlett, el periodograma de Welch con ventana de Bartlett y 50 % de
overlap y periodograma de Blackman-Tukey de ventana de Bartlett 28

6.1 Potencia estimada para la modulación PAM 75

85
Índice de Códigos

5.1 Función que implementa el periodograma 42


5.2 Función que implementa el método de Bartlett para el periodograma 43
5.3 Función que implementa el método de Welch para el periodograma 44
5.4 Función que implementa el método de Blackman y Tukey para el periodograma 45
5.5 Función que implementa el periodograma cíclico de manera directa 47
5.6 Función que implementa el método de suavizado en frecuencia para el periodograma cíclico 48
5.7 Función que implementa el método de suavizado en tiempo para el periodograma cíclico 49

6.1 Función que implementa un transmisor PAM ideal 53


6.2 Parámetros del supuesto experimental 54
6.3 Algoritmo propuesto para aplicar el periodograma sobre la transmisión PAM 56
6.4 Algoritmo propuesto para aplicar el periodograma de Bartlett sobre la transmisión PAM 58
6.5 Algoritmo propuesto para aplicar el periodograma de Welch sobre la transmisión PAM
para diferentes valores del overlap 59
6.6 Algoritmo propuesto para aplicar el periodograma de Welch sobre la transmisión PAM
para diferentes valores de segmentación 61
6.7 Algoritmo propuesto para aplicar el periodograma de Blackman-Tukey sobre la transmisión
PAM para diferentes tamaños de ventana 62
6.8 Algoritmo propuesto para aplicar el periodograma cíclico sobre la transmisión PAM 65
6.9 Algoritmo propuesto para aplicar el método FSM del periodograma cíclico sobre la trans-
misión PAM 67
6.10 Algoritmo propuesto para aplicar el método TSM del periodograma cíclico sobre la trans-
misión PAM 70
6.11 Generación de ruido gaussiano aditivo a la transmisión PAM 81

87
Bibliografía

[1] The analysis of time series, 4 ed., Chapman & Hall/CRC Texts in Statistical Science, Chapman
and Hall, London, England, September 1989.

[2] Sergio Benedetto and Ezio Biglieri, Principles of digital transmission, 1999 ed., Information
Technology: Transmission, Processing and Storage, Springer, New York, NY, July 1999 (en).

[3] Jacob Benesty, Jingdong Chen, Israel Cohen, and Yiteng Huang, Noise reduction in speech
processing, Springer Topics in Signal Processing, Springer, Berlin, Germany, April 2009 (en).

[4] P. Borghesani, The envelope-based cyclic periodogram, Mechanical Systems and Signal
Processing 58-59 (2015), 245–270.

[5] L Cohen, The generalization of the Wiener-Khinchin theorem, Proceedings of the 1998 IEEE
International Conference on Acoustics, Speech and Signal Processing, ICASSP ’98 (Cat.
No.98CH36181), IEEE, 2002.

[6] Thomas James Frederick, Time-frequency estimation for cyclostationary signals, Florida
Atlantic University, 1997.

[7] W Gardner and L Franks, Characterization of cyclostationary random signal processes, IEEE
Trans. Inf. Theory 21 (1975), no. 1, 4–14 (en).

[8] William A. Gardner, The spectral correlation theory of cyclostationary time-series, Signal
Processing 11 (1986), no. 1, 13–36.

[9] William A. Gardner, Antonio Napolitano, and Luigi Paura, Cyclostationarity: Half a century
of research, Signal Processing 86 (2006), no. 4, 639–697.

[10] F J Harris, On the use of windows for harmonic analysis with the discrete fourier transform,
Proc. IEEE Inst. Electr. Electron. Eng. 66 (1978), no. 1, 51–83.

[11] L V Jones and John Wilder Tukey, The collected works of john w. tukey, Chapman & Hall/CRC,
Philadelphia, PA, May 1987.

[12] Oualid Khatbi, Zakaria Hachkar, and Ahmed Mouhsen, Cyclostationary spectrum sensing
based on FFT accumulation method in cognitive radio technology, Advances in Intelligent
Systems and Computing, Springer International Publishing, 2018, pp. 542–552.

[13] Jiufei Luo, Zhijiang Xie, and Ming Xie, Interpolated dft algorithms with zero padding for
classic windows, Mechanical Systems and Signal Processing 70-71 (2016), 1011–1025.

89
90 Bibliografía

[14] Antonio Napolitano, Generalizations of cyclostationary signal processing, Wiley - IEEE, John
Wiley & Sons, Nashville, TN, October 2012 (en).

[15] John G. Proakis, Digital signal processing, 08 1996.

[16] Charles W. Therrien, Discrete random signals and statistical signal processing, 1st ed., Prentice
Hall PTR, USA, 1992.

[17] Saeed V. Vaseghi, Advanced digital signal processing and noise reduction, John Wiley &
Sons, Ltd, February 2008.

[18] Peter Walters, An introduction to ergodic theory, Graduate texts in mathematics, Springer,
New York, NY, October 2000 (en).
Glosario

e.o.c. En cualquier otro caso.


DTFT Trasformada de Fourier en tiempo discreto.
FFT Trasformada rápida de Fourier.
PSD Densidad Espectral de Potencia.
ESD Densidad Espectral de Energía.
CAF Función de Autocorrelación Cíclica.
SCF Función de Correlación Espectral.
CP Periodograma Cíclico.
WSS Estacionario en sentido amplio/débil.
WSCS Cicloestacionario en sentido amplio/débil.
sym Simétrico.
OL Overlap.
PEV Porcentaje de enventanado.
SNR Relación señal ruido.
dB Decibelio.
dBW Vatios en decibelios.
PAM Modulación por Anchura de Pulsos.
PSK Modulación por desplazamiento de fase.
QPSK Modulación por desplazamiento de fase de 4 símbolos.
SSCA Analizador de correlación espectral de banda.
FAM Método de acumulación de FFT.

91

You might also like