Tải bản đầy đủ

MÔ PHỎNG hệ THỐNG TRUYỀN dẫn tín HIỆU TƯƠNG tự

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

Giảng viên

: Ngô Thị Thu Trang

Sinh viên :
Lớp
: D14CQVT3

BÀI TẬP LỚN
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

BÀI TẬP LỚN - MPHTTT| 


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
1
TÍN HIỆU TƯƠNG TỰ

a, Sơ đồ hệ thống
Tín hiệu
tương tự

Bộ nén biê độ

Bộ lượng tử
hóa đều

Bộ mã hóa

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Ố


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 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
4 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
5 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
6 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
7 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
8 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ínb,hiệu
mãtham
Các
hóa PCM

Mãphỏng
đường
số mô
CMI

Bộ lọc phát

Kênh AWGN

Tín hiệu sau
giải mã

 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
 Có đáp ứng
 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.106 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
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 =


MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN SỐMÔ PHỎNG HỆ THỐNG TRUYỀN DẪN
9 SỐ

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
10 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
11 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
12 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
13 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');


MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN SỐMÔ PHỎNG HỆ THỐNG TRUYỀN DẪN
14 SỐ

xlabel('snr (dB)'); ylabel('Ps');

%================================ Cau c ================================%

end

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');

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


MÔ PHỎNG HỆ THỐNG TRUYỀN DẪN SỐMÔ PHỎNG HỆ THỐNG TRUYỀN DẪN
15 SỐ

for k = 1:Ns
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



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×