Title | Tntts-T20-Nguyễn Trung Kiên -2018 2617 |
---|---|
Author | chieu buonHN |
Course | Tín hiệu và hệ thống |
Institution | Trường Đại học Công nghiệp Hà Nội |
Pages | 29 |
File Size | 1.9 MB |
File Type | |
Total Downloads | 438 |
Total Views | 708 |
Download Tntts-T20-Nguyễn Trung Kiên -2018 2617 PDF
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Ố
Sinh viên
: Nguyễn Trung Kiên
MSSV
: 20182617
Lớp
: 706766
Nhóm thí nghiệm
: T20
Hà Nội, 2021
PHẦN 2: CÁC BÀI THÍ NGHIỆM BÀI SỐ 1: QUÁ 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); title ('Ham phan bo xac suat Gauss'); xlabel('x'); ylabel('P(x)');
Kết quả:
Câu hỏi:
1
2
3
Bài 1.2 Chạy chương trình: len=100000; % Do dai cua qua trinh ngau nhien 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 5 cach deu 0.1 Px=hist (x, k)/len/step; % Xac dinh so vector trong cac khoang duoc cho boi k stem (k, Px); % Ve do 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 do 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ả:
Câu hỏi:
4
5
BÀI SỐ 2: LƯỢNG TỬ HÓA TUYẾN TÍNH Lý thuyết: Hàm lquan function [indx qy] = lquan(x,xmin,xmax,nbit) nlevel = 2^nbit; % So muc luong tu hoa q = (xmax-xmin)/nlevel; % Buoc luong tu [indx qy] = quantiz(x, xmin+q:q:xmax-q,xmin+q/2:q:xmax-q/2);
Bài 2.1 Chạy chương trình: xs = rand (1,5)*2-1; [xi xq] = lquan(xs,-1,1,3)
Kết quả: xs = [0.6294 0.8116 -0.7460 0.8268 0.2647] xi = [6 7 1 7 5] xq = [0.6250 0.8750 -0.6250 0.8750 0.3750] Dòng bit được truyền: 110111001111101
Bài 2.2 Chạy chương trình: t=0:0.01:20; % Khoang thoi gian xet tu 0 den 20, cach deu 0.01 xt=sin(randn()+t).*cos(rand()*t); % Tin hieu ngau nhien co bien do -1 den 1 [inx xqt] = lquan(xt,-1,1,randi(3)+1); % Tinh xqt plot(t,xt,'b',t,xqt,'r'); % Ve do 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;
Kết quả:
6
Câu hỏi: * Số bit dùng để lượng tử hóa cho một mẫu tín hiệu là n = 3 (có 8 mức lượng tử hóa và 23 = 8) * Bước lượng tử q = 0.25 * Liệt kê tất cả các 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: 7
Chạy chương trình: N = 1000; % x_uni phan bo deu tu -1 x_uni = 2*rand(1,N)-1; den 1 x_sin = sin(linspace(1,5,N)); % tin hieu sin nbit = 1:10; % so bit luong tu tu 1 den 10 SNqR_uni = zeros(size(nbit)); % Khoi tao mang SNqR_uni va SNqR_sin chua SNqR_sin = zeros(size(nbit)); % SNqR cua tin hieu phan bo deu va tin hieu sin SNqR_lt = 6.02*nbit; % Mang chua SNqR tinh theo ly thuyet Ps_uni = sum(x_uni.^2)/N; % Cong suat tin hieu x theo (3-3) Ps_sin = sum(x_sin.^2)/N; for i = 1:size(nbit,2) % size(n,2) tra ve so cot cua n [indx_uni xq_uni] = lquan(x_uni,-1,1,nbit(i)); % Luong tu hoa tin hieu x_uni [indx_sin xq_sin] = lquan(x_sin,-1,1,nbit(i)); % Luong tu hoa tin hieu x_sin eq_uni = x_uni - xq_uni; % tinh sai so luong tu hoa x_uni eq_sin = x_sin - xq_sin; % tinh sai so luong tu hoa x_sin Pq_uni = sum(eq_uni.^2)/N; % tinh cong suat tap am luong tu x_uni Pq_sin = sum(eq_sin.^2)/N; % tinh cong suat tap am luong tu x_sin SNqR_uni(i) = 10*log10(Ps_uni/Pq_uni); % tinh SNR_db cua x_uni SNqR_sin(i) = 10*log10(Ps_sin/Pq_sin); % tinh SNR_db cua x_sin end plot(nbit,SNqR_uni,'b-'); % ve do thi SNR tin hieu phan bo deu mo phong hold on; plot(nbit,SNqR_sin,'r--'); % ve do thi SNR tin hieu sin mo phong plot(nbit,SNqR_lt,'m-.'); % Ve do thi SNR tin hieu phan bo deu ly thuyet 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ả: 8
nbit 1 2 3 4 5 6 7 8 9 10 SNqR 6.0200 12.0400 18.0600 24.0800 30.1000 36.1200 42.1400 48.1600 54.1800 60.2000 lt SNqR 6.0359 11.9612 18.0575 23.9370 30.1242 35.9460 41.9359 47.8664 54.0242 60.0546 uni SNqR 6.4171 12.8834 19.3981 25.6702 32.0389 38.1620 44.3266 50.4033 56.4544 62.5722 sin
Câu hỏi:
9
10
11
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: % Chieu dai tin hieu L = 500; 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 do 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 do tang dan acorr_x = xcorr(x); % Tinh ham tu tuong quan plot(n,acorr_x,'g--'); % Ve do thi ham tu tuong quan tin hieu co bien do 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 do thi ham tu tuong quan tin hieu hinh sin legend ('Ngau nhien','Bien do tang dan','Hinh sin') hold off;
Kết quả:
12
Câu hỏi:
Bài 4.2 Chạy chương trình: L = 50;
% Do dai tin hieu
13
N = 200; % So luong cac tan so roi rac trong khoang 0 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 0 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 do pho 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 do thi subplot(2,1,1); semilogy(w/pi,esd_x); title(' Mat do pho 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;
Kết quả:
14
Câu hỏi:
15
BÀI SỐ 5: MÃ ĐƯỜNG DÂY NRZ Bài 5 Chạy chương trình: len = 100000; % Do dai dong bit mo phong SNR_db = 0:2:8; % Tao vector SNR_db = 0 2 4 6 8 SNR = 10.^(SNR_db/10); % Doi SNR tu Decibel sang lan bsignal = randi([0 1],1,len); % Dong bit ngau nhiên do dai len NRZ_signal = bsignal*2-1; % Bien doi dòng bit 0 1 sang -1 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 do 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 do 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');
Kết quả:
16
SNR Pe Lý thuyết BER mô phỏng
0dB 0.1587 0.1581
2dB 0.1040 0.1039
4dB 0.0565 0.0561
6dB 0.0230 0.0227
8dB 0.0060 0.0063
Câu hỏi:
17
18
19
BÀI SỐ 6: KỸ THUẬT ĐIỀU CHẾ SỐ QPSK Bài 6 Chạy chương trình: % Do dai dong bit mo phong len = 50000; 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 do 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 do chom sao tin hieu co nhieu title('Do thi chom sao 4-QPSK'); xlabel('I'); ylabel('Q'); hold on; plot(qpsk_signal,'r*'); % Ve bieu do chom sao tin hieu khong nhieu plot(exp(j*[0:0.01:2*pi]),'r--');
Kết quả: 20
+ Trường hợp SNR = 0 dB
+ Trường hợp SNR = 3 dB
+ Trường hợp SNR = 6 dB 21
Câu hỏi:
22
BÀI SỐ 7: XÁC SUẤT LỖI BIT TRONG ĐIỀU CHẾ QPSK Bài 7 Chạy chương trình: % Do dai dong bit mo phong len = 50000; SNR_db = 0:2:8; % Tao vector SNR_db = 0 2 4 6 8 SNR = 10.^(SNR_db/10); % Doi SNR tu Decibel sang lan bsignal = randi([0 1],1,len); % Tao dong bit ngau nhien do 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
23
if imag(r_signal((j+1)/2))>=0 r_bsignal(j) = 1; r_bsignal(j+1) = 0; else r_bsignal(j) = 1; r_bsignal(j+1) = 1; end
% Goc phan tu I
if imag(r_signal((j+1)/2))>=0 r_bsignal(j) = 0; r_bsignal(j+1) = 0; else
% Goc phan tu II
% Goc phan tu IV
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 do 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 do thi BER mo phong legend('Ly thuyet','Mo phong'); hold off;
Kết quả:
24
SNR Pb Lý thuyết BER mô phỏng
0dB 0.1587 0.1567
2dB 0.1040 0.1073
4dB 0.0565 0.0556
6dB 0.0230 0.0234
8dB 0.0060 0.0065
Câu hỏi:
25
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: % So ky tu dieu che n_sym = 50000; M = [16 64 256]; % So symbol ky hieu SNR_db = 0:25; % Tao vector SNR = 0 - 25 Decibel BER = zeros(length(M),length(SNR_db)); % BER de luu ti le loi bit EbN0 =SNR_db; 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 do 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 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\ EbN0(r)=10^(SNR_db(r)/20); Pe(k,r)=berawgn(EbN0(r),'qam',M(k)); end end semilogy(SNR_db,BER(1,:),'bo-'); % Ve do thi BER ung voi M = 16 hold on; plot(EbN0,Pe(1,:),'bo-'); semilogy(SNR_db,BER(2,:),'rs-');% Ve do thi BER ung voi M = 64 plot(EbN0,Pe(2,:),'rs-'); semilogy(SNR_db,BER(3,:),'m*-'); M = 256 plot(EbN0,Pe(3,:),'m*-');
% Ve do thi BER ung voi
grid on; title('Do thi the hien ty le loi bit M-QAM'); xlabel('SNR_d_B'); ylabel('BER'); legend('16-QAM','64-QAM','256-QAM'); hold off;
26
Kết quả:
27
SNR=0dB 16QAM
BER:0.2875
SNR=15dB
SNR=20dB
SNR=25dB
0.0594
0.0047
0.0000
0
0.1024
0.0743
0.0328
0.0018
0.0000
0.2620
0.1528
0.0640
0.0084
0
0.1615
0.1341
0.0901
0.0265
0.0000
BER:0.3962
0.3240
0.2375
0.1421
0.0649
0.0125
Pe: 0.2361
0.2213
0.1945
0.1479
0.0786
0.0041
BER:0.3602 Pe : 0.1779
256QAM
SNR=10dB
0.1646
Pe : 0.1190 64QAM
SNR=5dB
Câu hỏi:
28...