Bằng việc sử dụng MATLAB, viết chương trình và thực hiện mô phỏng hệ thống truyền tín hiệu tương tự này sử dụng kỹ thuật điều chế tần số FM với tần số sóng mang fc gấp 10 lần tần số cực
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA VIỄN THÔNG 1
BỘ MÔN MÔ PHỎNG HỆ THỐNG TRUYỀN THÔNG
BÁO CÁO BÀI TẬP LỚN
MÔN :MÔ PHỎNG HỆ THỐNG TRUYỀN THÔNG
Giảng viên hướng dẫn : Ts.Nguyễn Đức Nhân
Họ và tên sinh viên : Đỗ Minh Châu
Lớp : D10VT2
Mã sinh viên : 1021010141
HÀ NỘI 11/2013
Trang 2THUTín hiệu S2(t)
Cấu trúc y=awgn(x,SNR) với x là tín hiệu vào, SNR là tỉ số tín hiệu trên tạp
âm của kênh AWGN
Trong bài này , ta xét các giá trị SNR lần lượt bằng 10, 15 , 20dB
d) Khối giải điều chế biên độ
Thông số sử dụng cho khối giải điều chế bao gồm:
- Tần số sóng mang: fc=5.108
- Tần số lấy mẫu: fs=2.109
Trang 32 Bằng việc sử dụng MATLAB, viết chương trình và thực hiện mô phỏng hệ thống truyền tín hiệu tương tự này sử dụng kỹ thuật điều chế tần số FM với tần
số sóng mang fc gấp 10 lần tần số cực đại của ( fi) và độ sâu điều chế h=0.4 trên kênh AWGN 3 ba mức SNRlần lượt là 15, 20 và 25dB.
Kết quả thu được như sau:
Hình 1 Tín hiệu và tín hiệu sau điều chế
Trang 4Hình 2 Biều diễn sóng mang trong một chu kì tín hiệu ở 3 mức SNR
Trang 5Hình 3 Biểu diễn tín hiệu gốc và 3 tín hiệu giải điều chế ở 3 mức SNR.
Chương trình mô phỏng hệ thống trên:
%Bai tap MPHTTT so 1
% Tao tin hieu tuong tu s(t)
% Tao tin hieu tuong tu s(t)
clc,clear,close all
fc=40; % Tan so song mang la 100MHz
fs=1000; % Tan so lay mau > 2*fc
t=[0:1/fs:3]; % Tao vecto thoi gian
s=cos(2*pi*1*t)+cos(2*pi*4*t+pi/8)+2*cos(2*pi*1*t);
figure(1)
Trang 6plot(t,s); title('Tin hieu goc s(t)','Color','r','FontSize',12);
% Dieu che tin hieu theo phuong phap dieu che FM voi cac thong so de cho
y=fmmod(s,fc,fs,20); % phase,amp: pha và bien do song mang
title('T/h qua kenh AWGN co SNR = 15','Color','r','FontSize',12);
xlabel('time'); ylabel('Amp'); axis tight
subplot(2,2,3);
plot(t,z2);
title('T/h qua kenh AWGN co SNR = 20','Color','r','FontSize',12);
xlabel('time'); ylabel('Amp');axis tight
plot(t,s); title('Tin hieu goc s(t)','Color','r','FontSize',12);
xlabel('time'); ylabel('Amp'); axis tight;
Trang 7title('Sai so cua tin hieu tai SNR = 15 dB','Color','r','FontSize',12);
%axis([0 0.3 1e-5 1e5])
subplot(3,1,2)
semilogy(t,e2);
title('Sai so cua tin hieu tai SNR = 20 dB','Color','r','FontSize',12);
%axis([0 0.3 1e-5 1e5])
subplot(3,1,3)
semilogy(t,e3);
title('Sai so cua tin hieu tai SNR = 25 dB','Color','r','FontSize',12);
%axis([0 0.3 1e-5 1e5])
3 Biểu diễn dạng sóng tín hiệu trên ít nhất 3 chu kỳ và phổ của nó tại các điểm sau trên hệ thống : tính hiệu gốc bản tin, đàu ra bộ điều chế, sau khi truyền qua kênh AWGN , tín hiệu được khồi phục tại đàu ra bộ thu.
Kết quả thu được các biểu diễn tín hiệu và phổ như sau:
Trang 8
Hinh 4 Biểu diễn tín hiệu gốc trong 3 chu kì và phổ của tín hiệu gốc.
Trang 9
Hình 5 Tín hiệu điều và phổ.
Trang 10
Hình 6 Tín hiệu qua kênh AWGN và phổ của nó (SNR=15).
Trang 11Hình 7 Tín hiệu qua kênh AWGN và phổ của nó (SNR=20).
Trang 12Hình 8 Tín hiệu qua kênh AWGN và phổ của nó (SNR=25).
Trang 13
Hình 9 Tín hiệu giải điều chế và phổ của nó (SNR=15).
Trang 14Hình 10 Tín hiệu giải điều chế và phổ của nó (SNR=20).
Trang 15Hình 11 Tín hiệu điều chế và phổ của nó (SNR=25).
Chương trình mô phỏng
%Bai tap MPHTTT so 1
% Tao tin hieu tuong tu s(t)
clc,clear,close all
fc=40; % Tan so song mang la 100MHz
fs=1000; % Tan so lay mau
t=[0:1/fs:3]; % Tao vecto thoi gian
Trang 17% Giai dieu che
Trang 184 Xác định và biểu diễn sai số của tín hiệu sau khi được khôi phục tại 3 mức SNR trên cùng hình theo biểu thức sau: error = (m - mr)2 trong đó: m là tín hiệu bản tin gốc và mr là tín hiệu được khôi phục tại bộ thu.
Kết quả thu được:
Hình 12 Sai số của tín hiệu tại các giá trị SNR.
Chương trình mô phỏng:
% Bai tap MPHTTT so 1
% Tao tin hieu tuong tu s(t)
% Tao tin hieu tuong tu s(t)
fc=40; % Tan so song mang la 100MHz
fs=1000; % Tan so lay mau > 2*fc
t=[0:1/fs:3/10]; % Tao vecto thoi gian
s=cos(2*pi*1*t)+cos(2*pi*4*t+pi/8)+2*cos(2*pi*1*t);
figure(1)
Trang 19% Dieu che tin hieu theo phuong phap dieu che FM voi cac thong so de cho
y=fmmod(s,fc,fs,20); % phase,amp: pha và bien do song mang
% Truyen qua kenh awgn voi 3 muc SNR = 15, 20, 25
z1=awgn(y,15,0); % Tin hieu awgn SNR = 15
z2=awgn(y,20,0); % Tin hieu awgn SNR = 20
z3=awgn(y,25,0); % Tin hieu awgn SNR = 25
r1=fmdemod(z1,fc,fs,20); % Tin hieu giai dieu che SNR = 15
r2=fmdemod(z2,fc,fs,20); % Tin hieu giai dieu che SNR = 20
r3=fmdemod(z3,fc,fs,20); % Tin hieu giai dieu che SNR = 25
title('Sai so cua tin hieu tai SNR = 15 dB','Color','r','FontSize',12);
axis([0 0.3 1e-5 1e5])
subplot(3,1,2)
semilogy(t,e2);
title('Sai so cua tin hieu tai SNR = 20 dB','Color','r','FontSize',12);
axis([0 0.3 1e-5 1e5])
subplot(3,1,3)
semilogy(t,e3);
title('Sai so cua tin hieu tai SNR = 25 dB','Color','r','FontSize',12);
axis([0 0.3 1e-5 1e5])
5 Nhận xét:
Qua kết quả thu được , ta thấy: tỉ số tín hiệu trên nhiễu SNR càng cao dạng tín hiệu khôi phục càng giống tín hiệu gốc và lỗi càng nhỏ.
Trang 20THUTín hiệu
đầu vào
Điều chế PSK
Giải điều chế PSKAWGN
+ dk là các ký hiệu phức được phát độc lập với xác suất như nhau
+ Tsym là chu kỳ của symbol
Trang 21+ là pha của tín hiệu phát
+ p(t) xác định dạng xung được phát :
0.5 2
+ Es là năng lượng mỗi symbol
2 Mã chương trình với các yêu cầu sau:
a Bằng việc sử dụng MATLAB, viết chương trình mô phỏng hệ thống truyền dẫn số sử dụng kỹ thuật điều chế đã lựa chọn trên kênh AWGN Thực hiện mô phỏng Monte Carlo để ước tính xác suất lỗi như là hàm của tỉ số tín hiệu trên nhiễu SNR (Es/N0).
b Biểu diễn biểu đồ chòm sao, dạng sóng tín hiệu, mẫu mắt và phổ của nó tại các điểm sau trên hệ thống: đầu ra bộ điều chế, sau khi truyền qua kênh AWGN, sau khi được xử lý và khôi phục tại bộ thu.
c 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.
Kết quả mô phỏng như sau:
Trang 22
Hinh 1 Tín hiệu thông dải 8-PSK
Trang 23Hình 2 Tín hiệu băng gốc 8-PSK.
Trang 24
Hình 3 Biểu đồ chòm sao 8-PSK.
Trang 25Hình 4 Mẫu mắt tín hiệu 8-PSK.
Trang 26Hình 5 Phổ tín hiệu băng gốc 8-PSK.
Trang 27Hình 6 Tín hiệu 8-PSK khi truyền qua kênh AWGN.
Trang 28Hình 7 Biểu đồ chòm sao tín hiệu 8-PSK khi truyền qua kênh AWGN.
Trang 29Hình 8 Mẫu mắt tín hiệu 8-PSK khi truyền qua kênh AWGN.
Trang 30Hình 9 Phổ của tín hiệu 8-PSK khi truyền qua kênh AWGN.
Trang 31Hình 10 Tín hiệu 8-PSK khi được khôi phục.
Trang 32Hình 11 Biểu đồ chòm sao tín hiệu 8-PSK khi được khôi phục.
Trang 33Hình 12 Phổ của tín hiệu băng gốc 8-PSK khi được khôi phục.
Trang 34Hình 13 Mẫu mắt tín hiệu 8-PSK khi được khôi phục.
Trang 35Hình 14 Sai số giữa thực tế và lý thuyết.
n=5; %bac cua bo loc
N=1e6; % toc do bits
phi0=pi/2; % pha tin hieu phat
fs=5e6; % tan so lay mau
fc=1e6; % tan so song mang
ts=1/fs; % Thoi gian lay mau
Nsym=N/3; % Toc do symbols
tsym=1/Nsym; % thoi gian 1 symbols
Trang 36%% Nhap tin hieu phat
d = randint(3,2000,[0 1]); % tao chuoi cac bit ngau nhien tuong ung voi cac ky hieu
h = modem.pskmod('M', 8, 'InputType', 'Bit'); % Dieu che 8PSK
y = modulate(h, d); % tao chuoi 8 ky hieu 8PSK tuong ung
s2 = raisedcosflt(s1,1.5e6,ts,0.5); % Bo loc redcosflt
sp = sqrt(2)*real(s1.*exp(j*2*pi*fc*t)); % Tin hieu thong dai 8PSk
plot(t,sp,'k')
axis([0 4e-5 -2000 2000])
title('Tin hieu thong dai 8PSK')
%Bieu dien tin hieu phat tuong duong bang goc 8PSK
title('chom sao tin hieu 8-PSK')
%Bieu dien mau mat
eyediagram(real(s2),30);
title('mau mat tin hieu 8PSK')
% Bieu dien pho
axis([-2e6 2e6 0 3e4])
%% Truyen qua kenh AWGN
SNRdB = 10; % dB
SNR = 10^(SNRdB/10);
varn = var(s1)/SNR; % computing variance of noise
s1_awgn = addnoise(s1,varn);
Trang 37% Bieu dien chom sao
y_awgn = awgn(y,10,'measured');
h = scatterplot(y_awgn,1,0,'xg');
hold on;
scatterplot(y,1,0,'or',h);
title('chom sao tin hieu 8PSK truyen qua AWGN')
% Bieu dien mau mat
eyediagram(real(s1_awgn),40);
title('Mau mat tin hieu 8PSK truyen qua AWGN')
% Bieu dien pho
axis([-2e6 2e6 0 3e4])
%% -Xu ly va khoi phuc tai bo
thu -h = modem.pskdemod('M', 8, 'OutputType', 'Bit'); % Giai dieu che 8PSK
ydemod = demodulate(h, y_awgn); % Khoi phuc chuoi bit ban dau
%bo loc raised cosin tai phia thu
sr = raisedcosflt(s1_awgn,1.5e6,ts,0.5); % Bo loc redcosflt
title('chom sao tin hieu 8-PSK duoc khoi phuc')
% Bieu dien dang pho
figure
[f,Pf] = pho(t,sr);
plot(f,Pf,'m')
title('Pho tin hieu bang goc 8PSk duoc khoi phuc')
axis([-2e6 2e6 0 3e4])
grid on
%Bieu dien mau mat
eyediagram(real(sr),40)
title('mau mat tin hieu 8PSK duoc khoi phuc')
%% - Uoc tinh Ber bang phuong phap
Trang 38Monte-carlo -num_bit = 2000; %chieu dai tin hieu
max_run = 20; %so lan chay toi da cho mot tin hieu SNR
Es = 10; % nang luong ky hieu
SNRdB = 0:0.8:20; % Tin hieu nhieu vo tuyen (dB)
SNR = 10.^(SNRdB/10);
hand = waitbar(0,'uoc tinh Monte-carlo dang thuc hien vong lap ');
for count=1: length(SNR) %Bat dau vong lap cho SNR khac
avgError = 0;
N0 = Es/SNR(count); % Tinh toan cong suat nhieu cho SNR
%EbNo = SNR - log10(3); % Tinh EbNo theo dB
for run_time = 1:max_run % Bat dau nhung vong lap khac nhau
waitbar((((count-1)*max_run)+run_time-1)/(length(SNRdB)*max_run)); Error = 0;
N = sqrt(N0/2)*randn(1,num_bit); % tao AWGN
y = randsrc(1,200,[1, -1, j, -j, 1/sqrt(2)*(-1-j), 1/sqrt(2)*(1+j), 1/sqrt(2)*(-1+j), 1/sqrt(2)*(1-j)]);
Y = y + N; % tin hieu nhieu awgn
for k = 1:num_bit %thiet bi quyet dinh thuc hien quyet dinh loi
( angle( Y(k)) > 3*pi/8 && imag(Y(k))>0 &&
angle(Y(k) )<5*pi/8 && y(k)~=j )||
( angle( Y(k)) > 5*pi/8 && real(Y(k))<0 && imag(Y(k))>0 &&angle(Y(k) )<7*pi/8 && y(k)~=1/sqrt(2)*(-1+j))||
( angle( Y(k)) >7*pi/8 && real(Y(k))<0 && 7*pi/8 && y(k)~= -1 )||
( angle( Y(k)) > -7*pi/8 && real(Y(k))<0 && imag(Y(k))<0
&& angle(Y(k) )<-5*pi/8 && y(k)~=1/sqrt(2)*(-1-j))||
( angle( Y(k)) > -5*pi/8 && imag(Y(k))<0 && angle(Y(k) 3*pi/8 && y(k)~=-j )||
( angle( Y(k)) > -3*pi/8 && real(Y(k))>0 && imag(Y(k))<0
&& angle( Y(k) )<-pi/8 && y(k)~=1/sqrt(2)*(1-j))
)
Error = Error + 1;
end
end
Error = Error/num_bit; %Tinh toan loi /bit
avgError = avgError + Error; % Tinh toan loi/bit cho nhung lan chay khac
end % ket thuc vong lap
BER_sim(count) = avgError/max_run; % tinh toan ber cho SNR
end % ket thuc vong lap cho SNR khac nhau
BER_th = erfc(sqrt(2*SNR)*sin(pi/16)); % tinh toan phan tich ber
Trang 39title('Sai so giua thuc te va ly thuyet');hold on;