Kết quả mô phỏng hệ truyền thông ADSL và các thuật toán cấp

Một phần của tài liệu (LUẬN văn THẠC sĩ) kết hợp điều khiển công suất và phân phối bít trong hệ xDSL đa người dùng luận văn ths kỹ thuật điện tử viễn thông 2 07 00 (Trang 94 - 116)

cấp phát bít

Các tham số dùng trong mô phỏng:

Kênh truyền DMT ADSL hướng lên như trên hình 2.8 với:

 Số kênh truyền : N = 32 kênh

 Băng thông kênh truyền con : BW = 4 KHz

 Độ dài tiền tố vòng :  = 5 mẫu

 GAP hệ thống : GAP = 9,8 dB

 Dự phòng hệ thống : MA = 6 dB

 Kênh truyền có nhiễu Gauss: PSD nhiễu = -140 dBm/Hz

 Tốc độ truyền dữ liệu : RA=200 bit x 4000 hz = 800 Kbit/s

 Số bit dữ liệu tối đa trên một kênh truyền con : Bmax=15 bit

 Điều chế QAM, chuẩn hoá công suất trung bình của các chòm sao Các thuật toán cấp phát bit được mô phỏng

 Thuật toán Đổ nước

 Thuật toán của Chow Theo các tiêu chí về hệ thống

 Thích nghi tốc độ (RA)

 Thích nghi dự phòng (MA)

Trạng thái và giá trị dữ liệu tại các đầu ra của các khối chức năng được mô phỏng trong hệ thống

Giản đồ chòm sao 16 – QAM và 32 - QAM

Hình 4.7 : Chòm sao 16 –QAM và 32–QAM (Chuẩn hoá công suất trung bình)

Kênh truyền dùng trong hệ thống là:

Hình 4.8 Đáp ứng biên độ và pha của kênh truyền

Dữ liệu truyền được ánh xạ vào ký hiệu QAM

Ký hiệu QAM được điều chế bằng IFFT

Hình 4.10 : Ký hiệu QAM được điều chế IFFT

Sau khi truyền qua kênh, ký hiệu được giải điều chế FFT tại đầu thu và loại bỏ dữ liệu dữ liệu gương được thêm vào khi điều chế. Ký hiệu QAM thu được sẽ được ánh xạ trở lại thành dữ liệu.

Mô phỏng các thuật toán cấp phát bit tới các kênh truyền con, trong các trường hợp: Thích nghi tốc độ (RA) và Thích nghi dự phòng (MA).

Mô phỏng Thích nghi dự phòng MA

Hình 4.12 : Thuật toán đổ nước và Thuật toán của Chow (MA)

Mô phỏng thích nghi tốc độ (RA)

Theo kết quả mô phỏng ta thấy, thuật toán Đổ nước trong cả hai tiêu chí dịch vụ của hệ thống là MA và RA, đều cấp phát số bit không nguyên cho các kênh truyền con. Điều này tối ưu về phổ của kênh truyền nhưng rất khó thực hiện về mặt hệ thống. Do đó, thuật toán này chỉ dùng tạo phân bố bit thô cho các thuật toán khác. Còn thuật toán của Chow và một số thuật toán khác thực hiện việc làm tròn phân bố bit này và cho một phân bố bit gần tối ưu nhưng dễ dàng thực hiện về mặt hệ thống.

KẾT LUẬN

Việc truyền thông tốc độ cao trên hệ thống các đường dây điện thoại hiện có, nhằm đáp ứng nhu cầu về tốc độ truyền dữ liệu ngày càng tăng và duy trì chất lượng dịch vụ của các ứng dụng, đã được tập trung nghiên cứu rất nhiều trong các trường đại học, các học viện và trong các phòng thí nghiệm của các hãng sản xuất thiết bị truyền thông trên thế giới. Sự ra đời của sơ đồ điều chế đa kênh / đa sóng mang (DMT và OFDM) đã tối ưu băng thông được sử dụng, tiệm cận tới dung năng kênh truyền, nhờ vào những tri thức đã biết trước về đặc tính của kênh truyền tại thiết bị phát và thiết bị thu. Bằng việc chia kênh truyền ban đầu thành các kênh truyền con, đã khắc phục được những khó khăn gặp phải khi truyền dẫn trên kênh đơn ban đầu. Nhiều thuật toán cấp phát bit đã được phát triển nhằm thực hiện việc phân bố bit và năng lượng cho các kênh con phù hợp với đặc tính kênh như thuật toán đổ nước, thuật toán của Chow và thuật toán của Campello.

