Вы находитесь на странице: 1из 20

Telemtica I

ADSL, Multitrayecto

ADSL (Asymmetric Digital Subscriber Line)


Es una que es capaz de transmitir hasta 6 Mbps de bajada y 640 Kbps de
subida y cuyo nombre deriva de esta propiedad asimtrica respecto a la
velocidad de transmisin en ambas direcciones.
Por convencin, la direccin de bajada se interpreta como transmisin de
servidor a cliente, mientras que la direccin de subida se interpreta como
envo de paquetes de datos de cliente a servidor, de ah que la velocidad
ms alta sea la de bajada pues comnmente el cliente es quien necesita
recibir la mayor cantidad de paquetes de datos o informacin.
La coexistencia de servicios tradicionales de telefona y de transmisin de
datos a alta velocidad sobre el mismo medio de transmisin se debe a que
ADSL utiliza las frecuencias ubicadas por encima de la banda asignada para
telefona.
La asignacin de las frecuencias para ambos servicios se realiza con una
tcnica de divisin en frecuencia conocida como FDM (Frequency Division
Multiplexing), la cual divide el ancho de banda del par trenzado (1.104 MHz)
en tres bandas diferentes:
1. Banda para telefona tradicional (0 - 4.3125 KHz).
2. Banda para transmisin de datos en direccin de subida (25.768 KHz
138 KHz).
3. Banda para transmisin de datos en direccin de bajada (138 KHz 1.104
MHz).
Esta tecnologa utiliza las lneas telefnicas ordinarias, es decir, la
transmisin de datos de alta velocidad y los servicios tradicionales de
telefona se ofrecen al mismo tiempo y sobre el mismo cable, un par
tranzado, reduciendo as los costos econmicos y de tiempo para su
introduccin al mercado.

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].

Caractersticas de la lnea y velocidad de transmisin [URL02]

MODULACION

ADSL utiliza una tcnica de modulacin de multiportadora, conocida como


DMT (Discrete Multi Tone), que divide el ancho de banda disponible de 1.104
MHz en 256 subcanales, sub-portadoras o tonos que van desde 0 Hz hasta
1.104 MHz. Cada tono ocupa 4.3125 KHz del ancho de banda total y utiliza
una tcnica de modulacin en cuadratura conocida como QAM (Quadrature
Amplitude Modulation). Lo anterior se debe a que cada tono puede
transportar hasta un mximo de 15 bits de informacin, dependiendo de la
relacin seal a ruido presente en cada tono y es necesario aplicar esta
tcnica de modulacin para codificarlos.
El primer tono o sub-canal se utiliza para los servicios de telefona de voz
tradicional (POTS), en tanto que los tonos entre en el rango de frecuencias
de 4.3125 KHz a
25.875 KHz (tonos del 2 al 6) se utilizan para evitar la interferencia entre
POTS y ADSL.
Los tonos del 7 al 32 ubicados entre 25.768 KHz y 138 KHz se utilizan para
la transferencia de datos en la direccin de subida (upstream), mientras que
los tonos del 33 al 256 ubicados entre 138 KHz y 1.104 MHz son utilizados
para la transferencia de datos en la direccin de bajada (downstream).

Telemtica I
ADSL, Multitrayecto

Figura 5

Estas frecuencias estn estandarizadas por la ANSI (American National


Standards Institute) bajo ANSI T1.413. La Figura 5 muestra un esquema de
FDM (Frequency Division Multiplexing) para el ancho de banda
disponible en un cable par trenzado y que hace posible la coexistencia entre
POTS (Plain Old Telephone Service) o PSTN, ISDN y la tecnologa ADSL. La
Figura 6 muestra la asignacin de tonos de frecuencia o sub-canales para la
modulacin DMT.
MODULACIN FDM
Con este mtodo no hay solapamiento de portadoras en las seales
ascendente y descendente (es decir, se divide la banda en una parte para la
ascendente y otra para la descendente), por lo que se cancela el eco de la
seal. De esta forma, la electrnica de control es ms sencilla pero tiene el
inconveniente de que no se utiliza eficientemente todo el ancho de banda.

SIMULACION EN MATLAB MODULACION FDM: se dispone de tres


audios en formato .wav:
Primer audio:'ali-university-story.wav'
Segundo audio:'birth-of-a-star-tory.wav'
Tercer audio:'board-game-story.wav'
y un beep 'beep-8.wav'

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

PASO 3, Las seales se pasan por un filtro pasa bajo y se


grafican

PASO 4, reproducir las seales luego de pasarlas por el filtro


PASO 5, Las seales se modulan a diferentes portadoras

Telemtica I
ADSL, Multitrayecto

PASO 6, Las seales moduladas se filtran en la banda


determinada y se suman

PASO 7, se aade algo de ruido a la seal transmitida

PASO 8, al llegar se filtra cada banda

10

Telemtica I
ADSL, Multitrayecto

PASO 9, cada banda recuperada se demodula para regresar la seal a


la frecuencia indicada

PASO 10, la seal recuperada se pasa por un filtro pasabajo

PASO 11, Seal reproducen la seal luego de la transmisin

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

bit_error_rate_ZF = bit_error_rate_ZF + ber_ZF;


bit_error_rate_MMSE = bit_error_rate_MMSE + ber_MMSE;
end
%====================
BER
Calculation
=========================
bit_error_rate_ZF = bit_error_rate_ZF/Ns;
bit_error_rate_MMSE = bit_error_rate_MMSE/Ns;
figure(a)
color_ZF = 'b.-';
color_MMSE = 'r.-';
semilogy(SNRdB,bit_error_rate_ZF,color_ZF);
hold on;
semilogy(SNRdB,bit_error_rate_MMSE,color_MMSE);
a = a+1;
axis([-Inf Inf 10^(-4) 1])
xlabel('Signal to noise ratio ')
ylabel('Bit Error Rate')
title(['Bit Error Rate for ',num2str(2^K),'QAM, with Guard =
1/',num2str(CPLen)]);
legend('Equalizer ZF','Equalizer MMSE');
end
TRANSMITTER
function[trans_signal, input_symbols] = transmitter(input, FFTLen,
CPLen, M)
%==================
Baseband
=======================
input_symbols = modulate (modem.qammod(M),input);

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

h = rayleighchan(1/500000,200,[0 0.04 0.08 0.12]*1e-4,[0 -3 -6 -9]);


h.StoreHistory = 1;
h.ResetBeforeFiltering = 1;
signal_filtered = filter(h, input);
%===============
Pass
Through
AWGN
====================
output = awgn(signal_filtered, SNRdB,'measured');
end
%=====================
END
==============================
RECEIVER_ZF

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.

Time Domain Signal after IFFT

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

Constellation 16QAM Input Symbols


3
2

Q u a d ra t u re

1
0
-1

-2
-3
-3

-2

-1

0
In-Phase

Constelacin 16QAM y Seal en el dominio del tiempo 16 QAM

Constellation 32QAM Input Symbols


5
4

Q u a d ra t u r e

Time Domain Signal after IFFT

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

Constelacin 32QAM y Seal en el dominio del tiempo 32 QAM

18

250

300

Telemtica I
ADSL, Multitrayecto

Seal antes de pasar por el canal tipo Rayleigh con Modulacin 32QAM

Salida del canal tipo Rayleigh con Modulacin 32 QAM

Respuesta al Impulso del Canal y Respuesta en Frecuencia del Canal.

19

Telemtica I
ADSL, Multitrayecto

Constelacin de los smbolos recibidos para el receptor ZF y MMSE utilizando


Modulacin 32QAM
Bit Error Rate for 16QAM, 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 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

Вам также может понравиться