Você está na página 1de 35

m m

   

6 66 
 6
Ê 
 Se desea comunicar dos PCs utilizando
el puerto de audio; la información que
se transmitirá serán dos señales de
audio, que viajaran moduladas en
amplitud por el canal.
 Para la comunicación se deberá aplicar
las técnicas de modulación en amplitud
con banda lateral única.
Señales a Ê
Señales que
odulador viajan por el
xemodulador
canal
moduladas en
amplitud

PC2
PC 1

Señales R
 odular una señal de banda base significa
trasladarla a la parte superior del espectro
y aplicar un filtro en ella según el tipo de
modulación que se desee.
 atemáticamente al multiplicar una señal
de banda base por una de mayor
frecuencia la de BB se traslada a la
frecuencia alta.
 Õ      
       
      
     !
odulación Se multiplican las
señales
 ëa demodulación es el proceso de
recuperación de la señal moduladora
de una señal modulada.
 Para demodular matemáticamente se
multiplica la señal modulada f(t) por la
de banda base, y se eliminan los
armónicos de altas frecuencias dejando
solamente la información de Banda
Base
 ëa multiplexación por división de
frecuencia, también denominada u ,
permite compartir la banda de
frecuencia disponible en el canal de
alta velocidad, al dividirla en una serie
de canales de banda más angostos, de
manera que se puedan enviar
continuamente señales provenientes de
diferentes canales de baja velocidad
sobre el canal de alta velocidad.
 Para lograrlo, es necesario filtrar las señales
a ser moduladas de tal manera que no se
interfieran entre si y dejar una banda de
guarda. ëuego de esto se procede a
multiplicarlas por una portadora diferente
dependiendo de la banda en la que se
quiera que esté para luego sumarlas y
enviarlas. ëuego en el receptor se filtrará las
señales en cada banda y se las multiplicará
nuevamente por su portadora a fin de
regresarlas a la banda base.
 ëo que primero se necesita es obtener
nuestros archivos de audio que
queremos transmitir para ello usamos
 avread

sta función nos permite capturar el archivo de audio con


todas sus caracteriticas
 s importante realizar análisis espectral,
para comprobar resultados para lo cual
usamos Pwelch
 ëa modulación y demodulación se realizan con funciones que hemos diseñado y
hemos especificado en las presentaciones respectivas, sin embargo se pueden usar

odulate

xemodulate
 xentro del diseño de los moduladores,
se usan filtros IIR FIR, propios de matlab.
 ëo siguiente, es conocer como atlab
permite enviar y recibir información
usando el puerto de audio,  
     "
 #
sta función crea un objeto, que lee lo que este presente en
el puerto de audio, sus propiedades de frecuencia de
muestro y tiempo mediante el cual recoge el audio, esta
especificado por el objeto, creado.

as teoría sobre la adquisición de audio en atlab, se


encuentra en los archivos extras
ºPRI RO CR OS ë OBJ ÊO QU CPÊUR ë UxIO
I = analoginput('winsound',0);
chan = addchannel(I,1);
I
ºx FININOS ë xURCION QU QU R OS QU ë UxIO S ë 
duration = 10;
ºx FINIOS UN Fs PR ë R ë UxIO CON BU N CëIxx
SampleRate = 44100;
º SÊBë C OS ëS CONFIGURCION S x ë Fs Y x ë xURCION
set(I,'SampleRate',SampleRate);
set(I,'SamplesPerÊrigger',duration*SampleRate);
set(I,'ÊriggerÊype','anual');
º J CUÊOS ë xQUISICION xURNÊ ë ÊI PO SÊBë CIxO
start(I);
I
trigger(I);
I
ºPOR UëÊIO ëC NOS N xÊ ëO QU I xQUIRIO x ë ÊRJ Ê x
SONIxO
data = getdata(I);
quí se observan
las propiedades
del objeto que
captura el audio

Se observa que
data ya contiene
los datos leídos
44100 muestras por
seg, en 10 seg.
serán 441000 en
total
sta función crea un objeto, que envía por el puerto de
audio, sus propiedades de frecuencia de muestro y tiempo
mediante el cual envía el audio, esta especificado por el
objeto creado.
s una función de descripción similar a analoginput, por lo
cual su uso es idéntico, simplemente en vez de recibir datos,
se envía.
 Primero leemos los audios que queremos
enviar.
close all ëectura de archivos
clear all
clc
ºarchivo original 1 xtraccion de uno de los
audio1_2CH,Fs1,format] = wavread('Barra de info de indows canales
P');
audio1_1CH=audio1_2CH(,1);ºextraemos 1 solo canal
audio2_2CH,Fs2,format] = wavread('Vista_BlockedPopup');
audio2_1CH=audio2_2CH(,1);ºextraemos 1 solo canal
 Procedemos a verificar en tiempo que
los audios han sido leídos

plot(audio1_2CH) º se verifica dos señales diferentes