Hệ thống truyền dẫn đường dây thuê bao số không thể tránh khỏi vấn đề nhiễu xuyên âm ảnh hưởng tới tốc độ truyền dẫn của các mạch vòng ở xa nhà cung cấp, vì thế các mạch vòng ở gần nhà cung cấp cần phải giảm công suất phát, vấn đề giảm công suất phát này được gọi là UPBO. Có rất nhiều giải pháp cho vấn đề UPBO như phương pháp sử dụng tần số tham chiếu, chiều dài tham chiếu, nhiễu tham chiếu, làm bằng FEXT... hay phương pháp điều khiển công suất kết hợp với phân bố bít dựa trên thuật toán water – filling.

Luận văn này đã đề cập và giải quyết các vấn đề sau:

 Tìm hiểu về công nghệ truyền dẫn đường dây thuê bao số (DSL).

 Tìm hiểu về các loại DSL hiện có: ISDN BRI, HDSL, ADSL, VDSL.

 Tìm hiểu nhiễu xuyên ký hiệu và các giải pháp:

 Sử dụng bộ làm bằng

 Các phương pháp truyền dẫn đa kênh trong DSL. Trong đó, giới thiệu hai phương pháp là điều chế vectơ và đặc biệt là trình bày về phương pháp điều chế DMT (phương pháp điều chế được dùng phổ biến trong ADSL và VDSL).

 Tìm hiểu các thuật toán cấp phát bit cho các kênh con.

 Tìm hiểu về dung năng đơn kênh, dung năng đa kênh.

 Nghiên cứu kỹ các thuật toán cấp phát bit cho các kênh con: thuật toán đổ nước, thuật toán của Chow. Các thuật toán này được nghiên cứu để giải quyết hai vấn đề trong hệ thống đó là thích nghi tốc độ (RA) và thích nghi dự phòng (MA).

 Tìm hiều về môi trường DSL đa người dùng và các phương pháp điều khiển công suất hướng lên gồm:

 Phương pháp tần số tham chiếu

 Phương pháp chiều dài tham chiếu

 Phương pháp làm bằng FEXT

 Phương pháp nhiễu tham chiếu

 Phương pháp Water - filling lặp

 Phương pháp phân bố bít rời rạc đa người dùng.

 Xây dựng chương trình mô phỏng gồm.

 Tạo các chòm sao QAM ứng với số lượng bit là từ 1 đến 15 bit.

 Thực hiện điều chế và giải điều chế QAM.

 Thực hiện thuật toán đổ nước theo hai tiêu chí: MA và RA.

 Thực hiện thuật toán của Chow theo hai tiêu chí: MA và RA.

 Thực hiện điều khiển công suất theo phương pháp sử dụng tần số tham chiếu trên kênh VDSL hướng lên.

 Thực hiện điều khiển công suất kết hợp với phân bố bit theo phương pháp water - filling.

Hướng nghiên cứu trong thời gian tới:

 Nghiên cứu thuật toán áp dụng trong các trường hợp chưa biết thông tin của kênh truyền hay trường hợp kênh truyền thay đổi theo thời gian. Nếu thông tin của kênh chưa biết, nghiên cứu các phương pháp ước lượng kênh.

 Nghiên cứu và phát triển thuật toán điều khiển công suất mới để áp dụng trong môi trường vô tuyến với phương pháp đơn giản dễ thực hiện.

TÀI LIỆU THAM KHẢO

1. Bingham J.A.C. (2000), ADSL, VDSL, and Multicarrier Modulation, John Wiley & Son Inc, New York, pp 38-180.

2. Chaohuang Zeng, C. Aldana, A.A. Salvekar, J. M. Cioffi (2001), “Crosstalk Identification in xDSL Systems”, Journal on selected Areas in Communications vol. 19 no. 8, Aug. 2001, pp 1486-1496. 3. Edfors O, Sandell M, Beek J, Landstrom D, Sjoberg F. (1996), An

