1. Trang chủ
  2. » Luận Văn - Báo Cáo

Mô phỏng mạng truyền thông

13 367 1

Đ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 13
Dung lượng 686 KB

Nội dung

Tức là, nó là nguồn tạp âm phát ra một lượng công suất như nhau trên một đơn vị băng tần tại tất cả các tần số bằng Do tạp âm nhiệt được cộng với tín hiệu nên nó còn được gọi là tạp âm c

Trang 1

BỘ GIÁO DỤC ĐÀO TẠO

TRƯỜNG ĐẠI HỌC QUY NHƠN

TIỂU LUẬN MÔN MÔ HÌNH HÓA VÀ

MÔ PHỎNG MẠNG TRUYỀN THÔNG

Đề tài: Mô phỏng Monte-Carlo hệ thống truyền dẫn

BPSK qua kênh AWGN

Họ và tên học viên:

1 Lê Quang Hưng

Lớp: Kỹ thuật Viễn thông

Quy Nhơn, tháng 6 năm 2018

Trang 2

I Kênh tạp âm AWGN

Thuật ngữ tạp âm (noise) mô tả các tín hiệu điện không mong muốn xuất hiện trong hệ thống Sự xuất hiện của tạp âm làm giảm khả năng tách chính xác các tín hiệu phát và, vì vậy, làm giảm tốc độ truyền dẫn thông tin Tạp âm được tạo ra từ nhiều nguồn khác nhau, nhưng có thể phân loại thành hai nguồn chính

là nhân tạo và tư nhiên Nguồn tạp âm nhân tạo xuất hiện từ các nguồn đánh lửa, chuyển mạch hay các phát xạ điện từ Tạp âm tự nhiên gồm tạp âm xuất hiện trong các mạch hay linh kiện điện tử, xáo động khí quyển hay các nguồn thiên hà

Thiết kế tốt các mạch điện tử, thiết bị hay hệ thống cho phép loại bỏ hoặc giảm bớt đáng kể ảnh hưởng của các tạp âm bằng cách nối đất, chọn vị trí đặt thiết bị hay sử dụng các phương pháp lọc Tuy nhiên, có một nguồn tạp âm tự nhiên không thể loại bỏ là tạp âm nhiệt Tạp âm nhiệt xuất hiện do chuyển động nhiệt của các điện tử trong tất cả các linh kiện điện tử như điện trở, dây dẫn hay các phần tử dẫn điện khác Sự chuyển động ngẫu nhiên và độc lập của vô hạn các điện tử tạo nên các đặc tính thống kê Gauss theo định lý giới hạn trung tâm (central limit theorem) Vì vậy, tạp âm nhiệt có thể mô tả như một quá trình ngẫy nhiên Gauss có giá trị trung bình bằng không (zero mean)

Hàm mật độ xác suất (PDF Probability Density Function) của một quá trình ngẫu nhiên Gauss n(t) được biểu diễn như sau:

Một đặc tính quan trọng của tạp âm Gauss có giá trị trung bình bằng không

là phương sai σ2 bằng trung bình bình phương của n, tức là, σ2 = E{n2(t)}

Tạp âm trắng: một đặc tính quan trong của tạp âm nhiệt là mật độ phổ tần số của nó như nhau ở mọi tần số Tức là, nó là nguồn tạp âm phát ra một lượng công suất như nhau trên một đơn vị băng tần tại tất cả các tần số bằng

Do tạp âm nhiệt được cộng với tín hiệu nên nó còn được gọi là tạp âm cộng (additive noise) Tổng hợp các đặc tính của tạp âm nhiệt chúng ta có thể tóm tắt lại rằng tạp âm nhiệt trong các hệ thống thông tin là tạp âm Gauss trắng cộng (AWGN: Additive White Gaussian Noise)

Trang 3

Trong MATLAB, chúng ta có thể sử dụng hàm có sẵn randn để mô phỏng tạp âm AWGN Hàm randn cho phép tạo ra các biến ngẫu nhiên theo phân bố

chuẩn chính tắc (standard normal distribution) với giá trị trung bình 0, phương sai 1 và độ lệch chuẩn 1

II Sơ đồ truyền dẫn số qua kênh AWGN

Hình vẽ mô tả một sơ đồ truyền dẫn thông tin số cơ bản Tại phía phát, nguồn

