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