1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Báo cáo thí nghiệm Truyền số liệu

8 2,1K 8

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 36,07 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Để tìm hiểu làm thế nào để mô phỏng được một hệ thống thông tin số trong sự hiện diện của nhiễu. Để thấy mối quan hệ giữa tỷ số tín hiệu trên nhiễu(SNR) và xác suất của lỗi(BER). Để xem cách kiểm soát lỗi để có thể mã hóa sửa đúng bit lỗi và giảm xác suất của lỗi tại một SNR cố định.

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG

KHOA ĐIỆN TỬ VIỄN THÔNG

-o0o -BÁO CÁO THÍ NGHIỆM THÔNG TIN SỐ VÀ TRUYỀN SỐ LIỆU

Giáo viên hướng dẫn : Mạc Như Minh

Sinh viên thực hiện :

1.Lê Phương Hiền 10DT2

2 Nguyễn Đức Huyên 10DT2

3 Hoàng Phan Anh Quân 10DT2

4 Phan Hữu Thập 10DT2

5.Thái Hoàng Tuấn 10DT2

6 Phạm Văn Lễ 10DT2

Nhóm : 39B

Trang 2

I Mục đích:

- Để tìm hiểu làm thế nào để mô phỏng được một hệ thống thông tin số trong sự hiện diện của nhiễu

- Để thấy mối quan hệ giữa tỷ số tín hiệu trên nhiễu(SNR) và xác suất của lỗi(BER)

- Để xem cách kiểm soát lỗi để có thể mã hóa sửa đúng bit lỗi và giảm xác suất của lỗi tại một SNR cố định

II Trình tự thực hiện :

- Với các giá trị của N=[20 1000 10000 50000 100000 200000];

- Các giá trị của A=[0.5 1/sqrt(2) 1 sqrt(2) 2 2*sqrt(2) 4 4*sqrt(2)];

- Với ma trận sinh G: 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];

-Ma trận E: 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];

- Ma trận H: H =[1 0 0 1 0 1 1

0 1 0 1 1 1 0

0 0 1 0 1 1 1];

-H’ là ma trận chuyển vị của ma trận H

A: Tìm tỉ số tín hiệu trên nhiễu SNR và xác suất lỗi BER khi không có mã hóa Hamming:

Trang 3

Bước 1: Tạo tín hiệu nguồn ngẫu nhiên signal_x : x=randn(1,N)>0.5;

- Dùng hàm randn() để tạo chuỗi tín hiệu ngẫu nhiên

- Tín hiệu ngẫu nhiên ở đây là những chuỗi bit 0,1

Bước 2: tạo tín hiệu x1=2*x-1 để giữ nguyên bit 1 và chuyển bit 0 thành -1 của tín hiệu x Bước 3: tạo tín hiệu nhiễu e với chiều dài chuỗi bằng chiều dài tín hiệu x

Bước 4: tìm tỉ số tín hiệu trên nhiễu SNR

Với 8 giá trị của A ta tìm được 8 giá trị của SNR bằng công thức :

SNR= 20*log10(A(i))

Bước 5: Điều chế

- Đây là quá trình chuyển tín hiệu từ số sang tương tự (D/A)

Ở đây ta sẽ biến đổi chuỗi bit 1,-1 thành dạng tín hiệu +A,-A với A là biện độ tín hiệu truyền Sau đó ta cộng kết quả thu được với nhiễu e ở bước 3 dựa vào công thức :

y=x1*A(i)+e

Bước 6: Demodulation (Giải điều chế):

- Đây là bước mà ở máy thu sẽ chuyển tín hiệu liên tục thu được thành tín hiều rời rạc

- Chúng ta chọn ngưỡng giới hạn là 0 Nếu tín hiệu nào có biên độ > 0 thì cho là 1 còn <=

0 thì cho là 0 (tín hiệu signal_y_h)

Bước 7: Tính xác xuất lỗi BER và tỉ lệ tín hiệu trên nhiễu SNR:

- Xác xuất lỗi = số bits lỗi / chiều dài của bản tin

- Xác định số bits lỗi trong trường hợp truyền chưa mã hóa và đã mã hóa bằng cách so sánh các bits nhận được với các bits ban đầu

- Ví dụ: để xác định số bits lỗi của signal_y_h1 ta xor signal_y_h1 với signal_x Thì những bits nào khác nhau sẽ cho kết quả là 1 còn giống nhau = 0 , sau đó ta cộng các bits lại với nhau thì ta sẽ có được số bits bị lỗi

