Mô tả:
Nhóm thực hiêện:
Huỳnh Trí Mẫn
Huỳnh Thái Anh Tuấn
Trần Công Hiếu
BÁO CÁO MÔ PHỎNG BPSK VÀ
CDMA SỬ DỤNG MATLAB
1. Mô phỏng BPSK
Hình vẽ 1.1 mô tả một sơ đồ mô phỏng đơn giản trên kênh
AWGN( có nhiễu trắng và nhiễu Gausses ) sử dụng điều chế
BPSK.
Hình 1.1: Sơ đồ mô phỏng truyền dẫn BPSK
Tại máy phát dữ liệu phát bk ∈ {0, 1} được tạo ra từ một
nguồn gián đoạn không không nhớ (DMS:Discrete Memoryless
Source). Trong Matlab chuỗi dữ liệu phát bk có thể được tạo nhờ
sử dụng hàm có sẵn rand hoặc randn như sau:
bk = rand(1, N) > 0.5
hoặc
bk = randn(1, N) > 0
Trong đó N là số mẫu cần tạo. Chuỗi dữ liệu bk sau đó được
điều chế BPSK. Phép điều chế BPSK ở đây có thể coi tương
đương với phép ánh xạ
S k √ E s nếu b k 0
−√ Es nếu b k 1
tạo nên chuỗi dấu phát
S k ∈ √ E S ,−√ E S
Trong trường hợp
S k ∈ 1 ,−1
điều chế BPSK thì ES =Eb= 1 nên
Do đó phép ánh
xạ bk → sk trong điều chế BPSK có được thực hiện bằng Matlab
như sau:
Sk = 1 - 2 ∈ bk
Các dấu phát Sk truyền qua kênh truyền và chịu ảnh hưởng
của tạp âm AWGN. Do ảnh hưởng của AWGN, tín hiệu thu yk là
xếp chồng (cộng) của các dấu phát S k và các dấu tạp âm nk, tức
là:
yk = sk + nk (1.2)
trong đó nk là các dấu tạp âm AWGN phức có dạng
nk = nI,k + jnQ,k (1.3)
trong đó nI,k và nQ,k tương ứng là thành phần đồng pha và vuông
pha của tạp âm.
Do phương sai của các thành phần σn 2I = σn 2Q = σn 2 = N0/2,
trong
đó
N0/2 là mật độ phổ công suất tạp âm. Như vậy, phương sai của
tạp âm nk trở thành 2σ2n = N0. Để tạo được tạp âm nk với phương
sai 2σn 2 chúng ta có thể sử dụng hàm randn có sẵn trong Matlab
để tạo ra chuỗi các dấu tạp âm có phân bố chuẩn chính tắc, rồi
nhân với độ lêch chuẩn của tạp âm σn như sau:
nk = sigma ∈ (randn(1, N) + j ∈ randn(1, Ns)) (1.4)
Để tạo ra tạp âm có năng lượng thỏa mãn tỉ số ( Eb/N0)req
cho trước chúng ta đặt độ lệch chuẩn
Tức là
sigma=sqrt(Eb/(2∗EbNo))
nk=sigma∗(randn(1,N)+j∗randn(1,Ns))
Tại máy thu, do tín hiệu điều chế BPSK chỉ chứa thành
phần đồng pha
(phần thực), nên để tách tín hiệu phátsk từ tín hiệu thu
đượcyk,máythu
thực hiện tách lấy phần thực trước, sau đó thực hiện tách tín
hiệu sử dụng
phương pháp tách sóng
Likelihood Detection).
hợp
lẽ
tối
ưu
(MLD:Maximum
Cụ thể, máy thu thực hiện phép so sánh và quyết định sau
if yk≥0→ˆ sk=+1 (1.6)
elseif yk<0→ˆ sk=−1 (1.7)
Phép so sánh này được thực hiện trong Matlab nhờ sử
dụng hàm sign(yk).
Tínhiệutáchđượcˆ sk sau đó được so sánh với tín hiệu phátsk
để tính toán
phẩm chất lỗi bít BER của hệ thống.
Một ví dụ mẫu chương trình mô phỏng truyền BPSK được trình
bày ở chương trình MATLAB bai_1.m
Chương trình thực hiện mô phỏng với N= 10 6 dấu
BPSK{+1,−1}. Kếtquả
BER thu được từ chương trình mô phỏng được so sánh với giá
trị lý thuyết [1]
Kết quả mô phỏng
Hình 1.2 : kết quả mô phỏng BER trong BPSK
bai_1.m
EbNodB=0:10;
EbNo=10.^(EbNodB./10);
sigLen=5*10^6;
% Tao tin hieu BPSK {+1,-1}
s=1-2*(rand(1,sigLen)>=0.5);
% Tinh toan nang luong bit tin hieu Eb
Eb=norm(s)^2/sigLen;
% Mat do pho AWGN
No=Eb./EbNo;
% Vong lap tinh toan BER theo Eb/No
for k=1:length(EbNo)
% Tao AWGN
n=sqrt(No(k)./2).*(randn(1,sigLen)+j*randn(1,sigLen));
% Tin hieu thu
y=s+n;
% Tach tin hieu
shat=sign(real(y));
error=s-shat;
noError=length(find(error~=0));
BER(k)=noError/sigLen;
end
% BER ly thuyet cua truyen dan BPSK qua kenh AWGN
BERtheory=1/2*erfc(sqrt(EbNo));
%Vedothi
semilogy(EbNodB,BER,'*',EbNodB,BERtheory)
xlabel('Eb/No')
ylabel('BER')
legend('By simulation','By theory')
title('BER cua BPSK qua kenh AWGN')
grid
2.Mô phỏng CDMA
Hình 2.1 mô tả mộ sơ đổ hệ thống CDMA dùng chuổi PN
Hình 2.1 Sơ đồ mô phỏng CDMA dùng chuổi giả ngẩu nhiên PN
- Xem thêm -