1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Bài tập lớn môn mô phỏng hệ thống truyền thông

11 770 2
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 11
Dung lượng 423,22 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tín hiệu trong mô hình tương đương băng gốc:  Các tham số chính của hệ thống:  Rbit = 7.. ak_r nt Khối điều chế QPSK Khối giải điều chế QPSK AWGN So sánh Đếm lỗi r1t... Ta có vector k

Trang 1

Nhiệm vụ: Mô phỏng hệ thống truyền dẫn số tại tốc độ dữ liệu

1 Cơ sở lý thuyết

1.1.Sơ đồ khối hệ thống mô phỏng và các tham số của hệ

thống

1.2.Lý thuyết

a Tín hiệu trong mô hình tương đương băng gốc:

 Các tham số chính của hệ thống:

 Rbit = 7 / – Tốc độ dữ liệu

 Nbit = 1000 – Số lượng bit thực hiện mô phỏng

 Coi 0 = 0

 Fsam = 7 - Tần số lấy mẫu

 Fc = 5 - Tần số sóng mang

 Thực hiện mô phỏng theo chuẩn Es=1

ak_r

n(t)

Khối điều chế QPSK

Khối giải điều chế QPSK

AWGN

So sánh

Đếm lỗi r1(t)

Trang 2

b QPSK

- 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

- xk là một biến ngẫu nhiên gây ra bởi tạp âm

Ta có vector không gian tín hiệu QPSK:

Cặp bit vào Pha tín hiệu QPSK

Từ khảo sát trên ta thấy một tín hiệu QPSK được đặc trưng bởi một trùm tín hiệu hai chiều (N=2) và bốn điểm bản tin (M=4), cặp bit 00, 01,11,10 được biễu diễn thông qua tham số Sau đó được dịch đi một góc là 0 = /4 là pha của tín hiệu phát:

Trang 3

Cặp bit vào dk st

2 Dạng tín hiệu và phổ tín hiệu

2.1.Code mô phỏng

%%Ngô Minh Đức- L12VT2- B12LDVT067

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

t=0:T*L/(30*L-1):T*L;

%tao chuoi dk gom 1,-1,j va -j

for x=1:2:L

if d(x)==0 && d(x+1)==0

dk((y-1)*60+1:y*60)=1;

y=y+1;

elseif d(x)==0 && d(x+1)==1

dk((y-1)*60+1:y*60)=j;

y=y+1;

elseif d(x)==1 && d(x+1)==1

dk((y-1)*60+1:y*60)=-1;

y=y+1;

elseif d(x)==1 &&d(x+1)==0

dk((y-1)*60+1:y*60)=-j;

y=y+1;

end

end

end

end

Trang 4

%tao tin hieu phat st voi pha cua tin hieu phat la pi/4

st=dk*exp(j*pi/4);

st_awgn=awgn(st,SNR,'measured');%tin hieu qua kenh AWGN

% Ve dang tin hieu ban dau

subplot(3,1,1)

stairs(d)

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))>0

