1. Trang chủ
  2. » Giáo án - Bài giảng

BÁO cáo bài tập lớn môn mô phỏng hệ thống truyền thông

15 1,6K 6
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 686,41 KB

Nội dung

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG



BÁO CÁO BÀI TẬP LỚNMôn: Mô phỏng hệ thống truyền thông

SV thực hiện: Lê Văn Mạnh MSSV : B12DCVT122 Lớp : D12VT3

Trang 3

1Nhiệm vụ 1: Mô phỏng qua trình PCM cho tín hiệu tương tự

1.1Mô tả nhiệm vụ‒ Mô phỏng quá trình PCM cho tín hiệu tương tự s(t):

với MSV: B12DCVT122s(t)=1*cos(2*pi*100*t)+2*cos(2*pi*200*t+pi/2)+3*cos(2*pi*200*t+pi/4)

‒ Thực hiện chuyển đổi tín hiệu tương tự thành tín hiệu nhị phân và ngược lại với

tiêu chuẩn nén và giải nén luật A

1.2Mô tả hệ thống mô phỏng và các tham số

Hình 1.1: Hệ thống mã hóa và giải mã PCM sử dụng trong mô phỏng

Mô tả hệ thống và các bước tiến hành mô phỏng:

Lấy mẫu:

‒ Lấy mẫu là quá trình biến đổi tín hiệu tương tự thành một dãy xung rời rạc tuần

hoàn, biên độ xung bằng biên độ tín hiệu tại thời điểm lấy mẫu Dãy xung nàycòn được gọi là tín hiệu điều chế biên độ xung PAM Tín hiệu tương tự đượclấy mẫu bằng cách nhân tín hiệu với chuỗi xung răng lược có chu kỳ bằng chukỳ lấy mẫu

‒ Mô phỏng: Tạo vecto thời gian bắt đầu từ thời điểm 0 đến thời điểm kết thúc tín

hiệu tương tự (T), vecto gồm các phần tử cách đều nhau một khoảng bằng chukỳ xung răng lược: t=0:Ts:T Thay giá trị vecto thời gian vào tín hiệu tương tự,ta được một vecto chứa biên độ các xung PAM

‒ Tham số sử dụng Tín hiệu tương tự được lấy mẫu với tần số fs=8e3 Hz nên chu

kỳ lấy mẫu Ts=1/fs=1.25e-4 s

Trang 4

Nén luật A:‒ Bộ nén là một bộ khuếch đại phi tuyến, mục đích của bộ nén này là tạo ra các

mức lượng tử hóa không đều nhằm cải thiện tỷ số tín hiệu trên tạp âm S/N Cóhai phương pháp nén thông dụng là nén luật μ và nén luật A Phương pháp nénluật A như sau: gọi tín hiệu s1(t) là tín hiệu vào bộ nén, tín hiệu s2(t) là tín hiệura ta có mối quan hệ

|s2(t)|=¿

‒ Mô phỏng: Nén luật A có thể thực hiên bằng hàm

compand(s,A,max(s),’A/compressor’) với s là vecto tín hiệu sau lấy mẫu, A làhằng số nén, max(s) là giá trị lớn nhất của s

‒ Tham số sử dụng: Hằng số nén A=87.6Lượng tử hóa:

‒ Lượng tử hóa là quá trình xấp xỉ hóa tín hiệu mẫu tương tự dựa vào số mức

lượng tử M Biên độ của tín hiệu từ GTLN đến GTNN được chia làm cáckhoảng đều nhau gọi là các bước lượng tử Nếu biên độ mẫu tín hiêu tương tựnằm trong bước lượng tử nào thì sẽ được xấp xỉ hóa theo mức lượng tử đó Nếusố mẫu lượng tử càng lớn, khả năng thu được chính xác tín hiệu gốc càng cao

‒ Mô phỏng: Lượng tử hóa thực hiện là đều, sử dụng hàm quantiz(s,P) trong đó s

là tín hiệu mẫu tương tự, P là vecto các mức lượng tử P có dạngP=min(s):delta:max(s) trong đó delta là bước lượng tử