- Tính tỉ lệ tín hiệu trên nhiễu SNR(dB) : SNR= 20*log(A);

B: Tìm tỉ số tín hiệu trên nhiễu SNR và xác suất lỗi BER khi có mã hóa Hamming:

Trang 4

Bước 1: Tạo tín hiệu nguồn ngẫu nhiên signal_x : x=randn(1,N)>0.5;

Bước 2 : Tạo tín hiệu mã hóa hamming:

Ma trân đầu vào x có độ dài N

- Để tạo tín hiệu vào mã hóa hamming signal_hm ta nhân tín hiệu signal_x với ma trân

sinh G,ta chuyển chuỗi bit đã cho thành dạng ma trận 4 cột n hàng bằng lệnh reshape, x1=reshape(x,4,[])';

thực hiện phép nhân ma trận vào x với ma trận sinh G cho ra 1 ma trận 7 cột m hàng, x2=mod(x1*G,2)

Tiếp tục dung lệnh reshape ta có chuỗi bit mới có độ dài là 7*n/4:

- Với mã Hamming(7,4) thì 4 bits tin sẽ được mà hóa thành 7 bits

Bước 3: Điều chế

- Đây là quá trình chuyển tín hiệu từ số sang tương tự (D/A)

Ở đây ta sẽ biến đổi chuỗi bit 0,1 thành dạng tín hiệu +A,-A với A là biện độ sóng điều chế

Bước 4: Tạo tín hiệu nhiễu:

- Tạo chuỗi nhiễu có là vector có độ dài 7*N1/4

Bước 5: Demodulation (Giải điều chế):

- Đây là bước mà ở máy thu sẽ chuyển tín hiệu liên tục thu được thành tín hiều rời rạc

- Chúng ta chọn ngưỡng giới hạn là 0 Nếu tín hiệu nào có biên độ > 0 thì cho là 1 còn <=

0 thì cho là 0 (tín hiệu signal_y_h)

Bước 6: Giải mã (Decoding):

- Từ tín hiệu signal_y_h ta giải mã thành tín hiệu bpsk_designald

Ta chia chuyển tín hiệu thu dc thành dạng ma trận có 7 cột n hàng

- Lấy ma trận trên nhân modulo 2 với ma trận chuyển vị H’của ma trận H =>ma trân có dạng 3 cột N hàng 3 bits syndrome s

- Chuyển từ ma trân 3 bits syndrome s ta chuyển từ nhị phân sang thập phân với trọng số lớn nhất bên trái rồi cộng thêm 1 ta có đc hàng tương ứng trong vector E- => xác định được bits lỗi trong ma trân E Phải cộng 1 vì trong E thì hàng đầu tiên không có lỗi

- Bits 1 tương ứng trong vecto E là vị trí mà bản tin bị lỗi

Trang 5

- Để sửa lỗi ta lấy vecto E tương ứng với vị trí đã xác định cộng Modulo 2 với mỗi hàng của ma trận bpsk_designald bị lỗi ban đầu

- Cuối cùng ta lấy 4 cột 4:7 của ma trận và chuyển ma trận này thành chuỗi bit bằng lệnh reshape

Sau khi mã hóa và giải mã với mã Hamming(7,4) thì vẫn còn một số bits lỗi là do:

- Trong bài thí nghiệm này với vecto E đã cho thì chỉ có thể sữa được lỗi sai 1 bits, từ 2 lỗi trở lên thì sẽ không sữa được

- Việc sửa lỗi còn phụ thuộc vào khoảng cách Hamming tối thiểu d , nếu d càng lớn thì

=> khả năng sửa lỗi tối đa t=int((d-1)/2) tăng và khả năng phát hiện lỗi cũng tăng,khả năng phát hiện và sửa lỗi sẽ tăng.Và bao giờ cũng tồn tại xác xuất lỗi không phát hiện được => không có loại mã nào là hoàn thiện tất cả chỉ ở mức tương đối chấp nhận được Nên với mã (7,4) này cũng vậy thì sau khi giải mã thì vẫn còn tồn tại lỗi

Bước 7: Tính xác xuất lỗi:

- Xác xuất lỗi = số bits lỗi / chiều dài của bản tin

- Xác định số bits lỗi trong trường hợp truyền chưa mã hóa và đã mã hóa bằng cách so sánh các bits nhận được với các bits ban đầu