dữ liệu tạo ra một chuỗi các dấu phát d k, trong đó một dấu phát được tạo ra độc lập với các dấu khác Đối với một hệ thống thông tin nhị phân, chuỗi dấu phát chứa hai dấu {1, 0} Các nguồn dữ liệu kiểu này thường được sử dụng phổ biến trong mô phỏng và được gọi là nguồn gián đoạn không nhớ (DMS: Discrete Memory Source) Các dấu phát được tạo ra sau đó được ánh xạ thành các dạng sóng phù hợp Với hệ thống nhị phân, tập dạng sóng được định nghĩa {s1(t), s2(t)} Máy phát (Tx), sau đó, sẽ thực hiện chức năng khuếch đại dạng sóng đầu

ra của bộ điều chế để phát đi trên kênh truyền với công suất yêu cầu

Tín hiệu phát đi qua kênh truyền trước khi đến máy thu Trong thực tế kênh truyền là một môi trường truyền dẫn phức tạp, gây ảnh hưởng lớn đến chất lượng truyền dẫn tín hiệu Tuy nhiên, để đơn giản, chúng ta giả thuyết kênh truyền chỉ tạo ra tạp âm trắng cộng (AWGN) Tín hiệu thu nhận được ở đầu vào máy thu sẽ được đưa qua bộ lọc phối hợp, còn được gọi là máy thu tương quan Đầu ra của bộ lọc phối hợp được lấy mẫu tại cuối chu kỳ dấu để tạo nên thống

kê quyết định (decision statistic), d~ k, rồi so sánh với ngưỡng quyết định T để tạo nên ước lượng d^ k của tín hiệu gốc dk Nếu d~ k > T thì quyết định được thực hiện theo một trong hai dấu, còn ngược lại, d~ k < T, quyết định theo dấu còn lại. Máy thu kiểu này thường được gọi là máy thu tối ưu do bản chất của việc ước lượng tín hiệu phát là làm tối giản xác suất lỗi PE

Trang 4

Hệ thống được đề cập là một hệ thống có thể phân tích bằng giải tích một cách dễ dàng nhờ các kiến thức cơ bản về lý thuyết thông tin và giải

bày ở hầu hết các tài liệu về thông tin số, và cho bởi

công suất đơn phía của tạp âm, k là hệ số xác định bởi tương quan giữa các

tín hiệu không tương quan và k=1 Với tín hiệu điều chế khóa dịch pha (PSK), các tín hiệu điều chế có cùng tần số và công suất, nhưng khác pha

tín hiệu sẽ tương quan ngược (anticorrelated), và k=2

Mặc dù có thể phân tích được dễ dàng nhưng trong một số trường hợp xây dựng chương trình mô phỏng cho các hệ thống kiểu này vẫn cần thiết Lý do đây là một hệ thống cơ bản nên nó thường được sử dụng làm

cơ sở để mở rộng cho các hệ thống truyền dẫn phức tạp hơn

III Truyền dẫn số BPSK

Hệ thống truyền dẫn số trong đó tín hiệu thu bao gồm tín hiệu phát cộng tạp

âm ngẫu nhiên Giả thiết rằng nhiệm vụ của chúng ta là tính xác suất lỗi dấu tại đầu ra máy thu Từ lý thuyết truyền dẫn chúng ta biết rằng đối với truyền dẫn tín hiệu BPSK (Khóa dịch pha nhị phân - Binary Phase Shift Keying) qua kênh AWGN (Nhiễu Gauss trắng cộng - Additive White Gaussian Noise), thì xác suất lỗi dấu là

trong đó, E b là năng lượng dấu, N 0 là mật độ phổ công suất tạp âm một phía và

Q(x) là hàm Q Gauss được định nghĩa bởi

Để ý rằng P E là một số chứ không phải một biến ngẫu nhiên, mặc dù tạp

âm ngẫu nhiên xuất hiện ở đầu vào máy thu Số P E là một giá trị trung bình sau

một số lần thử vô hạn, trong đó mỗi lần thử bao gồm việc gửi một số dấu số đi qua hệ thống và quan sát kết quả đầu ra Tất nhiên là kết quả có thể là chính xác hoặc là một lỗi ở đầu ra Đối với các quá trình Ergodic (dừng), chúng ta có thể

Trang 5

xác định xác suất lỗi bằng hai cách Chúng ta có thể xem một bit được truyền và

tính P E như là trung bình tập hợp (ensemble average), trong đó chúng ta có một

tập hợp (ensemble) của các dạng sóng tạp âm có cùng tính chất thống kê Một

cách khác là chúng ta có thể xác định P E như là trung b.nh thời gian bằng cách

truyền vô hạn các dấu nhị phân và sử dụng hàm mẫu đơn của tạp âm Điểm mấu