‒ Tham số sử dụng: từ tín hiệu s(t) ta thấy GTLN của tín hiệu là 14 và GTNN của

tín hiệu là -14, số mức lượng tử sử dụng là 256 nên vecto P=-14:28/255:14 vớibước lượng tử delta=28/255

Mã hóa:‒ Là ánh xạ một mức lượng tử thành một từ mã nhị phân Mã hóa thường kết hợp

với bộ A/D, tín hiệu qua bộ mã hóa là các xung vuông có biên độ 0 hoặc 1

‒ Mô phỏng: Sử dụng hàm de2bi để chuyển các mức lượng tử sang từ mã nhị

phân

Giải mã

‒ Ánh xạ từ mã nhị phân 8 bit thành các mức lượng tử có trọng số từ 0=>255.Dựa vào vecto các mức lượng tử Pa để có thể ánh xạ trọng số sang mức biên độbằng thuật toán S(t)=Pa(C(t)+1) trong đó C(t) là trọng số mức lượng tử, S(t) làtín hiệu thu được

Trang 5

Tái tạo dạng tín hiệu

‒ Tín hiệu sau bộ giải nén luật A là tín hiệu tương tự ở phía phát Tuy nhiên đâykhông phải là tín hiệu gốc ban đầu do sai số ở khâu lượng tử hóa Để thu đượctín hiệu một cách chính xác, nó được đưa qua một bộ nội suy làm tăng số mẫutín hiệu

‒ Trong mô phỏng sử dụng hàm interp(x,s) để tăng tần số lấy mẫu trong đó x làtín hiệu cần nội suy, s là tỷ số tần số lấy mẫu mới so với tần số lấy mẫu cũ

1.3Kết quả:

012

-505

Hình1.2 Tín hiệu của bản tin gốc và thu

Trang 6

Hình1.3 Tín hiệu qua các khâu phía mã hóa

Hình 1.4: Tín hiệu lấy mẫu gốc và tín hiệu giải mã sau xử lý thu được

Trang 7

10-5

-0.5-0.4-0.3-0.2-0.100.10.20.30.40.510-10

10-5100

Hình1.5 PSD của tín hiệu phát ở dạng xung vuông nhị phân và tín hiệu thu sau xử lý

Trang 8

1.4Mã chương trình

% %% nhiem vu 1

fs=8e3; % tần số lấy mẫu

step=1/fs; % chu kỳ lấy mẫu

A=87.6; % hằng số nén luật A

t=0:step:1; % vecto thời gian- quá trình lấy mẫu

Pa=-14:28/255:14; % vecto các mức lượng tử hóa, biên độ lớn nhất và nhỏ nhất có thể của s(t) là 14 và -14

s(t)=1*cos(2*pi*100*t)+2*cos(2*pi*200*t+pi/2)+3*cos(2*pi*200*t+pi/4);% quátrình lấy mẫu

sc = compand(s,A,max(s),'A/compressor');% nén luật A

C=quantiz(sc,Pa); % lượng tử hóa% quá trình mã hóa và biến đổi từ ma trận sang veto nhị phân

Code=(de2bi(C))';Code=(Code(:))';%

S=zeros(1,length(C));

% quá trình giải mã

for k=1:length(C)S(k)=Pa(C(k)+1);

end

SC = compand(S,A,max(S),'A/expander');% giải nén luật A

SC=interp(SC,100);% quá trình nội suy, tấn số lấy mẫu mới=100.fs% ve hinh

figure(1) subplot(2,1,1)

for k=1:100 plot(k:0.01:k+0.99,Code(k)*[0 ones(1,98) 0],'color','r') hold on

end

title('Tin hieu goc ban tin') axis([0,100,0,3])

subplot(2,1,2) plot(SC(1:100*100)) title('Tin hieu thu') hold on;

figure(2)subplot(3,1,1)num_3s=3*(1/100)/step;%

stem(t(1:num_3s),s(1:num_3s))title('Dang tin hieu lay mau o 3 chu ky dau tien, fs=8e3 Hz')subplot(3,1,2)

