Phần mềm mô phỏng MATLAB 7.10.0 (R2010a) là phần mềm nổi tiếng của công ty MathWorks. Nó tích hợp tính toán, hiển thị và lập trình trong một môi trƣờng dễ sử dụng. Các ứng dụng điển hình nhƣ: mô hình và mô phỏng; phân tích và khảo sát hiển thị số liệu…. Các tính năng chính: tính toán ma trận, phát triển thuật toán; môi trƣờng tƣơng tác cho phát triển mã, quản lý tập tin và dữ liệu, thống kê, phân tích Fourier; các công cụ tích hợp C/ C, thừa kế mã, công nghệ ActiveX, . . .. Phần mềm MATLAB 7.10.0 (R2010a) còn đƣợc trang bị thêm các ToolBox: Communications System Toolbox - hệ thống truyền thông; Control System Toolbox - điều khiển hệ thống; . … Mô phỏng có thể chạy trực tiếp từ phần mềm hay từ một file .m. Hỗ trợ nhiều dạng file lƣu trữ kết quả mô phỏng, thƣờng là file .mat.
Giao diện của phần mềm MATLAB 7.10.0 (R2010a) nhƣ hình 3.1 ở dƣới.
Để tìm hiểu thực hiện một mô phỏng trên MATLAB 7.10.0 (R2010a). Chúng tôi chỉ tìm hiểu toolbox liên quan, đó là toolbox hệ thống truyền thông. Để hình dung về đầu vào (Input), tính tỷ lệ lỗi, đầu ra (Output) và hiển thị kết quả (display) trong toolbox hệ thống truyền thông. Chúng tôi trình bày một ví dụ đơn giản tổng quan của mô hình Hamming Code nhƣ sau:
Đầu vào là một tín hiệu nhị phân, thông qua mô hình xử lý Hamming Code, đầu ra bao gồm cả tín hiệu có ích và tín hiệu lỗi. Ở đây, chỉ quan tâm đến cách tính tỷ lệ lỗi ở đầu ra.
Khi chạy một mô phỏng, mô hình sẽ gửi đầu ra của khối tính tỷ lệ lỗi đến không gian làm việc nhƣ là một vector có kích thƣớc 3, gọi là hamming_BER. Các entry của vector này là giống nhƣ những thể hiện đƣợc hiển thị bởi khối tỷ lệ lỗi. Sau khi chạy một mô phỏng, có thể xem đầu ra của tín hiệu đến khối không gian làm việc bằng cách đánh lệnh tại dấu nhắc MATLAB:
format short e hammcode_BER Lúc đó vectơ đầu ra nhƣ sau:
hammcode_BER = 5.4066e-003 1.0000e+002 1.8496e+004 Định dạng lệnh hiển thị các entry của vectơ là nhƣ sau:
Entry đầu tiên là tỷ lệ lỗi
Entry thứ hai là tổng số lỗi
Entry thứ ba là tổng số lần thực hiện so sánh
Đây là một mô hình mô phỏng đầu vào, tính tỷ lệ lỗi, đầu ra và hiển thị kết quả tổng quát của toolbox hệ thống truyền thông. Sau đây, chúng tôi tìm hiểu chi tiết về công cụ phân tích chất lƣợng BER (BERTool) thể hiện nhƣ hình ở dƣới.
Giao diện BERTool nhƣ sau:
Các thành phần của BERTool:
Trình quan sát dữ liệu ở trên. Nó khởi tạo là rỗng
Sau khi chỉ dẫn BERTool tạo ra một hoặc nhiều hơn tập dữ liệu BER, thì chúng xuất hiện trên trình quan sát dữ liệu.
Một tập các tab ở phía dƣới. Các nhãn Theoretical, Semianalytic, và Monte Carlo, các tab này tƣơng ứng với các phƣơng pháp khác nhau mà BERTool có thể tạo ra dữ liệu BER.
Một cửa sổ BER riêng để hiển thị một số hoặc tất cả tập dữ liệu BER mà đƣợc liệt kê trên trình quan sát. BERTool mở cửa sổ BER sau khi nó có ít nhất một tập dữ liệu hiển thị, vì không nhìn thấy cửa sổ BER khi mở BERTool đầu tiên.
Tính toán các BER Theoretical
Có thể sử dụng BERTool để tạo ra và phân tích dữ liệu BER theoretical. Dữ liệu theoretical là hữu ích để so sánh với các kết quả mô phỏng. Tuy nhiên, hình thức đóng thể hiện BER chỉ tồn tại cho một số loại hệ thống thông tin liên lạc. Để truy nhập khả năng của BERTool liên quan đến dữ liệu BER theoretical, thì sử dụng theo thủ tục sau:
1. Mở BERTool, và đi đến tab Theoretical.
2. Thiết lập các thông số để phản ánh hệ thống mà hiệu suất của nó muốn để phân tích. Một số tham số có thể nhìn thấy và hoạt động chỉ khi các tham số khác có giá trị cụ thể.
3. Kích Plot
Ví dụ: sử dụng Tab theoretical trong BERTool. Ví dụ này minh họa làm thế nào để sử dụng BERTool để tạo ra và vẽ dữ liệu BER theoretical. Cụ thể, ví dụ so sánh chất lƣợng của một hệ thống truyền thông sử dụng một kênh AWGN và điều chế QAM với thứ tự khác nhau.
1. Mở BERTool, và đi đến Tab Theoretical. 2. Thiết lập các tham số thể hiện theo hình dƣới.
3.Kích Plot
BERTool tạo ra một entry trong trình quan sát dữ liệu và vẽ dữ liệu trong cửa sổ hình BER. Mặc dù các thông số yêu cầu mà Eb/N0 lên đến 18, BERTool chỉ vẽ các giá trị BER này mà có ít nhất 10-8. Hình minh họa bƣớc này
4. Thay đổi tham số thứ tự điều chế lên 16 và kích Plot
BERTool tạo ra một entry khác trong trình quan sát dữ liệu và vẽ dữ liệu mới trong cùng một hình cửa sổ BER.
5. Thay đổi tham số thứ tự điều chế lên 64 và kích Plot
BERTool tạo ra một entry khác trong trình quan sát dữ liệu và vẽ dữ liệu mới trong cùng một hình cửa sổ BER.
6. Để gọi lại những giá trị của điều chế để tƣơng ứng với một đƣờng cong nhất định, nhấp vào đƣờng cong. BERTool phản ứng bằng cách điều chỉnh các thông số trong tab theoretical để phản ánh giá trị tƣơng ứng với đƣờng cong đó.
7. Để loại bỏ các đƣờng cong kéo dài từ đồ thị (nhƣng không phải từ trình xem dữ liệu), thì xóa hộp kiểm trong mục cuối cùng của trình xem dữ liệu trong cột Plot. Để khôi phục lại các đƣờng cong để vẽ, thì đánh check lại hôp kiểm đó.
Chạy các mô phỏng MATLAB
Ví dụ: minh họa BERTool có thể chạy một hàm mô phỏng MATLAB. Các hàm này là viterbisim, một trong các tập tin trình diễn bao gồm phần mềm toolbox hệ thống Truyền thông. Để chạy ví dụ này, thực hiện theo các bƣớc:
1. Mở BERTool và đi đến tab Monte Carlo. 2. Thiết lập các tham số minh họa nhƣ hình dƣới
BERTool chạy mô phỏng hàm một lần cho mỗi giá trị cụ thể của Eb/N0 và các tập dữ liệu BER. BERTool tạo ra một danh sách trong trình quan sát dữ liệu.
BERTool vẽ dữ liệu trong cửa sổ BER.
4. Để thay đổi giới hạn của Eb/N0 trong khi giảm số bit xử lý trong mỗi trƣờng hợp, kiểu [5 5.2 5.3] trong trƣờng giới hạn Eb/N0, kiểu 1e5 trong số lƣợng trƣờng bit và kích Run.
BERTool chạy mô phỏng hàm trở lại cho mỗi giá trị của Eb/N0 và các tập dữ liệu BER mới. Sau đó BERTool tạo ra danh sách khác trong trình quan sát dữ liệu.
BERTool vẽ dữ liệu trong cửa sổ hình BER, điều chỉnh các trục ngang để phù hợp với dữ liệu mới.
Hai điểm tƣơng ứng với 5dB từ hai tập hợp dữ liệu khác nhau. Bởi vì giá trị số lƣợng bit nhỏ hơn trong mô phỏng lần thứ hai gây ra mô phỏng kết thúc trƣớc khi quan sát nhiều lỗi.
Thay đổi các điều kiện dừng: khi tạo ra một hàm mô phỏng MATLAB để sử dụng với BERTool, thì phải kiểm soát luồng mà để kết thúc mô phỏng khi một trong hai phát hiện mục tiêu số lƣợng lỗi hoặc xử lý số lƣợng bit tối đa, tùy theo điều kiện nào xảy ra trƣớc. Sau khi tạo ra hàm, thiết lập mục tiêu số lƣợng lỗi và số lƣợng bit tối đa trong Tab Monte Carlo của BERTool.
Thông thƣờng, một số lỗi có giá trị ít nhất 100 sản sinh một tỷ lệ lỗi chính xác. Số lƣợng giá trị bit ngăn ngừa mô phỏng chạy quá lâu, đặc biệt là tại giá trị Eb/N0 lớn.Tuy nhiên, nếu số lƣợng giá trị bit issosmall mà mô phỏng thu thập rất ít lỗi, tỷ lệ lỗi có thể không chính xác. Có thể sử dụng khoảng tin cậy để đánh giá tính chính xác của các tỷ lệ lỗi mà mô phỏng sản sinh, lớn hơn khoảng tin cậy, tính toán tỷ lệ lỗi ít chính xác.
Vẽ các khoảng tin cậy: sau khi chạy mô phỏng với BERTool, thì tập dữ liệu kết quả trong trình quan sát dữ liệu có một menu hoạt động trong cột tham chiếu level. Giá trị mặc định là off, để mô phỏng dữ liệu trong cửa sổ hình BER không hiển thị khoảng tin cậy. Để xem các khoản tham chiếu trong cửa sổ hình BER, thiết lập Confidence Level đến một số giá trị: 90%, 95% hoặc 99%.
Đồ thị cửa sổ hình BER phản hồi ngay lập tức cho sự chọn lựa. một đồ thị mẫu theo sau:
Chỉnh sửa các điểm BER cho đƣờng cong:
Sau khi chạy mô phỏng với BERTool, thì cửa sổ hình BER vẽ các điểm dữ liệu BER riêng biệt. Để chỉnh sửa một đƣờng cong mà bao gồm ít nhất là bốn điểm, chọn hộp công cụ trong cột Fit của trình quan sát dữ liệu. Đồ thị cửa sổ hình BER phản hồi ngay lập tức cho sự chọn lựa. Một đồ thị mẫu theo sau:
Sử dụng mô phỏng các hàm với BERTool: các yêu cầu cho các hàm. Khi tạo một hàm MATLAB cho sử dụng BERTool, đảm bảo hàm tƣơng tác với GUI. Phần này mô tả đầu vào, đầu ra và sự hoạt động cơ bản của một hàm tƣơng thích BERTool.
Các đối số đầu vào: BERTool đánh giá các entry trong các trƣờng của GUI và chuyển dữ liệu đến hàm nhƣ là các đối số đầu vào, theo thứ tự:
Một giá trị từ vector giới hạn Eb/N0 cho mỗi thời điểm BERTool gọi hàm mô phỏng.
Số giá trị lỗi
Số giá trị bit
Các đối số đầu ra: hàm mô phỏng phải tính toán và trả lại các đối số đầu ra theo thứ tự:
Tỷ lệ bit lỗi của mô phỏng
Số lƣợng bit xử lý khi tính BER
BERTool sử dụng các đối số đầu ra này khi báo cáo và vẽ các kết quả.
Hoạt động mô phỏng: mô phỏng hàm phải thực hiện các công việc sau:
Mô phỏng hệ thống truyền thông cho giá trị cụ thể Eb/N0 trong tham số đầu vào đầu tiên.
Ngừng mô phỏng khi số lỗi hoặc số của các bit xử lý bằng hoặc vƣợt quá ngƣỡng tƣơng ứng quy định trong lần thứ hai hoặc tham số đầu vào thứ ba, tƣơng ứng.
Phát hiện cho dù kích vào Stop trong BERTool và hủy bỏ các mô phỏng trong trƣờng hợp đó.
Chạy các mô phỏng Simulink:
Ví dụ: mô phỏng một mô hình với BERTool, thực hiện theo các bƣớc sau: 1. Mở mô hình bằng cách nhập lệnh sau đây vào cửa sổ lệnh MATLAB: doc_bpsk
2. Để khởi tạo các thông số trong không gian làm việc MATLAB và tránh sử dụng các biến không xác định nhƣ các thông số khối, nhập lệnh sau đây vào cửa sổ lệnh MATLAB:
3. Để đảm bảo rằng BERTool sử dụng sửa lỗi chính xác của mỗi thời điểm nhiễu mỗi chạy mô phỏng, mở hộp thoại cho khối kênh AWGN bằng cách nhấp đúp vào khối. Đặt Es /N0 cho EbN0 và nhấp OK. Trong mô hình cụ thể này, Es/N0 tƣơng đƣơng với Eb /N0 bởi vì loại điều chế là BPSK.
4. Đảm bảo rằng BERTool sử dụng các điều kiện dừng cho mỗi lần lặp. mở hộp thoại cho khối tính tỷ lệ lỗi. Thiết lập mục tiêu số lƣợng lỗi cho maxNumErrs, thiết lập số lƣợng ký tự tối đa cho maxNumBit và kích OK.
5. Để kích hoạt BERTool để truy cập vào kết quả các BER mà tỷ lệ khối lỗi tính toán, chèn một tín hiệu cho khối không gian làm việc trong mô hình và kết nối nó với đầu ra của khối tính tỷ lệ lỗi.
6. Để cấu hình tín hiệu mới đƣợc thêm vào khối Workspace , mở hộp thoại của nó. Đặt tên biến BER, thiết lập các điểm dữ liệu hạn chế để kéo dài tới 1và nhấn OK.
7. Để làm cho các mô phỏng chạy nhanh hơn, đặc biệt là tại các giá trị Eb/N0 cao, mở hộp thoại cho khối tạo nhị phân Bernoulli. Chọn frame dựa trên kết quả đầu ra và thiết lập mẫu cho mỗi frame đến 1000.
8. Lƣu mô hình trong một thƣ mục trên đƣờng dẫn MATLAB bằng cách sử dụng tên tập tin bertool_bpskdoc.mdl.
9. Để gây ra Simulink cho các thông số khởi tạo nếu mở lại này mô hình này trong một phiên MATLAB tƣơng lai, nhập lệnh sau đây vào trong cửa sổ lệnh MATLAB và lƣu lại mô hình.
'EbNo = 0; maxNumErrs = 100; maxNumBits = 1e8;');
Mô hình bertool_bpskdoc là tƣơng thích với BERTool. Để sử dụng nó kết hợp với BERTool, tiếp tục ví dụ bằng cách làm theo các bƣớc sau:
10. Mở BERTool và đi đến tab Monte Carlo
11. Thiết lập các tham số trên tab Monte Carlo thể hiện nhƣ hình dƣới.
12. Kích Run, có kết quả nhƣ sau:
13. Để so sánh các kết quả mô phỏng này với các kết quả lý thuyết, đi đến tab theoretical trong BERTool và thiết lập các tham số nhƣ sau: