Академический Документы
Профессиональный Документы
Культура Документы
ADSL, Multitrayecto
Figura 1
La Figura 1 muestra un esquema convencional de una conexin ADSL,
donde podemos apreciar claramente los elementos bsicos que hacen
posible la coexistencia de los servicios tradicionales de telefona y la
conexin de alta velocidad a Internet.
El filtro (splitter) es el dispositivo encargado de separar las seales de
ambos servicios y encaminarlas a su destino correspondiente.
Telemtica I
ADSL, Multitrayecto
El mdem ADSL (o transceiver) es un dispositivo que realiza las funciones
necesarias para que la computadora personal pueda transmitir y recibir
informacin desde Internet. En la oficina central tambin hay un filtro, que
separa las seales recibidas por el cliente hacia el destino correspondiente.
Aqu, el proceso lgicamente es ms complejo porque es aqu a donde
llegan todas las seales de todas las lneas de abonado de una poblacin.
El DSLAM (Digital Subscriber Line Multiplexer) es un multiplexor de lneas
ADSL en una sola fibra ptica que trabaja con ATM (Asynchronous Transfer
Mode) o modo de transmisin asncrono.
Figura 2
En la parte de modelado y simulacin del ADSL transceiver se trabaja
exclusivamente sobre el proceso de transmisin de los datos en el
transceiver, estudiando y analizando cada uno de los bloques que lo
constituyen.
Se estudian la tcnica DMT (Discrete Multi Tone ) de modulacin
multiportadora en la cual se basa este tipo de sistema, as como la
modulacin digital QAM (Quadrature Amplitude Modulation) utilizada por las
distintas sub-portadoras para transmitir la informacin contenida en ellas.
En la Figura 2 se muestra un diagrama a bloques tpico de un ADSL
transceiver, donde se pueden apreciar los distintos bloques funcionales que
lo componen.
TRANSMISION
ADSL es una tcnica de acceso a Internet de banda ancha que nos permite
tener y correr aplicaciones multimedia de gran ancho de banda, tales como
video conferencias, video en demanda, video en tiempo real, TV digital, etc.
Es una tecnologa que permite la coexistencia de servicios de telefona de
voz, ISDN (Integrated Services Digital Network) y aplicaciones multimedia
de banda ancha, todo sobre las lneas telefnicas ordinarias [ERW02a].
Esta tecnologa soporta un trfico de datos de manera asncrona, explota la
naturaleza asncrona de la mayor parte de las aplicaciones multimedia,
donde gran cantidad de informacin debe fluir hacia el suscriptor
(downstream) y solo una menor cantidad de informacin interactiva de
control fluye del suscriptor hacia la oficina central [ZHE00].
Esta idea surge como una extensin natural de la tecnologa de acceso DSL
(Digital Subscriber Line), que fue desarrollada en aquellos aos para
Telemtica I
ADSL, Multitrayecto
acceder a la Red Digital de Servicios Integrados (ISDN) a una velocidad full
dplex de 160 Kbps.
Una de las caractersticas distintivas de ADSL con respeto a otras
tecnologas de acceso a Internet es su asimetra, esto es, la velocidad de
transmisin de bajada es mucho mayor que la velocidad de transmisin de
subida. Las velocidades que ADSL puede soportar van de 6 a 8 Mbps en el
canal de bajada, tambin conocido como downstream, mientras que en el
canal de subida o upstream soporta hasta un mximo de 640 Kbps.
Estas velocidades estn especificadas por la ITU G.992.1 y la ANSI T1.413,
sin embargo, no son las nicas velocidades estandarizadas. Existe otra
versin, ADSL Lite, cuyo estndar es G992.2 con velocidades de bajadas
hasta de 1.5 Mbps y 512 Kbps de subida, con un costo mucho ms bajo que
la versin ADSL Full Rate (G.992.1)
ATENUACION
Algunos de los factores que afectan el rendimiento del lazo de abonado son
la longitud de la lnea, el calibre del cable, la presencia de bridged taps
(puentes o circuitos abiertos sobre la lnea telefnica) y la interferencia por
acoplamiento cruzado. A mayor frecuencia y longitud de la lnea, las
prdidas se incrementan, mientras que para dimetros de cable mayores,
las prdidas disminuyen. La Tabla 1 muestra las velocidades que se
alcanzan bajo ciertas caractersticas de la lnea [URL02].
MODULACION
Telemtica I
ADSL, Multitrayecto
Figura 5
clear all
%PARAMETROS
bandwidth = 4000; %ancho de banda para cada banda de frecuencia en Hz
guarda_medios = 300; %
signal_to_noise_ratio = 20;
modulacion_ssb = 1;%1 para la modulacin individual SSB, 0 para AM
% La primera seal se coloca en el tercer canal, el segundo en el
% cuarto y el tercero en la quinta.
frec_carrier1 = bandwidth*3;% Frecuencia de las portadoras en Hz
frec_carrier2 = bandwidth*4;
frec_carrier3 = bandwidth*5;
Fs = frec_carrier3*2+5000; %Fs = 44100;
frec_corte_filtro_pasabajo = 2500;
% 1 show graphics, 0 don't
graphics = 1;
% 1 play sounds, 0 don't
sounds = 1;
%Define filters
[B,A] = butter(4,frec_corte_filtro_pasabajo/(Fs/2));
Telemtica I
ADSL, Multitrayecto
pasa_bajo = @(S) filter(B,A,S);
[C1,D1]
=
butter(2,[bandwidth*2+guarda_medios
bandwidth*3guarda_medios]/(Fs/2));
filtro_banda3 = @(S) filter(C1,D1,S);
[C2,D2]
=
butter(2,[bandwidth*3+guarda_medios
bandwidth*4guarda_medios]/(Fs/2));
filtro_banda4 = @(S) filter(C2,D2,S);
[C3,D3]
=
butter(2,[bandwidth*4+guarda_medios
bandwidth*5guarda_medios]/(Fs/2));
filtro_banda5 = @(S) filter(C3,D3,S);
%cargar los archivos
s1 = wavread('ali-university-story.wav'); %cargar audio 1
longituds1 = length(s1);
s2 = wavread('birth-of-a-star-story.wav'); %cargar audio 2
longituds2 = length(s2);
s3 = wavread('board-game-story.wav'); %cargar audio 3
longituds3 = length(s3);
beep = wavread('beep-8.wav');
playerbeep = audioplayer(beep,44100);
%se truncan a la longitud del menor
longitud_minima = min([longituds1 longituds2]);
t = linspace(0,5, longitud_minima);
s1 = s1(1:longitud_minima);
s2 = s2(1:longitud_minima);
s3 = s3(1:longitud_minima);
FLAG = input('PASO 1, se reproducen las seales tal y como llegan');
%se reproducen
if (sounds > 0)
player = audioplayer(s1,44100);
playblocking(player);
playblocking(playerbeep);
player2 = audioplayer(s2,44100);
playblocking(player2);
playblocking(playerbeep);
player3 = audioplayer(s3,44100);
playblocking(player3);
end
FLAG = input('PASO 2, graficar los espectros de las seales tal y como
llegan');
if (graphics > 0)
figure
esps1=abs(fft(s1));
subplot(3,1,1),plot(esps1),grid on,zoom,title('Espectro seal 1');
esps2=abs(fft(s2));
subplot(3,1,2),plot(esps2),grid on,zoom,title('Espectro seal 2');
esps3=abs(fft(s3));
subplot(3,1,3),plot(esps3),grid on,zoom,title('Espectro seal 3');
end;
FLAG = input('PASO 3, Las seales se pasan por un filtro pasa bajo y se
grafican');
%se pasan por el filtro pasa bajo
s1 = pasa_bajo(s1);
s2 = pasa_bajo(s2);
s3 = pasa_bajo(s3);
Telemtica I
ADSL, Multitrayecto
%se grafican
if (graphics > 0)
figure
esps1=abs(fft(s1));
subplot(3,1,1),plot(esps1),grid on,zoom,title('Espectro seal 1 filtrada');
esps2=abs(fft(s2));
subplot(3,1,2),plot(esps2),grid on,zoom,title('Espectro seal 2 filtrada');
esps3=abs(fft(s3));
subplot(3,1,3),plot(esps3),grid on,zoom,title('Espectro seal 3 filtrada');
end
FLAG = input('PASO 4, reproducir las seales luego de pasarlas por
filtro');
%se reproducen
if (sounds > 0)
playerbeep = audioplayer(beep,44100);
player = audioplayer(s1,44100);
playblocking(player);
playblocking(playerbeep);
player2 = audioplayer(s2,44100);
playblocking(player2);
playblocking(playerbeep);
player3 = audioplayer(s3,44100);
playblocking(player3);
playblocking(playerbeep);
end
FLAG = input('PASO 5, Las seales se modulan a diferentes portadoras');
%modular los archivos
if ( modulacion_ssb > 0)
s1mod = ssbmod(s1,frec_carrier1,Fs);%se modula
s2mod = ssbmod(s2,frec_carrier2,Fs);%se modula
s3mod = ssbmod(s3,frec_carrier3,Fs);%se modula
else
s1mod = ammod(s1,frec_carrier1,Fs);%se modula
s2mod = ammod(s2,frec_carrier2,Fs);%se modula
s3mod = ammod(s3,frec_carrier3,Fs);%se modula
end
%se grafican
if (graphics > 0)
figure
esps1=abs(fft(s1mod));
subplot(3,1,1),plot(esps1),grid on,zoom,title('Espectro seal
modulada');
esps2=abs(fft(s2mod));
subplot(3,1,2),plot(esps2),grid on,zoom,title('Espectro seal
modulada');
esps3=abs(fft(s3mod));
subplot(3,1,3),plot(esps3),grid on,zoom,title('Espectro seal
modulada');
el
1
2
3
end
FLAG = input('PASO 6, Las seales moduladas se filtran en la banda
determinada y se suman');
%se filtran y se suman
%fs1=filter(filtro_banda1,s1mod);%se filtra
Telemtica I
ADSL, Multitrayecto
%fs2=filter(filtro_banda2,s2mod);%se filtra
%fs3=filter(filtro_banda3,s3mod);%se filtra
fs1 = s1mod;
fs2 = s2mod;
fs3 = s3mod;
%ACA SE SUMAN
senial_completa = fs1+fs2+fs3;
%se grafican
if (graphics > 0)
figure
esps1=abs(fft(fs1));
subplot(4,1,1),plot(esps1),grid on,zoom,title('Espectro seal 1 modulada y
filtrada');
esps2=abs(fft(fs2));
subplot(4,1,2),plot(esps2),grid on,zoom,title('Espectro seal 2 modulada y
filtrada');
esps3=abs(fft(fs3));
subplot(4,1,3),plot(esps3),grid on,zoom,title('Espectro seal 3 modulada y
filtrada');
espf=abs(fft(senial_completa));
subplot(4,1,4),plot(espf),grid on,zoom,title('Espectro sumadas')
end
FLAG = input('PASO 7, se aade algo de ruido a la seal transmitida');
if (graphics > 0)
figure
esps1=abs(fft(senial_completa));
subplot(2,1,1),plot(esps1),grid on,zoom,title('Espectro seal completa
mas algo de ruido');
end
senial_completa = awgn(senial_completa, signal_to_noise_ratio );
if (graphics > 0)
esps1=abs(fft(senial_completa));
subplot(2,1,2),plot(esps1),grid on,zoom,title('Espectro seal completa
mas algo de ruido');
end
FLAG = input('PASO 8, al llegar se filtra cada banda');
%se reciben las seales y se filtran
%demuxs1=filter(filtro_banda1,senial_completa);%se filtra
demuxs1 = filtro_banda3(senial_completa);
%demuxs2=filter(filtro_banda2,senial_completa);%se filtra
demuxs2 = filtro_banda4(senial_completa);
%demuxs3=filter(filtro_banda3,senial_completa);%se filtro
demuxs3 = filtro_banda5(senial_completa);
%se grafican
if (graphics > 0)
figure
esps1=abs(fft(demuxs1));
subplot(3,1,1),plot(esps1),grid on,zoom,title('Espectro seal 1 filtrada');
esps2=abs(fft(demuxs2));
subplot(3,1,2),plot(esps2),grid on,zoom,title('Espectro seal 2 filtrada');
esps3=abs(fft(demuxs3));
Telemtica I
ADSL, Multitrayecto
subplot(3,1,3),plot(esps3),grid on,zoom,title('Espectro seal 3 filtrada');
end
FLAG = input('PASO 9, cada banda recuperada se demodula para regresar la
seal a la frecuencia indicada');
%se demodulan
if ( modulacion_ssb > 0)
demods1 = ssbdemod(demuxs1, frec_carrier1,Fs);
demods2 = ssbdemod(demuxs2, frec_carrier2,Fs);
demods3 = ssbdemod(demuxs3, frec_carrier3,Fs);
else
demods1 = amdemod(demuxs1, frec_carrier1,Fs);
demods2 = amdemod(demuxs2, frec_carrier2,Fs);
demods3 = amdemod(demuxs3, frec_carrier3,Fs);
end;
%se grafican
if (graphics > 0)
figure
esps1=abs(fft(demods1));
subplot(3,1,1),plot(esps1),grid on,zoom,title('Espectro seal 1
demodulada');
esps2=abs(fft(demods2));
subplot(3,1,2),plot(esps2),grid on,zoom,title('Espectro seal 2
demodulada');
esps3=abs(fft(demods3));
subplot(3,1,3),plot(esps3),grid on,zoom,title('Espectro seal 3
demodulada');
end
FLAG = input('PASO 10, la seal recuperada se pasa por un filtro pasabajo');
%se reproducen
demods1 = pasa_bajo(demods1);
demods2 = pasa_bajo(demods2);
demods3 = pasa_bajo(demods3);
if (graphics > 0)
figure
esps1=abs(fft(demods1));
subplot(3,1,1),plot(esps1),grid on,zoom,title('Espectro seal 1
demodulada');
esps2=abs(fft(demods2));
subplot(3,1,2),plot(esps2),grid on,zoom,title('Espectro seal 2
demodulada');
esps3=abs(fft(demods3));
subplot(3,1,3),plot(esps3),grid on,zoom,title('Espectro seal 3
demodulada');
end
FLAG = input('PASO 11, Seal reproducen la seal luego de la transmision');
player4 = audioplayer(demods1,44100);
playblocking(player4);
playblocking(playerbeep);
player5 = audioplayer(demods2,44100);
playblocking(player5);
playblocking(playerbeep);
player6 = audioplayer(demods3,44100);
Telemtica I
ADSL, Multitrayecto
playblocking(player6);
Ejecutando el programa: el cdigo fue guardado como simu.m en el
editor de Matlab.
>> simu
RESULTADOS:
PASO 1, se reproducen las seales tal y como llegan
PASO 2, graficar los espectros de las seales tal y como llegan
Telemtica I
ADSL, Multitrayecto
10
Telemtica I
ADSL, Multitrayecto
11
Telemtica I
ADSL, Multitrayecto
PROPAGACION MULTICAMINO
Cuando transmitimos en el medio radio, encontramos que el emisor y el
receptor no siempre tienen una lnea de visin (LOS, Line of Sight) directa
pero an y as es posible la comunicacin. Es gracias a los fenmenos que
suceden en la propagacin, como pueden ser la refraccin, la difraccin, la
reflexin o la dispersin, que se manifiestan dependiendo del entorno dnde
Propagacin multicamino
nos comunicamos. Por ejemplo, en una gran ciudad con edificios altos y
llena de obstculos para las ondas electromagnticas, tanto la dispersin
como la reflexin se acentuarn, en cambio en un entorno rural
prcticamente no observaremos sus efectos, ms an si hay una visin
directa entre los dos extremos de la transmisin. En la figura I.1 se observa
el ejemplo de transmisin desde una torre de control hacia un avin a punto
de aterrizar. Estos fenmenos fsicos provocan que al transmitir una seal,
sta llegue al receptor seguida de varias rplicas retardadas que
denominaremos ecos y se produce en canales que llamaremos multicamino
o multitrayecto. Si ponemos como ejemplo al canal radio mvil, hay dos
efectos fundamentales que son visibles en su respuesta impulsional: el
Delay Spread y el Doppler Spread. El Delay Spread es la consecuencia de
que el canal multicamino sea dispersivo en tiempo y lo podemos relacionar
directamente la con suma de todos los ecos que llegan en recepcin. En
cambio, el Doppler Spread se debe a la movilidad de la comunicacin en un
canal multicamino. No nos centraremos en sta ltima consecuencia ya que
el estudio de la movilidad no se aplica en este trabajo.
12
Telemtica I
ADSL, Multitrayecto
SIMULACION:
Modelamiento y Simulacin
13
Telemtica I
ADSL, Multitrayecto
CODIGO PRINCIPAL
%=====================
Parameters
===========================
NFFT = 256;
% Length of FFT.
K = 4;
% Bits encoded in a M-QAM symbol.
M = 2^K;
% Level of Modulation M-QAM
Ns = 10;
%
Number
of
Symbols
for
transmission.
w_ZF = ones(1, NFFT);
% Filter coefficients.
w_MMSE = ones(1, NFFT);
% Filter coefficients.
SNRdB = 0:30;
% SNR of AWGN in channel in dB.
a = 1;
% Figure Index
%===============
Vaiables
===========================
ber_ZF = zeros(1,length(SNRdB));
bit_error_rate_ZF = zeros(1,length(SNRdB));
for
%===============
Vaiables
for
========================
ber_MMSE = zeros(1,length(SNRdB));
bit_error_rate_MMSE = zeros(1,length(SNRdB));
%===================
=====================
for CPLen = [4 8 16 32] % Length of Cyclic Prefix.
ZF
MMSE
Equ
Simulation
for sym=1:Ns
%----------- Data Genration -----------------input = randint(1,NFFT,M);
% Decimal to Binary
input2bin = de2bi(input,'left-msb');
%------------- Transmit Data ----------------[signal_tx,input_symbols] = transmitter(input, NFFT, CPLen, M);
for snr = 1:length(SNRdB)
%--------------------- Channel --------------------------[signal_rx,h] = channel(signal_tx,snr);
%-------------- Receiver Data ZF and MMSE ---------------% Receiver ZF
[signal_recovered_ZF,
w_ZF,
output_symbols_ZF]
receiver_ZF(signal_rx, input_symbols, NFFT, CPLen, M, w_ZF);
14
Equ
Telemtica I
ADSL, Multitrayecto
signal_recovered_ZF2bin = de2bi(signal_recovered_ZF,'left-msb');
% Receiver MMSE
[signal_recovered_MMSE, new_w_MMSE, output_symbols_MMSE] =
receiver_mmse(signal_rx, input_symbols, NFFT, CPLen, M, w_MMSE,
snr);
w_MMSE = new_w_MMSE;
% Decimal To Binary
signal_recovered_MMSE2bin = de2bi(signal_recovered_MMSE,'leftmsb');
%------- Bit Error Rate Instantaneous -------% BER ZF
[nerr,ber_ZF(snr)] = biterr(input2bin, signal_recovered_ZF2bin);
% BER MMSE
[nerr,ber_MMSE(snr)]
biterr(input2bin,signal_recovered_MMSE2bin);
end
15
Modulation
Telemtica I
ADSL, Multitrayecto
%===================
======================
scatterplot(input_symbols);
Constellation
%===========================
============================
input_time_para = ifft(input_symbols);
%====================
Parallel
to
==========================
input_time_serial = reshape(input_time_para,1,FFTLen);
16QAM
IFFT
Serial
% Calculo:
inicio = FFTLen - (FFTLen/CPLen);
%===============
Gaurd
Interval
Insertion
(GII)
===================
input_ext = [input_time_serial((inicio + 1):FFTLen),input_time_serial];
%====================
Return
==========================
trans_signal = input_ext;
end
%=====================
END
=============================
output
FILE
CHANNEL
function[output,h] = channel(input, SNRdB)
%+----------------------------------------------------------------+
%|
CHANNEL MODEL
|
%+----------------------------------------------------------------+
%===============
Pass
Through
Rayleigh
====================
Channel
16
Channel
FILE
Telemtica I
ADSL, Multitrayecto
function[recovered_signal,
w,
output_symbols]
receiver_ZF(noisy_signal, input_symbols, FFTLen, CPLen, M, w)
%Calculo:
inicio_2 = FFTLen/CPLen + 1;
%==== Gaurd Interval Removal (GIR) ====
% Remove cyclic extension from noisy signal.
noisy_time_serial = noisy_signal(inicio_2:end);
%======= Serial To Parallel ===========
%output_time_para = reshape(noisy_time_serial,FFTLen,1);
output_time_para = reshape(noisy_time_serial,1,FFTLen);
%============== FFT ===================
output_noisy_symbols = fft(output_time_para);
%======== Zero Forcing Equalizer ======
% Channel estimator in frequency domain
h_est = output_noisy_symbols ./ input_symbols;
output_symbols = output_noisy_symbols ./ w;
%========= Baseband Demodulation =========
output_para = demodulate(modem.qamdemod(M),output_symbols);
%============ Returning output ===========
recovered_signal = output_para;
w = h_est;
end
%================= END FILE =============
RECEIVER_MMSE
function[recovered_signal
,new_w,
output_symbols]
=
receiver_mmse(noisy_signal, input_symbols, FFTLen, CPLen, M, w,
SNRdB)
% Calculo:
inicio_3 = FFTLen/CPLen + 1;
%====Gaurd Interval Removal (GIR) ========
% Remove cyclic extension from noisy signal.
noisy_time_serial = noisy_signal(inicio_3:end);
%========== Serial To Parallel ============
output_time_para = reshape(noisy_time_serial,1,FFTLen);
%================= FFT ===============
output_noisy_symbols = fft(output_time_para);
%========= Zero Forcing Equalizer ========
% LS channel estimator in frequency domain
h_est = output_noisy_symbols ./ input_symbols;
% MMSE equalizer
SNR = 10^(SNRdB/10);
17
Telemtica I
ADSL, Multitrayecto
new_w = conj(h_est) ./ ( abs(h_est).^2 + 1/SNR);
output_symbols = output_noisy_symbols .* w;
%=========== Baseband Demodulation =======
output_para = demodulate(modem.qamdemod(M),output_symbols);
%============ Returning output ========
recovered_signal = output_para;
end
%=============== END FILE ===========
RESULTADOS.
0.4
0.3
0.2
0.1
0
X: 256
Y: -0.009294
-0.1
-0.2
-0.3
-0.4
50
100
150
Samples Number
200
250
300
Q u a d ra t u re
1
0
-1
-2
-3
-3
-2
-1
0
In-Phase
Q u a d ra t u r e
0.5
0.4
0.3
X: 256
Y: 0.1924
0.2
0.1
-1
-2
-0.1
-3
-0.2
-4
-0.3
-5
-5
0
In-Phase
-0.4
-0.5
50
100
150
Samples Number
200
18
250
300
Telemtica I
ADSL, Multitrayecto
Seal antes de pasar por el canal tipo Rayleigh con Modulacin 32QAM
19
Telemtica I
ADSL, Multitrayecto
10
B it E rro r R a t e
Equalizer ZF
Equalizer MMSE
-1
10
-2
10
-3
10
-4
10
10
15
Signal to nois e ratio
20
25
30
Tasa de error de bit, para un sistema WiMAX Fijo utilizando modulacin 16QAM e
Intervalo de Guarda de un 1/32,
Bit Error Rate for 32QAM, with Guard = 1/32
10
B it E rro r R a t e
Equalizer ZF
Equalizer MMSE
-1
10
-2
10
-3
10
-4
10
10
15
Signal to noise ratio
20
25
30
Tasa de error de bit, para un sistema WiMAX Fijo utilizando modulacin 32QAM e Intervalo de
Guarda de un 1/32,
20