La tercera parte de nuestra serie de tutoriales de procesamiento de audio digital cubre la modulación de la señal, explicamos cómo aplicar la modulación de amplitud, el efecto de trémolo y la variación de frecuencia.
Modulación
Modulación de amplitud
Como su nombre lo indica, este efecto varía la amplitud de una sinusoide según el mensaje a transmitir. Una onda sinusoidal se llama portadora porque transporta la información. Este tipo de modulación se utiliza en algunas bandas ciudadanas (AM) de radiodifusión y transmisión comercial.
¿Por qué usar la Modulación de Amplitud?
Radiación de modulación.
Si el canal de comunicación es un espacio libre, entonces se requieren antenas para radiar y recibir la señal. Requiere una antena de radiación electromagnética eficiente cuyas dimensiones sean del mismo orden de magnitud que la longitud de onda de la señal que se está radiando. Muchas señales, incluidos los componentes de audio, suelen tener 100 Hz o menos. Para estas señales sería necesario construir antenas de unos 300 km de longitud si la señal fuera radiada directamente. Si se usa modulación de señal para imprimir el mensaje en una portadora de alta frecuencia, digamos 100 MHz, entonces la antena debe tener una longitud de más de un metro (longitud transversal) solamente.
Modulación de concentración o multicanalidad.
Si más de una señal usa un solo canal, la modulación se puede usar para transferir diferentes señales a diferentes posiciones espectrales, lo que permite que el receptor seleccione la señal deseada. Las aplicaciones que usan concentración ("multiplexación") incluyen datos de telemetría, radio FM estéreo y telefonía de larga distancia.
Modulación para superar las limitaciones del equipo.
El rendimiento de los dispositivos de procesamiento de señales, como filtros y amplificadores, y la facilidad con la que se pueden construir estos dispositivos, depende de la situación de la señal en el dominio de la frecuencia y la relación entre la frecuencia más alta y la señal más baja. La modulación se puede utilizar para transferir la señal a una posición en el dominio de la frecuencia donde los requisitos de diseño se cumplan más fácilmente. La modulación también se puede utilizar para convertir una "señal de banda ancha" (una señal para la que la relación entre la frecuencia más alta y la más baja es grande) en una señal de "banda estrecha".
Efectos de audio
Muchos efectos de audio utilizan la modulación de amplitud debido a la facilidad con la que pueden manejar este tipo de señales. Podemos nombrar algunos como tremolo, chorus, flanger, etc. Esta utilidad es donde nos enfocamos en esta serie de tutoriales.
Efecto trémolo
El efecto trémolo es una de las aplicaciones más sencillas de la modulación de amplitud, para lograr este efecto, tenemos que variar (multiplicar) la señal de audio por una señal periódica, ya sea sinusoidal o no.
>> tremolo='tremolo.ogg';
>> fs=44100;
>> t=0:1/fs:10;
>> wo=2*pi*440*t;
>> wa=2*pi*1.2*t;
>> audiowrite(tremolo, cos(wa).*cos(wo),fs);
Esto generará una señal en forma de sinusoide cuyo efecto es como un 'trémolo' '.
Tremolo en archivos de audio reales
Ahora mostraremos el efecto de trémolo en el mundo real. Primero, usamos un archivo previamente grabado por una voz masculina que dice 'A'. El gráfico de esta señal es el siguiente:
>> [y,fs]=audioread('A.ogg');
>> plot(y);
Ahora tenemos que crear una señal sinusoidal envolvente con los siguientes parámetros:
Amplitud =1
Frecuencia =1,5 Hz
Fase =0
>> t=0:1/fs:4.99999999;
>> t=t(:);
>> w=2*pi*1.5*t;
>> q=cos(w);
>> plot(q);
Nota:cuando creamos una matriz de valores de tiempo, por defecto, esta se crea en forma de columnas, es decir, 1x220500 valores. Para multiplicar este conjunto de valores hay que trasponerlo en filas (220500x1). Este es el comando t=t(:)
Crearemos un segundo archivo ogg que contendrá el resultado señal modulada:
>> tremolo='tremolo.ogg';
>> audiowrite(tremolo, q.*y,fs);
Variación de frecuencia
Podemos variar la frecuencia para obtener efectos musicales bastante interesantes como distorsión, efectos de sonido para películas y juegos entre otros.
Efecto de modulación de frecuencia sinusoidal
Este es el código donde se muestra la frecuencia de modulación sinusoidal, según ecuación:
Y=Ac*Cos(wo*Cos(wo/k))
Dónde:
Ac =Amplitud
wo =frecuencia fundamental
k =divisor escalar
>> fm='fm.ogg';
>> fs=44100;
>> t=0:1/fs:10;
>> w=2*pi*442*t;
>> audiowrite(fm, cos(cos(w/1500).*w), fs);
>> [y,fs]=audioread('fm.ogg');
>> figure (); plot (y);
La trama de la señal es:
Puede usar casi cualquier tipo de función periódica como modulador de frecuencia. Para este ejemplo, aquí solo usamos una función seno. Siéntase libre de experimentar cambiando las frecuencias de las funciones, mezclándolas con otras funciones o cambiando, incluso, el tipo de función.