Bitácora · DCSS · Unidad 2

Las muestras no se parecen: son las mismas

Unidad 2 · Conversores

El apunte de la cátedra dice que muestrear pierde información y que, si dos réplicas del espectro se solapan, la mezcla es irreversible: no hay filtro que separe lo que ya se sumó. Es cierto, pero se queda corto. Un tono de 300 kHz y uno de 17,3 MHz, los dos muestreados a 1 MHz, no producen dos listas de números que se parezcan mucho. Producen la misma lista. No hay nada que separar porque nunca hubo dos cosas.

Sobre las primeras 64 muestras: contra 1,3 MHz la diferencia máxima es 4,5×10⁻¹⁴; contra 2,3 MHz, 6,2×10⁻¹⁴; contra 17,3 MHz, 7,4×10⁻¹³. Sobre las primeras 8 muestras baja a 3,0×10⁻¹⁵, y MATLAB —calculando por su cuenta, con su propio motor de coma flotante— da 1,4×10⁻¹⁵: mismo orden de magnitud, cero error real. Lo que sigue es por qué, y qué hacer con eso.

01 · Muestrear fotocopia el espectro

El conversor C/D ideal se queda con el valor de la señal continua cada T segundos: x[n]=xc(nT), con fs=1/T. Multiplicar por un tren de impulsos en el tiempo es convolucionar con un tren de impulsos en frecuencia, y eso pega una copia completa del espectro original centrada en cada múltiplo de fs:

Xs(jΩ)=1T∑kXc(j(Ω−kΩs))

Si las copias no se tocan —la señal está limitada a menos de fs/2— la del medio queda intacta y se puede recuperar. Si se tocan, sus colas se suman, y una suma no se deshace mirándola: por eso el teorema de Nyquist-Shannon pide una desigualdad estricta, fs>2·fmax, no una igualdad. El widget que sigue no dibuja la fórmula: la empuja hasta que se rompe.

Simulación 1 Empujá la frecuencia — la curva punteada es la que tu oído o tu osciloscopio creen estar viendo. Pasa exactamente por los mismos puntos que la curva real.
f0 0,20 MHz frecuencia aparente 0,20 MHz muestra real − muestra aparente —

Por debajo de fs/2 = 0,5 MHz no hay nada raro: la curva gris (la señal real) y la punteada azul (la que aparenta) son la misma curva, literalmente, porque fa=f0. Seguí empujando el deslizador y cruzá los 0,5 MHz: la curva azul deja de subir y empieza a bajar, mientras f0 —el número del deslizador— sigue subiendo sin parar. Las dos curvas nunca se despegan de los puntos negros. No es una ilusión óptica del dibujo: son los mismos números, y un osciloscopio no tiene manera de preferir una curva sobre la otra.

Ahí está el «por qué» del párrafo de arriba. La regla —«la frecuencia aparente es la distancia al múltiplo de fs más cercano»— suena a manual de instrucciones hasta que el lector empuja f0 hacia arriba y ve el tono bajar, con las dos ondas clavadas en los mismos puntos. Ahí «irreversible» deja de ser una palabra del apunte.

02 · Por qué lo complejo no se pliega

Un coseno real no distingue girar para un lado de girar para el otro: cos(2π·f0·t) tiene energía en +f0 y en −f0, siempre las dos. Una exponencial compleja exp(j·2π·f0·t) gira en un solo sentido y tiene una única raya, en +f0. La diferencia importa exactamente cuando el espectro se pliega: las dos rayas del coseno pueden plegarse una contra la otra, y ahí es donde se pierde la mitad del ancho de banda disponible.

Simulación 2 Real contra complejo — el punto negro marca dónde está de verdad el tono; la raya azul, dónde termina cayendo. Con el coseno hay dos familias de rayas —una por cada signo—; con la exponencial, una sola.
f0 0,30 MHz cae en ±0,30 MHz lugares distintos, coseno real — lugares distintos, exponencial compleja —

Esa cuenta de arriba no depende del deslizador: es un barrido de 1000 tonos repartidos en [0,fs), hecho con la misma cuenta de plegado que dibuja el widget. El coseno real los amontona en apenas 501 lugares —499 colisiones—, porque cualquier tono y su espejo fs−f0 se pliegan al mismo sitio. La exponencial compleja usa los 1000 lugares, sin perder ni uno. Es exactamente el doble de ancho de banda útil, y es la razón de que valga la pena complicarse la vida con señales complejas más adelante en el curso.

03 · Por qué el teorema dice «mayor», no «mayor o igual»

Todo lo de arriba pasa antes de llegar a fs/2. Justo en el borde, f0=fs/2, pasa algo más raro todavía: la amplitud que se puede recuperar deja de depender sólo de f0 y empieza a depender de la fase. La conexión entre el mundo continuo y el discreto es ω=Ω·T —la cátedra separa a propósito Ω (rad/s, continuo) de ω (rad/muestra, discreto)— y en fs/2 eso da ω=π: cada muestra cae medio ciclo después de la anterior, ni antes ni después.

Simulación 3 El borde: f0 = fs/2 — la curva gris es la señal continua; los puntos son las 8 muestras. A 90° la curva sigue ahí, pero el muestreo no la ve.
amplitud recuperable — muestras − |cos φ| —

A 0° las muestras son 1,−1,1,−1,…: amplitud 1, nada se pierde. A 90° —el deslizador va de 0° a 180°, así que es el medio, no el final— las 8 muestras son todas prácticamente cero: del orden de 10⁻¹⁶, que es el redondeo de la máquina, no una señal débil. MATLAB, midiéndolo por su cuenta, da 0,000000. La señal sigue ahí —la curva gris no desaparece— pero el muestreo no ve nada de ella: no hay número que reconstruir, porque no hay número que la contenga. Por eso el teorema pide fs>2·fmax con desigualdad estricta: en la igualdad, existe al menos una fase que borra la señal entera.

Para tener a mano

  1. Muestrear pega una copia del espectro en cada múltiplo de fs. Si dos copias se tocan, sus colas se suman, y una suma no se deshace mirándola.
  2. Un tono que aliasa no se parece a su alias: produce la misma lista de muestras, con una diferencia del orden de la precisión de la máquina.
  3. Un coseno real tiene dos rayas, en ±f0, y se pliegan una contra la otra: por eso pierde la mitad del ancho de banda disponible (501 lugares contra 1000, sobre 1000 tonos).
  4. Una exponencial compleja distingue el sentido de giro y usa todo el ancho de banda: 1000 lugares, cero colisiones.
  5. En f0=fs/2 la amplitud recuperable depende de la fase, y a 90° es exactamente cero. Por eso el teorema de muestreo pide fs>2·fmax, con desigualdad estricta.
← Anterior Siguiente → Inicio