- Ví dụ: để xác định số bits lỗi của signal_y_h1 ta xor signal_y_h1 với signal_x Thì những bits nào khác nhau sẽ cho kết quả là 1 còn giống nhau = 0 , sau đó ta cộng các bits lại với nhau thì ta sẽ có được số bits bị lỗi

- Tính tỉ lệ tín hiệu trên nhiễu SNR(dB) : SNR= 20*log10(A);

Tính tỉ lệ bit lỗi BER_h

+có mã Hamming: BER_h(z,i)=(sum(xor(signal_y_h1,signal_x)))/n(z);

Bước 8: Vẽ kết quả:

- Vẽ đồ thị của xác xuất lỗi so với tỉ số SNR của tín hiệu lúc chưa mã hóa

- Vẽ đồ thị của xác xuất lỗi so với tỉ số SNR của tín hiệu lúc đã mã hóa bằng mã

Hamming (7,4)

- Vẽ đồ thị của xác xuất lỗi so với tỉ số SNR của tín hiệu ứng với N=200000

Signal:

Trang 6

close all;

H =[1 0 0 1 0 1 1;0 1 0 1 1 1 0;0 0 1 0 1 1 1];

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];

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];

A = [0.5 1/sqrt(2) 1 sqrt(2) 2 2*sqrt(2) 4 4*sqrt(2)];

%Tao chuoi tin hieu ban dau

N = input('Nhap so N = ') ;

x=randn(1,N)>0.5;

%Co ma hoa

%Ma hoa hamming

x1=reshape(x,4,[])';

x2=mod(x1*G,2);

x3=reshape(x2',1,[]);

for i=1:8

x4=(2*x3-1)*A(i);%Dieu che

x4=x4+randn(1,N*7/4);%Cong nhieu kenh truyen

x4=x4>0;%Giai dieu che

%Giai ma

x5=reshape(x4,7,[])';

s=mod(x5*H',2);

h=bi2de(s,'left-msb');

x6=mod(x5+E(h+1,:),2);

x7=x6(:,4:7);%Chi co 4 bit sau la bit tin

x8=reshape(x7',1,[]);%Tin hieu sau giai ma

BER(i)=sum(xor(x8,x))/N;%tinh BER

SNR(i)=20*log(A(i));%tinh SNR

end

% Khong co ma hoa

for k=1:8

y=(2*x-1)*A(k);% Dieu che

y1=y+randn(1,N);%Cong nhieu kenh truyen

y2=y1>0;%Giai dieu che

BER1(k)=sum(xor(y2,x))/N;%tinh BER

SNR1(k)=20*log(A(k));%tinh SNR

end

%Ve do thi co ma hoa va ko co ma hoa

semilogy(SNR,BER,'-bp',SNR1,BER1,':rp');

xlabel('SNR')

ylabel('BER')

legend('ma hoa','khong ma hoa');

title(3)

Trang 7

grid on

-nhận xét:

Xác suất lỗi bit ( BER ) phụ thuộc vào giá trị của biên độ điều chế A: với biên độ A càng lớn, xác suất lỗi bit càng thấp và ngược lại.vì khi tăng giá trị của A ,tức là tăng biên

độ xung truyền đi,lúc đó trong quá trình truyền nhiễu cộng vào sẽ không ảnh hưởng nhiều đến giá trị biên độ so với khi giá trị A bé.nghĩa là với giá trị A bé thì nhiễu cộng vào có thể gây đảo dấu biên độ và khi giải điều chế sẽ cho ra bit có giá trị ngược lại so với giá trị gốc.còn với A lớn thì nhiễu khó làm đảo dấu biên độ hơn

Xác suất lỗi bit ( BER ) không phụ thuộc vào chiều dài tín hiệu: vì với tín hiệu càng dài thì số bits lỗi càng nhiều nhưng tỉ lệ bit lỗi so với dòng dữ liệu sẽ không tăng

Khi có mã hóa Hamming xác suất lỗi bit thấp hơn nhiều so với khi chưa mã hóa .vì khi sử dụng ma Hamming có thể phát hiện và sửa được lỗi

Đồ thị mô phỏng có dạng gần giống với đồ thị theo lý thuyết

N=10 000

10-4

10-3

10-2

10-1

100

SNR

3

ma hoa khong ma hoa

Ngày đăng: 16/11/2014, 21:20

HÌNH ẢNH LIÊN QUAN

Đồ thị mô phỏng có dạng gần giống với đồ thị theo lý thuyết. - Báo cáo thí nghiệm Truyền số liệu
th ị mô phỏng có dạng gần giống với đồ thị theo lý thuyết (Trang 7)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w