Codificación de subbandas
Definición
La codificación de subbandas es una técnica de compresión de señales utilizada en sistemas de transmisión digital, especialmente en aplicaciones de audio y video. Consiste en dividir la señal original en varias bandas de frecuencia (subbandas) mediante filtros, y luego codificar cada subbanda por separado. Esto permite una mejor eficiencia de compresión al aprovechar las características espectrales de la señal.
Fundamento teórico
La codificación de subbandas se basa en la teoría del análisis multirresolución y la transformada wavelet. Una señal se descompone en componentes de baja y alta frecuencia usando un banco de filtros (generalmente filtros pasa bajos y pasa altos). Esta técnica permite una representación jerárquica y eficiente, conservando las partes más importantes perceptualmente y reduciendo la redundancia en la representación de datos.
Ejemplo de simulación en MATLAB
El siguiente código simula una codificación de subbandas básica usando bancos de filtros para dividir una señal en componentes de baja y alta frecuencia:
% Cargar señal de ejemplo (audio)
[x, fs] = audioread('handel.mat'); % Usa una señal WAV si se desea
x = x(:,1); % Un solo canal
% Diseño de filtros (FIR)
lpFilt =
designfilt('lowpassfir','PassbandFrequency',0.4,'StopbandFrequency
',0.6,'SampleRate',fs);
hpFilt =
designfilt('highpassfir','StopbandFrequency',0.4,'PassbandFrequenc
y',0.6,'SampleRate',fs);
% Aplicación de filtros (subbandas)
x_low = filter(lpFilt, x);
x_high = filter(hpFilt, x);% Codificación simulada (cuantización simple)
x_low_q = round(x_low * 128) / 128;
x_high_q = round(x_high * 128) / 128;
% Reconstrucción
x_rec = x_low_q + x_high_q;
% Comparación visual
t = (0:length(x)-1)/fs;
plot(t, x, t, x_rec);
legend('Original', 'Reconstruida');
xlabel('Tiempo (s)');
ylabel('Amplitud');
title('Codificación de Subbandas - Señal Reconstruida');
Aplicaciones
- Compresión de audio (por ejemplo, MP3 y AAC)
- Codificación de video (por ejemplo, H.264 utiliza transformadas relacionadas)
- Comunicaciones móviles y transmisión satelital
- Procesamiento de imagen y voz en tiempo real
Ventajas y desventajas
Ventajas:
- Alta eficiencia de compresión
- Adaptación a las características de la señal
- Mejora la percepción de calidad (codificación perceptual)
Desventajas:
- Complejidad computacional
- Posible pérdida de información si se aplica cuantización agresiva
Bibliografía de referencia (APA)
- Vaidyanathan, P. P. (1993). Multirate systems and filter banks. Prentice-Hall.
- Strang, G., & Nguyen, T. (1996). Wavelets and filter banks. Wellesley-Cambridge Press.
- Haykin, S. (2000). Communication systems (4th ed.). Wiley.
- OpenAI. (2025). ChatGPT [Modelo de lenguaje AI, consulta técnica]. Recuperado de https://chat.openai.com