stem(t(1:num_3s),sc(1:num_3s))title('Dang tin hieu qua bo nen ')subplot(3,1,3)

%

for k=1:num_3splot(t(k):step/99:t(k+1),sc(k)*[0 ones(1,98) 0],'color','b')hold on

end

title('Dang tin hieu qua bo luong tu hoa 256 muc')figure(3)

subplot(2,1,1)plot(t(1:num_3s),s(1:num_3s))title('Tin hieu goc lay mau fs=8e3 Hz')subplot(2,1,2)

%

plot(step/100:step/100:3*1/100,SC(1:num_3s*100))title('Tin hieu thu sau bo noi suy co tan so lay mau= 100.fs')figure(4)

subplot(2,1,1) one=ones(1,5);in=[];d=1;

for k=1:5:100*1*2

Trang 9

in(k:k+4)=one*Code(d);d=d+1;

end

[Pf,f]=SP(0:length(in)-1,in); semilogy(f,Pf)

title('tin hieu goc') 6

subplot(2,1,2) [Pf1,f1]=SP(0:100*100-1,SC(1:100*100)); semilogy(f1,Pf1)

title('tin hieu sau xu ly')hold off;

Trang 10

Bộ điều chế16QAM

2Nhiệm vụ 2: Mô phỏng hệ thống truyền dẫn qua kênh AWGN

2.1Mô tả nhiệm vụ‒ Hệ thống truyền dẫn có điều chế, luồng bit vào là luồng bit từ nhiệm vụ 1‒ Điều chế sử dụng là điều chế 16-QAM

‒ Tín hiệu phát có dạng

Trong đó: dk là ký hiệu sau điều chế, p là dạng xung phát, Tsym là chu kỳ xung phát,Փo là pha tín hiệu phát Xung p có dạng

Trong đó Es là năng lượng 1 ký hiệu

2.2Mô tả hệ thống và các tham số mô phỏnga Sơ đồ khối hệ thống

‒ Do điều chế là 16-QAM nên dòng bit vào điều chế được tách làm 4 nhánh, mỗi

nhánh có tốc độ bằng một nửa tốc độ bit ban đầu Trong mô phỏng, tín hiệuđược tách bằng hàm buffer

‒ Điều chế QAM là điều chế biên độ vuông góc, tín hiệu điều chế có dạng

Bộ giải điềuchế 16QAMAWGN

Trang 11

a co s 2 f tT

Trong đó Eo là năng lượng mỗi bit, 0≤t≤Tai và bi là cặp số nguyên độc lập được xác định dựa trên vị trí của điểm bản tin, tọađộ vecto Si trong không gian tín hiệu xác định như sau

,

φ1(t)=-t)=-√T2sin (2 pi fc t )

và φ2(t)=-t)=

T2cos (2 pi fc t )

‒ Điều chế 16-QAM trong mô phỏng: Điều chế QAM trong Matlab được thực

hiện bằng hàm modem.qammod(M) với M=16 là số trạng thái và hàmmodulate

Kênh AWGN

‒ AWGN là tạp âm Gauss trắng thường gây ra do tạp âm nhiệt hoặc tạp âm nềnmáy thu trong các mạch điện Tạp âm Gauss trắng là biến ngẫu nhiên phân bốchuẩn, có kỳ vọng bằng 0 Tạp âm Gauss trắng tác động lên tín hiệu bằng phép+ lên biên độ của tín hiệu

‒ Trong Matlab, mô phỏng kênh AWGN sử dụng hàm awgn(tín hiệu phát,SNR,P)trong đó SNR là tỷ số công suất tín hiệu trên tạp âm có đơn vị là dB, P là côngsuất tín hiệu đơn vị là dBW Nếu không có P coi công suất phát = 0dBW

‒ Trong bài mô phỏng, ta có công suất của tín hiệu trong khoảng thời gian Tsys làP=<(p(t))^2>=3*Es/Tsys, nếu chọn Es=2/3*Tsys thì công suất tín hiệu làP=10*lg(3*Es/Tsys)=0dBW