phi(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/2

phi(x)= 7*pi/4;

elseif angle(st_awgn(x))<=-pi/2 && angle(st_awgn(x))>-pi phi(x)=5*pi/4;

end

end

end

end

end

%tim lai vecto phat

z=1;

for x=30:60:60*L/2

if phi(x)==pi/4

r((z-1)*30+1:z*30)=0;

r(z*30+1:z*30+30)=0;

z=z+2;

elseif phi(x)==3*pi/4

r((z-1)*30+1:z*30)=0;

r(z*30+1:z*30+30)=1;

z=z+2;

elseif phi(x)==5*pi/4

r((z-1)*30+1:z*30)=1;

r(z*30+1:z*30+30)=1;

z=z+2;

elseif phi(x)==7*pi/4

Trang 5

r((z-1)*30+1:z*30)=1;

r(z*30+1:z*30+30)=0;

z=z+2;

end

end

end

end

end

%ve bieu do chom sao QPSK

h=scatterplot(st_awgn,1,0,'xb');

hold on

scatterplot(st,1,0,'or',h)

title('bieu do chom sao tin hieu QPSK')

%ve dang song tin hieu

for x=1:30*L

sdc(x)=cos(2*pi*Fc*t(x)+ angle(st(x)));

sdc_awgn(x)=cos(2*pi*Fc*t(x)+angle(st_awgn(x)));

end

figure(2)

plot(t,sdc)

title('dang song tin hieu tai dau ra bo dieu che')

figure(3)

plot(t,sdc_awgn);

title('dang song tin hieu khi qua kenh awgn')

figure(4)

plot(t,r)

title('dang song tin hieu sau khi duoc khoi phuc')

%ve mat(chua lam duoc)

%% 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 6

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

Dk=randint(1,5*10^5,[0 3]);

Phi=2*pi*Dk/4 + pi/4;

sk=exp(j*Phi);

SNRdB=0:15;%dB

for k=1:length(SNRdB)

st=awgn(sk,SNRdB(k),'measured');

for c=1:length(Dk)

if angle(st(c))<=pi/2 && angle(st(c))>0

phi(c)=pi/4;

elseif angle(st(c))<=pi && angle(st(c))>pi/2

phi(c)=3*pi/4;

elseif angle(st(c))<=3*pi/2 && angle(st(c))>pi

phi(c)= 5*pi/4;

elseif angle(st(c))<=2*pi && angle(st(c))>3*pi/2

phi(c)=7*pi/4;

end

end

end

end

end

error=phi-phi;

%tim so symbol sai

so_loi=length(find(error~=0));

BER(k)=so_loi/(5*10^5);

end

% BER theo ly thuyet truyen dan QPSK la:

BER_lt=erfc(sqrt(10.^(SNRdB./10)));

%ve do thi

figure(8)

semilogy(SNRdB,BER,'*',SNRdB,BER_lt);

xlabel('SNR')

ylabel('BER')

legend('theo mo phong','theo ly thuyet')

title('duong cong bit loi QPSK')

grid

Trang 7

2.2 Kết quả mô phỏng

a) Dạng sóng tín hiệu tại đầu ra bộ điều chế

b) Dạng sóng tín hiệu khi đi qua kênh AWGN

Trang 8

c) Dạng sóng tín hiệu sau khi được khôi phục

d) Biểu đồ chòm sao tín hiệu QPSK

Trang 9

e) Phổ tín hiệu sau điều chế

f) Phổ tín hiệu qua kênh AWGN

Trang 10

g) Phổ tín hiệu sau khi khôi phục

h) Đường cong bit lỗi QPSK

Trang 11

2.3.Mô phỏng Monte-Carlo

clear

N = 5*10^7; % number of symbols

Es_N0_dB = [ -3:14]; % multiple Eb/N0 values

ipHat = zeros(1,N);

for ii = 1:length(Es_N0_dB)

ip = (2*(randi(1,N)>0.5) -1) + j*(2*(rand(1,N)>0.5) -1); %

s = (1/sqrt(2))*ip; % normalization of energy to 1

n = 1/sqrt(2)*[randi(1,N) + j*N)]; % white guassian noise, 0dB variance

y = s + 10^( -Es_N0_dB(ii)/20)*n; % additive white gaussian noise

% demodulation

y_re = real(y); % real

y_im = imag(y); % imaginary

ipHat(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)) = -1 + 1*j;

ipHat(find(y_re >= 0 & im < 0)) = 1 - 1*j;

nErr(ii) = size(find([ip - ipHat]),2); % couting the number of errors

end

simSer_QPSK = nErr/N;

theorySer_QPSK = erfc(sqrt(0.5*(10.^(Es_N0_dB/10)))) -

(1/4)*(erfc(sqrt(0.5*(10.^(Es_N0_dB/10)) ))).^2;

close all

figure

semilogy(Es_N0_dB,theorySer_QPSK, 'b -');

hold on

semilogy(Es_N0_dB,simSer_QPSK, 'mx -');

axis([ -3 15 10^ -5 1])

grid on

legend( 'theory -QPSK' , 'simulation -QPSK' );

Ngày đăng: 25/02/2019, 14:19

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w