mô phỏng các hệ thống thông tin số sử dụng matlab

7 2.2K 60
mô phỏng các hệ thống thông tin số sử dụng matlab

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

Thông tin tài liệu

mô phỏng các hệ thống thông tin số sử dụng matlab

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 5 phỏng Monte-Carlo một số hệ thống vô tuyến điển hình 5.1 phỏng truyền dẫn BPSK qua kênh AWGN Hình vẽ 5.1 tả một đồ phỏng đơn giản trên kênh AWGN sử dụng điều chế BPSK. Data Source b k {0,1} + AWGN n k ysn kk k =+ Detector s k ^ Error Detection & BER Calculation s k ^ Modulator s k s k s k ^ Hình 5.1: đồ 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ạ s k =  √ E s nếu b k =0 − √ E s nếu b k =1 (5.1) 63 64 Chương 5. phỏng Monte-Carlo một số hệ thống vô tuyến điển hình tạo nên chuỗi dấu phát s k ∈{+ √ E s , − √ E s }. Trong trường hợp điều chế BPSK, E s = E b =1nê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ứclà y k = s k + n k (5.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 (5.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 n I = σ 2 n Q = σ 2 n = N 0 /2, trong đó N 0 /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 = N 0 . Để 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, N s )) (5.4) Đểtạoratạpâmcónănglượngthỏamãntỉsố(E b /N 0 ) req cho trước chúng ta đặt độ lệch chuẩn σ n =  (σ 2 n )=  E b 2(E b /N 0 ) req . (5.5) Tức là, sigma = sqrt(Eb/(2 ∗EbNo)) nk = sigma ∗ (randn(1, N)+j ∗ randn(1, N s )) 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áythu 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 y k ≥ 0 → ˆs k =+1 (5.6) elseif y k < 0 → ˆs k = −1 (5.7) Phép so sánh này được thực hiện trong Matlab nhờ sử dụng hàm sign(yk). Tínhiệutáchđượcˆs k 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. Một ví dụ mẫu chương trình phỏng truyền BPSK qua kênh AWGN được trình bày ở chương trình MATLAB BPSKAWGN.m ở Matlab Program 5.1. Chương trình thực hiện phỏng với N =10 5 dấu BPSK {+1, −1}.Kếtquả BER thu được tù chương trình phỏng BPSKAWGN.m được so sánh với giá trị lý thuyết [1] BER BPSK−AWGN = 1 2 erfc   E b /N 0  (5.8) để xác định tính chính xác của kết quả phỏng (xem Hình vẽ 5.2). 5.1. phỏng truyền dẫn BPSK qua kênh AWGN 65 0 1 2 3 4 5 6 7 8 9 10 10 −6 10 −5 10 −4 10 −3 10 −2 10 −1 Eb/No [dB] BER BER cua BPSK qua kenh AWGN By simulation By theory Hình 5.2: Phẩm chất BPSK trên kênh AWGN. Matlab Program 5.1 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; % 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 66 Chương 5. phỏng Monte-Carlo một số hệ thống vô tuyến điển hình % BER ly thuyet cua truyen dan BPSK qua kenh AWGN BERtheory=1/2*erfc(sqrt(EbNo)); %Vedothi semilogy(EbNodB,BER,’*’,EbNodB,BERtheory) xlabel(’Eb/No’) ylabel(’BER’) legend(’By simulation’,’By theory’) title(’BER cua BPSK qua kenh AWGN’) grid 5.2 phỏng truyền dẫn M-PSK qua kênh pha-đinh Rayleigh đồ phỏng Monte-Carlo của hệ thống truyền dẫn MPSK qua kênh pha- đinh Rayleigh được biểu diễn ở Hình 5.3 Data Source b k + AWGN n k ygsn kkk =+ k Coherent Detector g k Error Detection SER/BER Calculation y k ^ Modulator s k s k s k ^ Mapping q k Fading generator g k * g k g k * Decision s k =Q{ }y k ^ ^ s k ^ Hình 5.3: đồ phỏng truyền dẫn MPSK qua kênh pha-đinh sử dụng tách tín hiệu đồng bộ (coherent detection). 0 12 3 4 56 7 ( -1)M p/M 2p/M I Q Hình 5.4: đồ phân bố tín hiệu (signal constellation) của tín hiệu 8PSK. 5.2. phỏng truyền dẫn M-PSK qua kênh pha-đinh Rayleigh 67 Dựa trên thuật toán phỏng truyền dẫn BPSK qua kênh AWGN, chúng ta có thể xây dựng thuật toán phỏng hệ thống truyền dẫn MPSK qua kênh pha-đinh Rayleigh như sau: 1. TạodữliệuvàĐiềuchế:điều chế M-PSK thực hiện nhóm κ =log 2 M bít dữ liệu nhị phân thành một điểm tín hiệu trên đồ phân bố tín hiệu như trên Hình 5.4. Dựa trên phương pháp gán nhãn các điểm tín hiệu từ 0 đến M − 1 như ở hình vẽ, chúng ta thấy rằng điểm tín hiệu thứ i có thể được biểu diễn bởi s i = A exp  2π M i + π M  (5.9) Trong đó A = √ E s là biên độ tín hiệu và π M là pha ban đầu của đồ tín hiệu. Như vậy, để tạo ra chuỗi các dấu điều chế MPSK s k , chúng ta có thể tạo ra các số nguyên ngẫu nhiên b k ∈{0, 1, 2, , M −1},rồithay i = b k ở công thức (5.9). Như vậy, toàn quá trình tạo dữ liệu, mapping, và điều chế có thể được thực hiện bằng Matlab như sau bk = randint(1, N, [0M− 1]); theta = 2 ∗pi/M ∗ bk + pi/M; sk = A ∗exp(j ∗ theta) 2. Tạo kênh pha-đinh: kênh pha-đinh g k được tạo bởi thuật toán tạo pha- đinh Rayleigh ở Mục 4.5. Trong trường hợp pha-đinh Rayleigh có thể sử dụng kết quả Bài tập 4.1. 3. Tạo tạp âm AWGN n k : tạp âm n k được tạo ra sử dụng phương pháp tả ở Mục 5.1 với σ 2 n = E s 2E s /N 0 .VớitínhiệuMPSK một dấu s k chứa κ =log 2 M bit dữ liệu nhị phân, vì vậy, quan hệ năng lượng bit và dấu được biểu diễn bởi E s = κE b = E b log 2 M 4. Tách tín hiệu đồng bộ (coherent detection): nguyên lý tách coherent de- tection là sử dụng liên hợp phức của ước lượng kênh truyền ˆg k (ước lượng được nhờ các bộ ước lượng kênh) nhân với tín hiệu thu y k để quay pha tín hiệu, bị dịch đi do pha-đinh, về vị trí ban đầu, tức là, ˆy k =ˆg ∗ k y k .Để thuận tiện cho phỏng chúng ta có thể coi ˆg k được ước lượng một cách chính xác, tức là, ˆg k = g k , và sử dụng ngay g k cho tách tín hiệu coherent. Mặc dù bằng cách này ảnh hưởng quay pha do pha-đinh đã được khắc phục, nhưng góc pha tín hiệu thu vẫn không trùng với góc pha của tín hiệu phát do còn chịu ảnh hưởng của tạp âm. Sử dụng phương pháp tách tín hiệu hợp lẽ tối đa (MLD), bộ tách tín hiệu thực hiện quyết định dựa trên góc pha của ˆy k .Tứclà, ˆ θ k = ∠ˆy k (5.10) trong đó ∠ biểu diễn phép tính lấy góc pha. Trong Matlab phép tính lấy góc này có thể thực hiện được nhờ hàm có sẵn angle. Từ góc pha ˆ θ k 68 Chương 5. phỏng Monte-Carlo một số hệ thống vô tuyến điển hình này chuỗi dữ liệu phát ban đầu b k bằng thao tác ánh xạ ngược ˆ b k =  M 2π ˆ θ k  (5.11) trong đó · biểu diễn phép tính làm tròn về số nguyên gần nhất về phía 0, tức là phép tính lấy floor. Trong Matlab phép tính · được thực hiện bằng hàm có sẵn floor. 5. Tính toán tỉ số lỗi dấu SER và tỉ số lỗi bit BER: sai số dấu của giữa tín hiệu phát b k vàtínhiệuthuđược ˆ b k , được xác định nhờ so sánh hiệu số  k = ˆ b k −b k ,mỗi k =0tươngứngvớimộtdấubịsai.Vìvậy,tỉsốSER có thể tính được tính bởi SER = N s e N (5.12) Để tính được tỉ số BER chúng ta có thể sử dụng hàm biterr của Matlab như sau: BER = biterror(bk, bk_hat, kappa) (5.13) với kappa=κ =log 2 M. Bài tập 5.1 Sử dụng thuật toán phỏng truyền dẫn M-PSK ở Mục 5.2, viết chương trình phỏng tính tỉ số lỗi SER và BER cho điều chế QPSK qua kênh pha-đinh Rayleigh. So sánh tỉ số BER của QPSK thu được với xác suất lỗi của BPSK ở công thức (2.7), viết nhận xét. 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. namtx@lqdtu.edu.vn Chương 5 Mô phỏng Monte-Carlo một số hệ thống vô tuyến điển hình 5.1 Mô phỏng 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

Ngày đăng: 06/01/2014, 11:40

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan