bÁo cÁo thÍ nghiỆm tts &

16
BÁO CÁO THÍ NGHIỆM TTS & TRUYỀN SỐ LIỆU SINH VIÊN THỰC HIỆN: TRẦN LÊ THANH TRẦN ĐÌNH TÁ LÊ TẤN HÀ GIANG

Upload: tran-le-thanh

Post on 28-Oct-2014

38 views

Category:

Documents


5 download

TRANSCRIPT

BÁO CÁO THÍ NGHIỆM TTS &

TRUYỀN SỐ LIỆU

SINH VIÊN THỰC HIỆN:

TRẦN LÊ THANH

TRẦN ĐÌNH TÁ

LÊ TẤN HÀ GIANG

Nội Dung:

I.Mục đích bài thí nghiệm

II.Phần lý Thuyết:

1.Mã Hóa Kênh

2.Điều chế tín hiệu.

III.Phần thí nghiệm:

1.Code mô phỏng

2.Kết quả mô phỏng

IV. Kết luận

I.Mục đích bài thí nghiệm• Giúp chúng ta hiểu được cách mã hóa tín hiệu bằng mã

Hamming.• Cách điều chế và giải điều chế tín hiệu

II.PHẦN LÝ THUYẾT

1.Mã Hóa Kênh:• Mã hóa kênh còn gọi là mã hóa điều khiển lỗi làm

nhiệm vụ đưa thêm các bit hoặc biến đổi dãy bit tin theo một quy luật nào đấy nhằm giúp bên thu phát hiện và sửa được lỗi xảy ra trên đường truyền.

Mã khối Hamming(7,4)• - Mã khối (7,4) có nghĩa là có 4 bit tin, ký hiệu bởi

vector m, được mã hoá thành 7-bit được ký hiệu bởi vector x, với x=m.G

• Trong đó m: chuỗi bit tin truyền đi. G:Ma trận sinh.

2.Điều chế tín hiệu:• Điều chế : Là quá trình chuỗi rời rạc thời gian được chuyển

đổi thành tín hiệu liên tục thời gian để truyền đi trong môi trường vật lý thông qua bộ chuyển đổi DAC.

• Trong bài thí nghiệm ta dùng điều chế BDSK.• Nếu bit tin là 0 thì biên độ tín hiệu là –A,bit tin là 1 thì biên độ

tín hiệu là A:

II.Phần thí nghiệm:1.Các phần code chính:• Tạo dãy bit tin,tạo nhiễu:• Code mã hóa hamming• Code điều chế • Code giải điều chế• Code giải mã hamming• Code tính SNR và BER• Code vẽ đồ thị

Tạo dãy bit tin,tạo nhiễu,tạo các ma trận mã hóa giải mã Hamming

• N = [20 1000 10000];• A = [ 1/2 1/sqrt(2) 1 sqrt(2) 2 2*sqrt(2) 4

4*sqrt(2)];• color= ['c' 'g' 'r'];• %tạo ma trận lỗi:• Noise=randn(1,N(k));• %với N là độ dài của chuỗi bit• %Tao ma tran sinh:• G=[1,1,0,1,0,0,0;• 0,1,1,0,1,0,0;• 1,1,1,0,0,1,0;• 1,0,1,0,0,0,1];• %Tao ma tran kiem tra :• H=[1,0,0,1,0,1,1;• 0,1,0,1,1,1,0;• 0,0,1,0,1,1,1];

%Tao ma tran vector loi:

E=[0,0,0,0,0,0,0;

0,0,1,0,0,0,0;

0,1,0,0,0,0,0;

0,0,0,0,1,0,0;

1,0,0,0,0,0,0;

0,0,0,0,0,0,1;

0,0,0,1,0,0,0;

0,0,0,0,0,1,0];

m=randn(1,N(k1))>0.5;

Trường hợp không mã hóa kênh.

• for (i=1:N(k1))• if ynhieu(i)>=0• received(i)=1;• end• if ynhieu(i)<0• received(i)=0;• end• end• dem=0;• for (i=1:N(k1))• if (received(i) ~= m(i))• dem=dem+1; • end• end• SNRdB(k2)=20*log10(A(k2));• BER(k2)=dem/N(k1);

• for k1=1:length(N)• % tạo dãy bit chứa tin cần

truyền• m=randn(1,N(k1))>0.5; • for k2=1:length(A)• for (i=1:N(k1))• if m(i)>0 y(i)=A(k2);• else y(i)=-A(k2);• end• end• for (i=1:N(k1))• ynhieu(i)=y(i)+randn;• end

Trường hợp có mã hóa kênh

• % Tao nhieu White Gaussian:• for (i=1:h)• y_noise(i)=y(i)+randn;• end• %Giai dieu che:• for (i=1:h)• if y_noise(i)>=0• received(i)=1;• end• if y_noise(i)<0• received(i)=0;• end• end

• m_code=zeros(1,7*length(m)/4);• j=1;• for i=1:4:length(m)• m_code(j:j+6)=m(i:i+3)*G;•

m_code(j:j+6)=mod(m_code(j:j+6),2);• j=j+7;• end• h=length(m_code);• %Dieu Che tin Hieu BPSK• for (i=1:h)• if m_code(i)>0 y(i)=A(k2);• else y(i)=-A(k2);• end• end

Trường hợp có mã hóa kênh

• %Kiểm tra số bit lỗi• dem2=0;• for (i=1:length(m_decoded))• if (m_decoded(i) ~= m(i))• dem2=dem2+1; • end• end• BER2(k2)=dem2/N(k1);•

SNRdB2(k2)=20*log10(A(k2));• end

• % Giãi mã Hamming

m_decoded=zeros(1,N(k1));• k=1;• H2=H';• for i=1:7:h• temp=received(i:i+6);• s=mod(temp*H2,2);• s1=bi2de(s,'left-msb');• e=E(s1+1,:);• temp1=mod(temp+e,2);•

m_decoded(k:k+3)=temp1(4:7);• k=k+4;• end

Phần vẽ đồ thị:• figure(1)• plot(SNRdB,BER,color(k1)) • legend('N=20','N=1000','N=10000') • hold on • grid on• xlabel('SNR1')• ylabel('BER1') • • figure(2) • plot(SNRdB2,BER2,color(k1))• grid on• hold on • legend('N=20','N=1000','N=10000') • xlabel('SNR')• ylabel('BER') • end

Code giải mã hamming:

Code tính SNR,BER và vẽ đồ thị:

Kết luận rút ra từ bài thí nghiệm: