Upload
ricardo-alejos
View
611
Download
0
Embed Size (px)
DESCRIPTION
El objetivo de esta práctica es evaluar la calidad del canal de audio de una computadora haciendo transmisiones digitales a través de él.
Citation preview
5/11/2018 Pr ctica 2: Transmisi n de archivos por un canal de audio. - slidepdf.com
http://slidepdf.com/reader/full/practica-2-transmision-de-archivos-por-un-canal-de-audio
Práctica 2
Fundamentos de Sistemas de Comunicación
Hernández Leal, Misael Alejandro
Alejos Jiménez, Jesús Ricardo
Ingeniería Electrónica
Tlaquepaque, Jalisco.
Noviembre de 2011
5/11/2018 Pr ctica 2: Transmisi n de archivos por un canal de audio. - slidepdf.com
http://slidepdf.com/reader/full/practica-2-transmision-de-archivos-por-un-canal-de-audio
Hernández Leal, Misael Alejandro; Alejos Jiménez, Jesús Ricardo
Práctica 2
Contenidos
Contenidos .................................................................................................................................................... 1
Objetivo ........................................................................................................................................................ 1
Introducción .................................................................................................................................................. 1
Parte 1: Análisis del canal ............................................................................................................................. 1
Distorsión .................................................................................................................................................. 1
Respuesta en frecuencia ............................................................................................................................ 2
Técnica 1: Análisis de respuesta al impulso ......................................................................................... 2
Técnica 2: Respuesta al ruido gaussiano aditivo................................................................................... 3
Técnica 3: Respuesta a una señal compuesta ........................................................................................ 4
Parte 2 ........................................................................................................................................................... 6Parte 3 ........................................................................................................................................................... 7
Experimento 1 ........................................................................................................................................... 7
Experimento 2 ......................................................................................................................................... 10
Preguntas ..................................................................................................................................................... 12
Bibliografía ................................................................................................................................................. 13
5/11/2018 Pr ctica 2: Transmisi n de archivos por un canal de audio. - slidepdf.com
http://slidepdf.com/reader/full/practica-2-transmision-de-archivos-por-un-canal-de-audio
Hernández Leal, Misael Alejandro; Alejos Jiménez, Jesús Ricardo
Práctica 2
1
ObjetivoEl objetivo de esta práctica es evaluar la calidad
del canal de audio de las computadoras, para
identificar las bandas de frecuencia donde es
posible transmitir sin distorsión. Para evaluar la
calidad del canal utilizaremos los diagramas de
ojo.
IntroducciónPara realizar la evaluación del canal de audio
realizaremos varios experimentos de transmisión
de diferentes tipos de señales y analizando las
señales recibidas mediante diagramas de ojo.
Los diagramas de ojo nos permiten visualizar
que tan “limpia” está una señal o si ha ocurrido
algún error de símbolo en la transmisión. Estos
diagramas consisten en la superposición de sec-
ciones de una señal que duran el mismo tiempo
y que corresponden a cierta cantidad de símbo-
los por captura1. El diagrama de ojo de una señal
“sana” se debe mostrar muy abierto, mientras
que el diagrama de ojo de una señal “mala” es
muy cerrado o en casos extremos quizá no tenga
forma alguna.
Los experimentos básicamente consisten en
generar una señal específica y guardarla en un
archivo de audio, para después reproducirla (sin
ningún tipo de ecualización) a través del canal
de audífonos y capturarla en el canal de micró-
fono (interconectando ambos puertos con un
cable de audio).
Se realizará un análisis tanto de la señal a trans-
mitir como de la señal recibida, para así poder
hacer comparaciones y poder evaluar la calidad
del canal fácilmente. El software utilizado tantopara la generación como para la captura de las
señales será el MatLab, y todos los códigos están
disponibles junto con las explicaciones de la
práctica en este documento.
1(Johnson & Sethares, 2003)
Para dichos experimentos, utilizaremos la entra-
da y la salida de audio (los puertos de micrófono
y audífonos respectivamente) de una compu-
tadora HP DV5 1135LA. Además, para todos los
experimentos contenidos en esta práctica utiliza-
remos una frecuencia de muestreo, que es una frecuencia estándar para
muestrear señales de audio y un solo canal (so-
nido mono-aural).
Para evitar saturación del sistema, el transmisor
(el volumen del equipo transmisor) está al 10%,
mientras que el amplificador de entrada del re-
ceptor tiene ganancia unitaria.
Parte 1: Análisis del canal
En esta parte haremos un análisis de la respuesta
en frecuencia del canal de comunicación, forma-
do por: una tarjeta de sonido para transmitir (sus
canales de recepción y de envío) y un cable de
audio.
DistorsiónNuestra primera prueba consiste en verificar que
nuestro canal no induzca mucha distorsión a la
señal. Para ello construiremos y transmitiremos
una señal sinusoidal de 5 kHz.
Como parte de nuestro análisis, graficamos la
señal transmitida y la señal recibida para com-
probar que efectivamente no hubo mucha distor-
sión mediante la comparación de ambas gráficas.
La duración de la señal a transmitir será de un
segundo, sin embargo el programa utilizado para
recibir muestreará durante tres segundos para
evitar truncamientos no deseados.
Tabla 1. Código MatLab para generar una señal deaudio sinusoidal a 5 kHz.
clear all;close all;fs=44100; %Definimos frecuencia de muestreo dt=1/fs; %Tiempo entre cada muestra t=(0:dt:1-dt); %Vector de tiempo para muestrear f=5000; %Frecuencia de la señal sinusoidal signal=sin(2*pi*f*t); %Vector con las muestras de la
5/11/2018 Pr ctica 2: Transmisi n de archivos por un canal de audio. - slidepdf.com
http://slidepdf.com/reader/full/practica-2-transmision-de-archivos-por-un-canal-de-audio
Hernández Leal, Misael Alejandro; Alejos Jiménez, Jesús Ricardo
Práctica 2
2
sinusoide wavplay(signal,fs, 'sync'); %Reproducir el audio reportPlot(t,0,1*10^-3, 'Tiempo (seg)',...
signal,-1.1,1.1, 'Amplitud'... ,'Señal transmitida');
wavwrite(signal,fs,16, 'sin5k.wav'); %Guardar el archivoWAV
Tabla 2. Código de MatLab para recibir por el canal de
audífonos la señal sinusoidal.
clear all;close all;fs=44100; %Definimos frecuencia de muestreo (Hz) dt=1/fs; %Tiempo entre cada muestra d=3; %Determinar duración del audio (Seg) t=(0:dt:d-dt); %Vector de tiempo para muestrear r=wavrecord(d*fs,fs, 'double'); %Hacemos la grabación rstart=find((r>0.5),1); %Capturamos el momento en queinicia la señal
reportPlot(t,t(rstart),t(rstart)+1*10^-3, 'Tiempo (seg)',... r,[],[],'Amplitud',... 'Señal Recibida'); %Graficamos la señal recibida
spectrum(r,1/fs,2^nextpow2(length(r)),0,2,1,0,0); %Obte-nemos su espectro
Figura 1. Señal a transmitir: sinusoide con una frecuen-
cia de 5 kHz.
Figura 2. Señal recibida: la misma sinusoide pero lige-ramente atenuada.
Una vez realizado el experimento, capturamos
los resultados en las gráficas que se muestran en
la Figura 1 y en la Figura 2. Note que la fre-
cuencia no se ha alterado, aunque la amplitud ha
disminuido un poco por las pérdidas que ocurren
en el canal.
Respuesta en frecuenciaPara analizar la respuesta en frecuencia de nues-
tro canal utilizaremos tres técnicas que involu-
cran tres tipos de señales: un impulso tipo delta
de Dirac , ruido gaussiano aditivo y una
señal compuesta por una superposición de sinu-
soides de diferentes frecuencias.
Técnica 1: Análisis de respuesta al im-
pulsoUna forma de caracterizar la función de transfe-
rencia de un sistema es analizando la respuesta a
su impulso. Es bajo este principio que realiza-
remos este experimento.
Transmitiremos un impulso a través del cable de
audio y al recibirlo en el puerto de micrófono
haremos un análisis en frecuencia de la respues-
ta, obteniendo así la caracterización del canal en
el dominio de la frecuencia.
Tabla 3. Código de MatLab para formar y mandar unimpulso por el canal de audio.
clear all;close all;fs=44100; %Definimos frecuencia de muestreo dt=1/fs; %Tiempo entre cada muestra pulse=[zeros(1,44100),1,zeros(1,44099)]; %Crear impulso d=length(pulse)*1/fs; %Duración del pulso t=(0:dt:d-dt); %Vector de tiempo wavplay(pulse,fs, 'sync'); %Reproducir el audio reportPlot(t,[],[],'Tiempo (seg)',...
pulse,[],[],'Amplitud'... ,'Señal transmitida');
wavwrite(pulse,fs,16,'impulso.wav'); %Guardar el archivoWAV
Tabla 4. Código de MatLab para recibir una señal ygraficar su espectro.
clear all;close all;
0 0.2 0.4 0.6 0.8 1
x 10-3
-1
-0.5
0
0.5
1Señal Transmitida
Tiempo (seg)
A m p l i t u d
1.0948 1.095 1.0952 1.0954 1.0956
-0.5
0
0.5
Señal Recibida
Tiempo (seg)
A m p
l i t u d
5/11/2018 Pr ctica 2: Transmisi n de archivos por un canal de audio. - slidepdf.com
http://slidepdf.com/reader/full/practica-2-transmision-de-archivos-por-un-canal-de-audio
Hernández Leal, Misael Alejandro; Alejos Jiménez, Jesús Ricardo
Práctica 2
3
fs=44100; %Definimos frecuencia de muestreo (Hz) dt=1/fs; %Tiempo entre cada muestra d=3; %Determinar duración del audio (Seg) t=(0:dt:d-dt); %Vector de tiempo para muestrear r=wavrecord(d*fs,fs, 'double'); %Hacemos la grabación tmin=find(r==max(r))-100;tmax=find(r==max(r))+100;reportPlot(t,t(tmin),t(tmax), 'Tiempo (seg)',...
r,[],[],'Amplitud',... 'Señal Recibida'); %Graficamos la señal recibida
spec-trum(r(tmin:tmax),1/fs,2^nextpow2(length(r)),0,2,1,0,0);%Obtenemos su espectro
Figura 3. Señal transmitida: un impulso muy al estiloDelta de Dirac.
Figura 4. Señal recibida: respuesta al impulso del canalde audio.
Figura 5. Espectro de frecuencia de la respuesta alimpulso del canal de audio. Curva característica de la
respuesta en frecuencia del canal.
Note que este resultado es muy congruente con
lo que se espera de una tarjeta de audio, pues se
trata de un canal pasa-bandas cuyo rango deoperación va desde frecuencias bajas hasta alre-
dedor de 22 kHz (rango aproximado de la fre-
cuencia audible por el ser humano).
Técnica 2: Respuesta al ruido gaussiano
aditivo.
Recordemos que el ruido gaussiano tiene un
espectro uniforme (de magnitud constante) a lo
largo de todo el rango de frecuencias. Dado lo
anterior esperamos ver un espectro uniforme
pero limitado hasta una frecuencia aproximada a
los 22 kHz después de recibir la señal por el
puerto de micrófono (pues esto haría que el re-
sultado fuera congruente con el obtenido por la
técnica 1).
Tabla 5. Código de MatLab para generar el ruido gaus-siano por 5 segundos.
clear all;close all;fs=44100; %Definimos frecuencia de muestreo
d=5; %Duración del ruido dt=1/fs; %Tiempo entre cada muestra t=(0:dt:d-dt); %Vector de tiempo noise= sqrt(1)*randn(1,fs*d); %Ruido gaussiano de 5seg spectrum(noise,1/44100,2^nextpow2(length(noise)), ...
0,2,1,0,0); %Análisis en frecuencia del ruidowavplay(noise,fs, 'sync'); %Reproducir el audio reportPlot(t,[],[],'Tiempo (seg)',...
noise,[],[],'Amplitud'... ,'Señal transmitida');
0 0.5 1 1.50
0.5
1Señal transmitida
Tiempo (seg)
A m p l i t u d
0.86 0.861 0.862 0.863
0
0.2
0.40.6
Señal Recibida
Tiempo (seg)
A m p l i t u d
0 0.5 1 1.5 2
x 104
1
2
3
4
x 10-6 Espectro de Magnitud
Frecuencia (Hz)
A
m p l i t u d
5/11/2018 Pr ctica 2: Transmisi n de archivos por un canal de audio. - slidepdf.com
http://slidepdf.com/reader/full/practica-2-transmision-de-archivos-por-un-canal-de-audio
Hernández Leal, Misael Alejandro; Alejos Jiménez, Jesús Ricardo
Práctica 2
4
wavwrite(noise,fs,16, 'ruido.wav'); %Guardar el archivoWAV
Tabla 6. Código de MatLab para recibir el ruido.
clear all;close all;fs=44100; %Definimos frecuencia de muestreo (Hz) dt=1/fs; %Tiempo entre cada muestra d=6; %Determinar duración del audio (Seg) t=(0:dt:d-dt); %Vector de tiempo para muestrear r=wavrecord(d*fs,fs, 'double'); %Hacemos la grabación reportPlot(t,[],[],'Tiempo (seg)',...
r,[],[],'Amplitud',... 'Señal Recibida'); %Graficamos la señal recibida
spectrum(r,1/fs,2^nextpow2(length(r)),0,2,1,0,0); %Obte-nemos su espectro
Figura 6. Señal transmitida: ruido gaussiano aditivo.
Figura 7. Espectro de magnitud de la señal transmitida.Note que efectivamente es uniforme.
Figura 8. Señal recibida: ruido ligeramente atenuado.
Figura 9. Espectro de magnitud de la señal recibida.Note que se ha limitado en banda de acuerdo al anchode banda del canal.
Note en la Figura 9 que efectivamente obtene-mos un espectro que tiende a ser plano en el
rango de frecuencias esperado (la respuesta se
muestra similar a la obtenida con la técnica ante-
rior).
Técnica 3: Respuesta a una señal com-
puesta
La última de nuestras técnicas para hacer medi-
ciones en el canal será la de superponer 40 seña-
les sinusoidales con frecuencias en el rango de
500 Hz a 20 kHz (con pasos uniformes de 500Hz). Para generar esta señal utilizaremos el có-
digo contenido en la siguiente tabla.
Tabla 7. Código de MatLab utilizado para generar la
superposición de las 40 sinusoidales.
clear all; close all; fs=44100; %Definimos frecuencia de muestreo
0 1 2 3 4
-0.5
0
0.5
1Señal transmitida
Tiempo (seg)
A m p l i t u d
0 0.5 1 1.5 2
x 104
2468
101214 x 10
-4 Espectro de Magnitud
Frecuencia (Hz)
A m p l i t u d
0 1 2 3 4 5
-0.5
0
0.5
Señal Recibida
Tiempo (seg)
A m p l i t u d
0 0.5 1 1.5 2
x 104
5
10
15
x 10-4 Espectro de Magnitud
Frecuencia (Hz)
A m p l i t u d
5/11/2018 Pr ctica 2: Transmisi n de archivos por un canal de audio. - slidepdf.com
http://slidepdf.com/reader/full/practica-2-transmision-de-archivos-por-un-canal-de-audio
Hernández Leal, Misael Alejandro; Alejos Jiménez, Jesús Ricardo
Práctica 2
5
dt=1/fs; %Tiempo entre cada muestra d=3; %Duración de la señal t=(0:dt:d-dt); %Vector de tiempo signal1=0; %Inicialización de la señal for f=(500:500:20000) %Vector de frecuencias
signal1=signal1+sin(2*pi*f*t); %Crear señal end
wavplay(signal1,fs, 'sync'); %Reproducir el audio reportPlot(t,[],[],'Tiempo (seg)',...
signal1,[],[],'Amplitud'... ,'Señal transmitida');
signal2=(65536/2)*signal1; %Normalizar para convertir aWAV wavwrite(signal2,fs,16, '40sines.wav'); %Guardar el archi-vo WAV spec-trum(signal2,1/fs,2^nextpow2(length(signal2)),0,2,1,0,0);%Obtenemos su espectro
Tabla 8. Código MatLab para recibir la señal de super-
posición de señales sinusoidales y analizarla.
clear all; close all; fs=44100; %Definimos frecuencia de muestreo (Hz) dt=1/fs; %Tiempo entre cada muestra d=4; %Determinar duración del audio (Seg) t=(0:dt:d-dt); %Vector de tiempo para muestrear r=wavrecord(d*fs,fs, 'double'); %Hacemos la grabación rstart=find((r>0.5),1); %Capturamos el momento en queinicia la señal reportPlot(t,t(rstart)+1,t(rstart)+1+10*10^-3, 'Tiempo(seg)',...
r,[],[],'Amplitud',... 'Señal Recibida'); %Graficamos la señal recibida spectrum(r,1/fs,2^nextpow2(length(r)),0,2,1,0,0); %Obte-nemos su espectro
Figura 10. Señal transmitida: Superposición de 40 sinu-
soides de distintas frecuencias.
Figura 11. Contenido espectral de la señal transmitida.
Figura 12. Señal recibida. La señal se muestra casiintacta salvo por la amplitud, como en otros casos ante-riores.
Figura 13. Contenido espectral de la señal recibida.Note que sólo las componentes en frecuencia más altas
se han atenuado.
Note que nuevamente hemos obtenido un espec-
tro dentro de los límites esperados (ahora limita-
do hasta 20 kHz, pues fue la componente de
frecuencia con frecuencia más grande que man-
damos en este caso).
0 0.002 0.004 0.006 0.008 0.01
-0.5
0
0.5
Señal transmitida
Tiempo (seg)
A m p l i t u d
0 0.5 1 1.5 2
x 104
2000
4000
6000
8000
Espectro de Magnitud
Frecuencia (Hz)
A
m p l i t u d
1.758 1.76 1.762 1.764 1.766
-0.5
0
0.5
Señal Recibida
Tiempo (seg)
A m p l i t u d
0 0.5 1 1.5 2
x 104
1
2
3
4
5
x 10
-3
Espectro de Magnitud
Frecuencia (Hz)
A m p l i t u d
5/11/2018 Pr ctica 2: Transmisi n de archivos por un canal de audio. - slidepdf.com
http://slidepdf.com/reader/full/practica-2-transmision-de-archivos-por-un-canal-de-audio
Hernández Leal, Misael Alejandro; Alejos Jiménez, Jesús Ricardo
Práctica 2
6
Parte 2En esta parte realizaremos una transmisión en
banda base con una frecuencia máxima de 500
Hz.
Para lo anterior, utilizaremos un pulso de cosenoalzado con y con una frecuencia máxi-
ma y codificaremos la señal de
manera bipolar. Al utilizar este pulso como filtro
formador para la información concentraremos
todo el contenido espectral en una banda de 0 Hz
a 500 Hz, es decir, en banda base con un ancho
de banda de 500 Hz.
Tabla 9. Código MatLab para generar y enviar la señalde datos aleatorios.
%% Limpiar variables y cerrar ventanas clear all; close all; %% Generación del pulso RC % Caracterización del pulso beta=0.5; B=500; fs=44100;o Rb=(2*B)/(beta+1);Tp=round((Rb/fs)^-1)/fs; Ts=1/fs; %Construcción del pulso RC [prc t] = rcpulse(0.5,10,Tp,Ts,'rc',1);
%Graficamos el resultado reportPlot(t,[],[],'Tiempo (seg)',...
prc,[],[],'Amplitud',... 'Pulso Coseno Alzado (PRC)');
%% Generación de datos aleatorios % Definimos cuántos datos queremos ndata=160; data=round(rand(1,ndata)); % La separación entre cada dato será el tamaño del pulsoRC, es decir Tp/Ts data2=zeros(1,ndata*Tp/Ts); data2(1:Tp/Ts:length(data2))=(data*2)-1; data=data2;
%% Generar la señal a enviar y analizarla % Construimos la señal a transmitir signal=conv(data,prc); % Normalizar la señal signal=signal/max(signal);% Diagrama de ojo eyed(signal(floor((length(prc)/2)): ...
length(signal)-floor((length(prc)/2))),Tp/Ts,3,1,ndata);% Espectro de magnitud spectrum(signal,1/fs,2^nextpow2(length(signal)),0,2,1,0,0);
%% Guardar un WAV con los datos % Añadimos un segundo de silencio. signal=[zeros(1,1*fs),signal];% Guardar el archivo WAV wavwrite(signal,fs,16,'parte2.wav');
Una vez ejecutado este programa, obtenemos lassiguientes gráficas del coseno alzado (Figura
14), el diagrama de ojo de la señal a transmitir
(Figura 15) y el espectro de magnitud de esta
última señal (Figura 16).
Figura 14. Pulso de tipo coseno alzado con
utilizado como filtro formador.
Figura 15. Diagrama de ojo de la señal a transmitir
(suprimiendo los transientes).
0 0.005 0.01
0
10
20
Pulso Coseno Alzado (PRC)
Tiempo (seg)
A m p l i t u d
0 50 100 150 200-1
-0.5
00.5
1Diagrama de ojo
Índices de muestras
A m p l i t u d
5/11/2018 Pr ctica 2: Transmisi n de archivos por un canal de audio. - slidepdf.com
http://slidepdf.com/reader/full/practica-2-transmision-de-archivos-por-un-canal-de-audio
Hernández Leal, Misael Alejandro; Alejos Jiménez, Jesús Ricardo
Práctica 2
7
Figura 16. Contenido espectral de la señal a transmitir.Note que el espectro está limitado en una banda de 500
Hz aproximadamente.
Ahora recibiremos estos datos en la entrada de
micrófono. Pero ahora añadiremos un filtro pa-
sa-bajas con frecuencia de corte y unanálisis por diagrama de ojo de la señal recibida.
Tabla 10. Código MatLab para recibir y analizar laseñal codificada con el pulso de coseno alzado bipolar.
%% Limpiar variables y cerrar ventanas clear all; close all; %% Captura por el canal de audio ndata=160; %Número de datos a recibir fs=44100; %Definimos frecuencia de muestreo (Hz) dt=1/fs; %Tiempo entre cada muestra
d=3; %Determinar duración del audio (Seg) Rb=(2*B)/(beta+1); %Taza de bits %Taza de bits Tp=round((Rb/fs)^-1)/fs; %Múltiplo más cercano de Ts Ts=1/fs; %Periodo de muestreo t=(0:dt:d-dt); %Vector de tiempo para muestrear signal=wavrecord(d*fs,fs, 'double'); %Hacemos la graba-ción %% Análisis de señal recibida start=find(abs(signal)>0.05,1, 'first'); final=find(abs(signal)>0.05,1, 'last'); reportPlot(t,t(start-100),t(final+100), 'Tiempo (seg)',...
signal,[],[],'Amplitud',... 'Señal Recibida'); %Graficamos la señal recibida
spectrum(signal(start:final),1/fs, ... 2^nextpow2(length(signal(start:final))), ... 0,2,1,0,0); %Obtenemos su espectro
eyed(signal(start:final),Tp/Ts,3,1,ndata-10); %Graficamosdiagrama de ojo %% Filtrar y volver a analizar señal recibida order=100; lpfilter=fir1(order,0.5, 'low'); signal2=conv(signal,lpfilter);
start2=find(abs(signal2)>0.05,1, 'first'); final2=find(abs(signal2)>0.05,1, 'last'); reportPlot(t,t(start2-100),t(final2+100), 'Tiempo (seg)',...
signal2(order/2+1:length(signal2)-order/2), ... [],[],'Amplitud','Señal Filtrada'); %Graficamos la señal
recibida spectrum(signal2(start2:final2),1/fs, ... 2^nextpow2(length(signal2(start2:final2))), ...
0,2,1,0,0); %Obtenemos su espectro eyed(signal2(start2:end),Tp/Ts,3,1,ndata); %Graficamosdiagrama de ojo
Figura 17. Contenido espectral de la señal recibida.
Figura 18. Diagrama de ojo de la señal recibida. Noteque está ligeramente más cerrado que el de la señal atransmitir por efectos del canal (suprimiendo transien-tes).
Note de la Figura 18 que el diagrama de ojo está
abierto, por lo que podemos decir que nuestro
canal es de buena calidad para transmisiones en
banda base y con un ancho de banda angosto.
Parte 3
Experimento 1
0 0.5 1 1.5 2
x 104
0.02
0.04
0.06
0.08Espectro de Magnitud
Frecuencia (Hz)
A
m p l i t u d
0 0.5 1 1.5 2
x 104
0.02
0.04
0.06
Espectro de Magnitud
Frecuencia (Hz)
A m p l i t u d
0 50 100 150 200-1
-0.50
0.5
1Diagrama de ojo
Índices de muestras
A m p l i t u d
5/11/2018 Pr ctica 2: Transmisi n de archivos por un canal de audio. - slidepdf.com
http://slidepdf.com/reader/full/practica-2-transmision-de-archivos-por-un-canal-de-audio
Hernández Leal, Misael Alejandro; Alejos Jiménez, Jesús Ricardo
Práctica 2
8
En esta parte utilizaremos modulación en am-
plitud y un ancho de banda grande (10 kHz).
El tipo de modulación del que nos valdremos
para hacer nuestros experimentos es la llamada
AM (Amplitud Modulada) de tipo DSB-SC( Double-Sideband Supressed-Carrier Transmis-
sion, Transmisión de Banda Bilateral con Porta-
dora Suprimida) a una frecuencia , la
cual consiste en multiplicar la señal a transmitir
por un coseno.
Para que la señal tenga el contenido espectral
que nos interesa utilizaremos nuevamente el
pulso coseno alzado con frecuencia máxima
y . De este modo, al modu-
lar la señal a la frecuencia mencionada su conte-nido espectral estará contenido entre 1 y 11 kHz,
logrando así el ancho de banda mencionado
anteriormente.
Tabla 11. Código de MatLab para formar una señalmodulada en AM DSB-SC.
%% Limpiar variables y cerrar ventanas clear all; close all; %% Generación del pulso RC beta=0.5; %Valor de beta B=5000; %Ancho de banda (f_max) fs=44100; %Frecuencia de muestreo Rb=(2*B)/(beta+1); %Taza de bits Tp=round((Rb/fs)^-1)/fs; %Múltiplo más cercano de Ts Ts=1/fs; %Periodo de muestreo [prc tprc] = rcpulse(0.5,10,Tp,Ts,'rc',1); %Construcción delpulso RC reportPlot(tprc,[],[],'Tiempo (seg)',...
prc,[],[],'Amplitud',... 'Pulso Coseno Alzado (PRC)'); %Graficamos el pulso
%% Generación de datos aleatorios ndata=160; %Número de datos data=round(rand(1,ndata)); %Generar vector aleatorio de
1's y 0's data2=zeros(1,ndata*Tp/Ts); data2(1:Tp/Ts:length(data2))=(data*2)-1; data=data2; %% Generar la señal a enviar y analizarla signal=conv(data,prc); %Construimos la señal a transmi-tir signal=signal(length(prc)/2:length(signal)-length(prc)/2)/max(signal); %Normalizar la señal eyed(signal,Tp/Ts,3,1,ndata); %Obtenemos su diagra-
ma de ojo spectrum(signal,1/fs,2^nextpow2(length(signal)),0,2,1,0,0);%Obtenemos su espectro %% Modulación y análisis de señal modulada dt=1/fs; %Definir diferencial de tiempo d=length(signal)*dt; %Duración de la señal t=(0:dt:d-dt); %Vector con tiempo de la señal
fc=6000; %Frecuencia para modular signal=signal.*cos(2*pi*fc*t); %Modulación spectrum(signal,1/fs,2^nextpow2(length(signal)),0,2,1,0,0);%Obtenemos su espectro %% Guardar un WAV con los datos signal=[zeros(1,1*fs),signal]; %Añadimos un segundo desilencio. wavwrite(signal,fs,16,'parte3.wav'); %Guardar el archivoWAV
Las gráficas que caracterizan la señal que aca-
bamos de generar con el script anterior se mues-
tran a continuación: El pulso coseno alzado, elespectro de magnitud antes de la modulación, y
el espectro de magnitud después de la modula-
ción.
Figura 19. Pulso coseno alzado que corresponde ahora aun ancho banda de 5 kHz.
0 0.5 1 1.5
x 10-3
0
20
40
60
80
Pulso Coseno Alzado (PRC)
Tiempo (seg)
A m p l i t u d
5/11/2018 Pr ctica 2: Transmisi n de archivos por un canal de audio. - slidepdf.com
http://slidepdf.com/reader/full/practica-2-transmision-de-archivos-por-un-canal-de-audio
Hernández Leal, Misael Alejandro; Alejos Jiménez, Jesús Ricardo
Práctica 2
9
Figura 20. Contenido espectral de la señal a transmitir.Note que efectivamente está limitado en una banda de 5
kHz.
Figura 21. Señal a transmitir ya modulada a
Figura 22. Diagrama de ojo de la señal a transmitir(suprimiendo transientes).
Note que, como era de esperar, después de mo-
dular la señal el espectro de magnitud sólo se ha
centrado en la frecuencia de la señal portadora.
Tabla 12. Código para recibir y analizar la señal modu-lada en AM DSB-SC.
%% Limpiar variables y cerrar ventanas clear all; close all; %% Captura por el canal de audio ndata=160; %Número de datos a recibir fs=44100; %Definimos frecuencia de muestreo (Hz) dt=1/fs; %Tiempo entre cada muestra d=3; %Determinar duración del audio (Seg) t=(0:dt:d-dt); %Vector de tiempo para muestrear B=5000; %Ancho de banda (f_max) beta=0.5; %Valor de beta Rb=(2*B)/(beta+1); %Taza de bits Tp=round((Rb/fs)^-1)/fs; %Múltiplo más cercano de Ts Ts=1/fs; %Periodo de muestreo signal=wavrecord(d*fs,fs, 'double'); %Hacemos la graba-ción %% Análisis de señal recibida
start=find(abs(signal)>0.05,1, 'first'); final=find(abs(signal)>0.05,1, 'last'); reportPlot(t,t(start-100),t(final+100), 'Tiempo (seg)',...
signal,[],[],'Amplitud',... 'Señal Recibida'); %Graficamos la señal recibida
spectrum(signal(start:final),1/fs, ... 2^nextpow2(length(signal(start:final))), ... 0,2,1,0,0); %Obtenemos su espectro
%% Demodular, Filtrar y volver a analizar señal recibida signal=signal(start:end); %Recortar silencios dt=1/fs; %Definir diferencial de tiempo d=length(signal)*dt; %Duración de la señal t=(0:dt:d-dt); %Vector con tiempo de la señal
fc=6000; %Frecuencia para modular signal=signal'.*cos(2*pi*fc*t); order=100; lpfilter=2*fir1(order,0.3); signal2=conv(signal,lpfilter); reportPlot(t,[],[],'Tiempo (seg)',...
signal2(order/2+1:length(signal2)-order/2), ... [],[],'Amplitud','Señal Filtrada'); %Graficamos la señal
recibida [ssf afxs pfxs]=spectrum(signal2,1/fs,...
2^nextpow2(length(signal2)), ... 0,2,1,0,0); %Obtenemos su espectro
eyed(signal2(order/2+1:length(signal2)-order/2),Tp/Ts,3,1,ndata-10); %Graficamos diagrama deojo
Al de-modular la señal (multiplicando nueva-
mente esta señal por un coseno de la misma
frecuencia que se utilizó para modularla) y fil-
trarla con un filtro pasa-bajas con
obtenemos una señal cuyo espectro
de magnitud se muestra en la siguiente gráfica.
0 0.5 1 1.5 2
x 104
0.02
0.04
0.06
Espectro de Magnitud
Frecuencia (Hz)
A
m p l i t u d
0 0.5 1 1.5 2
x 104
0.01
0.02
0.03
Espectro de Magnitud
Frecuencia (Hz)
A m p l i t u d
5 10 15 20-1
-0.5
0
0.5
Diagrama de ojo
Índices de muestras
A m p l i t u d
5/11/2018 Pr ctica 2: Transmisi n de archivos por un canal de audio. - slidepdf.com
http://slidepdf.com/reader/full/practica-2-transmision-de-archivos-por-un-canal-de-audio
Hernández Leal, Misael Alejandro; Alejos Jiménez, Jesús Ricardo
Práctica 2
10
Figura 23. Contenido espectral de la señal recibida, yadespués de ser de-modulada y filtrada.
Figura 24. Diagrama de ojo de la señal recibida, de-modulada y filtrada (suprimiendo transientes).
Note entonces que a partir de los resultados deeste experimento podemos concluir que nuestro
canal es de buena calidad y apto para transmi-
siones realizadas en bandas anchas (10 kHz) y
moduladas en amplitud.
Experimento 2Finalmente, haremos una transmisión de una
señal modulada en amplitud pero ahora cuyo
contenido espectral está contenido en una banda
muy angosta (1000 Hz).
La técnica de modulación será la misma que
utilizamos en el primer experimento de esta
parte, es decir, modularemos en AM DSB-SC a
una frecuencia .
Utilizaremos un filtro formador de pulso coseno
alzado cuyas componentes de frecuencia máxi-
mas están a y con . Por lo
cual, al modularla a la frecuencia mencionada
tendremos un ancho de banda de 1000 Hz (de
5.5 kHz a 6.5 kHz).
Tabla 13. Código MatLab para generar la señal ahoralimitada en una banda de 500 Hz y modulada a 6 kHz.
%% Limpiar variables y cerrar ventanas clear all; close all;
%% Generación del pulso RC beta=0.5; %Valor de beta B=500; %Ancho de banda (f_max) fs=44100; %Frecuencia de muestreo Rb=(2*B)/(beta+1); %Taza de bits Tp=round((Rb/fs)^-1)/fs; %Múltiplo más cercano de Ts Ts=1/fs; %Periodo de muestreo
[prc tprc] = rcpulse(0.5,10,Tp,Ts,'rc',1); %Construcción delpulso RC reportPlot(tprc,[],[],'Tiempo (seg)',...
prc,[],[],'Amplitud',... 'Pulso Coseno Alzado (PRC)'); %Graficamos el pulso
%% Generación de datos aleatorios ndata=160; %Número de datos data=round(rand(1,ndata)); %Generar vector aleatorio de1's y 0's data2=zeros(1,ndata*Tp/Ts); data2(1:Tp/Ts:length(data2))=(data*2)-1; data=data2;
%% Generar la señal a enviar y analizarla signal=conv(data,prc); %Construimos la señal a transmi-tir signal=signal(length(prc)/2:length(signal)-length(prc)/2)/max(signal); %Normalizar la señal eyed(signal,Tp/Ts,3,1,ndata); %Obtenemos su diagra-ma de ojo spectrum(signal,1/fs,2^nextpow2(length(signal)),0,2,1,0,0);%Obtenemos su espectro
%% Modulación y análisis de señal modulada dt=1/fs; %Definir diferencial de tiempo d=length(signal)*dt; %Duración de la señal
t=(0:dt:d-dt); %Vector con tiempo de la señal fc=6000; %Frecuencia para modular signal=signal.*cos(2*pi*fc*t); %Modulación signal=signal/max(abs(signal)); spectrum(signal,1/fs,2^nextpow2(length(signal)),0,2,1,0,0);%Obtenemos su espectro
%% Guardar un WAV con los datos signal=[zeros(1,1*fs),signal]; %Añadimos un segundo desilencio.
0 0.5 1 1.5 2
x 104
0.5
1
1.5
2x 10
-3 Espectro de Magnitud
Frecuencia (Hz)
A
m p l i t u d
5 10 15 20
-0.5
0
0.5
Diagrama de ojo
Índices de muestras
A m p l i t u d
5/11/2018 Pr ctica 2: Transmisi n de archivos por un canal de audio. - slidepdf.com
http://slidepdf.com/reader/full/practica-2-transmision-de-archivos-por-un-canal-de-audio
Hernández Leal, Misael Alejandro; Alejos Jiménez, Jesús Ricardo
Práctica 2
11
wavwrite(signal,fs,16, 'parte3_2.wav'); %Guardar el archi-vo WAV
Las gráficas que caracterizan la señal a transmi-
tir son
Figura 25. Pulso coseno alzado con componentes defrecuencia concentradas en un ancho de banda de 500
Hz y con .
Figura 26. Contenido espectral de la señal a transmitirantes de ser modulada.
Figura 27. Espectro de la señal modulada a kHz,
note que se trata del mismo espectro anterior perorecorrido, como se espera de una señal modulada.
Figura 28. Diagrama de ojo de la señal a transmitir(suprimiendo transientes).
Tabla 14. Código MatLab para recibir la señal modula-da con ancho de banda angosto.
%% Limpiar variables y cerrar ventanas clear all; close all; %% Captura por el canal de audio ndata=160; %Número de datos a recibir fs=44100; %Definimos frecuencia de muestreo (Hz) dt=1/fs; %Tiempo entre cada muestra d=3; %Determinar duración del audio (Seg) t=(0:dt:d-dt); %Vector de tiempo para muestrear B=500; %Ancho de banda (f_max) beta=0.5; %Valor de beta Rb=(2*B)/(beta+1); %Taza de bits Tp=round((Rb/fs)^-1)/fs; %Múltiplo más cercano de Ts Ts=1/fs; %Periodo de muestreo
signal=wavrecord(d*fs,fs, 'double'); %Hacemos la graba-ción %% Análisis de señal recibida start=find(abs(signal)>0.05,1, 'first'); final=find(abs(signal)>0.05,1, 'last'); reportPlot(t,t(start-100),t(final+100), 'Tiempo (seg)',...
signal,[],[],'Amplitud',... 'Señal Recibida'); %Graficamos la señal recibida
spectrum(signal(start:final),1/fs, ... 2^nextpow2(length(signal(start:final))), ... 0,2,1,0,0); %Obtenemos su espectro
%% Demodular, Filtrar y volver a analizar señal recibida signal=signal(start:end); %Recortar silencios
dt=1/fs; %Definir diferencial de tiempo d=length(signal)*dt; %Duración de la señal t=(0:dt:d-dt); %Vector con tiempo de la señal fc=6000; %Frecuencia para modular signal=signal'.*cos(2*pi*fc*t); order=100; lpfilter=2*fir1(order,0.3); signal2=conv(signal,lpfilter); reportPlot(t,[],[],'Tiempo (seg)',...
signal2(order/2+1:length(signal2)-order/2), ...
0 0.005 0.01
0
10
20
Pulso Coseno Alsado (PRC)
Tiempo (seg)
A m p l i t u d
0 0.5 1 1.5 2
x 104
0.02
0.04
0.06
Espectro de Magnitud
Frecuencia (Hz)
A m p l i t u d
0 0.5 1 1.5 2
x 104
0.01
0.02
0.03
Espectro de Magnitud
Frecuencia (Hz)
A m p l i t u d
50 100 150-1
-0.5
0
0.5
1Diagrama de ojo
Índices de muestras
A m p l i t u d
5/11/2018 Pr ctica 2: Transmisi n de archivos por un canal de audio. - slidepdf.com
http://slidepdf.com/reader/full/practica-2-transmision-de-archivos-por-un-canal-de-audio
Hernández Leal, Misael Alejandro; Alejos Jiménez, Jesús Ricardo
Práctica 2
12
[],[],'Amplitud','Señal Filtrada'); %Graficamos la señalrecibida [ssf afxs pfxs]=spectrum(signal2,1/fs,...
2^nextpow2(length(signal2)), ... 0,2,1,0,0); %Obtenemos su espectro
eyed(signal2(order/2+1:length(signal2)-order/2),Tp/Ts,3,1,ndata-10); %Graficamos diagrama deojo
Figura 29. Contenido espectral de la señal recibida.
Figura 30. Contenido espectral de la señal recibida trasser de-modulada y filtrada.
Figura 31. Diagrama de ojo de la señal recibida tras ser
de-modulada y filtrada (con los transientes suprimidos).
Al observar el diagrama de ojo de la Figura 31,
podemos concluir que nuestro canal es capaz de
hacer transmisiones de buena calidad bajo las
condiciones de un ancho de banda angosto y la
modulación en amplitud.
Preguntas¿Cuáles son las características de la señal
recibida que pueden ser evaluadas con el dia-
grama de ojo?
En general, los diagramas de ojo suministran la
siguiente información:
El error de sincronización ocasionado
por el muestreo del lado del receptor.
Este se mide por el ancho del ojo, nor-malmente referido como “apertura del
ojo”.
La sensibilidad al error de sincroniza-
ción, dada por la pendiente del ojo
abierto y se evalúa en el cruce por cero o
en algún punto cercano.
El margen de error del sistema, dado
por la altura de la apertura del ojo2.
A partir de los diagramas de ojo obtenidos,
¿es posible transmitir en este canal utilizando
una señal pasabajas (sin modular)? En caso
negativo, ¿cuál es la razón?
Sí es posible. Podemos recurrir a los resultados
de los experimentos realizados en la parte 2 de
esta práctica. Comparando los diagramas de ojo
de la señal transmitida y recibida (Figura 15 y
Figura 18), podemos notar que la señal llega con
una calidad muy aceptable a su destino.
A partir de los diagramas de ojo obtenidos,¿es posible transmitir en este canal en pasa-
banda, con un ancho de banda de 10 kHz? En
caso negativo, ¿cuál es la razón?
2(Couch, II, 2008)
0 0.5 1 1.5 2
x 104
0.01
0.02
0.03Espectro de Magnitud
Frecuencia (Hz)
A m p l i t u d
0 0.5 1 1.5 2
x 104
2
4
6
x 10-3 Espectro de Magnitud
Frecuencia (Hz)
A m p l i t u d
0 50 100 150 200-0.4
-0.20
0.2
0.4Diagrama de ojo
Índices de muestras
A m p l i t u d
5/11/2018 Pr ctica 2: Transmisi n de archivos por un canal de audio. - slidepdf.com
http://slidepdf.com/reader/full/practica-2-transmision-de-archivos-por-un-canal-de-audio
Hernández Leal, Misael Alejandro; Alejos Jiménez, Jesús Ricardo
Práctica 2
13
Si es posible. Recurriendo a los resultados del
primer experimento de la parte 3, especialmente
en los diagramas de ojo mostrados en la Figura
22 y en la Figura 24, podemos decir que la cali-
dad de la transmisión es buena con este ancho de
banda pues el diagrama de ojo de la señal recibi-da está bastante abierto y muy parecido al de la
señal transmitida.
A partir de los diagramas de ojo obtenidos,
¿es posible transmitir en este canal en pasa-
banda, con un ancho de banda de 500Hz? En
caso negativo, ¿cuál es la razón?
Si es posible. De acuerdo a los resultados del
segundo experimento de la parte 3 de esta prác-
tica. Comparando los diagramas de ojo de laseñal transmitida y la señal recibida (respecti-
vamente la Figura 28 y la Figura 31) podemos
notar que la señal llega con muy buena calidad
al receptor.
En base a las respuestas anteriores, y exami-
nando la respuesta en frecuencia de su canal,
¿cuál cree que es la mejor banda para trans-
mitir? ¿Qué tasa de bit máxima se puede lo-
grar en este canal? Justifique sus respuestas.
De acuerdo a los resultados de todos los experi-
mentos (pues en todos se ha logrado una trans-
misión de datos exitosa y de calidad), es posible
hacer buenas transmisiones a lo largo de toda la
banda de frecuencias desde aproximadamente
10Hz hasta los 22kHz. Esto ya sea en bandas
angostas, anchas, moduladas o no moduladas.
En base al dato anterior, la taza de bit máxima a
la que podemos transmitir (utilizando cosenosalzados) es:
Aunque quizá el mejor rendimiento lo obtenga-mos transmitiendo en una banda angosta, pues
además que es la transmisión cuyos resultados
fueron los más “saludables”, es posible dividir el
canal en diferentes bandas para hacer varias
transmisiones de manera simultánea y de una
forma mucho más eficiente.
BibliografíaCouch, II, L. W. (2008). Sistemas de
Comunicación Digitales y Analógicos.
Florida: Pearson Educación.
Johnson, R., & Sethares, W. A. (2003).
Telecommunications Breakdown. Nueva
Jersey: Prentice Hall.