introduction to orthogonal frequency-division multiplexing, pp 30-32. 4. Goralski W. (1998), ADSL and DSL Technologies, McGraw-Hill, New

York, pp 121-213.

5. ITU-T (1999), ”High bit rate Digital Subscriber Line (HDSL) transceivers”, ITU-T Recommendation G.991.1, pp 11-13.

6. ITU-T (1999), ”Asymmetric Digital Subscriber Line (ADSL) transceivers”, ITU-T Recommendation G.992.1, pp 18-66, 120-123. 7. ITU-T (1999), ”Splitterless Asymmetric Digital Subscriber Line

(ADSL) transceivers”, ITU-T Recommendation G.992.2, pp 10-45. 8. Jacobsen K.S. (2001), “Methods of upstream power backoff on very

high-speed digital subscriber lines”, IEEE Commun. Mag., vol. 39, pp. 210-216.

9. Lee J., Sonalkar R.V, Cioffi J.M. (2002), “A multi-user Rate and Power Control Algorithm for VDSL”. IEEE Global Telecommunication. Conf. (GLOBECOM), pp 1264-1286.

10. Lee J., Sonalkar R.V., and Cioffi J.M. (2002), “Multi-user discrete bit-loading for DMT-based DSL systems,” in Proc. IEEE GLOBECOM, pp. 1259-1263.

11. Leke A (1999), Dynamic Bandwidth optimization for multicarrier system, PhD Thesis, Stanford University, pp 7-27.

12. Liang C. Chu, Martin Brooke (2001), “A study on Multiuser DSL Channel Capacity with Crosstalk Environment”, IEEE trans, on Communication vol. 38, no. 3, pp 176-179.

13. Sestok C (2000), “Multicarrier modulation for broadband modems”,

IEEE Communications Magazine, pp 1-6.

14. Starr T., Cioffi J. M., Silverman P.J. (1999), Understanding Digital Subscriber Line Technology, Prentice Hall PTR, Upper Saddle River, pp 1-52, 85-104, 147-179, 205-235.

15. Telecommunication System Institute (TSI) – Greece, Bar Ilan University (BIU) (2004), Analysis of Multiuser Capacities and Capacity Regions, Israel .

16. Warrier P., Kumar B. (2000), xDSL Architecture, McGraw-Hill, New York, pp 81-248.

17. Wei Yu, George Ginis, John M. Cioffi (2002), “Distributed Multiuser Power Control for digital Subscriber Lines”, IEEE J. Select. Areas Commun, vol. 20, no. 5, pp. 1105-1115.

PHỤ LỤC

1. Chương trình thực hiện thuật toán cấp phát bit Water - filling và Chow:

Thuật toán đổ nƣớc – Thích nghi dự phòng

function [bits,energy,margins]=maWF(Etotal,G,Sigma2,Gap,N,Numbits) if (Numbits>15*N),

fprintf('\n Khong the truyen nhieu hon 15 bit x 31 Kenh'); return; end

Et=10.^(Etotal/10).*10.^-3; % Nang luong tinh theo Watt gap=10.^(Gap/10); % Khoang trong Gap

sigma2=10.^(Sigma2/10); % PSD cua nhieu Nstar=N; % So kenh duoc su dung (Toan bo)

bits=zeros(1,N); % Khoi tao vector phan bo bit dau ra

energy=zeros(1,N); % Khoi tao vector phan bo nang luong dau ra bits_temp=zeros(1,N); % Khoi tao vector phan bo bit trung gian dau ra energy_temp=zeros(1,N); % Vector phan bo nang luong trung gian % Sap xep SNR theo thu tu giam dan (Sap xep G)

[G,idx]=sort(G); % Theo thu tu tang dan

fliplr(G);fliplr(idx); % Dao lai theo thu tu giam dan % SNR cua kenh su dung

SNR=zeros(1,N); for k=1:N,

SNR(k)=G(k)./sigma2; end

% Thuc hien Margin - Adaptive

while (Nstar>=1), % Margin - Adaptive (Khong dung duoc kenh nao) Kma=2.^((Numbits-sum(log2(SNR(1:Nstar)/gap)))/Nstar);

