báo cáo mô phỏng bằng matlab

10 940 12
báo cáo mô phỏng bằng matlab

Đang tải... (xem toàn văn)

Thông tin tài liệu

Báo cáo kết quả Mô phỏngbằng Matlab 1.Xác suất lỗi bít trên kênh AWGN thực hiện điều chế BPSK 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 đơ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 Để trình bày lý thuyết mã hóa kênh của Shannon, mỗi kênh thông tin đợc tả bằng các tham số : - C t là dung lợng của kênh -R t 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 , R t đề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) 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(- 2 2 2 n ) Trong đó: 2 :Phong sai - Ta tính xác suất thu đợc y(t) P( y a 1= ) P( y a 0= ) Hoặc P( y a 1= ) P( y a 0= ) Theo định lý Bayes ta có : )( 1).P(a ) 1a y P( yP = = )( 0).P(a ) 0a y P( yP = = Hoặc )( 1).P(a ) 1a y P( yP = = )( 0).P(a ) 0a y P( yP = = Giả sử 1P(a = )=P(a=0) Thì ) 1a y P( = ) 0a y P( = Hoặc ) 1a y P( = ) 0a y P( = ) 1a y P( = ) 0a y P( = - s E 0 + s E Gọi P b là xác suất lỗi của BPSK Ta có P b = P(a=0) .P( 0 )0 = a y ) + 1P(a = ).P( 1 0 = a y ) Do 1P(a = )=P(a=0) nên P b = P( 1 0 = a y ) = P( 0 )0 = a y ) Hay P b = é E 2 2 1 exp(- 2 2 2 t )dt -Hàm Gaussian: Q(x)= x t e 2 2 2 1 dt P b = 0 2 /2 2/ 2 1 NE y s dye = Q )/2( 0 NE s Với N 0 =2 2 Trong MatLab hàm phỏng xác suất lỗi bít trên kênh AWGN là P b =Q( 0 2 N E s ) = 2 1 erfc( o s N E ) Trong đó erfc(x) = x t e 2 2 dt *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'); 2.Mã Lặp 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 BSC-kênh nhị phân đối xứng 0 0 1 1 1- 1- Mã Lặp 0 000 1 111 Giả sử truyền bít 0 đợc lặp: 00 0 1 đợc lặp : 111 ->chuỗi bít là x 1 x 2 x n ; x i {0,1}; 1 I n ; -Ta đi chứng minh P( 0 x ) > P( 1 x ) Hoặc P( 0 x ) < P( 1 x ) Theo định lý Bayes : )( )0(). 0 ( xP P x P > )( )1(). 1 ( xP P x P Hoặc )( )0(). 0 ( xP P x P < )( )1(). 1 ( xP P x P => P( 0 x ) > P( 1 x ) hoặc P( 0 x ) < P( 1 x ) -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( 0 x ) = (1- ) tn . t = (1- ) n .( 1 ) t -Xác Suất phát 1 khi thu x là: P( 1 x ) = (1- ) t . tn = (1- ) n .( 1 ) tn 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 [ 2 n ] 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 x 1 x 2 x n là bằng nhau. -Đố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 P e là xác suất lỗi từ mã.Ta có P e = P(0).P(0->1) + P(1).P(1->0) P e = P(0->1) = P(t > 2 1n ) = += n tt xP 1 0 )( = += = n tt H txwP 1 0 ))(( Trong đó t 0 = 2 1n w H (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 3.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 pe(ii)=sum; end plot(EbNo,pe,':b+') Víi n=7

Ngày đăng: 21/06/2014, 23:21

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan