Học Viện Công Nghệ Bưu Chính Viễn
Thông
MÔ PHỎNG HỆ THỐNG TRUYỀN
THÔNG
BÀI TẬP
LỚN
Giảng viên
Trang
: Ngô Thị Thu
Sinh viên :
Lớp
: D14CQVT3
November 2017
MỤC LỤC
I. MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN TÍN HIỆU TƯƠNG TỰ....1
I.1. Mô tả hệ thống mô phỏng và các tham số được sử dụng trong mô phỏng........................1
I.2. Kết quả mô phỏng và nhận xét đánh giá................................................................................1
I.3. Mã chương trình..................................................................................................................11
II. MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN SỐ............................13
II.1. Mô tả hệ thống mô phỏng và các tham số được sử dụng trong mô phỏng.....................13
II.2. Kết quả mô phỏng và nhận xét đánh giá............................................................................13
II.3. Mã chương trình.................................................................................................................18
MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN TÍN HIỆU TƯƠNG TỰMÔ PHỎNG HỆ THỐNG TRUYỀN
DẪN TÍN HIỆU TƯƠNG TỰ
1
I. MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN TÍN HIỆU
TƯƠNG TỰ
I.1. Mô tả hệ thống mô phỏng và các tham số được sử dụng trong
mô phỏng
a, Sơ đồ hệ thống
Tín hiệu
tương tự
Bộ lượng tử
hóa đều
Bộ nén biê
độ
Bộ mã hóa
b, Các tham số mô phỏng
3
Tín hiệu tương tự:
s(t ) Ak cos(2 fk (t ( 1)k 1 t 2 ))
k 1
Mã SV B14DCVT077, vậy theo đề bài có f1 0 Hz, f2 7Hz, f3 7 Hz
Đề bài cho: Ai lần lượt là [1, 2, 1]
Điều biến mã xung PCM:
Sử dụng kỹ thuật nén – dãn theo luật = 255
Tần số lấy mẫu f s 4* f k max = 4*7 =28 Hz
I.2. Kết quả mô phỏng và nhận xét đánh giá
a, Kết quả mô phỏng
Chuỗi bit
MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN SỐMÔ PHỎNG HỆ THỐNG TRUYỀN DẪN 2
SỐ
Tín hiệu gốc:
Bieu dien tin hieu goc
4
3
Amplitude
2
1
0
-1
-2
0
0.5
1
1.5
2
time (s)
2.5
3
3.5
Tín hiệu lượng tử hóa:
Bieu dien tin hieu goc va tin hieu luong tu hoa
4
Tin hieu goc
Tin hieu luong tu hoa
3
Amplitude
2
1
0
-1
-2
0
0.5
1
1.5
2
time (s)
2.5
3
3.5
MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN SỐMÔ PHỎNG HỆ THỐNG TRUYỀN DẪN 3
SỐ
Tín hiệu sau khôi phục
Bieu dien tin sau khoi phuc
4
3
Amplitude
2
1
0
-1
-2
0
0.5
1
1.5
2
time (s)
2.5
3
3.5
MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN SỐMÔ PHỎNG HỆ THỐNG TRUYỀN DẪN 4
SỐ
Tín hiệu trước và sau khôi phục
Bieu dien tin hieu goc va sau khoi phuc
4
Tin hieu sau khoi phuc
Tin hieu goc
3
Amplitude
2
1
0
-1
-2
0
0.5
1
1.5
2
2.5
3
3.5
time (s)
Phổ tín hiệu
Pho tin hieu goc
0
10
-5
10
-15
-10
-5
0
5
10
15
5
10
15
5
10
15
Pho tin hieu luong tu hoa
0
10
-5
10
-10
10
-15
-10
-5
0
Pho tin hieu khoi phuc
0
10
-5
10
-10
10
-15
-10
-5
0
MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN SỐMÔ PHỎNG HỆ THỐNG TRUYỀN DẪN 5
SỐ
Sai số
Sai so
0.14
0.12
0.1
error
0.08
0.06
0.04
0.02
0
0
0.5
1
1.5
2
time (s)
2.5
3
3.5
b, Nhận xét đánh giá
Thực hiện mô phỏng ta thấy mã hóa PCM có tổn thất
Sai số lớn khi biên độ tín hiệu thay đổi lớn, sai số nhỏ khi biên độ tín hiệu ít
có sự thay đổi
Tín hiệu khôi phục có dạng tương tự tín hiệu gốc.
MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN SỐMÔ PHỎNG HỆ THỐNG TRUYỀN DẪN 6
SỐ
I.3. Mã chương trình
Assgnmt1.m
%=========================================================================%
%
Sinh vien: Duong Van Hai, Lop D14VT3
%
%
Ma sv: B14DCVT077, f1=0, f2=7, f3=7
%
%
Tan so lay mau Fs= 28 Hz
%=========================================================================%
close all; clear; clc;
f = [0 7 7] % Tan so cua cac thanh phan
% Thuc hien lay mau trong 3 giay (3 chu ki tin hieu); toc do 28 mau/s
Fs = 28;
% Tan so lay mau
t = 0:1/Fs:(3*Fs+1)/Fs;
% Vecto thoi gian
% Tao tin hieu tuong tu theo de bai
s = cos(2*pi*f(1)*(t+ ((-1).^2)*t.^2)) + 2*cos(2*pi*f(2)*(t+((-1).^3)*t.^2))+...
cos(2*pi*f(3)*(t+ ((-1).^4)*t.^2));
%=============================== Cau b ====================================%
mu = 255; % He so nen
M = 32; % so muc luong tu
[y,amax] = mulaw(s,mu); % nen bien do
[code,yq,sqnr] = uniform_pcm(y,M); % luong tu hoa PCM
xq = invmulaw(yq,mu); % giai nen tin hieu
xq = xq*amax; % giai nen bien do
%=============================== Cau c ====================================%
figure(1)
plot(t,s,'r--','linewidth',2);
% Tin hieu goc
title ('Bieu dien tin hieu goc','fontsize',15);
xlabel('time (s)'); ylabel('Amplitude');
figure(2)
hold on
plot(t,s,'r--','linewidth',2); % tin hieu goc
stairs(t,yq); % tin hieu luong tu hoa
title ('Bieu dien tin hieu goc va tin hieu luong tu hoa','fontsize',15);
xlabel('time (s)'); ylabel('Amplitude');
legend('Tin hieu goc','Tin hieu luong tu hoa');
figure(3)
plot(t,xq,'g');
% Tin sau khoi phuc
title ('Bieu dien tin sau khoi phuc','fontsize',15);
xlabel('time (s)'); ylabel('Amplitude');
figure(4)
plot(t,xq,'g'); hold on;
% Tin hieu sau khoi phuc
plot(t,s,'r--','linewidth',2);
% Tin hieu goc
title ('Bieu dien tin hieu goc va sau khoi phuc','fontsize',15);
xlabel('time (s)'); ylabel('Amplitude');
legend('Tin hieu sau khoi phuc','Tin hieu goc');
% Bieu dien pho tin hieu
figure(5)
subplot(3,1,1);
[f,Xf] = spectrocal(t,s); semilogy(f,Xf);grid; % Pho tin hieu goc
title('Pho tin hieu goc');
subplot(3,1,2);
[f,Yf] = spectrocal(t,yq); semilogy(f,Yf);grid; % Pho tin hieu luong tu hoa
title('Pho tin hieu luong tu hoa');
subplot(3,1,3);
[f,Zf] = spectrocal(t,xq); semilogy(f,Zf);grid; % Pho tin hieu khoi phuc
MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN SỐMÔ PHỎNG HỆ THỐNG TRUYỀN DẪN 7
SỐ
title('Pho tin hieu khoi phuc');
%=============================== Cau d ===================================%
% Xac dinh va bieu dien sai so tai SNR tuong ung
error = (s-xq).^2;
% Xac dinh sai so
figure(6)
plot(t,error); % Bieu dien sai so
title('Sai so','fontsize',13);
xlabel('time (s)'); ylabel('error');
mulaw.m
function [y,a] = mulaw(x,mu)
% Mu-law nonlinearity for nonuniform PCM
% x - input sequence
% mu - mu constant
% y - compressed output
% a - maximum amplitute
% Written by Nguyen Duc Nhan - 2012
a = max(abs(x)); % tinh bien do max
y = sign(x).*log(1+mu*abs(x/a))/log(1+mu); % tin hieu sau nen bien do
uniform_pcm.m
function [code,xq,sqnr] = uniform_pcm(x,M)
% Uniform PCM encoding of a sequence
% x = input sequence
% M = number of quantization levels
% code = the encoded output
% xq = quantized sequence before encoding
% sqnr = signal to quantization noise ratio in dB
% Written by Nguyen Duc Nhan - 2012
Nb = log2(M);
Amax = max(abs(x));
delta = 2*Amax/(M-1);
Mq = -Amax:delta:Amax;
Ml = 0:M-1;
xq = zeros(size(x));
xcode = xq;
for k = 1:M
ind = find(x > Mq(k)-delta/2 & x <= Mq(k)+delta/2);
xq(ind) = Mq(k);
xcode(ind) = Ml(k);
end
sqnr = 20*log10(.mnorm(x)/norm(x-xq));
code = de2bi(xcode,Nb,'left-msb');
MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN SỐMÔ PHỎNG HỆ THỐNG TRUYỀN DẪN 8
SỐ
invmulaw.m
function x = invmulaw(y,mu)
% The inverse of mu-law nonlinearity
% mu - mu constant
% y - compressed input
% x - expanded output
% Written by Nguyen Duc Nhan - 2012
x = sign(y).*((1+mu).^abs(y)-1)/mu;
MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN SỐMÔ PHỎNG HỆ THỐNG TRUYỀN DẪN 9
SỐ
II. MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN SỐ
II.1. Mô tả hệ thống mô phỏng và các tham số được sử dụng trong
mô phỏng
a, Sơ đồ hệ thống
Tín hiệu
mã hóa
PCM
Mã đường
CMI
Bộ lọc phát
Kênh
AWGN
Tín hiệu
sau giải mã
b, Các tham số mô phỏng
Tín hiệu số:
Thu được từ nhiệm vụ 1 sau bộ mã hóa PCM
Mã đường:
Mã sinh viên B14DCVT077, số cuối cùng là số lẻ nên sử dụng mã đường CMI
Bộ lọc phát
2
Có đáp ứng
|H (w)| =
1
W
1+
Wc
4
( )
Thực hiện phương pháp Monte-Carlo để đánh giá hiệu năng với các tham số:
Độ tin cậy mong muốn pc = 95% (zc = 1,96)
Khoảng tin cậy sc = 10-6
Tốc độ lỗi Pe = 10-5
N Pe .(1 Pe ).( zc / sc )2 40.10 6 symbols
Hay thực hiện Monte-Carlo với số lỗi tối thiểu 400 lỗi, số kí hiệu tối đa 4.107
symbol.
Es
SERtheory _ 4 PSK 2 Q
N
0
Công thức tính xác suất lỗi lí thuyết:
II.2. Kết quả mô phỏng và nhận xét đánh giá
a, Kết quả mô phỏng
Câu b và d:
Màn hình MATLAB:
Sinh vien Le Cong Duc – 1021010259 – BTL MPHTTT – Bai 2
MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN SỐMÔ PHỎNG HỆ THỐNG TRUYỀN DẪN 10
SỐ
Nhap 2 cho y b va d; 3 cho y c: 2
Vector loi ki hieu mo phong ung voi snr tu 0 toi 13dB la
(Theo cac tham so: Pe = 10^(-5), Sc = 10^(-6), Pc = 95%
==> N = 40*10^6, minerr = 400)
ser =
Columns 1 through 7
0.2917000
0.2472000
0.0765000
0.0448000
0.1968000
0.1551000
0.1124000
0.0051111
0.0015074
0.0004060
Columns 8 through 14
0.0239500
0.0119500
0.0000681
0.0000082
So sánh kết quả mô phỏng đường cong xác suất lỗi với kết quả lý thuyết đối với kiểu
điều chế mà hệ thống sử dụng:
Câu c:
Tín hiệu sau điều chế và qua kênh AWGN:
MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN SỐMÔ PHỎNG HỆ THỐNG TRUYỀN DẪN 11
SỐ
Tín hiệu ban đầu và tín hiệu khôi phục:
Biểu đồ chòm sao:
MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN SỐMÔ PHỎNG HỆ THỐNG TRUYỀN DẪN 12
SỐ
Mẫu mắt tín hiệu:
MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN SỐMÔ PHỎNG HỆ THỐNG TRUYỀN DẪN 13
SỐ
Phổ tín hiệu:
b, Nhận xét đánh giá
MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN SỐMÔ PHỎNG HỆ THỐNG TRUYỀN DẪN 14
SỐ
Thực hiện điều chế 4-PSK tín hiệu số với kết quả cho thấy tín hiệu bị ảnh
hưởng khá ít bởi nhiễu AWGN khi so với tín hiệu tương tự. Qua đó thấy
được một ưu điểm của truyền dẫn số bới truyền dẫn tương tự là hạn chế lỗi.
Sai số kí hiệu nhỏ, tại SNR = 13 dB thì SER < 10-5.
Xác suất lỗi ước tính thu được rất gần với giá trị lí thuyết.
II.3. Mã chương trình
Assgnmt2.m
%=========================================================================%
%
Le Cong Duc, D10VT6, Ma sv: 1021010259
%
%=========================================================================%
close all;clear;clc;
N = 9; M = 4; R = N*10^6; %
Nsym = 40;
%
Es = 2*10^-6; phi = pi/4; %
disp('Sinh vien Le Cong Duc
bt=input('Nhap 2 cho y b va
switch bt
Tham so ban dau
So ki hieu mo phong
Nang luong ki hieu va goc quay pha
– 1021010259 – BTL MPHTTT – Bai 2 ');
d; 3 cho y c: ');
%============================= Cau b va d ===============================%
case 2
%====== Dat gia tri ban dau va gia tri cho vong lap====%
Ns_sym = 1; snrmax = 13; fltsw = 0; Nsym = 10^4;
minerr = 400; maxsym=4*10^7; err=zeros(1,snrmax+1); nsym=err;
snr=0:snrmax; snr_lin = 10.^(snr/10); ser = zeros(1,snrmax);
%=======Vong lap ngoai=================================%
for k = 1:snrmax+1
Done = false;
%=======Vong lap trong=============================%
while ( ~Done )
[t, d, dr, s, s_flt,s_noisy] = Assgnmt2_run(R,M,Nsym,...
Ns_sym,snr(1,k),fltsw,Es,phi); % Thuc hien mo phong
ind = d ~= dr; err(1,k) = err(1,k)+ sum(ind);
nsym(1,k)=nsym(1,k)+ Nsym;
Done = err(1,k)>minerr || nsym(1,k)>maxsym; % Dieu kien dung
end
ser(1,k) = err(1,k)/nsym(1,k);
% Tinh ti le loi ki hieu
end
%=======Xac suat loi uoc tinh (CAU B) =================%
disp('Vector loi ki hieu mo phong ung voi snr tu 0 toi 13dB la')
disp('(Theo cac tham so: Pe = 10^(-5), Sc = 10^(-6), Pc = 95%');
disp('==> N = 40*10^6, minerr = 400)');
format long; ser = single(ser)
%========Bieu dien so sanh voi li thuyet (CAU D) ======%
ser_theory = 2*qfunc(sqrt(snr_lin)); % SER li thuyet
semilogy(snr,ser,'ro-.','linewidth',2),hold on;
semilogy(snr,ser_theory,'b','linewidth',2);
grid on; legend('SER mo phong','SER ly thuyet');
title('Bieu dien xac suat loi ki hieu mo phong va ly thuyet');
xlabel('snr (dB)'); ylabel('Ps');
MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN SỐMÔ PHỎNG HỆ THỐNG TRUYỀN DẪN 15
SỐ
%================================ Cau c ================================%
case 3
snr = 8; Tsym = 1/R; fltsw = 0; Ns_sym = 100; Ns=Ns_sym*Nsym;
[t, d, d_demod, s, s_flt,s_noisy] = Assgnmt2_run(R,M,Nsym,...
Ns_sym,snr,fltsw,Es,phi);
[t1, d_demod1, dr1, s1, s_flt1,s_noisy1] = Assgnmt2_run(R,M,...
Nsym,Ns_sym,snr,1,Es,phi);
% fltsw = 1
% Lay mau khoi phuc tin hieu:(tai diem Tsym/2 (giua ki hieu)
dr = d_demod(fix(Ns_sym/2):Ns_sym:end);
%===== Ve bieu do chom sao========%
k = scatterplot(s_noisy,1,0,'bx'); hold on;
scatterplot(s,1,0,'ro',k); legend('Tin hieu thu','Tin hieu phat');
%===== Ve bieu do mat=============%
eyediagram(s,Ns_sym,Ns,Ns_sym/2);
% Tin hieu phat khong loc
eyediagram(s_flt1,Ns_sym);
% Tin hieu phat co loc
eyediagram(s_noisy,Ns_sym,Ns,Ns_sym/2);%Tin hieu thu khong loc
eyediagram(s_noisy1,Ns_sym);
% Tin hieu thu co loc
%===== Ve dang song tin hieu =====%
figure;subplot(2,1,1); plot(t,real(s_noisy),'color','b'); grid on;
hold on; plot(t,real(s),'r','linewidth',3);
subplot(2,1,2); plot(t,imag(s_noisy),'color','c');
hold on; plot(t,imag(s),'g','linewidth',3); grid on;figure;
stem(d,'-.','MarkerFaceColor','b'); %Tin hieu ban dau
hold on; stem(dr,'r-.'); grid on;
%Tin hieu khoi phuc
%===== Ve pho tin hieu ===========%
[f,Sf] = spectrocal(t,s); [fn,Snf] = spectrocal(t,s_noisy);
figure; subplot(2,1,1);semilogy(f,Sf,'r');
title('Pho tin hieu sau dieu che');xlabel('Hz');
subplot(2,1,2);semilogy(fn,Snf,'g');
title('Pho tin hieu qua kenh AWGN');xlabel('Hz');
end
Assgnmt2_run.m
function [t, d, dr, s, s_flt,s_noisy] = Assgnmt2_run(R,M,Nsym,...
Ns_sym,SNR,fltsw,Es,phi)
% R: toc do ki hieu, M: kich thuoc tap ki hieu
% Nsym: so ki hieu, Ns_sym: so mau tren moi ki hieu
% SNR: SNR chua tin hieu thu (Es/No), fltsw: chon thuc hien loc hay khong
Tsym= 1/R;
% Chu ki ki hieu
d
= randint(1,Nsym,M);
% Tao tin hieu ngau nhien
h
= modem.pskmod('M', M, 'SymbolOrder', 'Gray');
dk = modulate(h,d);
% Dieu che 4-PSK (chuyen sang mien phuc)
Tw = Nsym*Tsym;
% Cua so mien tin hieu
Ts = Tsym/Ns_sym;
% Chu ki lay mau
t
= 0:Ts:Tw-Ts;
% Vector thoi gian
Ns = Tw/Ts;
% Tong so mau
%====== Tao tin hieu phat s theo cong thuc de bai cho ============%
if Ns_sym > 1
for k = 1:Ns
MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN SỐMÔ PHỎNG HỆ THỐNG TRUYỀN DẪN 16
SỐ
i = fix(t(k)/Tsym+1);
s(1,k) = (sqrt(2*Es/Tsym)*exp(1i*phi))*dk(i);
end;
else
s = dk*(sqrt(2*Es/Tsym)*exp(1i*phi));
end;
s_flt=0;
%====== Thuc hien loc neu fltsw = 1 va truyen qua kenh AWGN =======%
if fltsw == 1
[BTx,ATx] = butter(5,2/Ns_sym);
% Tao tham so bo loc tin hieu phat
[s_flt]
= filter(BTx,ATx,s);
s_noisy = awgn(s_flt,SNR,'measured');
else
s_noisy = awgn(s,SNR,'measured');
end
%====== Giai dieu che tin hieu thu duoc ===========================%
h1 = modem.pskdemod('M', M, 'SymbolOrder', 'Gray','phaseoffset',pi/4);
dr = demodulate(h1,s_noisy);
spectrocal.m: Như bài 1
- Xem thêm -