title('audio 1 (2CH) (estereo)')
figure
plot(audio1_1CH)
title('audio 1 (1CH) (mono)') Gráfico tanto de ambos
figure
plot(audio2_2CH) º se verifica dos señales diferentes
canales, como solo de
title('audio 2 (2CH) (estereo)') la señal mono
figure
plot(audio2_1CH)
title('audio 2 (1CH) (mono)')

 Procedemos a verificar auditivamente


también
sound(audio1_2CH,Fs)
sound(audio2_2CH,Fs)
Se observan los
audios en
tiempo tanto
estéreo y mono
 Procedemos a establecer las longitudes
correctas, para realizar un correcto Fx
longitud1=length(audio1_1CH);
longitud2=length(audio2_1CH);

x=longitud1,longitud2]
longitud_minima= min(x)
º xtracción de la longitud mínima de cada archivo de audio
audio1_1CH = audio1_1CH (1longitud_minima);
audio2_1CH = audio2_1CH (1longitud_minima);ºCuando se requiera hacer Fx
suma temporal de las 4 señales

º V RIFICOS SI ÊOxS ëS Fs SON IGUë S O NO

Fs1 º44100
Fs2 º44100

Fs = Fs1; º sería común para todas. ëongitudes y


Fs
controladas
 xs s fl r r l s ss l s
A l   s  M l l xr s  ll s , s
rr  r r  3 z   f
  l
 r

    
Fx=Fs/2;
r  = 4 ;
w = 3 / Fx; º l vr r,   3 s  j  r s  l r
 s
b = FIR1(r ,w,'lw');
f  r
fr z(b,1,128) º
rb h s  b 
sr  l f lr


rb h
s  b 
sr  l f lr
 Procedemos a aplicar el filtro a ambos
audios
audio1_BB=filter(b,1,audio1_1CH); Se aplica el filtro es decir se
extraen las bandas base
audio2_BB=filter(b,1,audio2_1CH);

 Procedemos a verificar la aplicación del


filtro mediante análisis espectral
nFFÊ=1024;
ëongVentana= nFFÊ/4;
Solapamiento =ëongVentana/2;
º spectro de la primera señal
P_welch_audio1_BB,F_welch_audio1_BB] = ...
pwelch(audio1_BB,ëongVentana,Solapamiento,nFFÊ,Fs1);
figure
plot(F_welch_audio1_BB,P_welch_audio1_BB,'b')
title('espectro del audio 1 - banda base o filtrado')
º spectro de la segunda señal
P_welch_audio2_BB,F_welch_audio2_BB] = ...
pwelch(audio2_BB,ëongVentana,Solapamiento,nFFÊ,Fs1);
figure
plot(F_welch_audio2_BB,P_welch_audio2_BB,'b')
title('espectro del audio 2 - banda base o filtrado')
Observamos que las señales de banda base no sobre pasan los
000 Hz y podemos proceder a modularla y aplicar Fx
 Procedemos a modular aplicando la
función que hemos desarrollado y que se
explica en la presentación de Fx.
xado que nuestro canal es limitado (audio), decidimos modular las
señales en 4000 Hz y 8000Hz dejando su banda de guarda de 1 KHz
audio1_mod=mimodulacion2010(audio1_BB,Fs,4000) Se modula aplicando la función
audio2_mod=mimodulacion2010(audio2_BB,Fs,8000) que nosotros desarrollamos
previamente

 Verificamos el desplazamiento de los


espectros mediante análisis espectral
P_welch_audio1_mod,F_welch_audio1_mod] = ...

pwelch(audio1_mod,ëongVentana,Solapamiento,nFFÊ,Fs1)
;
figure
plot(F_welch_audio1_mod,P_welch_audio1_mod,'b')
title('espectro del audio 1 - modulado')
º spectro de la segunda señal
P_welch_audio2_mod,F_welch_audio2_mod] = ...

pwelch(audio2_mod,ëongVentana,Solapamiento,nFFÊ,Fs2)
;
figure
plot(F_welch_audio2_mod,P_welch_audio2_mod,'b')
title('espectro del audio 2 - modulado')
Se observa que los espectros de las señales se
han desplazado a las frecuencias que queríamos
es decir se realizo la modulación
audio_fdm=audio1_mod+audio2_mod;

P_welch_audio1_mod_norm = P_welch_audio1_mod / max(P_welch_audio1_mod);


P_welch_audio2_mod_norm = P_welch_audio2_mod / max(P_welch_audio2_mod);

P_welch_audio_Fx,F_welch_audio_Fx] = pwelch(audio_fdm,ëongVentana,Solapamiento,nFFÊ,Fs);
figure
plot(F_welch_audio_Fx,P_welch_audio1_mod_norm,'b')
hold on
plot(F_welch_audio_Fx,P_welch_audio2_mod_norm,'b') D

hold on D

