Práctica 2: Transmisión de archivos por un canal de audio.

15
 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

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.

Transcript of Práctica 2: Transmisión de archivos por un canal de audio.

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.