chốt là chúng ta tính P E dựa trên một số vô hạn các dấu nhị phân phát đi Nếu

thay v xác định P E dựa trên một số vô hạn các dấu phát, chúng ta ước lượng P E

dựa trên một số vô hạn các dấu phát, ước lượng P E sử dụng một số hữu hạn các

dấu nhị phân phát, ta sẽ tìm được rằng ước lượng của P E thực tế là một biến

ngẫu nhiên do mỗi hàm mẫu có khoảng hữu hạn sẽ tạo nên một giá trị khác nhau (mong muốn là không nhiều lắm) cho xác suất lỗi Điều này sẽ được trình bày ở phần sau khi xem xét phương pháp Monte-Carlo

IV Mô phỏng Monte-Carlo trong truyền dẫn số

Mô phỏng Monte-Carlo là một phương pháp mô phỏng ngẫu nhiên được sử

dụng để đánh giá sự lặp lại chất lượng của một mô hình xác định sử dụng các

tập biến đầu vào ngẫu nhiên Phương pháp mô phỏng Monte-Carlo được bắt nguồn từ trò chơi may rủi được các casino tạo ra bằng các bộ tạo số ngẫu nhiên

cơ khí Tên gọi Monte-Carlo được lấy từ tên gọi của thành phố quê hương nổi tiếng của các sòng bạc Monte-Carlo Kỹ thuật Monte-Carlo về bản chất là phương pháp mô phỏng một thí nghiệm ngẫu nhiên sử dụng các công cụ nhân tạo, tức là không yêu cầu phải lặp lại thí nghiệm vật lý hoàn toàn

Trong truyền thông số, mô phỏng đòi hỏi phải tạo ra các mẫu có các dạng sóng khác nhau, xử lý các mẫu tín hiệu này qua các mô hình với các khối chức năng trong hệ thống, và ước lượng phẩm chất hệ thống từ các mẫu tín hiệu đầu

ra tại các điểm trong mô hình Trường hợp phổ biến trong truyền thông số là sử dụng mô phỏng Monte-Carlo để ước lượng tỉ số lỗi bit (BER)

Hình 4.1 Mô hình mô phỏng Monte-Carlo.

Giả thiết chúng ta có mô hình một hệ thống truyền dẫn được mô tả bởi

các tín hiệu đầu vào u(t), v(t), và w(t) là các quá trình ngẫu nhiên Mục tiêu của chúng ta là đi tìm các đặc tính thống kê của y(t) hay giá trị kỳ vọng của một hàm

G{y(t)} nào đó của y(t) Nếu chúng ta giải bài toán này bằng cách giả lập hệ

thống trong đó tất cả các dạng sóng biến đổi theo thời gian, chúng ta sẽ có một

mô phỏng "thuần" Monte-Carlo Điều này hàm việc tạo ra các mẫu của tất cả các quá trình đầu vào, cho các mô hình của các khối chức năng trong hệ thống làm việc với các mẫu đầu vào này, rồi quan sát các dạng sóng đầu ra Trong trường hợp lý tưởng, mô phỏng Monte-Carlo tương ứng với hệ thống thực trong

Trang 6

phạm vi giới hạn của các giả thiết mô hình hóa và phép tính xấp xỉ Giá trị kỳ

vọng E[G{y(t)}] được ước lượng từ mô phỏng Monte-Carlo theo công thức sau:

trong đó, dấu mũ biểu diễn giá trị ước lượng và N là số mẫu sử dụng mô phỏng.

Hình 4.2 Biểu diễn phương pháp mô phỏng Monte-Carlo.

Trong trường hợp mô hình mô phỏng hệ thống truyền dẫn số điển hình,

sơ đồ mô tả việc thực hiện mô phỏng Monte-Carlo để ước lượng tỉ lệ lỗi bit BER hay tỉ lệ lỗi dấu SER được biểu diễn ở Hình 4.2 Mô phỏng Monte-Carlo được tiến hành theo các bước sau đây:

• Tạo các mẫu của chuỗi bit đầu vào b(k), k = 1, 2, ,N, và các mẫu tạp

âm z(k), k = 1, 2, ,N.

• Xử lý các mẫu này qua mô hình các khối chức năng của hệ thống cần

mô phỏng và tạo một chuỗi đầu ra ˜b(k).

• Ước lượng tỉ số lỗi theo công thức sau:

trong đó, G{˜b(k)} = 1 nếu ˜b(k) ≠ b(k) và G(y(k)) = 0 nếu ˜b(k) ≠ b(k), tức là

