Phần I: NGUYÊN NHÂN GÂY RA ISIMột kênh truyền lý tởng là một kênh truyền mà có đáp ứng biên độ bằng phẳng trong miền tần số, điều này có nghĩa là khi truyền qua kênh truyền này thì mọi t
Trang 1§¹I HäC QuèC GIA Hµ NéI
§¹I HäC C¤NG NGHÖ
B¸o c¸o tiÓu luËn m«n th«ng tin sè
THIÕT KÕ Bé LµM B»NG
THEO THUËT TO¸N LMS
Gi¶ng viªn híng dÉn: PGS-TS NguyÔn ViÕt KÝnh
Häc viªn: §ç Träng Th¾ng
Bïi Xu©n H¹nh
Líp: K15D2
Trang 2Hµ Néi 7-2009 Môc lôc
PhÇn I: nguyªn nh©n g©y ra ISI 4
PhÇn II: ThiÕt kÕ bé lµm b»ng theo thuËt to¸n LMS 6
II ThuËt to¸n LMS thÝch nghi 7
IV KÕt luËn 15
Trang 3Mở đầu
1 Lý do chọn đề tài
Các hệ thống truyền thông trong những năm vừa qua đã có những phát triển vợt bậc Vận tốc truyền trong tiêu chuẩn IEEE 802.11 và IEEE 802.16 đạt mức 50 Mb/s và 100 Mb/s Tuy nhiên, với số lợng ngời truy cập ngày càng nhiều, dung lợng mạng ngày càng trở lên hạn chế Bên cạnh việc phát triển dung lợng mạng thì độ tin cậy hay việc làm giảm các
ảnh hởng của nhiễu cũng là một vần đề lớn cần quan tâm
Các nghiên cứu trong và ngoài nớc ngày càng tập trung cao vào việc làm thế nào để
đảm bảo truyền dẫn tin cậy cùng với việc nâng cao tốc độ truyền Một trong những giải pháp
đợc đánh giá hiệu quả để nâng cao độ tin cậy của việc truyền tin đó là sử dụng các bộ làm bằng Do vậy việc nghiên cứu các bộ làm bằng là một việc làm không thể thiếu đối với các chuyên gia, nghiên cứu viên và sinh viên ngành điện tử viễn thông Với lí do đó, chúng tôi chọn tiểu luận nghiên cứu thiết kế bộ làm bằng để làm giảm các ảnh hởng của nhiễu
2 Mục tiêu của tiểu luận
Nh chúng ta đã biết, trên bất kì kênh truyền nào dù là vô tuyến hay hữu tuyến thì cũng không thể tránh khỏi các ảnh hởng của nhiễu Tính chất phức tạp của nhiễu phụ thuộc vào môi trờng truyền dẫn Trong đó nhiễu cộng AWGN và nhiễu ISI là không thể tránh khỏi trong bất kì môi trờng nào, đó là loại nhiễu phổ biến và phức tạp
Do vậy trong đề tài này chúng tôi sẽ tìm hiểu về kênh truyền Tiếp đó, với mục đích loại bỏ ISI, chúng tôi sẽ đi tìm hiểu về thiết kế bộ làm bằng theo thuật toán LMS
Trang 4Phần I: NGUYÊN NHÂN GÂY RA ISI
Một kênh truyền lý tởng là một kênh truyền mà có đáp ứng biên độ bằng phẳng trong miền tần số, điều này có nghĩa là khi truyền qua kênh truyền này thì mọi thành phần tần số đều đợc khuếch đại hay suy giảm với cùng một hệ số và có đáp ứng pha tuyến tính có nghĩa là tất cả các thành phần phổ qua kênh truyền sẽ có một thời gian trễ nh nhau Vì vậy khi tín hiệu truyền qua một kênh truyền lý tởng thì dạng của tín hiệu không hề thay đổi trong miền tần số, thuần túy chỉ bị trễ về mặt thời gian, không có sự biến đổi về pha và biên
độ giữa các thành phần tần số Biểu hiện trong miền thời gian của một kênh truyền lý tởng là
đáp ứng xung của của kênh truyền là xung dirac, điều này có nghĩa là ở đầu thu tín hiệu thu
đợc tại một thời điểm cũng chính là nó ở đầu phát đã trễ đi một khoảng thời gian, ta có
∫+∞
∞
− w(x) δ (x−x0).dx =w(x0) (1.1)
h(n)
n
H(f)
f
Hình 1.1: Đáp ứng xung trong miền thời gian rời rạc và hàm truyền trong miền tần số
của kênh truyền lý tởng.
Đáp ứng xung trong miền thời gian rời rạc và hàm truyền trong miền tần số của kênh truyền lý tởng đợc minh họa trên hình 1.1 Trên thực tế kênh truyền có đặc tính không
lý tởng tức là trong miền tần số đặc tính biên độ không bằng phẳng, các thành phần tần số có tăng ích khác nhau khi truyền qua kênh truyền, thông thờng các thành phần tần số cao sẽ bị suy giảm nhiều hơn khi qua kênh truyền (hay hệ số khuếch đại thấp hơn) đối với các thành phần tần số thấp, do đặc tính tần số của các bộ lọc, các bộ lặp lại trên tuyến truyền dẫn và
đặc tính đờng dây, ngoài ra có sự tán sắc, sự hấp thụ do pha không tuyến tính, các thành phần tần số truyền trên kênh truyền với tốc độ khác nhau gây nên sự lệch pha ở đầu thu, do vậy một tín hiệu xung vuông số đầu vào có xu thế bị trải ra và gây nhiễu với các tín hiệu kề
nó Điều này đợc thể hiện trong miền thời gian là đáp ứng xung của kênh truyền không phải
là một xung dirac mà là một dãy xung dẫn tới tín hiệu tại thời điểm lấy mẫu ở đầu ra là tổng hợp có trọng số của mẫu đầu vào tơng ứng và các mẫu kề nó với trọng số tơng ứng, kết quả
Trang 5là tín hiệu đầu ra không phản ánh chính xác tín hiệu đầu vào gây ra sai lệch bên thu Tín hiệu thu đợc là:
∑+∞
−∞
=
−
=
=
k
k n h k x n
h n x n
y( ) ( ) * ( ) ( ) ( ) ( 1.2)
∑
≠
− +
=
0
) ( ) ( )
0 ( ) ( )
(
k
k n h k x h
n x n
y
Lối ra gồm hai thành phần là tín hiệu mong muốn và nhiễu (không xét đến nhiễu môi trờng truyền dẫn)
Kênh truyền thực tế lúc này mang đặc tính nhớ, các hệ số biên độ cũng nh pha biến
đổi theo tần số, sự không lý tởng của đặc tính kênh truyền dẫn tới sai số ở đầu thu, các ký
hiệu liên tiếp sẽ ảnh hởng lẫn nhau, gây nhiễu gọi là nhiễu xuyên ký hiệu Inter-Symbol
Interference_ISI [1,2].
Để khắc phục sự không lý tởng của kênh truyền, đảm bảo tín hiệu thu đợc đợc nhận chính xác, một giải pháp đợc đa ra là sử dụng các bộ làm bằng hay còn gọi là bộ làm bằng (Equalizer) Ngời ta phân ra hai loại làm bằng đó là làm bằng tuyến tính hay làm bằng phi tuyến ở đây phần 2 chúng ta đi vào thiết kế bộ làm bằng tuyến tính
Đối với những hệ thống truyền tốc độ cao sử dụng truyền dẫn đơn sóng mang thì vai trò của bộ làm bằng rất quan trọng, tuy nhiên khi kênh truyền tốc độ càng cao thì mức độ phức tạp của bộ làm bằng cũng tăng lên đáng kể Sở dĩ nh vậy là tốc độ truyền dẫn cao cũng
có nghĩa là băng thông tín hiệu cần thiết phải lớn khi đó ảnh hởng kênh truyền lên tín hiệu
có dải tần rộng cũng tăng lên có nghĩa là ISI cũng lớn lên
PHầN 2: THIếT Kế Bộ LàM BằNG THEO THUậT TOáN LMS
Trang 6I Hình thành bài toán
Yêu cầu của bài toán là mô phỏng một bộ làm bằng L – Tap bằng thuật toán LMS (linear minimum mean square error) trong một kênh nhị phân với đáp ứng xung nh sau:
với nhiễu Gauss trắng cộng tính (AWGN)
Hình 1: Hệ thống kênh truyền dùng trong mô phỏng
Ta thấy, với lối vào kênh là a(n), lối ra của kênh sẽ gồm tín hiệu và ISI:
∑+∞
−∞
=
=
k
k n h k a n
h n a n
y( ) ( ) * ( ) ( ) ( )
∑
≠
− +
=
0
) ( ) ( )
0 ( ) ( )
(
k
k n h k a h
n a n
y = tín hiệu mong muốn + ISI
Thêm nhiễu cộng, lối vào của bộ làm bằng là:
) ( ) ( ) ( )
0 ( ) ( )
(
0
n w k n h k a h
n a n
r
k
+
− +
≠
Để thu đợc tín hiệu mong muốn và hạn chế tối thiểu ảnh hởng của nhiễu tại phía thu cần phải có một bộ làm bằng Bộ làm bằng sẽ có vai trò bù lại những méo tín hiệu do kênh truyền và ISI
Có rất nhiều loại bộ làm bằng, trong bài toán này chúng ta sử dụng bộ làm bằng dùng thuật toán LMS (linear minimum mean square error)
~
~
~
~
~
Equalizer
wn
an
yn
Trang 7II thuật toán LMS thích nghi
Gọi d(n) là lối ra của hệ thống Dùng lối vào x(n) đã biết và một bộ lọc FIR H(z), chúng ta có thể ớc lợng đợc d(n) Giữa x(n) và d(n) có một sự tơng quan, do các hệ số của bộ làm bằng là thích nghi với tín hiệu và đợc cập nhật cho mỗi giá trị n, loại bộ làm bằng này
đ-ợc gọi là làm bằng thích nghi
Hình 2: Bộ lọc thích nghi LMS chung H(z)
tín hiệu đợc ớc lợng d^( n ) đợc biểu diễn bằng phơng trình sau:
Trong đó: d có thể âm hoặc dơng Lỗi là sự khác nhau giữa tín hiệu và sự ớc lợng tín hiệu, lỗi cần phải đợc tối thiểu bằng cách chọn các hệ số bộ lọc tốt nhất Tối thiểu lỗi bình phơng với mỗi n đợc biểu diễn trong phơng trình sau:
Giả sử rằng hàm lỗi phản ánh các hệ số của bộ lọc đợc thể hiện trong hình 3 Độ dốc hay đạo hàm bậc nhất của Jn là:
Trang 8Hình 3: Hàm lỗi với các hệ số của bộ lọc
Đặt hopt là các hệ số tốt nhất hay hệ số tối u của bộ lọc mà tại đó bình phơng lỗi là
nhỏ nhất Nếu h(n) ở bên trái của hopt, thì các hệ số của bộ lọc ở bớc tiếp theo h(n+1) sẽ ở đi
về phía bên phải (hoặc là theo chiều dơng) Lu ý rằng đạo hàm bậc nhất là âm trong trờng hợp này Mặt khác, nếu h(n) ở phía phải của hopt, thì h(n+1) sẽ ở phía trái theo chiều âm
trong trờng hợp này đạo hàm bậc nhất theo chiều âm Vì vậy các hệ số trong bớc tiếp theo sẽ
đợc cho bởi công thức:
Khi đạo hàm bậc nhất là âm, thì sửa theo chiều dơng, và khi đạo hàm bậc nhất là
d-ơng thì sửa theo chiều âm à gọi là thông số thích nghi Nếu à quá lớn sẽ tạo nên sự dao
động trong các hệ số của bộ lọc Nếu à nhỏ thì việc hội tụ của các thông số của bộ lọc sẽ lâu
Cộng hai phơng trình trên ta đợc:
h(n+1) = h(n) + 2àe(n)x(n)
Thuật toán này đợc tóm tắt nh sau:
1 Khởi tạo h(n)
2 Tính toán e(n) = d(n) - h(n)*x(n).
3 Cập nhật h(n+1) = h(n) + 2àe(n)x(n) và quay lại bớc 2 cho tới trạng thái hội tụ
Trang 9III Chơng trình Matlab:
Hàm tính xác suất lỗi ký hiệu theo EbNo và độ trễ (d)
function pe =pe_QPSK(EbNodB,d)
L =20; % So he so cua bo lam bang
mu = 0.05; % buoc lap
% - Xac dinh cac thong so
N = 4000; % So ki hieu truyen
% - Thong so kenh truyen
j=sqrt(-1);
h = [.2+j*0.08 0.1+j*0.06 0.08 0.07 0.05]; %Đap ung xung cua kenh truyen
EbNo=10^(EbNodB/10);
% - Tin hieu loi vao cua bo lam bang
a1 = sign(randn(1,N));
a2 = sign(randn(1,N));
a=a1+j*a2; % Tao tin hieu QPSK loi vao
channel_out = conv(a,h); % Loi ra cua kenh truyen
Ps=mean(abs(channel_out).^2); % Cong suat tin hieu tai loi ra cua kenh (Loi vao cua bo lam bang)
zig2=Ps/EbNo; % Cong suat nhieu
r=channel_out+sqrt(zig2)*(randn(size(channel_out))+j*randn(size(channel_out)));
% -thuat toan
LMS -C = zeros(L,1);
R = zeros(L,1);
for k=1+d:N,
R(2:L) = R(1:L-1); % dat Rn=Rn-1 loi vao cua bo lam bang
R(1) = r(k); % Khoi tao R1=r(k) %
z(k) = C.' * R; % loi ra cua bo lam bang
e(k) = a(k-d) - z(k); % LMS uoc luong loi
C = C + mu * e(k) *conj (R); % algorithm
Cs(k,:) = C.'; % he so cua bo lam bang
e2(k)=abs(e(k))^2;
end;
% -%%%%% -%Kiem tra chat luong he thong
N=200000; % So ki hieu QPSK tai loi vao
a1 = sign(randn(1,N));
a2 =sign (randn(1,N));
a=a1+j*a2; % Tao tin hieu QPSK tai loi vao
channel_out = conv(a,h);
Trang 10r=channel_out+sqrt(zig2)*(randn(size(channel_out))+j*randn(size(channel_out))); z=conv(C.',r); %tin hieu tai loi ra cua bo lam bang
z=z(1:N);
z_sauqd= sign(real(z))+sqrt(-1)*sign(imag(z)); % Bo quyet dinh
% So sanh voi tin hieu mong muon
pe=mean(z_sauqd((1+d:N))~=a(1:N-d));
-
Chơng trình vẽ xác suất lỗi ký hiệu theo độ trễ:
d=1:9;
EbNodB=10; % EbNodB=20;
pe=zeros(size(d));
for m=1:length(pe)
pe(m)=pe_QPSK(EbNodB,d(m));
end
figure
semilogy(d,pe,'or'); grid on;
xlabel('delay'); ylabel('pe');
Sau khi chạy chơng trình ta thu đợc:
Hình1 : Đồ thị xác suất lỗi theo độ trễ ứng với EbNo = 20dB và 10 dB
Ta thấy xác suất lỗi nhỏ nhất tơng ứng với độ trễ bằng 3 symbols vì trong hai trờng hợp đã mô phỏng trên ta thấy với các giá trị EbNo thay đổi (20 dB và 10dB), độ trễ 3 symbols cho xác suất lỗi thấp nhất Vậy suy ra độ trễ của hệ thống trong trờng hợp mô phỏng này là 3
Tơng ứng với độ trễ bằng 3 symbol sau khi chạy chơng trình tính xác suất lỗi theo EbNodB: EbNodB=10:2:30;
d=3;
pe=zeros(size(EbNodB));
for m=1:length(pe)
Trang 11semilogy(EbNodB,pe,'or'); grid on;
xlabel('EbNodB'); ylabel('pe');
ta ta có đồ thị xác suất lỗi nh sau:
Hình 2: Đồ thị xác suất lỗi theo tỷ số công suất
tín hiệu trên công suất nhiễu với L=20 và L=5
Ta thấy khi chiều dài của bộ làm bằng tăng lên thì xác suất lỗi bit giảm đi Tại EbNo
= 20dB, với bộ làm bằng có chiều dài L=20 sẽ cho xác suất lỗi là 10^-5 trong khi đó với chiều dài của bộ làm bằng L=5, xác suất lỗi là 10^-3
Xét tính hội tụ của thuật toán:
Với mu=0.05 (bớc lặp) và với chiều dài của bộ làm bằng bằng 5 và 20 ta có đồ thị biểu diễn các hệ số của bộ làm bằng (theo số các kí hiệu) sử dụng chơng trình matlab sau: function Cs=hoitu(mu)
L =11; % He so cua bo lam bang
%mu = 0.05; % equalizer step size
% - Xac dinh cac thong so dieu che
d=3;
N = 4000; % So ki hieu truyen
% - Thong so kenh truyen
j=sqrt(-1);
h = [.2+j*0.08 0.1+j*0.06 0.08 0.07 0.05]; % Dap ung xung cua kenh
EbNodB=18;
EbNo=10^(EbNodB/10);
% - Loi ra cua kenh va nhieu r
a1 = (randn(1,N)>0) *2-1;
a2 = (randn(1,N)>0) *2-1;
a=a1+j*a2; % Tao tin hieu nhi phan loi vao
channel_out = conv(a,h);
Trang 12Ps=mean(abs(channel_out).^2);
zig2=Ps/EbNo;
r=channel_out+sqrt(zig2)*(randn(size(channel_out))+j*randn(size(channel_out)));
% -thuat toan
LMS -C = zeros(L,1);
R = zeros(L,1);
for k=1+d:N,
R(2:L) = R(1:L-1); % dat Rn=Rn-1 loi vao cua bo lam bang
R(1) = r(k); % Khoi tao R1=r(k) %
z(k) = C.' * R; % loi ra cua bo lam bang
e(k) = a(k-d) - z(k); % LMS uoc luong loi
C = C + mu * e(k) *conj (R); % algorithm
Cs(k,:) = C.'; % he so cua bo lam bang
e2(k)=abs(e(k))^2;
end;
z=z(1:N+d);
z_sauqd=((real(z)>0)*2-1)+sqrt(-1)*((imag(z)>0)*2-1); % Bo quyet dinh
ser=mean(z_sauqd((1+d:N))~=x(1:N-d));
-
clear all;
mu=[0.03 0.05 0.1];
pe=zeros(size(mu));
for m=1:length(pe)
Cs=zeros(1,11)
Cs=hoitu(mu(m));
figure;
plot(1:4000,abs(Cs));
xlabel('So ki hieu truyen'); ylabel('Cac he so cua bo lam bang voi buoc lap bang ');
end
Trang 13Hình 3: Đồ thị biểu diễn mô đun C theo số kí hiệu với mu=0.05, L tơng ứng bằng 5 và 20.
Khi thay đổi bớc lặp mu=0.03 và mu=0.1 ta thu đợc đồ thị biểu diễn các hệ số của bộ làm bằng theo số các kí hiệu QPSK nh sau:
Hình 4: Đồ thị biểu diễn mô đun C theo số kí hiệu với L=11; mu=0.03 và mu=0.1
Ta thấy với bớc lặp lớn, các hệ số nhanh hội tụ Với bớc lặp bằng 0.03 các hệ số hội
tụ khi số symbol bằng 2500 symbols, trong khi đó với bớc lặp bằng 0.1 các hệ số hội tụ tại khoảng 1000 symbols Tuy nhiên khi bớc lặp lớn, các hệ số hội tụ có nhanh hơn nhng thăng giáng nhiều hơn so với khi bớc lặp nhỏ
Các chòm sao kí hiệu sau khi đi qua các hệ thống đợc vẽ chơng trình sau:
figure;
plot(1:N,e2,'b*'); grid on;
xlabel('Binh phuong loi '); ylabel('So ki hieu truyen');
figure;
plot(real(z),imag(z),'b*'); grid on;
title('Chom sao tin hieu sau khi qua bo lam bang');
figure;
plot(real(r),imag(r),'*r'); grid on;
title('Chom sao tin hieu bi ISI va AWGN');
Trang 14plot(real(channel_out),imag(channel_out),'*r'); grid on;
title('Chom sao tin hieu bi nhieu ISI');
Hình 5a: Giản đồ chòm sao có ISI Hình 5b: Giản đồ chòm sao có ISI và AWGN
Hình 6: Giản đồ chòm sao sau khi qua bộ làm bằng
Bình phơng lỗi thu đợc với các thông số trong chơng trình:
Trang 15Hình 7: Lỗi bình phơng giữa tín hiệu thu qua hệ thống và tín hiệu lối vào
Ta thấy khi các kí hiệu thử còn ít, lỗi nhiều vì các hệ số của bộ làm bằng lúc này cha
đợc ổn định (đạt tới trạng thái hội tụ), khi số mẫu thử tăng lên, khoảng 1000 mẫu thì lỗi bình phơng khá là ổn định (thang giáng không đáng kể) Trạng thái của hệ thống lúc này là trạng thái ổn định
IV Kết luận
Qua mô phỏng ta thấy rằng bộ làm bằng thích nghi LMS có hệ số độ hội tụ nhanh hơn và có độ ổn định tốt hơn
Tài liệu tham khảo
[1] S Haykin Adaptive Filter Theory Prentice Hall, 3rd edition edition, 1996
[2] Nguyễn Viết Kính-Nguyễn Minh Chí, Các hệ thống thông tin tơng tự và số, Đại Học
Quốc Gia Hà Nội- 1996
[3] Mô phỏng các hệ thống thông tin vô tuyến sử dụng Maltab – Trần Xuân Nam