Enstar=Kma-gap/SNR(Nstar); % Nang luong kenh co SNR thap nhat if (Enstar<=0),

Nstar=Nstar-1; % Giam so kenh su dung continue; end for k=1:Nstar, energy_temp(k)=Kma-gap/SNR(k); bits_temp(k)=log2(1+energy_temp(k).*SNR(k)./gap); end;

margins=Et/sum(energy_temp); % Margin toi da cua he thong break;

end;

% Sap xep lai bit va nang luong duoc cap phat for k=1:length(G),

bits(idx(k))=bits_temp(k);

energy(idx(k))=energy_temp(k); end

Thuật toán đổ nƣớc – Thích nghi tốc độ

function [bits,energy]=raWF(Etotal,G,Sigma2,Gap,N,Margin) Et=10.^(Etotal/10).*10.^-3; % Nang luong tinh theo Watt gap=10.^(Gap/10); % Khoang trong Gap

sigma2=10.^(Sigma2/10); % Phuong sai nhieu margins=20.^(Margin/10); % Du phong he thong Nstar=1; % So kenh duoc su dung

bits=zeros(1,N); % Khoi tao vector phan bo bit dau ra

energy_temp=zeros(1,N); % Vector phan bo nang luong trung gian ra % Sap xep SNR theo thu tu giam dan (Sap xep G)

[G,idx]=sort(G); % Theo thu tu tang dan

fliplr(G);fliplr(idx); % Dao lai theo thu tu giam dan NSR=zeros(1,N); % Ty so nhieu / tin hieu

NSR(Nstar)=sigma2/G(Nstar); % Kenh tot nhat lamda=0;lamda_temp=0;

% Thuc hien Rate - Adaptive

while (Nstar<=N), % Chua dung het kenh truyen NSR(Nstar+1)=NSR(Nstar)+sigma2/G(Nstar); lamda_temp=(Et + gap.*NSR(Nstar))/Nstar;

Enstar=lamda_temp-gap.*sigma2/G(Nstar); % Kenh kem nhat if (Enstar>0), % Co the dung them kenh truyen

Nstar = Nstar+1; % Tang them kenh truyen lamda=lamda_temp; % Lamda duoc chon continue;

else % Khong dung them kenh nao break;

end % end of if end; % end of while

% Cap phat nang luong va so bit

for k=1:Nstar-1, % Tinh toan phan bo bit va nang luong energy_temp(k)=lamda-gap.*sigma2/G(k);

bits_temp(k)=log2(1+energy_temp(k).*G(k)/(gap.*sigma2.*margins)); end

% Sap xep lai bit va nang luong duoc cap phat for k=1:length(G),

bits(idx(k))=bits_temp(k);energy(idx(k))=energy_temp(k); end

Thuật toán của Chow – Thích nghi dự phòng

function [bits,energy,margins]=maChow(Etotal,G,Sigma2,Gap,N,Numbits) if (Numbits>15*N),

fprintf('\n Khong the truyen nhieu hon 15 bit x 31 Kenh');return; end

Et=10.^(Etotal/10).*10.^-3; % Nang luong tinh theo Watt gap=10.^(Gap/10); % Khoang trong Gap

sigma2=10.^(Sigma2/10); % Phuong sai nhieu Nstar=1; % So kenh duoc su dung

bits=zeros(1,N); % Khoi tao vector phan bo bit dau ra

energy=zeros(1,N); % Khoi tao vector phan bo nang luong dau ra b=0; % Tong so bit duoc cap phat

bits_temp=zeros(1,N); % Khoi tao vector phan bo bit trung gian dau ra energy_temp=zeros(1,N); % Vector phan bo nang luong trung gian ra % Sap xep SNR theo thu tu giam dan (Sap xep G)

[G,idx]=sort(G); % Theo thu tu tang dan

fliplr(G);fliplr(idx); % Dao lai theo thu tu giam dan while (Nstar<=N), % Chua dung het kenh truyen Etemp=zeros(1,Nstar); % Nang luong su dung Btemp=zeros(1,Nstar); % Bit duoc cap phat SNR=zeros(1,Nstar); % SNR cua kenh su dung

Em=Et/Nstar; % Nang luong trung binh su dung cho kenh for k=1:Nstar,

