Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Bài tập 1
1. Giới thiệu chung:
Trong nghiên cứu các hệ thống thông tin vô tuyến, việc mô phỏng
các hệ thống là một giải pháp vô cùng tối ưu và tiện lợi. Nó giúp tiết kiệm
chi phí, thời gian, công sức. Chưa kể các hệ thống phức tạp, chỉ có trên lý
thuyết, tuy nhiên lại có thể biểu diễn được qua mô phỏng, phục vụ cho công
tác nghiên cứu, khai thác.
Trong bài tập 1, chúng ta sẽ tiến hành mô phỏng quá trình ánh xạ một
chuỗi tín hiệu ngẫu nhiên đã qua điều chế 16-QAM lên kênh truyền
AWGN. Cụ thể theo sơ đồ như sau:
Kênh
Dữ liệu Điều chế
Xử lý truyền
nhị phân 16-QAM
AWGN
reshape(x): cũng là một hàm có sẵn trong thư viện của Matlab,
hàm reshape(x) được sử dụng trong code nhằm xử lý tín hiệu
trước điều chế, tín hiệu sẽ được nhóm thành các nhóm k bit.
Lê Anh Đạt 1
2
bi2de(x): dùng để chuyển đổi nhóm k bit tín hiệu nhị phân
thành symbol dạng thập phân.
awgn(x): là hàm được sử dụng với mục đích tạo ra kênh truyền
AWGN.
Ngoài ra còn một số lệnh hỗ trợ cho quá trình vẽ và biểu diễn tín
hiệu, cụ thể sẽ được nêu trong code.
3. Code:
%% Xu ly tin hieu
% Nhom cac bit ngau nhien thanh tung nhom k-bits
temp = reshape(x,length(x)/k.',k); % Tao nhom Bits
xsym = bi2de(temp); % Chuyen doi Nhi-Thap phan
%% Dieu che
% Dieu che 16-QAM
Lê Anh Đạt 2
3
4. Kết quả:
Sau khi run phần code ta nhận được kết quả gồm 4 figure như dưới:
Lê Anh Đạt 3
4
Lê Anh Đạt 4
5
Figure 4: Tín hiệu phát và tín hiệu ánh xạ lên kênh truyền
Lê Anh Đạt 5
6
Bài tập 2
1. Mô phỏng truyền dẫn BPSK qua kênh AWGN:
BPSK là phương pháp điều chế pha thường được sử dụng trong các
hệ thống thông tin vô tuyến. Hình dưới mô tả sơ đồ đơn giản của BPSK qua
kênh AWGN:
Z=Y+N X
Dữ liệu Điều chế Giải
nhị phân điều chế
X Y
AWGN N
BER
3. Code:
%% Xoa du lieu cu
clear all;
clc;
%% Khai bao tham so
SNR_dB = 0:10;
SNR = 10.^(SNR_dB./10);
Lê Anh Đạt 6
7
N = 5*10^6;
% BER ly thuyet
BER_LT=1/2*erfc(sqrt(SNR));
end
%% Ve do thi
semilogy(SNR_dB,BER,'*',SNR_dB,BER_LT);
xlabel('SNR_dB');
ylabel('BER');
legend('BER mo phong','BER ly thuyet');
title('Truyen dan BPSK qua AWGN');
grid on;
Lê Anh Đạt 7
8
4. Kết quả:
Các giá trị của BER tại mỗi giá trị SNR đều khác nhau.
Kết quả mô phỏng và giá trị BER theo lý thuyết gần như hoàn toàn
trùng nhau.
BER tỉ lệ nghịch với SNR, điều này có nghĩa là khi SNR lớn thì độ
chính xác của thông tin từ máy phát đến máy thi cũng tăng theo.
Chuỗi dữ liệu X (theo sơ đồ) đầu vào được tao ra từ hàm randint() có
sẵn bao gồm các giá trị 0 và 1. Trong điều chế BPSK, X sẽ được ánh xạ
thành Y { -1;1 } thông qua phép ánh xạ:
𝑛ế𝑢 𝑋 = 0
𝑌 = { √𝐸𝑠
−√𝐸𝑠 𝑛ế𝑢 𝑋 = 1
Lê Anh Đạt 8
9
Chuỗi Y sau đó sẽ được cộng với tín hiệu nhiễu trên kênh truyền
AWGN và gửi tới phía thu. Tại đây, máy thu sẽ tách tín hiệu thu, tách lấy
phần thực trước sau đó thực hiện tách tín hiệu sử dụng. Cụ thể như:
𝐼𝐹 𝑍 ≥ 0 𝑌 = 1
𝐸𝑙𝑠 𝑍 < 0 𝑌 = 0
Trong Matlab, việc này được thực hiện nhờ vào hàm sign() và đặt
trong vòng lặp for – end. Tín hiệu sau tách ra được so sánh để tính toán
phẩm chất lỗi BER của hệ thống.
Bài tập 3
1. So sánh truyền dẫn QAM-4 và QAM-16 qua kênh AWGN:
2. Code:
Lê Anh Đạt 9
1
0
if(Ctype=='G' || Ctype=='g')
EbNodB=0:1:13;
sigLen=10^6; % So ky hieu gui di
else
EbNodB=0:3:30;
sigLen=10^5; % So ky hieu gui di
end
case 64
if(Ctype=='G' || Ctype=='g')
EbNodB=0:2:18;
sigLen=2*10^5; % So ky hieu gui di
else
sigLen=2*10^5; % So ky hieu gui di
EbNodB=0:3:36;
end
otherwise
end
%% Dinh nghia tham so
m=log2(M); % So bit/ky hieu
EbNo=10.^(EbNodB./10);
Es = 2*(M-1)/3; %Nang luong ky hieu
if(Ctype=='G' || Ctype=='g')
g=1;
[BER] = qamBERCalAWGN(M, EbNo);%BER theo ly thuyet
[SER] = qamSERCalAWGN(M, EbNo);%SER theo ly thuyet
EqCoef=1;
else
% Tao pha dinh Rayleigh
g=1/sqrt(2)*(randn(1,sigLen)+j*randn(1,sigLen));
EqCoef=conj(g)./abs(g).^2; %One tap equalization
[BER] = qamBERCalRay(M, EbNo);%BER theo ly thuyet
[SER] = qamSERCalRay(M, EbNo);%SER theo ly thuyet
end
% Chom sao QAM
Const=qammod([0:M-1],M);
% Gray-Coded QAM Constellations
[ConstGray, Pos]=qamGrayCoded(Const,M);
% Tao chuoi bk chua cac so integer tu 0 den M-1 ngau nhien
va
% anh xa vao chom sao tin hieu
b=randint(1,sigLen,[0 M-1]); % Random intergers from 0:M-1
%Tin hieu khong duoc ma hoa Gray
Sig=Const(b+1);
%Tin hieu duoc ma hoa Gray
SigGray=ConstGray(b+1);
% Mat do pho AWGN
sigma=sqrt(Es./(2*m.*EbNo));
% Vong lap tinh toan BER theo Eb/No
for k=1:length(EbNo)
% Tao AWGN voi variance sigma^2
n=sigma(k)*(randn(1,sigLen)+j*randn(1,sigLen));
% Tin hieu thu khong ma hoa Gray
yk=Sig.*g+n;
Lê Anh Đạt 10
1
1
% Tin hieu thu co ma hoa Gray
ykGray=SigGray.*g+n;
%Tach song tin hieu khong ma hoa Gray
[bHat]=qamdemod(yk.*EqCoef,M);
%Tach song tin hieu khong ma hoa Gray
[bkHat]=qamdemod(ykGray.*EqCoef,M);
bHatGray(1,:)=Pos(bkHat+1);
% Tinh toan SER va BER
[noBitErr,NBER(k)]=biterr(bHat,b,m); % BER
[noSymErr,NSER(k)]=symerr(bHat,b); % SER
[noBitErr,GBER(k)]=biterr(bHatGray,b,m);% Gray-mapping BER
[noSymErr,GSER(k)]=symerr(bHatGray,b); %Gray-mapping SER
end
%Voi M=4, ham "qammod" cho ta chom sao tin hieu da ma hoa
Gray.
%Do do ta phai hoan doi cac gia tri BER va SER thu duoc o
tren.
if M==4
temp=NBER; NBER=GBER; GBER=temp;
end
%% Ve do thi
semilogy(EbNodB,BER,'-*',EbNodB,SER./m,'-<',
EbNodB,GBER,'-o',...
EbNodB,NBER,'-^')
hold on;
grid on;
semilogy(EbNodB,SER,'-.+',EbNodB,GSER,'-
.>',EbNodB,NSER,'-.p')
xlabel('E_b/N_o (dB)')
ylabel('BER, SER')
legend('BER: ly thuyet ',...
'BER: Gioi han tren ',...
'BER: Mo phong voi ma hoa Gray',...
'BER: Mo phong khong co ma hoa Gray ',...
'SER: Ly thuyet ',...
'SER: Mo phong voi ma hoa Gray',...
'SER: Mo phong khong co ma hoa Gray')
3. Kết quả:
Lê Anh Đạt 11
1
2
BER giới hạn, lý thuyết và dùng mã Gray gần như trùng nhau và khác nhau
với mỗi E0/N0. Khi không dùng mã Gray, BER sai rất nhiều so với lý thuyết.
Đối với SER dùng mã hay không đều gần như trùng nhau và sai lệch so với
lý thuyết.
BER và SER khác nhau đối với mỗi giá trị E0/N0.
Sử dụng mã Gray cho BER có sai số lớn hơn không dùng mã khi so sánh
với BER lý thuyết.
SER thì hầu như không có sự thay đổi gì so với lý thuyết.
Lê Anh Đạt 12
1
3
Qua kết quả của việc dùng QAM-4 và QAM-16 để truyền dẫn tín hiệu trên
kênh AWGN kết luận:
BER, SER luôn là khác nhau với mỗi giá trị E0/N0.
Mã hóa Gray thường không thích hợp để truyền dẫn với bậc điều chế lớn (
thử nghiệm với QAM-64 nhiều lần đều cho kết quả như trên).
Lỗi symbol (SER) đều không có sự khác nhau quá nhiều khi có hoặc không
sử dụng mã Gray. Thường việc lỗi SER chỉ dẫn đến một bit lỗi.
Lê Anh Đạt 13