Bài tập lớn Báo cáo cuối môn học Mô học Mô phỏng hệ thống truyền thông Học viện công nghệ bưu chính viễn thông PTIT D14VT Giảng viên: Ngô Thị Thu Trang Mô Phỏng mã hóa PCM Mô phỏng kênh AWGN Giải thích code Chạy và đưa ra kết quả Chương trình matlab
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA VIỄN THƠNG BÀI TẬP LỚN Mơn: MƠ PHỎNG HỆ THỐNG TRUYỀN THƠNG Giảng viên: Ngơ Thị Thu Trang Vũ Văn Cường – D14VT03 MSV- B14DCVT185 Hà Nội, 2017 Nội dung I Nhiệm vụ Chương trình mô 1.1 Tín hiệu đầu vào 1.2 Qúa trình nén 1.3 Quá trinh giải nén .5 1.4 Q trình lượng tử hóa mã hóa PCM 1.5 Giải mã PCM 1.6 Vẽ tín hiệu sau giải mã 1.7 Vẽ phổ 1.8 Xác định sai số Chạy đưa kết 2.1 Tín hiệu đầu vào 2.2 Quá trình nén 2.3 Mã hóa PCM 2.4 Giải mã PCM 2.5 Giải nén .9 2.6 Biểu diễn sai số 10 Nhận xét 10 II Nhiệm vụ 11 Chương trình mơ 11 1.1 Chương trình 11 1.2 Bộ lọc butterwflt 12 1.3 Kênh AWGN .12 1.4 Bộ chuyển chuỗi bit thành mã đường AMI 12 Kết mô 13 I Nhiệm vụ Mơ q trình PCM bít cho tín hiệu tương tự, tín hiệu tương tự đầu vào mô tả công thức sau: Với [1, 2, 1], 1000Hz,8000Hz,5000Hz Cụ thể: Tín hiệu tương tự Bộ nén Bộ lượng tử hóa Bộ mã hóa Chuỗi bit Sơ đồ khối q trình nén luật µ(255) điều chế PCM Các bước thực hiện: Bước 1: Nén biên độ tín hiệu theo luật µ(255) Tần số lấy mẫu fs = 4fmax = 4.8000 = 32000(Hz).Ta y(t) tín hiệu nén x(t) Bước : Lượng tử hóa tín hiệu vừa nén y(t) Với bit/mức => ta có 2^8=256 mức Bước : Mã hóa mức phương pháp điều mã xung PCM Tín hiệu sau PCM khối code bit Chương trình mơ 1.1 Tín hiệu đầu vào function [x] = tinhieuvao(f1,f2,f3) %f1,f2,f3 tần số theo MSV ( MSV = 185) fs=32000; % Tần số lấy mẫu lần tần số max ( max = 8000hz) Ts=1/fs; t=0:Ts:3/f1; x1=cos(2*pi*f1*(t+t.^2)); x2=2*cos(2*pi*f2*(t-t.^2)); x3=cos(2*pi*f3*(t+t.^2)); x=x1+x2+x3; plot(t,x) title('Tin Hieu Tuong Tu'); xlabel('Time(s)'); ylabel('Amplitude'); grid on; 1.2 Qúa trình nén function [y,amax] = mulaw(x,mu)%Hàm nén %x- Chuỗi tín hiệu đầu vào %mu-Tham số nén nén mu=255 %out-Chuỗi tín hiệu đầu nén amax = max(abs(x)); % Biên độ cực đại tín hiệu vào xn = x/amax; % Chuẩn hóa tín hiệu vào y = sign(x).*log(1+mu*abs(xn))/log(1+mu); y = y*amax;%Tín hiệu end 1.3 Quá trinh giải nén function [ out ] = GiaiNen( in ) %Giải nén tín hiệu %in Là tín hiệu đưa vào giải nén %Sử dụng nén theo luật mu voi hệ số mu = 255 mu=255; V = max(in); %Biên độ lớn tín hiệu out = compand(in,mu,V,'mu/expander'); %Nen TH theo mu end 1.4 Q trình lượng tử hóa mã hóa PCM function [code,vq] = uniform_pcm(x,M) % x = y – Đầu giải nén % M = Số mức lượng tử M=32 % code = Mã đầu % vq = Tín hiệu lượng tử trước mã hóa Nb = log2(M); Amax = max(abs(x)); delta = 2*Amax/(M-1); Mq = -Amax:delta:Amax; Ml = 0:M-1; vq = zeros(size(x)); xcode = vq; for k = 1:M ind = find(x > Mq(k)-delta/2 & x