Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
557,57 KB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THƠNG BÁO CÁO THÍ NGHIỆM THƠNG TIN SỐ Sinh Viên : Đào Xuân Khánh MSSV : 20182599 Lớp : Điện tử 11 – K63 Lớp TN : 713393 Hà Nội, 2021 ii PHẦN 2: CÁC BÀI THÍ NGHIỆM BÀI SỐ 1: Q TRÌNH NGẪU NHIÊN CỦA TÍN HIỆU Bài 1.1 Chạy chương trình: x=-5:0.1:5; Px=1/(sqrt(2*pi))*exp(-x.^2/2); plot(x,Px); Kết quả: Q1 Mơ tả hình dáng đồ thị hàm P(x) (là hình gì)? Giải thích? TL: Đồ thị P(x) có dạng hình chng Đó (-5;0) (0;5) hàm P(x) biểu diễn hàm số tự nhiên e Q2 Ý nghĩa ứng dụng hàm phân phối xác suất Gauss thông tin số TL: Hàm phân phối xác suất Gauss thông tin số cho biết mật độ phân bố thông tin khoảng giá trị xác định Q3 Nếu thay đổi kỳ vọng µ phương sai σ P(x) thay đổi (cụ thể đồ thị thay đổi nào)? Giải thích? TL: Nếu tăng kỳ vọng µ phương sai σ đặc trưng hàm lũy thừa, đồ thị P(x) tràn lệch sang phía bên phải Bài 1.2 Chạy chương trình: len = 100000; x=randn(1,len); % Tao qua trinh ngau nhien theo phan phoi chuan step=0.1; % step = 0.1 k=-5:step:5; % khoang xet tu -5 den cach deu 0.1 Px=hist(x,k)/len/step; % Xac dinh so vector stem(k,Px,'o-'); % Ve thi roi rac cua Px mo phong Px_LT=exp(-k.^2/2)/sqrt(2*pi); % Tinh Px ly thuyet hold on; plot(k,Px_LT); % Ve thi Px ly thuyet title('Phan bo xac suat Gauss'); xlabel('x'); ylabel('P(x)'); legend('Ly thuyet','Mo phong'); hold off; Kết quả: Với len=1000000 Kết quả: Q4 Nêu nhận xét kết hai hàm mô lý thuyết? TL: Hàm mô tương đồng với tính tốn lý thuyết Q5 Thay đổi độ dài trình ngẫu nhiên tập 1.2 lên 1000000 phần tử So sánh kết với kết cũ? Giải thích? TL: Hàm mơ mịn hơn, hàm phân phối mơ tả q trình ngẫu nhiên nên nhiều phép thử xác Q6 Câu lệnh “Px=hist(x,k)/len/step;” ? Tại phải chia len step? TL: Chia cho len để tạo đường nét liền Chia cho step để tăng độ dài phần tử BÀI SỐ 4: MẬT ĐỘ PHỔ NĂNG LƯỢNG VÀ HÀM TỰ TƯƠNG QUAN CỦA TÍN HIỆU Bài 4.1 Chạy chương trình: L = 500; % Chieu dai tin hieu x = randn(1,L); % Tao tin hieu ngau nhien acorr_x = xcorr(x); % Tinh ham tu tuong quan n = (-L+1):(L-1); % Cac mau gia tri plot(n,acorr_x); % Ve thi ham tu tuong quan tin hieu ngau nhien title('Ham tu tuong quan'); xlabel('n'); ylabel('r_x_x'); hold on; x = linspace(-1,1,L); % Tao tin hieu co bien tang dan acorr_x = xcorr(x); % Tinh ham tu tuong quan plot(n,acorr_x,'k'); % Ve thi ham tu tuong quan tin hieu co bien tang dan x = sin(linspace(-10,10,L)); % Tao tin hieu hinh sin acorr_x = xcorr(x); % Tinh ham tu tuong quan plot(n,acorr_x,'r'); % Ve thi ham tu tuong quan tin hieu hinh sin legend('Ngau nhien','Bien tang dan','Hinh sin') hold off; grid on; Kết quả: Q21 Đồ thị hàm tự tương quan trường hợp tổng qt ln có đặc điểm đặc biệt? Tại sao? TL: Đồ thị hàm Rx đối xứng qua trục tung Rx(n) = Rx(-n) ( hàm chẵn) Q22 Giá trị cực đại hàm tự tương quan nằm đâu? Tại sao? TL: Giá trị cực đại ln nằm gốc tọa độ cách tính tổng chập Q23 So sánh hàm tự tương quan trường hợp tín hiệu khác yêu cầu thí nghiệm trên? TL: Các hàm tương quan với giá trị cực đại gốc tọa độ đối xứng qua trục tung Bài 4.2 Chạy chương trình: L = 50; % Do dai tin hieu N = 200; % So luong cac tan so roi rac khoang den 2*pi x = rand(1,L); % Tao tin hieu ngau nhien w = linspace(0,2*pi,N); % Tao N tan so tang dan tu den 2*pi fx = freqz(x,1,w); % Bien doi Fourier cua x tai cac tan so roi rac esd_x = fx.*conj(fx); % Tinh ham mat nang luong acorr_x = xcorr(x); % Tinh ham tu tuong quan cua tin hieu x ft_acorr_x = freqz(acorr_x,1,w).*exp(j*w*(L-1)); % Bien doi Fourier cua ham tu tuong quan cua tin hieu x % Ve thi subplot(2,1,1); semilogy(w/pi,esd_x); title('Mat nang luong'); xlabel('n'); ylabel('S(e^j^\omega)') hold off;grid on; subplot(2,1,2); semilogy(w/pi,real(ft_acorr_x),'r'); xlabel('n'); ylabel('R_x_x(e^j^\omega)'); hold off;grid on; Kết quả: Q24 Phổ biên độ rời rạc tín hiệu có đặc điểm gì? Giải thích? TL: Đối xứng qua n=1 tín hiệu đưa dạng hình sin Q25 So sánh đồ thị phổ biên độ esd_x ft_acorr_x TL: Hai đồ thị phổ biên độ tương tự Q26 Giải thích vẽ đồ thị với cách trục hoành w/pi cách trục hoành k*2/N? TL: Do sử dụng biến đổi cho tín hiệu khác giữ miền FT DFT Q27 Phải chọn N tối thiểu để kết mơ xác? Tại sao? TL: Dựa vào định lý Nyquist, ta chọn N≥100 Q28 Ý nghĩa ứng dụng định lý Weiner-Khintchine thông tin số? TL: Phổ hàm tương quan hàm mật độ phổ lượng tín hiệu số thể phân bố lượng BÀI SỐ 5: MÃ ĐƯỜNG DÂY NRZ Bài 5.1 Chạy chương trình: len = 100000; % Do dai dong bit mo phong SNR_db = 0:2:8; % Tao vector SNR_db = SNR = 10.^(SNR_db/10); % Doi SNR tu Decibel sang lan bsignal = randi([0 1],1,len); % Dong bit ngau nhiên dai len NRZ_signal = bsignal*2-1; % Bien doi dòng bit sang -1 N0 = 1./SNR; % Cong suat tap am for i=1:length(SNR_db) noise = sqrt(N0(i))*randn(1,len); % Tao tap am noise voi ti so SNR(i) r_signal = NRZ_signal + noise; % Tin hieu thu duoc = NRZ + noise NRZ_decoded = sign(r_signal); % Giai ma tin hieu NRZ thu duoc [n,BER(i)] = symerr(NRZ_decoded,NRZ_signal); % Tinh xac suat loi end plot(SNR_db,BER,'bo '); % Ve thi title('Ty le bit loi'); xlabel('SNR_d_B'); ylabel('BER'); Kết quả: 10 Bài 5.2 Chạy chương trình: len = 100000; % Do dai dong bit mo phong SNR_db = 0:2:8; % Tao vector SNR_db = SNR = 10.^(SNR_db/10); % Doi SNR tu Decibel sang lan bsignal = randi([0 1],1,len); % Dong bit ngau nhiên dai len NRZ_signal = bsignal*2-1; % Bien doi dòng bit sang -1 N0 = 1./SNR; % Cong suat tap am for i=1:length(SNR_db) noise = sqrt(N0(i))*randn(1,len); % Tao tap am noise voi ti so SNR(i) r_signal = NRZ_signal + noise; % Tin hieu thu duoc = NRZ + noise NRZ_decoded = sign(r_signal); % Giai ma tin hieu NRZ thu duoc [n,BER(i)] = symerr(NRZ_decoded,NRZ_signal); % Tinh xac suat loi end plot(SNR_db,BER,'r*'); % Ve thi BER Pe = 1/2*(1-erf(sqrt(SNR)/sqrt(2))); % Xac suat loi theo ly thuyet hold on; plot(SNR_db,Pe); % Ve thi Pe title('Do thi ty le bit loi theo ly thuyet va mo phong'); xlabel('SNR_d_B'); ylabel('BER'); legend('Mo phong','Ly thuyet'); hold off; Kết quả: 11 SNR 0dB 2dB 4dB 6dB 8dB Pe lý thuyết 0.1587 0.1040 0.0565 0.0230 0.0060 BER mô 0.1594 0.1099 0.0553 0.0231 0.0061 Q29 Giải thích phải sử dụng mã đường dây? Mã đường sử dụng trường hợp nào? TL: Tạo dạng phổ thích hợp Giúp bên thu dễ khơi phục xung clock Cung cấp khả giám sát lỗi Áp dụng đường truyền hữu tuyến Q30 Khi tỷ số SNR tăng xác suất lỗi thay đổi nào? Giải thích? So sánh với kết đồ thị? TL: Khi SNR tăng => Xác suất lỗi giảm Kết đồ thị phù hợp với lý thuyết Q31 Nếu giải mã tín hiệu NRZ lệnh “NRZ_decoded = sign(r_signal);” hướng dẫn có số trường hợp khơng xác, trường hợp nào? Tại sao? TL: Bởi có loại mã đơn cực phân cực nên trường hợp khơng có dấu chưa xác Q32 Nhận xét kết mô phỏng, so sánh giá trị BER tính mơ xác suất lỗi Pe tính lý thuyết Từ rút kết luận gì? TL: Pe lý thuyết BER mơ có kết tương tự -> Khi SNR tăng -> Tỉ lệ lỗi bit giảm 12 BÀI SỐ 6: KỸ THUẬT ĐIỀU CHẾ SỐ QPSK Bài 6.1 Chạy chương trình: len = 50000; % Do dai dong bit mo phong SNR_db = 6; % SNR co don vi Decibel SNR = 10^(SNR_db/10); % Doi SNR tu Decibel sang lan bsignal = randi([0 1],1,len); % Tao dong bit ngau nhien dai len % Thuc hien dieu che QPSK for i=1:2:len if bsignal(i)==0 & bsignal(i+1)==0 % 00 qpsk_signal((i+1)/2) = exp(j*3*pi/4); elseif bsignal(i)==0 & bsignal(i+1)==1 % 01 qpsk_signal((i+1)/2) = exp(j*5*pi/4); elseif bsignal(i)==1 & bsignal(i+1)==1 % 11 qpsk_signal((i+1)/2) = exp(j*7*pi/4); elseif bsignal(i)==1 & bsignal(i+1)==0 % 10 qpsk_signal((i+1)/2) = exp(j*pi/4); end end Es = std(qpsk_signal)^2; % Nang luong ky hieu N0 = Es/SNR; % Cong suat tap am % Tao nhieu Gauss noise = sqrt(N0/2)*(randn(1,length(qpsk_signal)) +j*randn(1,length(qpsk_signal))); qpsk_awgn = qpsk_signal + noise; % Cho tin hieu dieu che di qua kenh AWGN plot(qpsk_awgn,'.'); % Ve bieu chom tin hieu co nhieu title('Do thi chom khong nhieu va co nhieu voi SNR=6dB'); xlabel('I'); ylabel('Q'); hold on; plot(qpsk_signal,'r*'); % Ve bieu chom tin hieu khong nhieu plot(exp(j*[0:0.01:2*pi]),'r '); 13 Kết quả: Bài 6.2 Chạy chương trình: len = 50000; % Do dai dong bit mo phong SNR_db = 3; % SNR co don vi Decibel SNR = 10^(SNR_db/10); % Doi SNR tu Decibel sang lan bsignal = randi([0 1],1,len); % Tao dong bit ngau nhien dai len % Thuc hien dieu che QPSK for i=1:2:len if bsignal(i)==0 & bsignal(i+1)==0 % 00 qpsk_signal((i+1)/2) = exp(j*3*pi/4); elseif bsignal(i)==0 & bsignal(i+1)==1 % 01 qpsk_signal((i+1)/2) = exp(j*5*pi/4); elseif bsignal(i)==1 & bsignal(i+1)==1 % 11 qpsk_signal((i+1)/2) = exp(j*7*pi/4); elseif bsignal(i)==1 & bsignal(i+1)==0 % 10 qpsk_signal((i+1)/2) = exp(j*pi/4); 14 end end Es = std(qpsk_signal)^2; % Nang luong ky hieu N0 = Es/SNR; % Cong suat tap am % Tao nhieu Gauss noise = sqrt(N0/2)*(randn(1,length(qpsk_signal)) +j*randn(1,length(qpsk_signal))); qpsk_awgn = qpsk_signal + noise; % Cho tin hieu dieu che di qua kenh AWGN plot(qpsk_awgn,'.'); % Ve bieu chom tin hieu co nhieu title('Do thi chom khong nhieu va co nhieu voi SNR=3dB'); xlabel('I'); ylabel('Q'); hold on; plot(qpsk_signal,'r*'); % Ve bieu chom tin hieu khong nhieu plot(exp(j*[0:0.01:2*pi]),'r '); Kết quả: 15 Bài 6.3 Chạy chương trình: len = 50000; % Do dai dong bit mo phong SNR_db = 0; % SNR co don vi Decibel SNR = 10^(SNR_db/10); % Doi SNR tu Decibel sang lan bsignal = randi([0 1],1,len); % Tao dong bit ngau nhien dai len % Thuc hien dieu che QPSK for i=1:2:len if bsignal(i)==0 & bsignal(i+1)==0 % 00 qpsk_signal((i+1)/2) = exp(j*3*pi/4); elseif bsignal(i)==0 & bsignal(i+1)==1 % 01 qpsk_signal((i+1)/2) = exp(j*5*pi/4); elseif bsignal(i)==1 & bsignal(i+1)==1 % 11 qpsk_signal((i+1)/2) = exp(j*7*pi/4); elseif bsignal(i)==1 & bsignal(i+1)==0 % 10 qpsk_signal((i+1)/2) = exp(j*pi/4); end end Es = std(qpsk_signal)^2; % Nang luong ky hieu N0 = Es/SNR; % Cong suat tap am % Tao nhieu Gauss Noise = sqrt(N0/2)* (randn(1,length(qpsk_signal)) +j*randn(1,length(qpsk_signal))); qpsk_awgn = qpsk_signal + noise; % Cho tin hieu dieu che di qua kenh AWGN plot(qpsk_awgn,'.'); % Ve bieu chom tin hieu co nhieu title('Do thi chom khong nhieu va co nhieu voi SNR=0dB'); xlabel('I'); ylabel('Q'); hold on; plot(qpsk_signal,'r*'); % Ve bieu chom tin hieu khong nhieu plot(exp(j*[0:0.01:2*pi]),'r '); 16 Kết quả: Q33 Điều chế tín hiệu để làm gì? Tại phải điều chế số? Nêu vai trò chức khối điều chế thông tin số? TL: Để chuyển tín hiệu từ bang sở lên bang thơng dải với xác suất lỗi nhỏ tốc độ kênh tuyền dẫn cao Q34 Mô tả nhận xét kết mô phỏng? TL: Kết thu dạng đám mây bao quanh chòm Q35 Trong điều chế PSK, phía thu giải mã sai? TL: Khi mạch khơi phục sóng mang khơi phục tín hiệu kết hợp khơng tần số pha với sóng mang Q36 Năng lượng ký hiệu Es lượng bit Eb trường hợp bao nhiêu? 17 TL: Es = 1dB ; Eb = Es/2 = 0.5dB 18 BÀI SỐ 7: XÁC SUẤT LỖI BIT TRONG ĐIỀU CHẾ QPSK Chạy chương trình: len = 50000; % Do dai dong bit mo phong SNR_db = 0:2:8; % Tao vector SNR_db = SNR = 10.^(SNR_db/10); % Doi SNR tu Decibel sang lan bsignal = randi([0 1],1,len); % Tao dong bit ngau nhien dai len % Thuc hien dieu che QPSK for i=1:2:len if bsignal(i)==0 & bsignal(i+1)==0 % 00 qpsk_signal((i+1)/2) = exp(j*3*pi/4); elseif bsignal(i)==0 & bsignal(i+1)==1 % 01 qpsk_signal((i+1)/2) = exp(j*5*pi/4); elseif bsignal(i)==1 & bsignal(i+1)==1 % 11 qpsk_signal((i+1)/2) = exp(j*7*pi/4); elseif bsignal(i)==1 & bsignal(i+1)==0 % 10 qpsk_signal((i+1)/2) = exp(j*pi/4); end end % Tim BER mo phong for i=1:length(SNR_db) r_signal = awgn(qpsk_signal,SNR_db(i)); % Dieu che QPSK di qua nhieu AWGN for j=1:2:len % Giai dieu che tin hieu QPSK co nhieu if real(r_signal((j+1)/2))>=0 if imag(r_signal((j+1)/2))>=0 % Goc phan tu I r_bsignal(j) = 1; r_bsignal(j+1) = 0; else % Goc phan tu IV r_bsignal(j) = 1; r_bsignal(j+1) = 1; end else if imag(r_signal((j+1)/2))>=0 % Goc phan tu II r_bsignal(j) = 0; r_bsignal(j+1) = 0; else % Goc phan tu III r_bsignal(j) = 0; r_bsignal(j+1) = 1; end end end [n,BER(i)] = biterr(r_bsignal,bsignal); end Pb = 1/2*erfc(1/sqrt(2).*sqrt(SNR)); % Xac suat loi bit plot(SNR_db,Pb,'rx '); % Ve thi Pb ly thuyet title('Do thi ty le bit loi ly thuyet va mo phong'); xlabel('SNR_d_B'); ylabel('BER'); hold on; 19 plot(SNR_db,BER,'o-'); legend('Ly thuyet','Mo phong'); hold off; Kết quả: SNR 0dB 2dB 4dB 6dB 8dB Pb lý thuyết 0.1587 0.1040 0.0565 0.0230 0.0060 BER mô 0.1606 0.1043 0.0557 0.0221 0.0062 Q37 So sánh điều chế BPSK QPSK? TL: Xác suất lỗi bit điều chế BPSK QPSK tương đương nhau, nhiên BPSK có tỉ lệ lỗi bit thấp Q38 Nêu số hệ thống thực tế sử dụng kỹ thuật điều chế số QPSK TL: Hệ thống truyền tin xác 20 BÀI SỐ 8: MÔ PHỎNG ĐIỀU CHẾ M-QAM QUA KÊNH NHIỄU GAUSS Chạy chương trình: n_sym = 50000; % So ky tu dieu che M = [16 64 256]; % So symbol ky hieu SNR_db = 0:25; % Tao vector SNR = - 25 Decibel EbN0 = SNR_db; BER = zeros(length(M),length(SNR_db)); % BER de luu ti le loi bit Pe = BER; for k = 1:size(M,2) % size(M,2) la so cot cua M s_stream = randi([0 M(k)-1],1,n_sym); % Tao dong bieu tuong dai n_sym s_mod = qammod(s_stream,M(k),'GRAY'); % Dieu che M-QAM for r = 1:size(SNR_db,2) % Vong lap tinh BER s_mod_awgn = awgn(s_mod,SNR_db(r),'measured'); % Tin hieu qua nhieu s_demod = qamdemod(s_mod_awgn,M(k),'GRAY'); % Giai dieu che MQAM [num, ratio] = biterr(s_stream,s_demod); % Tinh ti le loi bit BER(k,r) = ratio; % Luu ti le loi bit vao BER EbN0(r)=SNR_db(r) - 10*log10(log2(M(k))); Pe(k,r) = berawgn(EbN0(r), 'qam', M(k)); end end semilogy(SNR_db,BER(1,:),'k+-'); % Ve thi BER ung voi M = 16 hold on; plot(SNR_db,Pe(1,:),'gx-'); semilogy(SNR_db,BER(2,:),'rs-'); % Ve thi BER ung voi M = 64 plot(SNR_db,Pe(2,:),'cd-'); semilogy(SNR_db,BER(3,:),'m*-'); % Ve thi BER ung voi M = 256 plot(SNR_db,Pe(3,:),'bo-'); grid on; title('Do thi the hien ty le va xac suat loi bit M-QAM'); xlabel('SNR_d_B and EbN0'); ylabel('BER'); legend('16-QAM-BER','16-QAM-Pe','64-QAM-BER','64-QAM-Pe','256-QAMBER','256-QAM-Pe'); hold off; 21 Kết quả: SNR= 0dB 5dB 10dB 15dB 20dB 25dB 16- BER QAM Pe 0.2881 0.1644 0.0583 0.0046 0 0.2873 0.1642 0.0590 0.0045 64- BER QAM Pe 0.3600 0.2621 0.1516 0.0645 0.0085 3.0000e-05 0.3599 0.2625 0.1525 0.0642 0.0085 3.0401e-05 256- BER QAM Pe 0.3940 0.3236 0.2366 0.1417 0.0654 0.0129 0.3954 0.3239 0.2367 0.1417 0.0654 0.0126 2.9041e-06 6.8430e-16 22 Q39 Khi số mức điều chế M tăng BER thay đổi sao? Giải thích? TL: Khi M tăng BER tăng số mức điều chế khiến tỉ lệ lỗi bit tăng Q40 Số mức điều chế M tăng lên cao có ưu nhược điểm gì? M tăng lên lớn không? Tại sao? Để đảm bảo chất lượng truyền dẫn M tăng hệ thống phải thay đổi nào? TL: M tăng giúp tốc độ bit tăng lên khiến tỉ lệ lỗi bit tăng theo M tăng có giá trị giới hạn cơng suất phát khơng thể tăng lên vơ hạn 23 ...Hà Nội, 20 21 ii PHẦN 2: CÁC BÀI THÍ NGHIỆM BÀI SỐ 1: Q TRÌNH NGẪU NHIÊN CỦA TÍN HIỆU Bài 1. 1 Chạy chương trình: x=-5:0 .1: 5; Px =1/ (sqrt (2* pi))*exp(-x. ^2/ 2); plot(x,Px); Kết quả: Q1 Mơ tả hình... 0 .26 21 0 .15 16 0.0645 0.0085 3.0000e-05 0.3599 0 .26 25 0 .1 525 0.06 42 0.0085 3.0401e-05 25 6- BER QAM Pe 0.3940 0. 323 6 0 .23 66 0 .14 17 0.0654 0.0 12 9 0.3954 0. 323 9 0 .23 67 0 .14 17 0.0654 0.0 12 6 2. 9041e-06... legend( '16 -QAM-BER', '16 -QAM-Pe','64-QAM-BER','64-QAM-Pe', '25 6-QAMBER', '25 6-QAM-Pe'); hold off; 21 Kết quả: SNR= 0dB 5dB 10 dB 15 dB 20 dB 25 dB 16 - BER QAM Pe 0 .28 81 0 .16 44 0.0583 0.0046 0 0 .28 73 0 .16 42