− Tại phía phát, thực hiện nén tín hiệu trên theo luật µ với hệ số nén µ=2.. − Sau đó, thực hiện chuyển đổi tín hiệu vừa nén thành tín hiệu số nhị phân theo phương pháp PCM đều để làm ng
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
-BÀI TẬP LỚN
MÔN HỌC: MÔ PHỎNG HỆ THỐNG TRUYỀN THÔNG
NHÓM 01
Giảng viên : NGÔ THỊ THU TRANG
Trang 3Nhiệm vụ 1:
Mô phỏng quá trình nén và PCM cho tín hiệu tương tự, trong đó tín hiệu tương tự dạng thoại đầu vào được mô tả bởi công thức sau:
với Ai lần lượt là [1, 2, 3] và ϕi lần lượt là [0, pi/2, 3pi/2], tần số fi được xác định từ i lần lượt là [0, pi/2, 3pi/2], tần số fi được xác định từ
mã số của mỗi sinh viên theo biểu thức fi = ix100 Hz với i lần lượt là 3 số cuối cùng trong mã số sinh viên
− Tại phía phát, thực hiện nén tín hiệu trên theo luật µ với hệ số nén µ=2
− Sau đó, thực hiện chuyển đổi tín hiệu vừa nén thành tín hiệu số nhị phân theo phương pháp PCM đều để làm nguồn tín hiệu đầu vào cho nhiệm vụ 2
− Thực hiện ngược lại quá trình chuyển đổi bit nhị phân thành tín hiệu tương tự dạng âm thoại ban đầu với quá trình ngược quá trình trên
Phần 1: Mô tả hệ thống mô phỏng và các tham số được sử dụng trong mô phỏng
Trang 4Sơ dồ khối trên Simulink
Phần 2: Trình bày kết quả mô phỏng và nhận xét đánh giá
Figure 1: Biễu diễn tín hiệu gốc
Figure 2: Biễu diễn tín hiệu gốc và sau khi khôi phục
Trang 5Figure 3: Biễu diễn mẫu trước và sau khi nén
Figure 4: Biễu diễn phổ tín hiệu gốc, tín hiệu lượng tử hóa
và tín hiệu sau khi khô phục
Nhận xét :
Tín hiệu hình sin trước và sau khi lấy mẫu và lượng hóa rồi khôi phục gần như không có khác biệt Điều này chứng tỏ quá trình mô phỏng truyền dẫn thu phát không xảy ra lỗi Phương pháp lượng tử hóa cho ra kết quả tốt trong việc thu phát tín hiệu
Trang 6Phần 3: Mã chương trình được viết để mô phỏng hệ thống và chú giải
Nén tín hiệu
function [y,a] = mulaw(x,mu)
% Mu-law tuyen tinh cho PCM ko deu
function [code,xq,sqnr] = uniform_pcm(x,M)
% x = chuoi dau vao
% M = so muc luong tu lay mau
% code = chuoi dau ra
% xq = chuoi luong tu trc ma hoa
% sqnr = ty le tin hieu nhieu luong tu theo dB
% y - chuoi nen dau vao
% x - chuoi giai nen dau ra
x = sign(y).*(exp(abs(y)*log(1+mu)/a)-1)*(a/mu);
Tính toán phổ
function [f,Pf] = spectrocal(t,x)
% Chuong trinh tinh toan pho
% t - vector thoi gia
% x - vector mau dau vao
Trang 7title ('Bieu dien tin hieu goc');
xlabel('thoi gian (s)');
ylabel('bien do');
title (' tin hieu goc va sau khoi phuc');
xlabel('thoi gian (s)');
ylabel('bien do');
legend ('Tin hieu sau khoi phuc','Tin hieu goc');
Trang 8title('Mau truoc va sau bo nen');
xlabel('thoi gian (s)');
ylabel('bien do');
legend('Truoc khi nen','Sau khi nen');
[f,Yf] = pho(t,yq); semilogy(f,Yf);grid;
title('Pho tin hieu luong tu hoa');
mô phỏng của mình:
- Điều chế DPSK nếu số cuối cùng trong mã sinh viên là lẻ
- Điều chế QPSK nếu số cuối cùng trong mã sinh viên là chẵn
Sử dụng mô hình mô phỏng tương đương băng gốc, tín hiệu phát có thể được biểudiễn như sau:
trong đó dk là các kí hiệu (symbol) phức được xác định từ chuỗi bản tin đầu vào và kỹthuật điều chế; Tsym là chu kỳ của symbol; φ0 là pha của tín hiệu phát và p(t) xác địnhdạng xung được phát,
Phần 1: Mô tả hệ thống mô phỏng bằng sơ dồ khối và xác định tham số
- Tín hiệu truyền qua kênh AWGN ( ) ( ) = ( ) + ( )
- n(t) là nhiễu Gauss trắng cộng giá trị phức gồm hai thành phần tạp âm vuông góc nI(t) và nQ(t)
- Trong mỗi chu kỳ ký hiệu Ts lấy mẫu tín hiệu sn(t) và xác định pha của tính hiện lấy mẫu đó dnk = dk + xk , k= 1, 2, 3, …, N; N là số chu kỳ ký hiệu Ts
- d= là thành phần nhận được từ tín hiệu phát
Trang 9- xk là một biến ngẫu nhiên gây ra bởi tạp âm
Sơ đồ khối
Phần 2: Trình bày kết quả mô phỏng
a) Dạng sóng tín hiệu tại đầu ra bộ điều chế
Trang 10b) Dạng sóng tín hiệu khi đi qua kênh AWGN
c) Dạng sóng tín hiệu sau khi được khôi phục
Trang 11d) Biểu đồ chòm sao tín hiệu QPSK
e) Phổ tín hiệu sau điều chế
Trang 13g) Phổ tín hiệu sau khi khôi phục
h) Đường cong bit lỗi QPSK
Trang 14Phần 3:Mã chương trình viết để mô phỏng hệ thống và chú giải
d=randint (1,1000);%chuoi nhi phan dau vao
L=length(d);
SNR=15; %y so tin hieu tren tap am
y=1;
N=5*10^6;%toc do du lieu
Fc=10^7;%tan so song mang
T=1/N;%thoi gian truyen bit
axis([0 100 -1.5 1.5]) title( 'Chuoi
ban dau' ) subplot(3,1,2) stairs(b)
axis([0 100 -0.5 1.5]) title( 'Chuoi
phat' )
subplot(3,1,3)
plot(t,a)
title( 'Chuoi QPSK phat di' )
%Giai dieu che ban tin QPSK
%tim pha cua tin hieu tai phia thu
for x=1:60*L/2
if angle(st_awgn(x))<=pi/2 && angle(st_awgn(x))>0phi(x)=pi/4;
elseif angle(st_awgn(x))<=pi && angle(st_awgn(x))>pi/2 phi(x)=3*pi/4;
elseif angle(st_awgn(x))<=0 && angle(st_awgn(x))>-pi/2phi(x)= 7*pi/4;
Trang 15elseif angle(st_awgn(x))<=-pi/2 && angle(st_awgn(x))>-pi phi(x)=5*pi/4;
title('bieu do chom sao tin hieu QPSK')
%ve dang song tin hieu
title('dang song tin hieu sau khi duoc khoi phuc')
%pho tin hieu dieu che
f=(-30*L/2:30*L/2-1)/(30*L*(t(2)-t(1))); pho_dc=fft(sdc,30*L);
pho_dc=fftshift(pho_dc);
Trang 16plot(f,abs(pho_dc).^2/(30*L)) title('pho tin hieu
sau dieu che')
%pho tin hieu khi qua kenh awgn
pho_awgn=fft(sdc_awgn,30*L);
pho_awgn=fftshift(pho_awgn); figure(6)
plot(f,abs(pho_awgn).^2/(30*L)) title('pho tin hieu
qua kenh awgn')
%pho tin hieu khi khoi phuc tai phia thu
pho_r=fft(r,30*L);
pho_r=fftshift(pho_r);
figure(7)
plot(f,abs(pho_r).^2/(30*L))
title('pho tin hieu khi duoc khoi phuc')
%ve duong cong xac xuat loi
%tao chuoi bit ngau nhien QPSK
if angle(st(c))<=pi/2 && angle(st(c))>0phi(c)=pi/4;
elseif angle(st(c))<=pi && angle(st(c))>pi/2phi(c)=3*pi/4;
elseif angle(st(c))<=3*pi/2 && angle(st(c))>piphi(c)= 5*pi/4;
elseif angle(st(c))<=2*pi && angle(st(c))>3*pi/2 phi(c)=7*pi/4;
legend('theo mo phong','theo ly thuyet')
title('duong cong bit loi QPSK')
grid
r((z-1)*30+1:z*30)=1;
r(z*30+1:z*30+30)=0;
Trang 17title('bieu do chom sao tin hieu QPSK')
%ve dang song tin hieu
% Mau mat cua tin hieu tai cac diem tren he thong %ve pho cua tin hieu
%pho tin hieu dieu che f=(-30*L/2:30*L/2-1)/(30*L*(t(2)-t(1)));
pho_dc=fft(sdc,30*L); pho_dc=fftshift(pho_dc);
figure(5)
plot(f,abs(pho_dc).^2/(30*L)) title('pho tin hieu
sau dieu che')
%pho tin hieu khi qua kenh awgn
pho_awgn=fft(sdc_awgn,30*L);
pho_awgn=fftshift(pho_awgn); figure(6)
plot(f,abs(pho_awgn).^2/(30*L)) title('pho tin hieu
qua kenh awgn')
%pho tin hieu khi khoi phuc tai phia thu
pho_r=fft(r,30*L);
pho_r=fftshift(pho_r);
Trang 18plot(f,abs(pho_r).^2/(30*L))
title('pho tin hieu khi duoc khoi phuc')
%ve duong cong xac xuat loi
%tao chuoi bit ngau nhien QPSK
if angle(st(c))<=pi/2 && angle(st(c))>0phi(c)=pi/4;
elseif angle(st(c))<=pi && angle(st(c))>pi/2phi(c)=3*pi/4;
elseif angle(st(c))<=3*pi/2 && angle(st(c))>piphi(c)= 5*pi/4;
elseif angle(st(c))<=2*pi && angle(st(c))>3*pi/2 phi(c)=7*pi/4;
legend('theo mo phong','theo ly thuyet')
title('duong cong bit loi QPSK')
n = 1/sqrt(2)*[randi(1,N) + j*N)]; % white guassian noise, 0dBvariance
y = s + 10^( -Es_N0_dB(ii)/20)*n; % additive white gaussiannoise
% demodulation
y_re = real(y); % real
y_im = imag(y); % imaginary
Trang 19ipHat(find(y_re < 0 & im 0)) = -1 + -1*j; ipHat(find(y_re
>= 0 & im > 0)) = 1 + 1*j; ipHat(find(y_re < 0 & im >= 0))