G{˜d(k)} là hàm tính lỗi.

Độ chính xác của các ước lượng thu được từ mô phỏng Monte-Carlo sẽ

phụ thuộc vào thủ tục ước lượng sử dụng, kích thước mẫu N, khả năng tái tạo

chính xác các mẫu đầu vào, và các giả thiết mô hình hóa và phép tính xấp xỉ

Trang 7

V Mô phỏng Monte-Carlo truyền dẫn BPSK qua kênh AWGN

Hình vẽ 5.1 mô tả một sơ đồ mô phỏng đơn giản trên kênh AWGN sử dụng điều chế BPSK

Hình 5.1: Sơ đồ mô phỏng truyền dẫn BPSK trên kênh AWGN.

Tại máy phát dữ liệu phát b k ∈ {0, 1} được tạo ra từ một nguồn gián đoạn

không không nhớ (DMS:Discrete Memoryless Source) Trong Matlab chuỗi dữ

liệu phát b k có thể được tạo nhờ sử dụng hàm có sẵn rand hoặc randn như sau

bk = rand(1, N) > 0.5

hoặc

bk = randn(1, N) > 0 trong đó N là số mẫu cần tạo.

Chuỗi dữ liệu b k sau đó được điều chế BPSK Phép điều chế BPSK ở đây

có thể coi tương đương với phép ánh xạ

(1)

tạo nên chuỗi dấu phát s k ∈ {+√Es,−√Es} Trong trường hợp điều chế BPSK,

Es = E b = 1 nên s k ∈ {+1, −1} Do đó phép ánh xạ b k → s k trong điều chế BPSK

có được thực hiện bằng Matlab như sau

sk = 1 − 2 ∗ bk Các dấu phát s k truyền qua kênh truyền và chịu ảnh hưởng của tạp âm AWGN Do ảnh hưởng của AWGN, tín hiệu thu y k là xếp chồng (cộng) của các dấu phát s k và các dấu tạp âm n k, tức là

Trang 8

y k = s k + n k (2)

trong đó n k là các dấu tạp âm AWGN phức có dạng

n k = n I,k + jn Q,k (3)

trong đó n I,k và n Q,k tương ứng là thành phần đồng pha và vuông pha của tạp âm.

Do phương sai của các thành phần σ2 nI = σ2

nQ = σ2 n = N0/2, trong đó N0/2 là mật

độ phổ công suất tạp âm Như vậy, phương sai của tạp âm n k trở thành 2σ 2

n = N0.

Để tạo được tạp âm n k với phương sai 2σ2 n chúng ta có thể sử dụng hàm randn

có sẵn trong Matlab để tạo ra chuỗi các dấu tạp âm có phân bố chuẩn chính tắc,

rồi nhân với độ lêch chuẩn của tạp âm σ n như sau

nk = sigma ∗ (randn(1, N) + j ∗ randn(1, Ns)) (4)

Để tạo ra tạp âm có năng lượng thỏa m.n tỉ số (E b /N 0)req cho trước chúng ta đặt

độ lệch chuẩn

(5) Tức là,

sigma = sqrt(Eb/(2 ∗ EbNo))

nk = sigma ∗ (randn(1, N) + j ∗ randn(1, Ns)) Tại máy thu, do tín hiệu điều chế BPSK chỉ chứa thành phần đồng pha

(phần thực), nên để tách tín hiệu phát s k từ tín hiệu thu được y k, máy thu thực hiện tách lấy phần thực trước, sau đó thực hiện tách tín hiệu sử dụng phương pháp tách sóng hợp lẽ tối ưu (MLD: Maximum Likelihood Detection) Cụ thể, máy thu thực hiện phép so sánh và quyết định sau:

if yk ≥ 0 → ˆsk = +1 (6)

elseif yk < 0 → ˆsk = −1 (7) Phép so sánh này được thực hiện trong Matlab nhờ sử dụng hàm sign(yk) Tín

hiệu tách được ˆsk sau đó được so sánh với tín hiệu phát s k để tính toán phẩm

chất lỗi bít BER của hệ thống

Chương trình mô phỏng truyền BPSK qua kênh AWGN được trình bày ở chương trình MATLAB BPSKAWGN.m Chương tr.nh thực hiện mô phỏng với

N = 105 dấu BPSK {+1,−1} Kết quả BER thu được tù chương trình mô phỏng

BPSKAWGN.m được so sánh với giá trị lý thuyết [1]

Trang 9

