Chương này đã đạt được các kết quả sau:
- Trình bày được các sơ đồ của khối thu, khối môi trường và khối phát. Đồng thời cũng đã phân tích được chức năng của từng khối trong quá trình truyền tin.
- Kết quả mô phỏng hệ thống thông tin trải phổ trong W-CDMA: kết quả tín hiệu trải phổ trong miền thời gian, kết quả tín hiệu trong miền tần số.
- Kết quả mô phỏng hệ thống thông tin trải phổ trong W-CDMA khi thay đổi các thông số kênh truyền.
- Dùng mô phỏng Mote-Carlo để ước lượng BER cho hệ thống kênh truyền sử dụng điều chế BPSK, QPSK qua kênh AWGN.
KẾT LUẬN VÀ KIẾN NGHỊ
Sau một thời gian tìm hiểu, nghiên cứu với sự giúp đỡ tận tình của thầy giáo PGS- TS. Nguyễn Viết Kính, cùng với sự cố gắng nỗ lực của bản thân, luận văn đã hoàn thành đúng thời gian quy định và đạt được mục tiêu nghiên cứu đã đề ra với những nội dung sau:
Luận văn đã trình bày được những vấn đề cơ bản về công nghệ W-CDMA, các mã trải phổ sử dụng trong mạng W-CDMA và mô phỏng việc sử dụng mã trải phổ trong W- CDMA, Dùng mô phỏng Mote-Carlo để ước lượng BER cho hệ thống kênh truyền sử dụng điều chế BPSK, QPSK qua kênh AWGN. Với mục đích xây dựng một cách nhìn tổng thể, sâu sắc cho bài toán sử dụng kỹ thuật trải phổ để bảo vệ thông tin truyền đi, tôi đã cố gắng tập hợp những kiến thức có được từ sự hướng dẫn của giáo viên, từ các nguồn tài liệu được cung cấp một cách ngắn gọn đầy đủ nhất. Nhưng do hạn chế về thời gian và khả năng của bản thân, chắc chắn luận văn không tránh khỏi những sai sót tôi xin trân trọng tiếp thu những ý kiến đóng góp của các thầy giáo cùng các bạn quan tâm đến vấn đề này để luận văn thêm hoàn thiện hơn.
Trong thời gian tới, nếu có điều kiện, đề tài có thể phát triển thêm như: Nghiên cứu về sự thay đổi của hàm lỗi BER trong W-CDMA trong các trường hợp:
- So sánh sự thay đổi của hàm lỗi BER khi dùng bộ thu RAKE, và khi không sử dụng bộ thu RAKE tại thiết bị người dùng W-CDMA.
- So sánh sự thay đổi của hàm lỗi BER khi thay đổi các nhánh thu, và thay đổi các hệ số trải phổ.
Một lần nữa tôi xin trân thành cảm ơn thầy giáo PGS-TS. Nguyễn Viết Kính và các thầy cô trong Trường Đại học Công nghệ - Đại học Quốc gia Hà nội đã tận tình hướng dẫn, giúp đỡ tôi trong suốt quá trình thực hiện luận văn này.
TÀI LIỆU THAM KHẢO Tiếng Việt
[1] TS. Nguyễn Phạm Anh Dũng (2001), Giáo trình Thông tin di động, Học viện Công nghệ Bưu chính Viễn thông, NXB Bưu điện.
[2] TS. Nguyễn Phạm Anh Dũng (2006), Lý thuyết trải phổ và đa truy nhập vô tuyến, Học viện Công nghệ Bưu chính Viễn thông.
[3] TS. Nguyễn Phạm Anh Dũng (1999), Lý thuyết trải phổ và ứng dụng, Học viện Công nghệ Bưu chính Viễn thông, NXB Bưu điện, 1999.
[4] KS Nguyễn Văn Thuận, Bài giảng hệ thống thông tin di động W-CDMA, Học viện Công nghệ Bưu chính Viễn thông
[5] PGS – TS Trịnh Anh Vũ (2006), Giáo trình Thông tin di động, Trường Đại học Công nghệ - ĐHQGHN, NXB Đại học Quốc gia Hà nội, 2006
Tiếng Anh
[6] A. J. Veterbi Addison Wesley (1995), Principles of spread spectrum communications
[7] Davinder S Saini and Sunil V Bhooshan (2005), Assignment and Reassignment Schemes for OVSF Codesin WCDMA, (173215), pp. 497-501.
[8] Keiji Tachikawa, W-CDMA Mobile Communications System, Japan.
[9] John Wiley and Sons Ltd (Sep 2004), WCDMA for UMTS Radio Access for Third Generation Mobile Communications.
[10] John Wiley and Sons (2005), Ltd – Theory and Applications of OFDM and CDMA.
[11] John G. Proakis Masoud Salehi (2002), Contemporary Communication Systems Using Matlab.
PHỤ LỤC
1. Chƣơng trình mô phỏng việc sử dụng mã Gold để trải phổ và giải trải phổ tín hiệu
% Chuong trinh matlab mo phong viec su dung chuoi Gold trong qua trinh % trai pho va giai trai pho tin hieu
% Chuong trinh duoc thuc hien boi:
%%%%%%%%%%%%%%%%% Phi Thi Nhuong nhuongptn@gmail.com %%%%%%% %%%%%%%%%%%%%%%%% Lop K15D2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clc; clear all; close all; % --- TRANSMITTER ---
% generating the bit pattern with each bit 6 samples long
b=round(rand(1,20)); pattern=[]; for k=1:20 if b(1,k)==0 sig=zeros(1,6); else sig=ones(1,6); end pattern=[pattern sig]; end b1=b; message=b1 message1=pattern; subplot(3,2,1); plot(pattern); axis([-1 120 -0.5 1.5]);
ylabel('\bf Original Bit Sequence');
title('\bf\it transmitted message');
% Generation of Gold code
G = 20; K =1;
% ---Generation of first PN sequence ---
lsr1 = randsrc(1,20,[0 1]); PN1=[]; for j=1:G PN1=[PN1 lsr1(1)]; temp1=xor(lsr1(4),lsr1(1)); temp2=xor(lsr1(6),temp1); temp3=xor(lsr1(7),temp2); temp4=xor(lsr1(13),temp3); temp5=xor(lsr1(19),temp4); for i=1:G-1 lsr1(i)=lsr1(i+1); end lsr1(20)=temp5;
end
%Genneration of Second PN sequence
lsr2=randsrc(1,20,[0 1]); PN2=[]; for j=1:G PN2=[PN2 lsr2(1)]; temp1=xor(lsr2(2),lsr1(1)); temp2=xor(lsr2(3),temp1); temp3=xor(lsr2(5),temp2); temp4=xor(lsr2(7),temp3); temp5=xor(lsr2(9),temp4); temp6=xor(lsr2(10),temp5); temp7=xor(lsr2(13),temp6); temp8=xor(lsr2(14),temp7); temp9=xor(lsr2(16),temp8); temp10=xor(lsr2(17),temp9); temp11=xor(lsr2(19),temp10); for i=1:G-1 lsr2(i)=lsr2(i+1); end lsr2(20)=temp11; end
% generation of Gold Codes
code_matrix=[];
for codes=1:K
code=[];
for j=1:G
code = [code xor(PN1(j),PN2(j))];
end code_matrix=[code_matrix code]; end gold_1= code_matrix; gold_code = gold_1 pattern=[]; for k=1:20 if gold_1(1,k)==0 sig=zeros(1,6); else sig=ones(1,6); end pattern=[pattern sig]; end gold=pattern; subplot(3,2,3); plot(gold) axis([-1 120 -0.5 1.5]);
ylabel('\bf Gold code');
% Spreading the pattern with the gold code
for i=1:20 for j=1:20 spread(1,k)=xor(b1(1,i),gold_1(1,j)); k=k+1; end spread end %spread; subplot(3,2,5); plot(spread) axis([-1 400 -0.5 1.5]);
ylabel('\bf Spreaded Squence');
% receiver
subplot(3,2,2); plot(spread)
axis([-1 400 -0.5 1.5]);
ylabel('\bf Receive Sequence');
title('bf\it received message');
% gold code used
gold_2=gold_1; pattern=[]; for k=1:20 if gold_2(1,k)==0 sig=zeros(1,6); else sig=ones(1,6); end pattern=[pattern sig]; end gold=pattern; subplot(3,2,4); plot(gold) axis([-1 120 -0.5 1.5]);
ylabel('\bf Gold code');
% Demodulation to get original signal
gold_2inv=xor(1,gold_2); i=1; k=1; while k<400 s=0; for j=1:20 temp(1,j)=xor(spread(1,k),gold_2(1,j)); k=k+1; s=s+temp(1,j); end if(s==0) b2(1,i)=0; else b2(1,i)=1;
end i=i+1; end
despreaded_signal=b2
% plotting Despread signal
pattern=[]; for k=1:20 if b2(1,k)==0 sig=zeros(1,6); else sig=ones(1,6); end pattern=[pattern sig]; end subplot(3,2,6); plot(pattern) axis([-1 120 -0.5 1.5]);
ylabel('\bf Despreaded Sequence');
2. Chƣơng trình mô phỏng việc tạo mã OVFS
% Demodulation to get original signal %CODE below will yield OVSF code %with index start from {1,1} until {Nmax,SFmax}, just to make it simple in %result preview
clear;
Nmax=4; %SF maximum is 2^(Nmax-1)
FirstCode=1; a{1,1}=FirstCode; if(Nmax>1)
for N=1:Nmax SF=2^N;
prevSF=N; %Get previous SF
for M = 1:1:SF
if mod(M,2)%row matrix is odd
preva=a{ceil(M/2),prevSF}; %Get previous code
presnta=horzcat(preva,preva); %Present Code
a{M,N+1}=presnta; %Store present code to the matix code
else %row matrix is even
preva=a{ceil(M/2),prevSF}; %Get previous code
presnta=horzcat(preva,-preva);%Present Code
a{M,N+1}=presnta;%Store present code to the matix code
end end end
%Present the result code
disp(' ');disp(' ');disp('Below are the OVSF code result');disp(' '); for N=1:Nmax+1
SF=2^(N-1); for M = 1:1:SF
disp(sprintf('a(%i,%i)= ',SF,M));% SF,M-1 disp(a{M,N}); end end else disp('a 1,1 = '); disp(a{1,2}); end
3. Chƣơng trình mô phỏng moter-Carlo để ƣớc lƣợng BER cho hệ thống kênh truyền dẫn sử dụng điều chế BPSK qua kênh AWGN
%Mo phong truyen dan BPSK qua kenh AWGN
EbNodB=0:10;
EbNo=10.^(EbNodB./10); N=5*10^5; % So bit tao ra %Tao tin hieu
s=1-2*(rand(1,N)>=0.5);
%Tinh nang luong bit tin hieu
Eb=norm(s)^2/N;
%Tinh mat do pho AWGN
No=Eb./EbNo;
%Tinh BER
for k=1:length(EbNo) % Tao AWGN
n=sqrt(No(k)./2).*(randn(1,N)+j*randn(1,N)); % Tin hieu thu
y=s+n;
% Tach tin hieu
shat=sign(real(y)); error=s-shat;
noError=length(find(error~=0)); BER(k)=noError/N;
end
% BER ly thuyet cua truyen dan BPSK qua kenh AWGN
BERthry=1/2*erfc(sqrt(EbNo));
%Ve do thi
semilogy(EbNodB,BER,'bo', EbNodB, BERthry,'r'); hold on;
semilogy(EbNodB(10),BER(10),'g*'); xlabel('Eb/No(dB)');
ylabel('BER'); legend('BER');
title('Mo phong BPSK qua AWGN') grid;
4. Chƣơng trình mô phỏng Monte-Carlo để ƣớc lƣợng BER cho hệ thống kênh truyền sử dụng điều chế QPSK qua kênh AWGN
% ctr mp xdinh BER cua hth sdung dche 4PSK qua kenh pha-dinh Rayleigh va AWGN theo Eb/No(dB).
EbNodB=0:1:10;
EbNo=10.^(EbNodB./10); M=4;
N=5*10^5;
%Tao tin hieu vao
bk=randint(1,N,[0 M-1]);
Tta=2*pi*bk/M;%pha ban dau bang 0
sk=exp(j*Tta);
%Tao ra kenh pha dinh Rayleigh
g=(randn(1,N)+j*rand(1,N))/sqrt(2);
%Tao cong suat tin hieu
Eb=1/log2(M);
%Mat do pho AWGN
No=Eb./EbNo;
%Tao vong lap
for k=1:length(EbNodB) %Tao ra tap am AWGN
n=sqrt(No(k)./2).*(randn(1,N)+j*randn(1,N)); %Tin hieu thu
yk=sk.*g+n; %Tach tin hieu
ymuk=conj(g).*yk; fimuk=angle(ymuk);
fimuk=mod(fimuk+2*pi,2*pi);
bmuk=mod(round(M*fimuk/(2*pi)),4);%Ham lam tron ve so nguyen gan nhat
error=bmuk-bk;
noError=length(find(error)~=0); SER(k)=noError/N;
[noSYM(k),BER(k)]=biterr(bk,bmuk,log2(M));
End
%Ve do thi BER va SER qua pha dinh Rayleigh va AWGN
semilogy(EbNodB,BER,'r*'); xlabel('EbNo(dB)');
ylabel('BER');
legend('BER','BERthry','SER');
title('Mp BER, SER cua hth sdung dche 4PSK theo Eb/No voi pha ban dau la 0'); grid;
5. Kết quả mô phỏng khi kênh truyền thay đổi a. Trƣờng hợp 1: Kênh đa đƣờng trƣờng hợp 2
- Tỉ lệ lỗi bít:
- Dạng phổ công suất của tín hiệu tại nơi thu
2.Trƣờng hợp 2: Kênh đa đƣờng trƣờng hợp 4
- Dạng phổ công suất của tín hiệu sau khi trải phổ
3. Trƣờng hợp 3: Kênh đa đƣờng trƣờng hợp 5
- Tỉ lệ lỗi bít
- Dạng phổ công suất của tín hiệu tại nơi thu
4.Trƣờng hợp 4: Kênh đa đƣờng trƣờng hợp 6
- Dạng phổ công suất của tín hiệu sau khi trải phổ