Btemp(k)=log2(1+SNR(k)/gap); % Phan bo bit end;

if (b<sum(Btemp)), % Da cap phat them duoc bit

bits_temp(1:Nstar)=Btemp; % Cap nhat phan bo bit moi energy_temp(1:Nstar)=Etemp; % Cap nhan nang luong moi b=sum(bits_temp); % Tong so bit da dung

else, % Khong cap phat duoc them bit break;

end;

Nstar=Nstar+1; % Tang so kenh su dung end;

% Thuc hien Margin - Adaptive Nstar=Nstar-1; % So kenh duoc dung % Tinh SNR hinh hoc SNRgeo

SNRgeo=1; % Khoi tao gia tri

Em=Et/(Nstar*sigma2); % Tinh SNR for k=1:Nstar,

SNRgeo=SNRgeo*((1+Em*G(k)/gap).^(1/Nstar)); end

SNRgeo=(SNRgeo-1).*gap; % SNR hinh hoc % Tinh du phong ung voi toc do bit mong muon margins=SNRgeo./(gap.*(2.^(Numbits/Nstar)-1)); % Tinh phan bo bit

for k=1:Nstar,

bits_temp(k)=log2(1+SNR(k)./(gap.*margins)); end

bits_diff=zeros(1,length(bits_temp)); % Sai khac for k=1:Nstar,

if (bits_temp(k)>15),

bits_temp(k)=15; % Toi da truyen 15 bits bits_diff(k)=0; % Loi lam tron

%bits_temp(k)=round(bits_temp(k)); % Lam tron else

bits_diff(k)=abs(bits_temp(k)-round(bits_temp(k))); % Loi lam tron bits_temp(k)=round(bits_temp(k)); % Lam tron

end;

energy_temp(k)=(2.^bits_temp(k)-1)*(gap*sigma2*margins)/G(k); end;

% Chinh so luong bit de dat toc do mong muon sum_bits=sum(bits_temp); % Tong so bit

while (sum_bits~=Numbits), % Da dat toc do chua? [Val, k]=max(bits_diff); % Tim sai so lon nhan

if (sum_bits<Numbits), % Chua du so luong bit mong muon bits_temp(k)=bits_temp(k)+1; % Tang them 1 bit

bits_diff(k)=0; % Khong tang o kenh nay nua

energy_temp(k)=(2.^bits_temp(k)-1)*(gap*sigma2*margins)/G(k); else, % Thua so luong bit

bits_temp(k)=bits_temp(k)-1; % Giam bot 1 bit bits_diff(k)=0; % Khong giam o kenh nay nua

energy_temp(k)=(2.^bits_temp(k)-1)*(gap*sigma2*margins)/G(k); end

sum_bits=sum(bits_temp); % Tinh lai so luong bit end;

% Can chinh thang do nang luong

Ef=Et./sum(energy_temp); % He so can chinh

energy_temp=energy_temp*Ef; % Thuc hien can chinh % Sap xep lai bit va nang luong duoc cap phat

for k=1:length(G),

bits(idx(k))=bits_temp(k);

energy(idx(k))=energy_temp(k); end

Thuật toán của Chow – Thích nghi tốc độ

function [bits,energy]=raChow(Etotal,G,Sigma2,Gap,N,Margin) Et=10.^(Etotal/10).*10.^-3; % Nang luong tinh theo Watt

gap=10.^(Gap/10); % Khoang trong Gap sigma2=10.^(Sigma2/10); % Phuong sai nhieu margins=20.^(Margin/10); % Du phong he thong Nstar=1; % So kenh duoc su dung

bits=zeros(1,N); % Khoi tao vector phan bo bit dau ra

energy=zeros(1,N); % Khoi tao vector phan bo nang luong dau ra b=0; % Tong so bit duoc cap phat

bits_temp=zeros(1,N); % Khoi tao vector phan bo bit trung gian dau ra energy_temp=zeros(1,N); % Vector phan bo nang luong trung gian ra % Sap xep SNR theo thu tu giam dan (Sap xep G)

[G,idx]=sort(G); % Theo thu tu tang dan