để xác định tính chính xác của kết quả mô phỏng (xem Hình vẽ 5.2)

Hình 5.2: Phẩm chất BPSK trên kênh AWGN.

Matlab Program BPSKAWGN.m

% Chuong trinh mo phong truyen dan BPSK qua kenh AWGN

% Dinh nghia tham so

EbNodB=0:10;

EbNo=10.^(EbNodB./10);

sigLen=5*10^5;

% Tao tin hieu BPSK {+1,-1}

s=1-2*(rand(1,sigLen)>=0.5);

% Tinh toan nang luong bit tin hieu Eb

Eb=norm(s)^2/sigLen;

Trang 10

% Mat do pho AWGN

No=Eb./EbNo;

% Vong lap tinh toan BER theo Eb/No

for k=1:length(EbNo)

% Tao AWGN

n=sqrt(No(k)./2).*(randn(1,sigLen)+j*randn(1,sigLen));

% Tin hieu thu

y=s+n;

% Tach tin hieu

shat=sign(real(y));

error=s-shat;

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

BER(k)=noError/sigLen;

end

% BER ly thuyet cua truyen dan BPSK qua kenh AWGN BERtheory=1/2*erfc(sqrt(EbNo));

% Ve do thi

semilogy(EbNodB,BER, '*' ,EbNodB,BERtheory)

xlabel('Eb/No [dB]')

ylabel('BER')

legend( 'By simulation', 'By theory' )

title( ' BER cua BPSK qua kenh AWGN ' )

grid

VI Một số code mô phỏng bằng MATLAB

1, Code: Điều chế BPSK

f = 2; fs = 100; t = 0:1/fs:1;

% thiet lap cac pha khac nhau cua BPSK

p1 = 0;p2 = pi;N = 10; % so bit duoc dieu che

Trang 11

bit_stream=round(rand(1,N)); % tao bit ngau nhien nhi phan time = [];

digital_signal = [];

PSK = [];

carrier_signal = [];

for ii = 1:1:N

if bit_stream(ii) == 0

bit = zeros(1,length(t));

else

bit = ones(1,length(t));

end

% bit0 = (bit_stream(ii)==0)*zeros(1,length(t));

% bit1 = (bit_stream(ii)==1)*ones(1,length(t));

digital_signal = [digital_signal bit];

% tin hieu BPSK

if bit_stream(ii) == 0

bit = sin(2*pi*f*t+p1);

else

bit = sin(2*pi*f*t+p2);

end

PSK = [PSK bit];

%song mang

carrier = sin(2*f*t*pi);carrier_signal = [carrier_signal carrier]; time = [time t];t = t + 1;

end

% ve tin hieu so

subplot(3,1,1);

plot(time,digital_signal,'r');title(' Tin hieu so');grid on;

axis([0 time(end) -0.5 1.5]);

% ve song mang

subplot(3,1,2);

plot(time,carrier_signal);title(' song mang');grid on;axis tight;

%ve tin hieu dieu che BPSK

subplot(3,1,3);plot(time,PSK);title(' BPSK');grid on;axis tight;

Trang 12

Hình 6.1 Điều chế BPSK

2, Code BER của BPSK trên kênh AWGN

N = 10^6 %so bit

rand('state',100);

randn('state',200);

% May phat

ip = rand(1,N)>0.5; % tao ma tran 0,1 voi xac suat bang nhau

s = 2*ip-1; %dieu che BPSK

n = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; %nhieu trang GAUS

Eb_N0_dB = [-3:10]; %nhieu gia tri Eb/N0

for ii = 1:length(Eb_N0_dB)

% Nhieu cong

y = s + 10^(-Eb_N0_dB(ii)/20)*n; % them nhieu trang gauss

ipHat = real(y)>0;

nErr(ii) = size(find([ip- ipHat]),2);

Trang 13

end

simBer = nErr/N; % simulation BER

theoryBer = 0.5*erfc(sqrt(10.^(Eb_N0_dB/10))); % BER theo ly thuyet

% vẽ BER

close all

figure

semilogy(Eb_N0_dB,theoryBer,'b.-');

hold on

semilogy(Eb_N0_dB,simBer,'mx-');

axis([-3 10 10^-5 0.5])

grid on

legend('theory', 'simulation');

xlabel('Eb/No, dB');

ylabel('Bit Error Rate');

title('BER-BPSK-AWGN');

Hình 6.2 BER của BPSK trên AWGN

Ngày đăng: 17/09/2018, 16:11

TỪ KHÓA LIÊN QUAN

w