Figure
D
plot(audio_fdm) ºQueremos observar en tiempo
D

D

D

D

D
D DD DDD  DD DDD  DD DDD  DD DDD  DD DDD

Observamos
claramente que se
ha realizado Fx
sound(audio_fdm,Fs) sta línea de código en la PC1 saca los datos por el puerto de audio

ºPRI RO CR OS ë OBJ ÊO QU CPÊUR ë UxIO


I = analoginput('winsound',0);
chan = addchannel(I,1);
I
ºx FININOS ë xURCION QU QU R OS QU ë UxIO S ë 
duration = 10;
ºx FINIOS UN Fs PR ë R ë UxIO CON BU N CëIxx
SampleRate = 44100;
º SÊBë C OS ëS CONFIGURCION S x ë Fs Y x ë xURCION
set(I,'SampleRate',SampleRate);
set(I,'SamplesPerÊrigger',duration*SampleRate);
set(I,'ÊriggerÊype','anual');
º J CUÊOS ë xQUISICION xURNÊ ë ÊI PO SÊBë CIxO
start(I);
I
trigger(I);
I
ºPOR UëÊIO ëC NOS N xÊ ëO QU I xQUIRIO x ë ÊRJ Ê x SONIxO
data = getdata(I);
senal_recibida=data;
qua guardamos los datos
recibidos
 Verificamos la señal recibida
plot(data)

señal en tiempo recibida es


igual al enviado solo
desafasado, pero no afecta
para demodular

ediante análisis espectral D

nFFÊ=1024;
ëongVentana= nFFÊ/4; D

Solapamiento =ëongVentana/2; D 

Fs1=44100; D 
P_BB,F] = ...
pwelch(y,ëongVentana,Solapamiento,nFFÊ,Fs1); D 

figure D 

plot(F,P,'b') D 
title('espectro de la senal recibida')
D 

D
D D       

 D

spectro de la señal recibida es


igual al enviado
 Queremos demultiplexar, aplicamos un filtro pasabanda a
las dos señales para obtener dos independientes
ºFiltro pasa banda1(xemultiplexacion)    
wn1 = 4000 7000]/Fmax;   
b1_pasabanda, a1_pasabanda] = butter(8,wn1);  
audio1_demux = filter(b1_pasabanda, a1_pasabanda,audio_fdm);  
º Filtros pasa banda2
wn2 = 000 1100]/Fmax;
b2_pasabanda, a2_pasabanda] = butter(,wn2);
audio2_demux = filter(b2_pasabanda, a2_pasabanda,audio_fdm);

 Verificamos las señales con análisis espectral

         


! 
 xemodulación de las señales- regreso a la banda
base

audio1_demod = midemod2010(audio1_mod,4000,Fs, ); plicamos nuestra función con la multiplicación y los


audio2_demod = midemod2010(audio2_mod,000,Fs,); filtros que diseñamos y especificamos en la presentación
de Fx

 Verificamos que las señales estén en banda base


º Potencia udio1
P_welch_audio1_demod ,F_welch_audio1_demod ] = ...
pwelch(audio1_demod ,ëongVentana,Solapamiento,nFFÊ,Fs);
figure
plot(F_welch_audio1_demod ,P_welch_audio1_demod)
title(' spectro primer canal demodulado')
ºPotencia udio 2
P_welch_audio2_demod ,F_welch_audio2_demod ] = ...
pwelch(audio2_demod ,ëongVentana,Solapamiento,nFFÊ,Fs);
figure
plot(F_welch_audio2_demod ,P_welch_audio2_demod)
title(' spectro segundo canal demodulado')

 Verificamos auditivamente que las señales estén en


banda base
ºsound(audio1_BB,Fs) º si reproduce sin alteraciones
perceptibles
ºsound(audio2_BB,Fs) º si reproduce sin alteraciones
perceptibles

      
 D
  
D
  



D 


D 


D 

D
D 

D
D D D    
D D        
 D
 D

Se observa que han regresado a banda base y así hemos


recuperado las señales originales

m"   #  " ! 


$  #" 
 Se logra recuperar las señales que se
enviaron con prácticamente, las
mismas características.
 Se debe tomar en cuenta que la tarjeta
de audio soporta 20KHz por lo cual es
importante saber a donde modulamos
 l diseño de los filtros y de las funciones
para modular y demodular e importante
para evitar problemas en el análisis de
frecuencia
 s importante saber y conocer la función
que nos permite adquirir el audio por el
puerto de audio.
 ëos conceptos de Fx han sido
demostrados en esta simulación y se
concluye que son validos y se puede
generalizar para mas señales y para
otros tipos de canales
 http//www.mathworks.com/help/toolbo
x/daq/ref/analoginput.html
 http//isa.uniovi.es/~ialvarez/Curso/cptr/
Sonidoatlab.pdf
 aterial proporcionado por el xr. Robin
Álvarez.

Você também pode gostar