fliplr(G);fliplr(idx); % Dao lai theo thu tu giam dan while (Nstar<=N), % Chua dung het kenh truyen Etemp=zeros(1,Nstar); % Nang luong su dung Btemp=zeros(1,Nstar); % Bit duoc cap phat

Em=Et/Nstar; % Nang luong trung binh su dung cho kenh for k=1:Nstar,

Etemp(k)=Em; % Nang luong cap phat cho 1 kenh SNR(k)=Em.*G(k)./sigma2; % SNR kenh truyen

Btemp(k)=log2(1+SNR(k)/(gap.*margins)); % Phan bo bit end;

if (b<sum(Btemp)), % Da cap phat them duoc bit

bits_temp(1:Nstar)=Btemp; % Cap nhat phan bo bit moi energy_temp(1:Nstar)=Etemp; % Cap nhan nang luong moi b=sum(bits_temp); % Tong so bit da dung

else, % Khong cap phat duoc them bit break;

end;

Nstar=Nstar+1; % Tang so kenh su dung end;

% Thuc hien Rate - Adaptive

Nstar=Nstar-1; % So kenh duoc dung

for k=1:Nstar, % Thuc hien lam tron bit va tinh toan lai nang luong if (bits_temp(k)>15),

bits_temp(k)=15; % Toi da truyen 15 bits

%bits_temp(k)=round(bits_temp(k)); % Lam tron else

bits_temp(k)=round(bits_temp(k)); % Lam tron end;

energy_temp(k)=(2.^bits_temp(k)-1).*(gap.*sigma2.*margins)./G(k); end;

Ef=Et./sum(energy_temp); % He so can chinh

energy_temp=energy_temp*Ef; % Thuc hien can chinh % Sap xep lai bit va nang luong duoc cap phat

for k=1:length(G),

bits(idx(k))=bits_temp(k);energy(idx(k))=energy_temp(k); end

2. Chương trình thực hiện thuật toán điều khiển công suất kết hợp phân bố bít water – filling lặp.

close all;

%clear all; clc;

K=8; % SO nguoi dung trong mot bo cap N=32; % So kenh truyen thuc la 32-1=31 kenh % Xac dinh chieu dai cua kenh truyen

l=[15.240 91.440]; f(1:32)=zeros; for i=1:N

f(i)=i*4000+2000;% lay cac thanh phan tan so trung tam end

SIGMA(1:32)=-70;% PSD cua noise GAUSS=-140, Cong suat la - 140+10log10(4000)=-70

GAP=9.8;% GAP ma duong (db) MA=6; % Du phong he thong v=5;% Do dai tien to vong % Dac diem tung kenh truyen

h1=[1 0.5 0.3 0.2 0.1 0.04 -0.03 0.01 -0.01]; % Kenh cap xoan

h2=[0.6 -0.05 -0.1 -0.3 -0.2 -0.15 -0.08 -0.075 -0.025];%Kenh truyen cap xoan co boc PE

h1=h1(1:v); h2=h2(1:v);

% Tinh toan cac so thong so quan trong

H1=freqz(h1,1,N); % ham truyen truc tiep cua nguoi dung 1 G1=abs(H1(2:N)).^2;

H2=freqz(h2,1,N); % ham truyen truc tiep cua nguoi dung 2 G2=abs(H2(2:N)).^2;

h21mu2=G2.*10.^-20*l(2).*f(1:31)'.^2;% xuyen nhieu tu user 2 sang user 1, tai cac tan so trung tam

h12mu2=G1.*10.^-20*l(1).*f(1:31)'.^2;% xuyen nhieu tu user 1 sang user 2 Pmax1=14.5;%dBm cong suat toi da voi l=3000 ft=91.440 m

Pmax2=11.5;%cong suat toi da voi l=500ft=15.240 m P(1:2)=[0 0];

RA=[200 200]; %Tong so bit mong muon cuc dai user 1%2 sigma=[0.1 0.1]; % Do tang giam tong cong suat phat %===== Xong thu tuc khoi tao

Một phần của tài liệu (LUẬN văn THẠC sĩ) kết hợp điều khiển công suất và phân phối bít trong hệ xDSL đa người dùng luận văn ths kỹ thuật điện tử viễn thông 2 07 00 (Trang 94 - 116)

Tải bản đầy đủ (PDF)

(116 trang)