Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
606,42 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 MÔN: THÔNG TIN SỐ Mã học phần Sinh viên MSSV Lớp : ET3250 : Đặng Văn Khương : 20182612 : DTVT 02 Mã lớp thí nghiệm : 713391 Hà Nội, 2022 Bài số : Mô nhiễu Gauss Bài 1.1 Viết chương trình matlab vẽ hàm mật độ xác suất phân phối chuẩn hoá +) Code: x=-5:0.02:5; P= exp(-x.*x/2)/sqrt(2*pi); plot(x,P); title('Ham phan bo xac suat Gauss'); xlabel('x'); ylabel('P'); +) Hiển thị: Câu hỏi: Mơ tả hình dáng đồ thị hàm P(x) (là hình gì)? Giải thích? - Đồ thị P(x) có hình dạng chng Đó hàm P(x) biểu thị theo số tự nhiên e Ý nghĩa ứng dụng hàm phân phối xác suất Gauss thông tin số - Hàm phân phối xác suất Gauss thông tin số cho biết mật độ lượng thông tin khoảng giá trị xác định 3 Nếu thay đổi kỳ vọng µ phương sai 𝜎2 P(x) thay đổi (cụ thể đồ thị thay đổi nào?) Giải thích? - Nếu tăng kỳ vọng µ phương sai 𝜎2 đặc trưng hàm lũy thừa đồ thị P(x) tràn xa lệch sang phía bên phát Bài 1.2. Sử dụng hàm randn của matlab tạo quá trình ngẫu nhiên với độ dài 100000 phần tử +) Code : m=0; s=1; x1 = -5:0.02:5; P = exp(-(x1-m).^2/2*s^2)/(sqrt(2*pi)*s); plot(x1,P,'r');% Ve ham phan bo voi m =0, s=1 n = randn(1, 100000); m = mean(n); x2 = -5:0.1:5; c = hist(n,x2); hold on; stem(x2, c/100000/(x2(2)-x2(1))); title('Ham phan bo xac suat'); xlabel('x'); ylabel('P(x)'); hold off +) Hiển thị : Câu hỏi : Nêu nhận xét kết hai hàm mơ phịng lý thuyết? - Hàm mơ tương đồng với tính tốn lý thuyết Thay đổi độ dài trình ngẫu nhiên 1.2 tập 1.2 lên 1.000.000 phần tử So sánh kết kết cũ? Giải thích? - Hàm mơ “mịn” hàm phân phối mô tả giá trị ngẫu nhiên nên nhiều phép thử xác Câu lệnh “px=hist(x,k)/len/step;”? Tại phải chia len step? - Chia cho len để tạo đường nét liền - Chia cho step để tăng độ dài phần tử Bài số : kĩ thuật lượng tử hố tuyến tính Bài 2.1 Hàm lquan function [id qy]= lquan(x,xmin,xmax,nbit) nlevel = 2^nbit; % So muc luong tu hoa q = (xmax-xmin)/nlevel; % Buoc luong tu [id qy] = quantiz(x,xmin+q:q:xmax-q,xmin+q/2:q:xmax-q/2); xs = rand(1,5)*2-1; [xi xq] = lquan(xs,-1,1,3) Câu hỏi : Dòng lệnh sử dụng: [xi xq] = lquan(xs, -1, -1, 3) xs = [-0.6671, -0,3500, -0.7871, -0.7231, -0.3599] Xi = [1, 2, 7, 1, 2] 10 Xq = [-0.625, -0.375, -0,6250, -0.3750] 11 Dịng bít truyền 0 0 1 0 0 Bài 2.2 +) Code: t=0:0.01:20; % Khoang thoi gian xet tu den 20, cach deu 0.01 xt=sin(randn()+t).*cos(rand()*t); % Tin hieu ngau nhien co bien -1 den [inx xqt] = lquan(xt,-1,1,randi(3)+1); % Tinh xqt plot(t,xt,'b',t,xqt,'r'); % Ve thi xt va xqt grid on; title('Do thi cua tin hieu x(t) va x_q(t)'); xlabel('t'); legend('x(t)','x_q(t)'); hold off; +) Đồ thị: 12, Số bit dùng để lượng tử hóa cho mẫu tín hiệu n = (có mức lượng tử hóa 23 = 8) 13, Bước lượng tử q = 0.25 14, Liệt kê tất mức lượng tử: 0.875, 0.625, 0.375, 0.125, -0.125, -0.375, -0.625, -0.875 BÀI SỐ 3: TẠP ÂM LƯỢNG TỬ HĨA TRONG KỸ THUẬT LƯỢNG TỬ HĨA TUYẾN TÍNH Bài 3: Chạy chương trình: N = 1000; x_uni = 2*rand(1,N)-1; x_sin = sin(linspace(1,5,N)); nbit = 1:10; SNqR_uni = zeros(size(nbit)); SNqR_sin = zeros(size(nbit)); SNqR_lt = 6.02*nbit; Ps_uni = sum(x_uni.^2)/N; Ps_sin = sum(x_sin.^2)/N; for i = 1:size(nbit,2) [indx_uni xq_uni] = lquan(x_uni,-1,1,nbit(i)); [indx_sin xq_sin] = lquan(x_sin,-1,1,nbit(i)); eq_uni = x_uni - xq_uni; eq_sin = x_sin - xq_sin; Pq_uni = sum(eq_uni.^2)/N; Pq_sin = sum(eq_sin.^2)/N; SNqR_uni(i) = 10*log10(Ps_uni/Pq_uni); SNqR_sin(i) = 10*log10(Ps_sin/Pq_sin); end plot(nbit,SNqR_uni,'b-'); hold on; plot(nbit,SNqR_sin,'r '); plot(nbit,SNqR_lt,'m-.'); title('Do thi SN_qR theo nbit'); xlabel('nbit'); ylabel('SN_qR'); legend('Phan bo deu','Hinh sin','Ly thuyet'); grid on; hold off; Kết quả: nbit SNqR lý thuyết 6.020 0 12.04 00 18.06 00 24.080 SNqR mô phỏng(pb đều) 6.122 17 12.05 90 18.01 25 SNqR mô phỏng(pb sin) 6.417 12.88 34 19.39 81 10 30.100 36.12 00 42.14 00 48.16 00 54.18 00 60.200 23.937 29.914 36.23 82 42.03 80 54.23 33 52.12 55 59.932 25.670 32,038 38.16 20 44.32 66 50.40 33 56.45 44 62.572 Câu hỏi : 17 Khi n tăng lên giá trị SNqR thay đổi nào? Tại sao? - Giá trị SNqR tăng thêm 6.02 lần theo cơng thức SNqR = 6.02n 18 Giải thích SNqR phụ thuộc vào n, không phụ thuộc vào kích thước bước lượng tử dải biên độ lưỡng tử? - Theo cơng thức tính SNqR = 6.02n\ 19 Khi thay tín hiệu x tín hiệu điều hịa giá trị SNqR thay đổi so với tín hiệu x phân bố nào? - SNqR tín hiệu điều hịa có giá trị lớn SNqR tín hiệu phân bố khơng Bài số 4: Mật độ phổ lượng hàm tự tương quan tín hiệu Bài 4.1 + Code: 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,'g '); % 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; + Hiển thị : Ham tu tuong quan 600 Ngau nhien Bien tang dan Hinh sin 500 400 rxx 300 200 100 -100 -200 -500 -400 -300 -200 -100 100 200 300 400 500 n + Trả lời câu hỏi: 21 Đồ thị hàm tương quan trường hợp tổng qt ln có biên độ tăng dần 22 Giá trị cực đại hàm tự tương quan nằm gốc đồ thị 23 Hàm tự tương quan trường hợp tín hiệu khác khác Bài 4.2: + Code: 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('\omega'); ylabel('S(e^j^\omega)') hold on; subplot(2,1,2); semilogy(w/pi,real(ft_acorr_x),'r'); xlabel('\omega'); ylabel('R_x_x(e^j^\omega)'); hold off; + Hiển thị : Mat nang luong S(ej ) 105 100 10-5 0.2 0.4 0.6 0.8 1.2 1.4 1.6 1.8 0.2 0.4 0.6 0.8 1.2 1.4 1.6 1.8 Rxx(e j ) 105 100 10-5 + Trả lời câu hỏi: 24 Phổ biên độ rời rạc tín hiệu có đặc điểm gì? Giải thích? - Đối xứng qua trục có n=1 theo cơng thức FT DFT Phụ thuộc vào hàm e x (L−1) => L-1=0 => đối xứng qua n=1 25.So sánh đồ thị phổ biên độ esd_x ft_acorr_x - Phổ biên độ giống 26 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? - Vì cách dùng biến đổi FT, cách dùng biến đổi DFT 27 Phải chọn N tối thiểu để kết mô xác? Tại sao? - Chọn N tối thiểu 104 N > 21 N ⋮ 28 Ý nghĩa ứng dụng định lý Weiner-Khintchine thông tin số? - Phổ hàm mật độ phổ lượng tín hiệu thể phân bố lượng tín hiệu Bài 5.1 Bài số : Mã đường dây NRZ + Code : 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 BER Pe = 1/2*(1-erf(sqrt(SNR)/sqrt(2))); % Xac suat loi theo ly thuyet hold on; plot(SNR_db,Pe,'r* '); % Ve thi Pe title('Do thi ty le bit loi theo ly thuyet va mo phong'); xlabel('SNR_d_B'); ylabel('BER'); + Hiển thị : Ty le bit loi 0.16 0.14 0.12 BER 0.1 0.08 0.06 0.04 0.02 0 SNRdB + Code : 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 BER Pe = 1/2*(1-erf(sqrt(SNR)/sqrt(2))); % Xac suat loi theo ly thuyet hold on; plot(SNR_db,Pe,'r* '); % 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'); + Hiển thị : Do thi ty le bit loi theo ly thuyet va mo phong 0.16 Mo phong Ly thuyet 0.14 0.12 BER 0.1 0.08 0.06 0.04 0.02 0 SNRdB 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.1049 0.0554 0.0231 0.0061 + Trả lời câu hỏi: 29 Giải thích phải sử dụng mã đường dây? Mã đường dây sử dụng trường hợp nào? - Mã đường dây có tác dụng chuyển phổ tín hiệu - Hỗ trợ q trình đồng đồng hồ có khả kiểm soát lỗi 30 Khi tỷ số SNR tang thig xác suất lỗi thay đổi nào? Giải thích? So sánh với kết đồ thị? - Giảm đại lương tỷ lệ nghịch 31 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? - Đó trường hợp khơng mang dấu có loại tín hiệu NRZ đơn cực NRZ lưỡng cự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 theo lý thuyết Từ rút kết luận gì? - Kết thu dược giống với lý thuyết BÀI SỐ 6: KỸ THUẬT ĐIỀU CHẾ SỐ QPSK Bài 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 4-QPSK'); 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ả: + Trường hợp SNR = dB + Trường hợp SNR = dB + Trường hợp SNR = dB Trả lời câu hỏi : 33 Điềun 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ố? - Điều chế tín hiệu để đưa thơng tin cần truyền xa Khối điều chế có vai trị quan trọng, có nhiệm vụ làm trung gian q trình xử lý tín hiệu để truyền 34 Mơ tả kết mơ phỏng? Giải thích? - KQ mơ tín hiệu thu dạng chum Do 4QPSK nên có điểm lệch 90 độ 35 Trong điều chế PSK, phía thu giải mã sai? 36 Năng lương ký hiệu Es lượng bit Eb trường hợp bao nhiêu? Tại sao? - Es = 3dB theo CT Es = N.SQR BÀI SỐ 7: XÁC SUẤT LỖI BIT TRONG ĐIỀU CHẾ QPSK Bài 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,'ro '); % 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; plot(SNR_db,BER); % Ve thi BER mo phong legend('Ly thuyet','Mo phong'); hold off; Kết quả: SNR 0dB 2dB 4dB 6dB 8dB Pb lý thuyết 0.1588 0.1039 0.0563 0.0230 0.0061 BER mô 0.1607 0.1042 0.0555 0.0220 0.0063 Trả lời câu hỏi: 37 So sánh điều chế BPSK QPSK? - Xác suất lỗi bit tương đương QPSK có tỷ lệ lỗi thấp - QPSK điều chế phụ trực giao mã hóa bit thành - BPSK điều chế pha nhị phân, điều chế tín hiệu số 0, lệch pha 180 độ 38 Nêu số hệ thống thực tế sử dụng kỹ thuật điều chế số QPSK? - Hệ thống OFDM - Hệ thống truyền tin nước BÀI SỐ 8: MÔ PHỎNG ĐIỀU CHẾ M-QAM QUA KÊNH NHIỄU GAUSS Bài 8.1 Chạy chương trình: n_sym = 50000; % So ky tu dieu che M = [16 32 64]; % So symbol ky hieu SNR_db = 0:25; % Tao vector SNR = - 25 Decibel BER = zeros(length(M),length(SNR_db)); % BER de luu ti le loi bit 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),0,'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),0,'GRAY'); % Giai dieu che M-QAM [num ratio] = biterr(s_stream,s_demod); % Tinh ti le loi bit BER(k,r) = ratio; % Luu ti le loi bit vao BER end end semilogy(SNR_db,BER(1,:),'bo-'); % Ve thi BER ung voi M = 16 hold on; semilogy(SNR_db,BER(2,:),'rs-'); % Ve thi BER ung voi M = 32 semilogy(SNR_db,BER(3,:),'m*-'); % Ve thi BER ung voi M = 64 grid on; title('Do thi the hien ty le loi bit M-QAM'); xlabel('SNR_d_B'); ylabel('BER'); legend('16-QAM','32-QAM','64-QAM'); hold off; Kết quả: SNR= 16-QAM SNR=0dB SNR=5dB SNR=10dB SNR=15dB SNR=20dB SNR=25dB BER 0.2868 0.1631 0.0596 0.0046 0 PE 64-QAM 256-QAM 0.1409 0.0419 0.0018 0 BER 0.3599 0.2631 0.1166 0.1528 0.0086 Pe 0.1998 0.1008 0.0265 0.0008 BER 0.3950 Pe 0.2456 0.3240 0.1593 0.2369 0,0786 0.1412 0.0198 0.0654 0.0005 0 0.0124 Trả lời câu hỏi : 39 Khi số mức điều chế M tăng BER thay đổi nào? Giải thích? - M tang BER tăng Vì số mức điều chế tang BER tang 40 Số mức điều chế M tang lên cao có ưu nhược điểm gì? M tăng lên lớn khơng? Vì sao? - M tăng lên cao truyền nhiều bit công suất tỷ lệ lỗi bit tăng ...Bài số : Mô nhiễu Gauss Bài 1.1 Viết chương trình matlab vẽ hàm mật độ xác suất phân phối chuẩn hoá +) Code: x=-5:0.02:5; P= exp(-x.*x/2)/sqrt(2*pi);... nghĩa ứng dụng hàm phân phối xác suất Gauss thông tin số - Hàm phân phối xác suất Gauss thông tin số cho biết mật độ lượng thông tin khoảng giá trị xác định 3 Nếu thay đổi kỳ vọng µ phương sai... ylabel('P'); +) Hiển thị: Câu hỏi: Mơ tả hình dáng đồ thị hàm P(x) (là hình gì)? Giải thích? - Đồ thị P(x) có hình dạng chng Đó hàm P(x) biểu thị theo số tự nhiên e Ý nghĩa ứng dụng hàm phân phối xác suất