Adsl

download Adsl

of 20

description

simulación

Transcript of Adsl

Telemtica I ADSL, MultitrayectoADSL (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.

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 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 a25.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).

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 FDMCon 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 %PARAMETROSbandwidth = 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 Hzfrec_carrier2 = bandwidth*4;frec_carrier3 = bandwidth*5;Fs = frec_carrier3*2+5000; %Fs = 44100;frec_corte_filtro_pasabajo = 2500;% 1 show graphics, 0 don'tgraphics = 1;% 1 play sounds, 0 don'tsounds = 1;%Define filters [B,A] = butter(4,frec_corte_filtro_pasabajo/(Fs/2));pasa_bajo = @(S) filter(B,A,S); [C1,D1] = butter(2,[bandwidth*2+guarda_medios bandwidth*3-guarda_medios]/(Fs/2));filtro_banda3 = @(S) filter(C1,D1,S); [C2,D2] = butter(2,[bandwidth*3+guarda_medios bandwidth*4-guarda_medios]/(Fs/2));filtro_banda4 = @(S) filter(C2,D2,S); [C3,D3] = butter(2,[bandwidth*4+guarda_medios bandwidth*5-guarda_medios]/(Fs/2));filtro_banda5 = @(S) filter(C3,D3,S);%cargar los archivos s1 = wavread('ali-university-story.wav'); %cargar audio 1longituds1 = length(s1); s2 = wavread('birth-of-a-star-story.wav'); %cargar audio 2longituds2 = length(s2); s3 = wavread('board-game-story.wav'); %cargar audio 3longituds3 = 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 bajos1 = pasa_bajo(s1);s2 = pasa_bajo(s2);s3 = pasa_bajo(s3);%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 el 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 modulaelse s1mod = ammod(s1,frec_carrier1,Fs);%se modula s2mod = ammod(s2,frec_carrier2,Fs);%se modula s3mod = ammod(s3,frec_carrier3,Fs);%se modulaend%se graficanif (graphics > 0) figure esps1=abs(fft(s1mod)); subplot(3,1,1),plot(esps1),grid on,zoom,title('Espectro seal 1 modulada'); esps2=abs(fft(s2mod)); subplot(3,1,2),plot(esps2),grid on,zoom,title('Espectro seal 2 modulada'); esps3=abs(fft(s3mod)); subplot(3,1,3),plot(esps3),grid on,zoom,title('Espectro seal 3 modulada'); endFLAG = 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%fs2=filter(filtro_banda2,s2mod);%se filtra%fs3=filter(filtro_banda3,s3mod);%se filtra fs1 = s1mod;fs2 = s2mod;fs3 = s3mod;%ACA SE SUMANsenial_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 filtrademuxs1 = filtro_banda3(senial_completa); %demuxs2=filter(filtro_banda2,senial_completa);%se filtrademuxs2 = filtro_banda4(senial_completa); %demuxs3=filter(filtro_banda3,senial_completa);%se filtrodemuxs3 = 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)); 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 demodulanif ( 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');endFLAG = input('PASO 10, la seal recuperada se pasa por un filtro pasabajo');%se reproducendemods1 = 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);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

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

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

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.

SIMULACION:

Modelamiento y Simulacin

CODIGO PRINCIPAL

%===================== Parameters ===========================NFFT = 256; % Length of FFT. K = 4; % Bits encoded in a M-QAM symbol. M = 2^K; % Level of Modulation M-QAMNs = 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 for ZF Equ ===========================ber_ZF = zeros(1,length(SNRdB));bit_error_rate_ZF = zeros(1,length(SNRdB)); %=============== Vaiables for MMSE Equ ========================ber_MMSE = zeros(1,length(SNRdB));bit_error_rate_MMSE = zeros(1,length(SNRdB));%=================== Simulation ===================== for CPLen = [4 8 16 32] % Length of Cyclic Prefix. 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); 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,'left-msb'); %------- 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 Modulation ======================= input_symbols = modulate (modem.qammod(M),input);%=================== Constellation 16QAM ======================scatterplot(input_symbols); %=========================== IFFT ============================ input_time_para = ifft(input_symbols); %==================== Parallel to Serial ========================== input_time_serial = reshape(input_time_para,1,FFTLen); % Calculo:inicio = FFTLen - (FFTLen/CPLen); %=============== Gaurd Interval Insertion (GII) =================== input_ext = [input_time_serial((inicio + 1):FFTLen),input_time_serial]; %==================== Return output ========================== trans_signal = input_ext; end%===================== END 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 Channel ==================== output = awgn(signal_filtered, SNRdB,'measured');end%===================== END FILE ==============================

RECEIVER_ZF

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); 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.

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

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

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.

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

Tasa de error de bit, para un sistema WiMAX Fijo utilizando modulacin 16QAM e Intervalo de Guarda de un 1/32,

Tasa de error de bit, para un sistema WiMAX Fijo utilizando modulacin 32QAM e Intervalo de Guarda de un 1/32,

Modulador por Amplitud de Pulso

Filtro transmisorg(t)

Canalh(t)

Filtro Receptorc(t)

Dispositivo de decisin

Decide 0 si y(ti)<

Decide 1 si y(ti)>

Umbral

Ruido Gausiano Blancow(t)

Reloj

Entrada de datos binarios{bk}

{ak}

s(t)

Xo(t)

X(t)

y(t)

y(ti)

Muestreo para un tiempo ti=Tb

Receptor

Canal

Transmisor

INSERTION GUARD

CHANNEL

+

S/P

AWGN

S/P

IFFT

MAPPINGM-QAM

P/S

GUARDREMOVAL

FFT

DEMAPPINGM-QAM

P/S

ECUALIZATION

OUTPUT DATA

BINARYDATA