Giải điều chế 16-QAM

‒ Sau khi tích phân, ta có ký hiệu điều chế ở bộ thu Thực hiện giải điều chế vàđưa vào khối quyết định cứng thu được dòng bit phát

‒ Do trong mô phỏng ký hiệu điều chế là phức nên có thể thực hiện tích phântrước hoặc sau điều chế đều được

‒ Trong Matlab, bộ giải điều chế QAM sử dụng hàm modem.qamdemod(M) vớiM là số trạng thái,

Trang 12

2.3Kết quảKết quả mô phỏng trên kênh AWGN có SNR= 8dB

Hình 2.1: Biểu đồ chòm sao tín hiệu sau điều chế và tại bộ thu

Trang 13

Hình 2.2: Biểu đồ dạng tín hiệu phát và thu

Trang 14

Hình 2.4: Mật độ phổ công suất tín hiệu phát và thu

Trang 15

2.4Mã chương trình

bit=Code; % dau vao la chuoi bit thuc hien o nhiemvu 1

N=0.5*(1024)^2; % toc do ki hieu

Tsys=1/N; %chu ki 1 bit

t=0:Tsys/100:Tsys; %vec to thoi gian

Es=2/3*Tsys; % chon nang luong cho 1 bit sao cho cong suat tin hieu bang 0dbW

pt=(Es/Tsys)^0.5*(1-cos(2*pi*t/Tsys));%dang xung phat

a=modem.qammod(16); % dieu che 16QAM

a.InputType='bit'; % dau vao

bit_in=buffer(bit,4); % chia dong bit thanh 4 nhanh

dsys=modulate(a,bit_in); % thuc hien dieu che chuoi bit

Re_8dB=awgn(dsys,8); % cho qua kenh AWGN

b=modem.qamdemod(16); % giai dieu che 16QAM

b.OutputType='bit'; %

sig_demod=demodulate(b,Re_8dB); %thuc hien giai dieu che QAM

sig_demod=(sig_demod(:))'; %chuyen sang dang vecto

BER_8dB=sum(abs(sig_demod-bit))/length(bit); %so sanh chuoi bit thu duoc vachuoi bit ban dau de tinh BER

figure(5)subplot(2,1,1)plot(dsys,'*') title('Bieu do chom sao tin hieu sau dieu che')subplot(2,1,2)

plot(awgn(dsys,8),'*') title('Bieu do chom sao tin hieu sau qua kenh AWGN Eb/No=8dB')figure(6)

subplot(2,1,1)stem([real(dsys(1)*(1-cos(2*pi*t/Tsys))) imag(dsys(1)*(1-cos(2*pi*t/Tsys)))]) title('Dang xung phat')

subplot(2,1,2)stem([real(awgn(dsys(1)*pt,8/length(pt))) imag(awgn(dsys(1)*pt,8/length(pt)))]) hold on

plot([real(dsys(1)*(1-cos(2*pi*t/Tsys))) imag(dsys(1)*(1-cos(2*pi*t/Tsys)))],'color','r') title('Dang tin hieu tai bo thu')

eye=[];

for k=1:2000 eye=[eye dsys(k)*(1-cos(2*pi*t/Tsys))];

end

eye_a=awgn(eye,8);eyediagram([real(eye) imag(eye)],length(pt)*2) title('Bieu do mat tin hieu phat')

eyediagram([real(eye_a) imag(eye_a)],length(pt)*2) title('Bieu do mat tin hieu tai bo thu')

figure(9)c=[dsys(1)*pt dsys(2)*pt dsys(3)*pt]; %

thu=awgn(c,8); %

[Pf1,f1]=SP(0:length(c)-1,c);[Pf2,f2]=SP(0:length(c)-1,thu);subplot(2,1,1)

semilogy(f1,Pf1);grid;title('PSD tin hieu phat')subplot(2,1,2)

Ngày đăng: 01/07/2016, 17:51

TỪ KHÓA LIÊN QUAN

w