Báo cáo Thí nghiệm thông tin số và truyền số liệu

 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.

docx7 trang | Chia sẻ: aquilety | Lượt xem: 3287 | Lượt tải: 2download
Bạn đang xem nội dung tài liệu Báo cáo Thí nghiệm thông tin số và truyền số liệu, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
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 : - Nguyễn Thị Nguyên 10DT2 - Võ Văn Bách 10DT2 - Lê Văn Lâm 10DT2 - Ngô Quang Hiếu 10DT2 Nhóm : 38B 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 và xác suất của lỗi. Để 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. 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/2,1,2,2,2 2,4,4 2]; 1/ Bước 1: Tạo tín hiệu nguồn ngẫu nhiên s_uncoded -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  -Cụ thể: Signal=randn(1,N)>=0.5 2/ Bước 2 : Tạo tín hiệu s_coded Lấy 4 bits của tín hiệu s_uncoded mã hóa thành 7 bits bằng cách lấy 4 bits của s_uncoded * G(ma trận sinh) sẽ tạo thành 7 bits của s_coded. Phép nhân ở đây là Modulo 2. Quá trình cứ lặp lại cho đến khi hết các bits của s_uncoded. 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]; * Với mã Hamming(7,4) thì 4 bits tin sẽ được mà hóa thành 7 bits . 3/ Bước 3: Modulation Đây là quá trình chuyển tín hiệu từ số sang tương tự (D/A). Trong bước này chúng ta sẽ chuyển các chuỗi nguồn với các giá trị 1,0 thành các giá trị +A và –A,với 1 thì thành +A còn 0 thành -A. Bằng cách: các giá trị 1,0 chuyển thành 1 và -1 sau đó nhân với A được kết quả.Với A ở đây là biên độ của tín hiệu . Y=A*(Signal*2-1) Tạo tín hiệu truyen 4/ Bước 4: Tạo tín hiệu nhiễu Tạo chuỗi nhiễu noise ngẫu nhiên có chiều dài bằng chiều dài của N*7/4 5/ 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 độ trên 0 thì cho là 1 còn <= 0 thì cho là 0. Tạo tín hiệu nhan_coded từ thu 6/ Bước 6: Giải mã (Decoding) Từ tín hiệu nhan_coded ta giải mã thành tín hiệu deBPSK_decoded Trong trường hợp không có nhiễu thì 4 bits tin sẽ là 4 bits cuối của 7 bits deBPSK_coded. Nếu có nhiễu thì ta phải phát hiện và sữa lỗi bằng bảng Syndrome. Cách phát hiện và sửa lỗi: Lấy 7 bits của deBPSK_coded nhân modulo 2 với ma trận chuyển vị HT => 3 bits syndrome s. Với ma trận HT = [1 0 0; 0 1 0;0 0 1; 1 1 0 ;0 1 1;1 1 1;1 0 1] Chuyển 3 bits syndrome s nhị phân sang thập phân. Từ số thập phân có được để tìm lỗi ta dựa vào ma trân E. Lấy số thập phân có được + 1=> vị trí hàng tương ứng trong vecto 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. 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]; Để 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 7 bits s_coded bị lỗi ban đầu. Cuối cùng lấy 4 bits cuối cùng của chuỗi 7 bits mới tìm được thì đó chính là bản tin đúng ban đầu. Quá trình cứ lặp lại mỗi lần lấy 7 bits của deBPSK_coded để giải mã và vòng lặp sẽ thực hiện đến khi hết các bits của deBPSK_coded.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. 7/ 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 uncoded và đã mã hóa encoded bằng cách so sánh các bits của rec_decoded với s_uncoded. Vd: để xác định số bits lỗi của rec_decoded và s_uncoded ta cộng modulo 2 hai tín hiệu với nhau. 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(dB)=20*log10(A) Tính tỉ lệ bit lỗi BER BER=error1/length(s_uncoded); 8/ 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 Code 3.1: clc; close all; N=[20 1000 10000 50000 100000 200000] A=[0.5 1/sqrt(2) 1 sqrt(2) 2 2*sqrt(2) 4 4*sqrt(2)] for j=1:6 n=N(j) for i=1:8 m=randn(1,n)>=0.5; e=randn(1,n); b=(A(i))*(m*2-1); y=(b+e)>0; d=mod((m+y),2); s=sum(d); ber(i,j)=s/n; snr(i,j)=20*log10(A(i)); end end semilogy(snr(:,1),ber(:,1),'ro',snr(:,2),ber(:,2),'bo', snr(:,3),ber(:,3),'go-',snr(:,4),ber(:,4),'ko--', snr(:,5),ber(:,5),'yo--',snr(:,6),ber(:,6),'mo-'); grid on legend('N=20','N=1000','N=10000','N=50000','N=100000','N=200000') xlabel('SNR(dB)') ylabel('BER') Code 3.2 clc; close all; N=10000; A=[0.5 1/sqrt(2) 1 sqrt(2) 2 2*sqrt(2) 4 4*sqrt(2)]; 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]; H=[1 0 0 1 0 1 1 0 1 0 1 1 1 0 0 0 1 0 1 1 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]; m=randn(1,N)>=0.5; m1=reshape(m,4,[])'; x=mod(m1*G,2); x1=reshape(x',1,[]); for i=1:8 % không ma hoa % t=A(i)*(2*m-1); r=(t+randn(1,N))>0; s=mod(r+m,2); BER(i)=sum(s)/N; SNR(i)=20*log10(A(i)); % ma hoa hamming (7,4)% tt=A(i)*(2*x1-1); e=randn(1,N*7/4); t1=(tt+e)>=0; x2=reshape(t1,7,[])'; x3=mod(x2*H',2); s=bi2de(x3,'left-msb'); t0=mod(x2+E(s+1,:),2); x4=t0(:,4:7); x5=reshape(x4',1,[]); x6=mod(m+x5,2); ber(i)=sum(x6)/N; end semilogy(SNR,BER,'bs--',SNR,ber,'mo--'); grid on; title('Khong co ma hoa va Ma hoa Hamming (7,4) voi N=10000'); legend('Khong ma hoa','Co ma hoa') xlabel('SNR(dB)'); ylabel('BER'); 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.

Các file đính kèm theo tài liệu này:

  • docxbao_cao_tn_thong_tin_so_va_truyen_so_lieu1_0488.docx
Luận văn liên quan