2.6.1 Vẽ đồ thị
Phương phỏp phổ biến nhất để vẽ đồ thị là sử dụng hàmplotcú sẵn trong MATLAB. Cõu lệnhplot(x,y)vẽ đồ thị củaytheox, trong đúyvàxlà cỏc vector cú cựng độ dài. Trong trường hợpYvàXlà cỏc ma trận thỡ cõu lệnh plot(X,Y)vẽ ra cỏc đồ thị với cỏc cột (hay hàng) củaYtương ứng với cỏc cột (hay hàng) của .X
bỏo theo dạngplot(x1,y1,x2,y2,...,xN,yN)với{xn,yn}là cặp giỏ trị của từng đồ thị. Để đỏnh dấu từng đồ thị chỳng ta cú thể gỏn cho chỳng cỏc dấu (marker), cỏc màu, kiểu đường đồ thị riờng, hay cũng cú thể kết hợp với nhau. Cỏc định dạng đường đồ thị định nghĩa trong MATLAB được liệt kờ ở bảng sau
Bảng 2.1:Cỏc tham số định dạng đường đồ thị trong MATLAB Ký hiệu màu Màu Ký hiệu dấu Dấu Ký hiệu đường Kiểu đường
b blue . point - solid
g green o circle : dotted
r red x x-mark -. dashdot
c cyan + plus – dashed
m magenta * star y yellow s square k black d diamond v triangle (down) ∧ triangle (up) < triangle (left) > triangle (right) p pentagram h hexagram
Vớ dụ sau đõy mụ tả phương phỏp sử dụng hàmplotđể vẽ hai đồ thị sin(x)vàcos(x)chung trờn một hỡnh vẽ.
x = 0:pi/10:2*pi; y = sin(x); z= cos(x); plot(x,y,’r+:’, x,z, ’b-.o’) xlabel(’x’) ylabel(’sin(x)/cos(x)’)
title(’Do thi ham sin(x) va cos(x)’) legend(’sin(x)’,’cos(x)’)
grid
Trong đú đường đồ thịsin(x)được biểu diễn bởi đường đứt nột màu đỏ với cỏc dấu cộng (+), cũn đường đồ thịcos(x)được biểu diễn bởi đường “gạch và chấm” (.−) màu xanh nước biển với cỏc dấu trũn. Cõu lệnhxlabel(’x’) vàxlabel(’sin(x)/cos(x)’)dựng để đỏnh dấu trục hoành và trục tung của đồ thị. Cõu lệnhtitle(’Do thi ham sin(x) va cos(x)’)dựng để đặt tờn cho đồ thị. Cõu lệnhlegend(’sin(x)’,’cos(x)’)dựng để ghi chỳ giải cho từng đồ thị và cuối cựng, cõu lệnhgriddựng để hiển thị cỏc đường lưới giỏ trị đồ thị. Kết quả cụ thể được biểu diễn trờn Hỡnh vẽ 2.2
Sử dụng cõu lệnhhelp plotchỳng ta cú thể biết thờm chi tiết về cỏch dựng hàmplot.
Một cõu lệnh vẽ đồ thị khỏc thường được sủ dụng nhiều trong thụng tin số để vẽ tỉ số lỗi bit (BER: Bit Error Rate) là cõu lệnhsemilogy(x,y). Cõu lệnh tương tự như cõu lệnhplotnhưng cho phộp biểu diễn trục tung của đồ thị ở thang logarith.
0 1 2 3 4 5 6 7 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 x s in (x )/ c o s (x )
Do thi ham sin(x) va cos(x)
sin(x) cos(x)
Hỡnh 2.1:Đồ thịsin(x)vàcos( )x
Vớ dụ, tỉ số BER của hệ thống truyền dẫn BPSK qua kờnh pha-đinh Rayleigh phõn tớch bằng lý thuyết là [1] BERBPSK−Fading=1 2 1−q 1 1 + 1 Eb/N0 (2.7)
trong đúE /Nb 0là tỉ số năng lượng bit tớn hiệu trờn phổ tần số tạp õm (một số trường hợp được hiểu và gọi là tỉ số tớn hiệu trờn tạp õmS/N). Sử dụng chương trỡnhBERBPSKFading.msau với cõu lệnhsemilogy(BER,EbNodB)cho phộp vẽ đồ thị BER theo tỉ sốE /Nb 0trờn thang logarith.
[BERBPSKFading.m]
% Chuong trinh ve do thi BER cua h/t BPSK tren kenh fading Rayleigh EbNodB=0:30 EbNo=10.^(EbNodB./10) BER=1/2*(1-1./sqrt(1+1./EbNo)) semilogy(EbNodB,BER) xlabel(’Eb/No’) ylabel(’BER’)
grid 0 5 10 15 20 25 30 10−4 10−3 10−2 10−1 100 Eb/No B E R
Ti so BER cua he thong BPSK qua kenh pha−dinh Rayleigh
Hỡnh 2.2:Mụ tả BER của hệ thống BPSK trờn kờnh pha-đinh Rayleigh.
Một số cõu lệnh vẽ đồ thị thường dựng khỏc gồmbarhayhist. Để biết thờm chi tiết về cỏc cõu lệnh này sử dụng lệnhhelptrong MATLAB.
Bài tập
1. Sử dụng hàmrandntạo một chuỗi ngẫu nhiờn gồmN= 1000giỏ trị x={x1, x , ..., x2 k, ..., xN}. Viết chương trỡnh tớnh giỏ trị trung bỡnh (kỳ vọng)Ex, phương saiσ2
xvà độ lệch chuẩnσxsử dụng cỏc cụng thức sau đõy
Ex= 1 N N X k=1 xk (2.8) σ2 x= E(x2)−E2 x= N X k=1 x2 k N − N X k=1 xk N 2 (2.9) σx=p σ2 x (2.10)
2. Viết chương trỡnh tạo một chuỗi−1và+1ngẫu nhiờnxcú độ dài104 bit. Tạo một chuỗi bit thứ 2ygiống nhưxtuy nhiờn cỏc phần tử thứ 10, 50, 100, 150, 250, 300, 350 bị đảo dấu so với cỏc phần tử tương ứng ởy. Tức là,y10=−x10, ..., y350=−x350. So sỏnhyvàxvà tớnh toỏn tỉ số sai số giữa hai chuỗi.
3. Dựa vào vớ dụ vẽ đồ thị BER của hệ thống BPSK trờn kờnh pha-đinh Rayleigh ở mục 2.6.1 và hàm sai số bựerfccú sẵn trong MATLAB,
i. Viết chương trỡnh vẽ đồ thị BER của hệ thống BPSK trờn kờnh tạp õm Gauss theo cụng thức sau[1]
BERBPSK−AWGN=1
2erfcpEb/N0
(2.11) ii. Vẽ đồ thị BER của hệ thống BPSK trờn kờnh tạp õm Gauss kết hợp với đồ thị BER của hệ thống BPSK trờn kờnh pha-đinh Rayleigh vào một hỡnh vẽ, đỏnh dấu và đặt chỳ giải cho từng đồ thị. 4. Viết một hàm MATLABy=QPSKMap(x)nhận đối số là một chuỗi ngẫu
nhiờn 1 và 0 cú độ dàiNbit. HàmQPSKMapthực hiện kiểm tra từng cặp 2 bit liờn tiếpxnvàxn+1rồi thực hiện phộp biến đổi sau
x xn n+1 ym 00 → √1 2+j√1 2 01 → −√1 2+j1 √2 10 → −1 √2−j√1 2 11 → √1 2−j1 √ 2 trong đún= 1,2, ..., Nvàm= 1,2, ..., N/2
5. Viết một chương trỡnhQPSKModtạo ra 20 bit 0, 1 ngẫu nhiờn. Sử dụng hàm MATLABQPSKMapở vớ dụ trờn để chuyển chuỗi bit {0,1} thành chuỗi cỏc dấuQPSKym.
Tài liệu tham khảo
[1] H. Harada and R. Prasad,Simulation and Software Radio for Mobile Com- munications. Artech House, 2002.
Mễ PHỎNG CÁC HỆ THỐNG THễNG TIN Vễ TUYẾN SỬ
DỤNG MATLAB
Simulation of Radio Communication Systems using Matlab
Trần Xuõn Nam
Bộ mụn Thụng tin, Khoa Vụ tuyến điện tử Đại học Kỹ thuật Lờ Quớ Đụn
100 Hoàng Quốc Việt, Cầu Giấy , Hà Nội, Việt Nam Phone: (069)-515392 E-mail: namtx@lqdtu.edu.vn
Chương 3
Lý thuyết mụ phỏng
3.1 Vai trũ của mụ phỏng
2Cỏc hệ thống thụng tin hiện đại đũi hỏi phải đỏp ứng được nhu cầu truyền dẫn dữ liệu tốc độ cao. Tuy nhiờn, cỏc hệ thống này thường lại bị hạn chế về cụng suất và băng tần. Cỏc yờu cầu mõu thuẫn này dẫn đến việc sử dụng cỏc phương thức điều chế bậc cao, mó sửa sai và cỏc phương phỏp xử lý tớn hiệu phức tạp khỏc ở phớa thu. Để đỏnh giỏ phẩm chất của một hệ thống truyền dẫn đơn giản trờn kờnh tạp õm Gauss trắng cộng tớnh (AWGN: Additive White Gaussian Noise) truyền thống thỡ phương phỏp giải tớch toỏn học cú thể được sử dụng rất hữu hiệu. Tuy nhiờn, đối với cỏc hệ thống truyền dẫn hiện đại làm việc trờn cỏc kờnh phức tạp, như kờnh thụng tin di động tế bào, chịu ảnh hưởng lớn của pha-đinh đa đường và nhiễu, thỡ việc thiết kế và phõn tớch giải tớch trở nờn hết sức phức tạp. Cú một điều may mắn là nhờ sự phỏt triển của mỏy tớnh trong vài thập kỷ gần đõy, nờn mỏy tớnh đó ngày càng cú tớnh năng xử lý cao và giỏ thành thấp. Hệ quả của sự phỏt triển này là cỏc kỹ thuật thiết kế và phõn tớch dựa trờn mỏy tớnh ngày càng trở nờn phổ biến. Đối với thụng tin, cỏc xử lý phức tạp của mỏy thu và mỏy phỏt hay cỏc ảnh hưởng của kờnh truyền nay đó cú thể mụ phỏng bằng cỏc mỏy tớnh thụng thường.
Ngoài ra, sự phỏt triển của mỏy tớnh cũng hỗ trợ cho sự phỏt triển của lý thuyết mụ phỏng. Trong những năm gần đõy, ngày càng cú nhiều cụng cụ mụ phỏng cú tớnh năng cao hỗ trợ cho việc mụ phỏng được thực hiện dễ dàng hơn. Động cơ quan trọng cho mụ phỏng là do mụ phỏng là cụng cụ quớ giỏ cho phộp tỡm hiểu sõu về hoạt động của hệ thống. Một hệ thống mụ phỏng hoàn chỉnh đúng vai trũ như một phũng thớ nghiệm cho phộp kiểm tra tại nhiều vị trớ trong hệ thống. Và vỡ vậy, cỏc tham số nghiờn cứu như độ rộng băng tần, bộ lọc hay tỉ số tớn hiệu trờn tạp õm (SNR: Signal to Noise Ratio) cú thể thay đổi được theo mong muốn. Hiệu quả của cỏc thay đổi này cú thể dễ dàng quan sỏt trờn màn hỡnh mỏy tớnh. Cỏc tham số như dạng súng, phổ tớn hiệu, sơ đồ mẫu mắt, chũm sao tớn hiệu, biểu đồ histogram, hay nhiều biểu đồ khỏc đều cú thể được hiển thị trờn màn hỡnh mỏy tớnh, cho phộp người nghiờn cứu cú 2Source: W. H. Tranter et al.,Principles of Communication Systems Simulation with Wireless Applica- tions,Prentice-Hall, 2004.
thể phõn tớch, đỏnh giỏ và so sỏnh với cỏc kết quả thực hiện trờn phần cứng.
3.2 Mụ phỏng vs. Phõn tớch
Để hiểu rừ vai trũ của mụ phỏng, chỳng ta xột 3 sơ đồ hệ thống sau đõy.
3.2.1 Sơ đồ truyền dẫn số qua kờnh AWGN
Hỡnh 3.1 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ỏtdk, 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 Memoryless 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.
Nguồn Dữliệu Điềuchế vàTx + Lọcphốihợp Lấymẫu Quyếtđịnh dk dk zk dk Kênhtruyền AWGN ~ ^ Hỡnh 3.1:Vớ dụ về một hệ thống dễ dàng thực hiện phõn tớch giải tớch.
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, trong vớ dụ đơn giản này, chỳng ta giả thiết kờnh truyền chỉ tạo ra tạp õm trắng cộng tớnh (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 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),dk, rồi so sỏnh với˜ ngưỡng quyết địnhTđể tạo nờn ước lượngdˆkcủa tớn hiệu gốcdk. Nếudk˜ > T thỡ quyết định được thực hiện theo một trong hai dấu, cũn ngược lại,dk˜ < 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.
Hệ thống đề cập đến ở Hỡnh 3.1 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 tớch. Thực tế là xỏc suất lỗiPEđó được tớnh toỏn một cỏch dễ dàng và trỡnh bày ở trong hầu hết cỏc tài liệu về thụng tin số, và cho bởi
PE=Q r kEs N0 ! (3.1) trong đúEslà năng lượng trung bỡnh của cỏc dấu phỏt,N0là mật độ phổ cụng suất đơn phớa của tạp õm,klà hệ số xỏc định bởi tương quan giữa cỏc dạng súng{s1(t), s2( )t}. Nếu cỏc tần số được chọn một cỏch chớnh xỏc, 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 ban đầu. Trong trường hợp pha khỏc nhauπ, sao chos2(t) =−s1(t)}, thỡ cỏc tớn hiệu sẽ tương quan ngược (anticorrelated), vàk= 2.
Sở dĩ chỳng ta núi rằng hệ thống truyền dẫn trờn Hỡnh 3.1 là hệ thống cú thể phõn tớch bằng giải tớch dễ dàng là do cỏc lý do sau:
• Do giả thiết kờnh truyền AWGN và mỏy thu tuyến tớnh. Giả thiết này dẫn đến thống kờ quyết địnhd˜trở thành một biến Gauss ngẫu nhiờn. • Do cỏc giả thiết nguồn dữ liệu khụng cú nhớ
• Do giả thiết đồng bộ dấu được thực hiện lý tưởng nờn chỳng ta cú thể biết chớnh xỏc thời điểm bắt đầu và kết thỳc của một dấu, vỡ vậy, cho phộp thống kờ quyết định được tỏch ra một cỏch chớnh xỏc.
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 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. Vớ dụ, nếu thay khối kờnh AWGN bằng khối kờnh pha-đinh Rayleigh chỳng ta cú mụ hỡnh truyền dẫn số qua kờnh pha-đinh Rayleigh, hay chỳng ta cũng cú thể thờm vào khối san bằng kờnh ở mỏy thu để cú được sơ đồ truyền dẫn sử dụng bộ san bằng để loại bỏ ảnh hưởng của pha-đinh chọn lọc theo tần số đối với kờnh cú trễ. Trong những trường hợp như vậy, việc xõy dựng thành cụng chương trỡnh mụ phỏng cho hệ thống truyền dẫn cơ bản được kiểm nghiệm bằng lý thuyết này, cho phộp mở rộng nhanh chúng để xõy dựng thành cụng chương trỡnh mụ phỏng cho cỏc hệ thống phức tạp.
3.2.2 Sơ đồ truyền dẫn số qua kờnh AWGN sử dụng cỏc bộ lọc vàKĐCS phi tuyến KĐCS phi tuyến
Trong mục trước chỳng ta đó xột một sơ đồ truyền dẫn cơ bản trong thụng tin. Chỳng ta cũng đó thấy rằng với sơ đồ truyền dẫn cơ bản đú thỡ nhờ sử dụng một số giả thiết chỳng ta cú thể phõn tớch dễ dàng phẩm chất lỗi bớt của
Nguồn Dữliệu Điềuchế + Lọcphốihợp Lấymẫu Quyếtđịnh dk dk zk dk Kênhtruyền AWGN ~ ^ KĐCS vàLọc Phituyến Hỡnh 3.2:Vớ dụ về một hệ thống khú thực hiện phõn tớch giải tớch.
hệ thống. Trong mục này chỳng ta sẽ xột một sơ đồ phức tạp hơn, trong đú cú sử dụng thờm một bộ khuếch đại cụng suất (KĐCS) phi tuyến và bộ lọc ở đầu ra mỏy phỏt. Chỳng ta đó biết rằng bộ khuếch đại cụng suất phi tuyến cú hiệu suất nguồn cao hơn bộ khuếch đại cụng suất tuyến tớnh, và vỡ vậy, thường được sử dụng ở cỏc ứng dụng đũi hỏi tiết nghiệm nguồn như thụng tin di động chẳng hạn. Tuy nhiờn, việc sử dụng bộ khuếch đại phi tuyến lại tạo nờn mộo hài và mộo điều chế lẫn nhau (intermodulation), làm cho phổ của tớn hiệu đầu ra KĐCS rộng hơn rất nhiều so với phổ đầu ra bộ điều chế. Bộ lọc đầu ra, thụng thường là một bộ lọc băng thụng cú tần số trung tõm trựng với tần số súng mang, cú nhiệm vụ làm suy giảm mộo hài và mộo điều chế lẫn nhau do tớnh phi tuyến của bộ KĐCS gõy nờn. Tuy nhiờn, bộ lọc này lại làm cho tớn hiệu bị phõn tỏn theo thời gian, do đú gõy nờn nhiễu xuyờn dấu (ISI). Hậu quả của ISI là xỏc suất lỗi của một dấu phụ thuộc vào một hay nhiều dấu trước đú. Nếu như xỏc suất lỗi của dấu thứiphụ thuộc vàokdấu trước đú thỡ chỳng ta cần tớnh xỏc suất
Pr(Ei|di−1, di−2, ..., di−k)
Đối với trường hợp nhị phõn cú2kchuỗi khỏc nhau, do đú chỳng ta cần tớnh cho2ktrường hợp. Giả thiết là mỗi dấu dữ liệu cú xỏc suất là 0 hay 1 như nhau, chỳng ta cú xỏc suất lỗi của dấu thứiđược tớnh như sau
PE= 1 2k 1 X di−1=0 1 X di−2=0 ã ã ã 1 X di−k=0
Pr(Ei|di−1, di−2, ..., di−k) (3.2) Tức là, chỳng ta cần tớnh2kxỏc suất lỗi khỏc nhau, với mỗi xỏc suất lỗi phụ thuộc một trong2kchuỗi trước đú, sau đú chia trung bỡnh chok. Do kờnh truyền đang xột là kờnh AWGN nờn mỗi xỏc suất trong2kxỏc xuất lỗi là hàm QGauss. Phương phỏp tớnh dễ hiểu, việc tớnh toỏn đối số của mỗi hàmQlại nhàm chỏn, và vỡ vậy, mụ phỏng thường được sử dụng thay thế cho giải tớch.