Báo cáo kết quảMô phỏng mã bằng Matlab 1.Xác suất lỗi bít trên kênh AWGN thực hiện điều chế BPSK Mô hình hệ thống thông tin truyền dẫn số ý tởng cơ bản của lý thuyết thông tin mà thông t
Trang 1Báo cáo kết quả
Mô phỏng mã bằng Matlab
1.Xác suất lỗi bít trên kênh AWGN thực hiện điều chế BPSK
Mô hình hệ thống thông tin truyền dẫn số
ý tởng cơ bản của lý thuyết thông tin mà thông tin số là chủ yếu, là
t-ơng đt-ơng tạo ra, phát đi và thu lại chọn một cách ngẫu nhiên các số nhị phân hay các bít Khi các bít đợc phát trên kênh thông tin hoặc lu trữ trong bộ nhớ thì chúng có thể bị lỗi do ISI hoặc nhiễu tạp vv gây ra Shannon đã chỉ ra rằng việc truyền dẫn thông tin từ nguồn, qua kênh tới đích luôn luôn có thể
đợc tách riêng để nghiên cứu và thực hiện mà không mất tính tối u của nó, bao gồm hai phần: Biểu diễn tín hiệu đầu ra của nguồn là một dãy các bít (mã hóa nguồn) và phát các bít này độc lập ngẫu nhiên trên kênh (mã hoá kênh)
Kênh AWGN
Nguồn Bộ mã hoá
kênh
Bộ điều chế
Bộ giải mã
kênh
Đích
u
r s bít/s
x
r s /rc symbol/s
Bộ giải điều chế
y
Trang 2Để trình bày lý thuyết mã hóa kênh của Shannon, mỗi kênh thông tin
đợc mô tả bằng các tham số :
- C t là dung lợng của kênh
-Rt tốc độ truyền dữ liệu đợc phát một cách tùy ý trên kênh nếu và chỉ
nếu R t C t Cả hai tham số C t , Rt đều đợc đo bằng bít trên giây (b/s)
Shannon đã chỉ ra rằng với một giá trị cụ thể của tỷ số tín / tạp (SNR), giá trị
này không quan trọng lắm miễn là nó đủ lớn và R t không lớn hơn C t , điều quan trọng là các bít thông tin đợc mã hóa nh thế nào Các bít thông tin không nên phát từng bít một độc lập với các bít khác tại từng thời điểm mà dãy bít thông tin nên đợc mã hóa để mỗi bít thông tin có liên quan đến một vài bít khác cùng đợc phát trên Mã hóa điều khiển lỗi có thể bảo vệ đợc nguồn dữ liệu số không bị lỗi trong quá giải mã
Các hệ thống thông tin thay đổi pha sóng mang (PSK) thờng hay đợc
sử dụng Mặc dù có nhiều hệ thống điều chế khác nhng hệ thống PSK vẫn rất thông dụng
Trong điều chế BPSK ( Binary Phase Shift Keying-điều chế khóa
dịch pha nhị phân) đợc sử dụng trong việc tính xác suất lỗi bít trên kênh
AWGN(Additive White Gaussian Noise)
Mô hình kênh thực tế quan trọng nhất là kênh cộng thêm tạp âm Nếu
coi y(t) là tín hiệu thu đợc, ta có
y(t)=s(t)+n(t).
với s(t) là tín hiệu phát và n(t) là tạp âm
Hàm mật độ xác suất của một quá trình ngẫu nhiên Gaussian n(t) đợc biểu diễn nh sau:
P(n)= 2
2
1
exp(- 22
2
n )
Trong đó:
2
:Phong sai
- Ta tính xác suất thu đợc y(t)
P(a 1 y) P(a 0 y)
Trang 3Hoặc P(a 1 y) P(a 0 y)
Theo định lý Bayes ta có :
) (
1) P(a ) 1 a
y P(
y P
) (
0) P(a ) 0 a
y P(
y P
Hoặc
) (
1) P(a ) 1 a
y P(
y P
) (
0) P(a ) 0 a
y P(
y P
Giả sử P(a 1 )=P(a=0)
Thì P(ya 1)
P(ya 0)
Hoặc P(ya 1)
P(ya 0)
)
1
a
y
P(
P(ya 0)
- E s 0 + E s
Gọi Pb là xác suất lỗi của BPSK
Ta có Pb= P(a=0) P( 0) 0
a
a
Do P(a 1 )=P(a=0) nên
Pb= P( 0 1
a
y ) = P(
0 ) 0
a
Hay Pb=
é
E 2 2
1
exp(- 2
2
2
t )dt
-Hàm Gaussian:
Q(x)=
x
t
e 2
2
2 1
Trang 4 Pb=
0 2
/ 2
2 /
2
1
N E y
s
dy e
Với N0=2 2
Trong MatLab hàm mô phỏng xác suất lỗi bít trên kênh AWGN là
Pb=Q(
0
2
N
E s
) =
2
1
erfc(
o
s
N
E
)
Trong đó erfc(x) =
x
t
e 2
2
*Chơng trình viết trên Matlab
%Tinh xac suat loi bit tren kenh AWGN;
clear all;
format short
EbNo=[ 0:.5:9];
linEbNo=10.^(EbNo/10);
Bit_error=erfc(sqrt(linEbNo))/2 ;
semilogy(EbNo,Bit_error,':ko')
hold on
Xlabel('signd_to_noise ratio,Eb/N0(db)');
Ylabel('bit Erro probabiliti, BER');
title('Ber BPSK transmission without coding');
legend('BPSK,no coding');
Trang 52.Mã Lặp
Mô hình kênh nhị phân đối xứng : BSC ( Binary Syminetic Chanel )
Mã lặp là 1 bít vào đợc lặp lại n lần Tỉ lệ mã hoá(hay tốc độ mã hoá) là
R =
n
1
Giả sử truyền bít 0 đợc lặp: 00… 0 0
BSC-kênh nhị phân đối xứng
1
1-
1-
Mã Lặp
0 000
1 111
Trang 61 đợc lặp : 11… 0… 01
->chuỗi bít là x1x2… 0xn ; xi {0,1}; 1 ≤ I ≤ n ; -Ta đi chứng minh P(x0) > P(x1 )
Hoặc P(x0) < P(x1 )
Theo định lý Bayes :
) (
) 0 ( ).
0 (
x P
P x P
>
) (
) 1 ( ).
1
(
x P
P x P
Hoặc
) (
) 0 ( ).
0 (
x P
P x P
<
) (
) 1 ( ).
1 (
x P
P x P
=> P(x0) > P(x1 ) hoặc P(x0) < P(x1 )
-Giả sử trong chuỗi x chứa t số 1 => trong x chứa n-t số 0
-Xác suất phát 0 khi thu x là:
P(x0) = (1- )n t t = (1- )n .(
-Xác Suất phát 1 khi thu x là:
P(x1 ) = (1- )t n t = (1- )n (
Dùng hàm LLR để so sánh 2 xác suất trên
Hàm LLR(d) =log
) 0 (
) 1 (
x
d P
x
d P
≈ log
) 0 (
) 1 (
d
x P d
x P
Giả định <1/2 =>t ≥ [ 2n ] Nhận xét:
-Đối với mã lặp thì chọn n lẻ vì để tránh số bít 0 và số bít 1 trong chuỗi x1x … 0xn là bằng nhau
Trang 7-Đối với mã lặp trong giải mã thì quyết định theo đa số.Nếu trong chuỗi,số bít 1 lớn hơn số bít 0 thì kết luận bên phát đã phát bít 1, và ngợc lại
-Gọi Pe là xác suất lỗi từ mã.Ta có
Pe = P(0).P(0->1) + P(1).P(1->0)
Pe = P(0->1)
= P(t >
2
1
n
)
=
n t t
x P
1
0
) ( =
n t t
H x t w
P
1
0
) ) (
Trong đó t0 =
2
1
n
wH(x) - là trọng số Haming của chuỗi x
*Chơng trình viết bằng MatLab
clear all;
N=[1:2:49];
e= 0.3;
for i=1:length(N)
n=N(i);
sum =0;
t=(n-1)/2+1;
for h=t:1:n
sum = sum + (1-e).^(n-h)*e.^h;
end
pe(i)=sum;
end
semilogy(N,pe,':k*');
hold on
Trang 83.Xác suất sai khi đã mã hoá
Chơng trình viết băng MatLab:
clear all;
n=5;
rate=1/n;
k=(n-1)/2+1;
EbNo=[1:0.5:9];
linEbNo=10.*(EbNo/10);
bit_error=erfc(sqrt(linEbNo*rate))/2; for ii=1:length(bit_error)
e=bit_error(ii);
sum=0;
for h = k:n
sum = sum+ (1-e).^(n-h) * e.^h; end
Trang 9pe(ii)=sum; end
plot(EbNo,pe,':b+')
Víi n=7