1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo thí nghiệm thông tin số et3250 viết chương trình matlab vẽ hàm mật độ xác suất của phân phối chuẩn

22 3 0
Tài liệu đã được kiểm tra trùng lặp

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo Cáo Thí Nghiệm Thông Tin Số Et3250 Viết Chương Trình Matlab Vẽ Hàm Mật Độ Xác Suất Của Phân Phối Chuẩn
Tác giả Nguyễn Văn Bình
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Thông Tin Số
Thể loại báo cáo thí nghiệm
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 22
Dung lượng 749,88 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 HỌC THƠNG TIN SỐ Sinh viên :Nguyễn Văn Bình MSSV : 20182382 Lớp : Điện tử 04 – K63 Mã lớp thí nghiệm : 706763 Hà Nội, 2021 download by : skknchat@gmail.com BÀI SỐ 1: MÔ PHỎNG NHIỄU GAUSS Bài 1.1: Yêu cầu: Viết chương trình Matlab vẽ hàm mật độ xác suất phân phối chuẩn Bài làm: -Code: x=-5:0.1:5; Px=exp(-x.^2/2)/sqrt(2*pi); plot(x,Px); title('Ham phan phoi xac suat Gauss'); xlabel('x'); ylabel('P(x)'); -Đồ thị kết quả: download by : skknchat@gmail.com bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan Bài 1.2: Yêu cầu: Vẽ đồ thị hàm phân phối lý thuyết (Bài 1.1) mô đồ thị Bài làm: -Code: len=100000; % Độ dài trình ngẫu nhiên x=randn(1,len); % Tạo trình ngẫu nhiên theo phân phối chuẩn step=.1; % step = 0.1 k=-5:step:5; % Khoảng xét từ -5 den 5, cách 0.1 Px=hist(x,k)/len/step; cho vecto k stem(k,Px); % Tính số vecto khoảng % Vẽ đồ thị rời rạc dùng hàm stem Px_lythuyet=exp(-k.^2/2)/sqrt(2*pi); % Vẽ đồ thị hàm phân bố xác suất lý thuyết hold on; plot(k,Px_lythuyet); thuyết % Vẽ đồ thị hàm phân bố xác suất lý title('Phan bo xac suat Gauss'); xlabel('x'); ylabel('P(x)'); legend('Ly thuyet','Mo phong'); hold off; bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan download by : skknchat@gmail.com bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan -Đồ thị kết quả: BÀI SỐ 2: KỸ THUẬT LƯỢNG TỬ HĨA TUYẾN TÍNH Lý thuyết: 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) Bài 2.1: Yêu cầu: Sử dụng hàm lquan để thực lượng tử hóa tín hiệu Code: xs = rand(1,5)*2-1 [xi xq] = lquan(xs,-1,1,3) bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan download by : skknchat@gmail.com bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan Số liệu kết quả: xs = 0.8238 -0.1516 0.0984 -0.4236 -0.4741 xi = 2 xq = 0.8750 -0.1250 0.1250 -0.3750 -0.3750 Bài 2.2: Yêu cầu: Vẽ đồ thị tín hiệu xt xqt đồ thị Bài làm: -Code: t=0:0.01:20; 0.01 % Khoang thoi gian xet tu den 20, cach deu xt=sin(randn()+t).*cos(rand()*t); % Tin hieu ngau nhien co bien -1 den [inx xqt] = lquan(xt,-1,1,randi(3)+1); plot(t,xt,'b',t,xqt,'r'); % Tinh xqt % 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; bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan download by : skknchat@gmail.com bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan -Đồ thị kết quả: BÀI SỐ 3: TẠP ÂM LƯỢNG TỬ TRONG KỸ THUẬT LƯỢNG TỬ HÓA TUYẾN TÍNH Bài 3: u cầu: - Tính SNqR vẽ đồ thị mối quan hệ SNqR số bit lượng tử hóa nbit lấy giá trị từ đến 10 trường hợp - Điền kết mô vào bảng - Vẽ đồ thị hệ tỷ số SNqR mô lý thuyết với số bit mã hóa n trường hợp đồ thị, có thích Bài làm: -Code: bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan download by : skknchat@gmail.com bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan N = 1000; x_uni = 2*rand(1,N)-1; % x_uni phân bố từ -1 den x_sin = sin(linspace(1,5,N)); % Tín hiệu sin nbit = 1:10; % Số bit lượng tử từ đến 10 SNqR_uni = zeros(size(nbit)); SNqR_sin chứa % Khởi tạo mảng SNqR_uni va SNqR_sin = zeros(size(nbit)); tín hiệu sin % SNqR tín hiệu phân bố SNqR_lt = 6.02*nbit; thuyết % Mảng chứa SNqR tính theo lý Ps_uni = sum(x_uni.^2)/N; (3-3) % Cơng suất tín hiệu x theo Ps_sin = sum(x_sin.^2)/N; for i = 1:size(nbit,2) n % size(n,2) trả số cột [indx_uni xq_uni] = lquan(x_uni,-1,1,nbit(i)); hóa tín hiệu x_uni % Lượng tử [indx_sin xq_sin] = lquan(x_sin,-1,1,nbit(i)); hóa tín hiệu x_sin % Lượng tử eq_uni = x_uni - xq_uni; x_uni % Tính sai số lượng tử hóa eq_sin = x_sin - xq_sin; x_sin % Tính sai số lượng tử hóa Pq_uni = sum(eq_uni.^2)/N; lượng tử x_uni % Tính công suất tạp âm Pq_sin = sum(eq_sin.^2)/N; lượng tử x_sin % Tính cơng suất tạp âm SNqR_uni(i) = 10*log10(Ps_uni/Pq_uni); x_uni % Tính SNR_db SNqR_sin(i) = 10*log10(Ps_sin/Pq_sin); x_sin % Tính SNR_db end plot(nbit,SNqR_uni,'b-'); mơ % Vẽ đồ thị SNR tín hiệu phân bố bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan download by : skknchat@gmail.com bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan hold on; plot(nbit,SNqR_sin,'r '); % Vẽ đồ thị SNR tín hiệu sin mơ plot(nbit,SNqR_lt,'m-.'); lý thuyết % Vẽ đồ thị SNR tín hiệu phân bố title('Do thi SN_qR theo nbit'); xlabel('nbit'); ylabel('SN_qR'); legend('Phan bo deu','Hinh sin','Ly thuyet'); grid on; hold off; -Đồ thị kết quả: bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan download by : skknchat@gmail.com bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan -Bảng số liệu kết quả: nbit SNqR_lt 6.02 12.0 00 400 18.06 00 24.0 800 30.1 000 36.1 200 42.14 48.1 54.1 00 600 800 60.2 000 SNqR_uni 5.84 11.8 516 415 17.93 03 23.8 322 29.9 208 35.9 878 42.14 47.8 54.0 43 473 430 59.9 831 SNqR_sin 6.41 12.8 71 834 19.39 81 25.6 702 32.0 389 38.1 620 44.32 50.4 56.4 66 033 544 62.5 722 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: Bài làm: -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); ngau nhien % Ve thi ham tu tuong quan tin hieu 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,'m '); co bien tang dan % Ve thi ham tu tuong quan tin hieu bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan download by : skknchat@gmail.com 10 bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan 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*'); hinh sin % Ve thi ham tu tuong quan tin hieu legend('Ngau nhien','Bien tang dan','Hinh sin') hold off; -Đồ thị kết quả: Bài 4.2: -Code: L = 50; % Do dai tin hieu N = 200; 2*pi % So luong cac tan so roi rac khoang den 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 bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan download by : skknchat@gmail.com bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan fx = freqz(x,1,w); so roi rac % Bien doi Fourier cua x tai cac tan esd_x = fx.*conj(fx); % Tinh ham mat nang luong acorr_x = xcorr(x); x % Tinh ham tu tuong quan cua tin hieu 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; -Đồ thị kết quả: bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan download by : skknchat@gmail.com bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan BÀI SỐ 5: MÃ ĐƯỜNG DÂY NRZ Bài 5: -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); len % Dong bit ngau nhiên dai 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); ti so SNR(i) r_signal = NRZ_signal + noise; NRZ + noise NRZ_decoded = sign(r_signal); thu duoc % Tao tap am noise voi % Tin hieu thu duoc = % Giai ma tin hieu NRZ [n,BER(i)] = symerr(NRZ_decoded,NRZ_signal); suat loi % Tinh xac end plot(SNR_db,BER,'bo '); % Ve thi title('Ty le bit loi'); xlabel('SNR_d_B'); ylabel('BER'); bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan download by : skknchat@gmail.com bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan -Đồ thị kết quả: -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); len % Dong bit ngau nhiên dai 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); ti so SNR(i) % Tao tap am noise voi r_signal = NRZ_signal + noise; NRZ + noise % Tin hieu thu duoc = NRZ_decoded = sign(r_signal); thu duoc % Giai ma tin hieu NRZ [n,BER(i)] = symerr(NRZ_decoded,NRZ_signal); suat loi % Tinh xac bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan download by : skknchat@gmail.com bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan end plot(SNR_db,BER,'bo '); % Ve thi BER Pe = 1/2*(1-erf(sqrt(SNR)/sqrt(2))); thuyet % Xac suat loi theo ly 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'); -Đồ thị kết quả: -Bảng số liệu kết quả: SNR 0dB 2dB 4dB 6dB 8dB Pe lý thuyết 0.1587 0.1040 0.0565 0.0230 0.0060 BER mô 1.1579 0.1031 0.0568 0.0228 0.0059 bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan download by : skknchat@gmail.com bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan BÀI SỐ 6: KỸ THUẬT ĐIỀU CHẾ SỐ QPSK Bài 6: -Code: 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); dai len % Tao dong bit ngau nhien % 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,'.'); hieu co nhieu % Ve bieu chom tin title('Do thi chom 4-QPSK'); bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan download by : skknchat@gmail.com bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan xlabel('I'); ylabel('Q'); hold on; plot(qpsk_signal,'r*'); hieu khong nhieu % Ve bieu chom tin plot(exp(j*[0:0.01:2*pi]),'r '); - Đồ thị kết quả: + Trường hợp SNR=0dB: + Trường hợp SNR=3dB: bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan download by : skknchat@gmail.com bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan + Trường hợp SNR=6dB: bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan download by : skknchat@gmail.com bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan BÀI SỐ 7: XÁC SUẤT LỖI BIT TRONG ĐIỀU CHẾ QPSK Bài 7: -Code: 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); dai len % Tao dong bit ngau nhien % 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; bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan download by : skknchat@gmail.com bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan 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)); plot(SNR_db,Pb,'ro '); thuyet % Xac suat loi bit % Ve thi Pb ly title('Do thi ty le bit loi ly thuyet va mo phong'); xlabel('SNR_d_B'); ylabel('BER'); hold on; plot(SNR_db,BER); phong % Ve thi BER mo legend('Ly thuyet','Mo phong'); hold off; bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan download by : skknchat@gmail.com bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan -Đồ thị kết quả; -Bảng số liệu 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.1567 0.1073 0.0556 0.0234 0.0065 bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan download by : skknchat@gmail.com bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan BÀI SỐ 8: MÔ PHỎNG ĐIỀU CHẾ M-QAM QUA KÊNH NHIỄU GAUSS Bài 8.1: -Code: 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)); bit for k = 1:size(M,2) % BER de luu ti le loi % size(M,2) la so cot cua M s_stream = randi([0 M(k)-1],1,n_sym); tuong dai n_sym % Tao dong bieu 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'); dieu che M-QAM [num ratio] = biterr(s_stream,s_demod); loi bit BER(k,r) = ratio; % Giai % Tinh ti le % Luu ti le loi bit vao BER end end semilogy(SNR_db,BER(1,:),'bo-'); = 16 % Ve thi BER ung voi M hold on; semilogy(SNR_db,BER(2,:),'rs-'); = 32 % Ve thi BER ung voi M bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan download by : skknchat@gmail.com bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan bao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuanbao.cao.thi.nghiem.thong.tin.so.et3250.viet.chuong.trinh.matlab.ve.ham.mat.do.xac.suat.cua.phan.phoi.chuan

Ngày đăng: 03/01/2024, 00:58

w