Đề cương khóa học
Mục tiêu đạt được sau khoá học
Sau khi hoàn thành khoá học, người học nên có khả năng giải quyết nhiều vấn đề nghiên cứu mở hiện nay trong lĩnh vực kỹ thuật truyền thông, vì họ sẽ đã đạt được ít nhất các kỹ năng sau:
- Biểu diễn và thao tác các biểu thức toán học phức tạp thường xuất hiện trong tài liệu kỹ thuật truyền thông
- Khả năng sử dụng các tính năng lập trình của MATLAB để tái hiện kết quả mô phỏng từ các bài báo khác hoặc ít nhất là tiếp cận các kết quả này.
- Tạo các mô hình mô phỏng cho các ý tưởng tự đề xuất.
- Áp dụng hiệu quả các kỹ năng mô phỏng đã học kết hợp với các tính năng mạnh mẽ của MATLAB để thiết kế các đoạn mã MATLAB được tối ưu về thời gian chạy trong khi tiết kiệm bộ nhớ.
- Xác định các tham số mô phỏng chính của một hệ thống truyền thông cho trước, trích xuất chúng từ mô hình hệ thống và nghiên cứu tác động của các tham số này đối với hiệu suất của hệ thống được xem xét.
Cấu trúc khoá học
Nội dung được cung cấp trong khoá học này có mối liên hệ chặt chẽ với nhau. Không khuyến nghị người học tham gia một cấp độ nếu họ không tham gia và hiểu sâu sắc cấp độ trước đó nhằm đảm bảo tính liên tục của kiến thức đã đạt được. Khoá học được cấu trúc thành ba cấp độ, bắt đầu từ giới thiệu lập trình MATLAB cho đến cấp độ mô phỏng hệ thống hoàn chỉnh như sau.
Toán học Truyền thông với MATLAB
Các buổi 01-06
Sau khi hoàn thành phần này, người học sẽ có khả năng đánh giá các biểu thức toán học phức tạp và dễ dàng xây dựng các biểu đồ thích hợp cho việc biểu diễn dữ liệu khác nhau như đồ thị miền thời gian và miền tần số; đồ thị BER, dạng bức xạ của ăng-ten...
Các khái niệm cơ bản
- Khái niệm về mô phỏng
- Tầm quan trọng của mô phỏng trong kỹ thuật truyền thông
- MATLAB như một môi trường mô phỏng
- Về biểu diễn ma trận và vector của tín hiệu vô hướng trong toán học truyền thông
- Biểu diễn ma trận và vector của tín hiệu băng nền phức trong MATLAB
Desktop MATLAB
- Thanh công cụ
- Cửa sổ lệnh
- Khoang làm việc (Workspace)
- Lịch sử lệnh
Khai báo biến, vector và ma trận
- Các hằng số định nghĩa trước trong MATLAB
- Biến do người dùng định nghĩa
- Mảng, vector và ma trận
- Nhập ma trận thủ công
- Định nghĩa khoảng cách
- Khoảng tuyến tính
- Khoảng logarit
- Quy tắc đặt tên biến
Các ma trận đặc biệt
- Ma trận ones
- Ma trận zeros
- Ma trận đơn vị (identity)
Thao tác theo từng phần tử và thao tác ma trận
- Truy cập các phần tử cụ thể
- Sửa đổi phần tử
- Loại bỏ chọn lọc phần tử (Cắt ngắn ma trận)
- Thêm phần tử, vector hoặc ma trận (Nối ma trận)
- Tìm chỉ số của một phần tử bên trong vector hoặc ma trận
- Định hình lại ma trận (Reshaping)
- Cắt ngắn ma trận
- Nối ma trận
- Đảo ngược từ trái sang phải và từ phải sang trái
Phép toán ma trận một ngôi
- Phép toán tổng (Sum)
- Phép toán kỳ vọng (Expectation)
- Phép toán Min
- Phép toán Max
- Phép toán vết (Trace)
- Định thức ma trận |.
- Mã trận nghịch đảo
- Ma trận chuyển vị
- Ma trận Hermitian
Phép toán ma trận hai ngôi
- Phép toán số học
- Phép toán quan hệ
- Phép toán logic
Số phức trong MATLAB
- Biểu diễn băng nền phức của tín hiệu băng thông và chuyển đổi tần số lên RF, một bài toán học review
- Tạo các biến, vector và ma trận phức
- Lũy thừa phức
- Phép toán phần thực
- Phép toán phần ảo
- Phép toán liên hợp (conjugate) (.)*
- Phép toán trị tuyệt đối |.
- Phép toán luận chứng hoặc pha (argument/phase)
Các hàm tích hợp sẵn trong MATLAB
- Vector của vector và ma trận của ma trận
- Hàm căn bậc hai
- Hàm dấu (sign)
- Hàm "làm tròn đến số nguyên" (round to integer)
- Hàm "số nguyên nhỏ nhất gần nhất" (nearest lower integer)
- Hàm "số nguyên lớn nhất gần nhất" (nearest upper integer)
- Hàm giai thừa (factorial)
- Các hàm logarit (exp, ln, log10, log2)
- Các hàm lượng giác
- Các hàm hyperbolic
- Hàm Q(.)
- Hàm erfc(.)
- Các hàm Bessel Jo (. )
- Hàm Gamma
- Lệnh Diff, mod
Đa thức trong MATLAB
- Đa thức trong MATLAB
- Các hàm hữu tỉ
- Đạo hàm của đa thức
- Tích phân của đa thức
- Nhân đa thức
Biểu đồ thang tuyến tính
- Biểu diễn trực quan của tín hiệu thời gian liên tục - biên độ liên tục
- Biểu diễn trực quan của tín hiệu xấp xỉ dạng bậc thang
- Biểu diễn trực quan của tín hiệu thời gian rời rạc - biên độ rời rạc
Biểu đồ thang logarit
- Biểu đồ dB-thập phân (BER)
- Biểu đồ thập phân-dB (Biểu đồ Bode, đáp ứng tần số, phổ tín hiệu)
- Biểu đồ thập phân-thập phân
- Biểu đồ dB-tuyến tính
Biểu đồ cực 2D
- (Dạng bức xạ ăng-ten phẳng)
Biểu đồ 3D
- Dạng bức xạ 3D
- Biểu đồ tham số Đề các
Mục tùy chọn (cung cấp theo yêu cầu của người học)
- Đạo hàm biểu tượng và sai phân số trong MATLAB
- Tích phân biểu tượng và số trong MATLAB
- Tra cứu trợ giúp và tài liệu của MATLAB
Các tệp MATLAB
- Tệp script MATLAB
- Tệp hàm MATLAB
- Tệp dữ liệu MATLAB
- Biến cục bộ và biến toàn cục
Vòng lặp, điều kiện điều khiển luồng và ra quyết định trong MATLAB
- Vòng lặp for end
- Vòng lặp while end
- Điều kiện if end
- Điều kiện if else end
- Phát biểu switch case end
- Lặp lại, sai số hội tụ, toán tử tổng nhiều chiều
Lệnh hiển thị đầu vào và đầu ra
- Lệnh input(' ')
- Lệnh disp
- Lệnh fprintf
- Hộp thoại tin nhắn msgbox
Thao tác Tín hiệu và Hệ thống
Các buổi 07-14
Mục tiêu chính của phần này là như sau
- Tạo các tín hiệu kiểm tra ngẫu nhiên cần thiết để kiểm tra hiệu suất của các hệ thống truyền thông khác nhau
- Tích hợp nhiều thao tác tín hiệu cơ bản có thể kết hợp để triển khai một chức năng xử lý truyền thông đơn lẻ như bộ mã hóa, bộ ngẫu nhiên hóa, bộ trộn giao thoa (interleavers), bộ sinh mã trải phổ... tại máy phát cũng như các khối tương ứng tại máy thu.
- Kết nối các khối này một cách chính xác để đạt được một chức năng truyền thông
- Mô phỏng các mô hình kênh băng hẹp trong nhà và ngoài trời, mang tính tất định, thống kê và nửa ngẫu nhiên
Sinh tín hiệu kiểm tra truyền thông
- Sinh chuỗi nhị phân ngẫu nhiên
- Sinh các chuỗi số nguyên ngẫu nhiên
- Nhập và đọc tệp văn bản
- Đọc và phát tệp âm thanh
- Nhập và xuất ảnh
- Ảnh như một ma trận 3D
- Biến đổi từ RGB sang thang xám
- Dòng bit tuần tự của ảnh thang xám 2D
- Phân tách khung con (sub-framing) của tín hiệu ảnh và tái tạo
Điều kiện hóa và thao tác tín hiệu
- Định thang biên độ (độ lợi, suy giảm, chuẩn hóa biên độ...)
- Thay đổi mức DC
- Định thang thời gian (nén thời gian, giãn thời gian)
- Dịch chuyển thời gian (độ trễ thời gian, tiến thời gian, dịch chuyển tròn trái và phải)
- Đo năng lượng tín hiệu
- Chuẩn hóa năng lượng và công suất
- Định thang năng lượng và công suất
- Chuyển đổi từ tuần tự song song và song sang tuần tự
- Phép đa hợp và giải đa hợp (Multiplexing and de-multiplexing)
Số hóa tín hiệu tương tự
- Mẫu hóa miền thời gian các tín hiệu băng nền thời gian liên tục trong MATLAB
- Lượng tử hóa biên độ tín hiệu tương tự
- Mã hóa PCM tín hiệu tương tự đã được lượng tử hóa
- Chuyển đổi từ thập phân sang nhị phân và ngược lại
- Định dạng xung (Pulse shaping)
- Tính toán độ rộng xung thích hợp
- Lựa chọn số lượng mẫu trên mỗi xung
- Tích chập sử dụng lệnh conv và filter
- Tự tương quan và tương quan chéo của tín hiệu bị giới hạn thời gian
- Phép Biến đổi Fourier nhanh (FFT) và IFFT
- Xem xét phổ tín hiệu băng nền
- Tác động của tốc độ mẫu hóa và cửa sổ tần số thích hợp
- Mối quan hệ giữa các phép toán tích chập, tương quan và FFT
- Lọc miền tần số, chỉ lọc thông thấp
Các chức năng truyền thông hỗ trợ
- Bộ ngẫu nhiên hóa và giải ngẫu nhiên hóa
- Bộ đục (Puncturers) và giải đục
- Bộ mã hóa và giải mã
- Bộ trộn giao thoa (Interleavers) và giải trộn
Bộ điều chế và giải điều chế
- Các phương án điều chế băng nền số trong MATLAB
- Biểu diễn trực quan tín hiệu đã được điều chế số
Mô hình hóa và Mô phỏng Kênh truyền
- Mô hình hóa toán học hiệu ứng kênh truyền lên tín hiệu phát
- Cộng – kênh nhiễu trắng Gauss (AWGN)
- Nhân miền thời gian – kênh phai chậm, dịch chuyển Doppler trong kênh truyền xe cộ
- Nhân miền tần số – kênh phai chọn lọc tần số
- Tích chập miền thời gian – đáp ứng xung của kênh
Các ví dụ về mô hình kênh truyền tất định
- Suy hao đường truyền không gian tự do và suy hao phụ thuộc môi trường
- Kênh truyền bị che chắn theo chu kỳ
Đặc trưng thống kê của các kênh phai đa đường tĩnh và bán tĩnh phổ biến
- Sinh biến ngẫu nhiên phân bố đều
- Sinh biến ngẫu nhiên thực phân bố Gauss
- Sinh biến ngẫu nhiên phức phân bố Gauss
- Sinh biến ngẫu nhiên phân bố Rayleigh
- Sinh biến ngẫu nhiên phân bố Ricean
- Sinh biến ngẫu nhiên phân bố Log-normal
- Sinh biến ngẫu nhiên phân bố tùy ý
- Xấp xỉ hàm mật độ xác suất (PDF) chưa biết của một biến ngẫu nhiên bằng biểu đồ tần suất (histogram)
- Tính toán số hàm phân bố tích lũy (CDF) của một biến ngẫu nhiên
- Kênh nhiễu trắng Gauss cộng (AWGN) thực và phức
Đặc trưng Kênh truyền bằng Hồ sơ Trễ Công suất
- Đặc trưng kênh truyền bằng hồ sơ trễ công suất
- Chuẩn hóa công suất của PDP
- Trích xuất đáp ứng xung kênh từ PDP
- Mẫu hóa đáp ứng xung kênh bằng tốc độ mẫu tùy ý, sai lệch về mẫu hóa và độ trễ
- Lượng tử hóa
- Vấn đề sai lệch về mẫu hóa đáp ứng xung kênh của các kênh băng hẹp
- Mẫu hóa PDP bằng tốc độ mẫu tùy ý và bù độ trễ phân số
- Triển khai một số mô hình kênh trong nhà và ngoài trời theo tiêu chuẩn IEEE
- (COST – SUI - Mô hình kênh Băng siêu rộng...)
Mô phỏng Mức Liên kết của các Hệ thống Truyền thông Thực tế
Các buổi 15-24
Phần này của khoá học tập trung vào vấn đề quan trọng nhất đối với sinh viên nghiên cứu, đó là cách tái hiện kết quả mô phỏng của các bài báo đã công bố khác bằng mô phỏng.
Hiệu suất Tỷ lệ Lỗi Bit (BER) của các phương án điều chế số băng nền
- So sánh hiệu suất của các phương án điều chế số băng nền khác nhau trong kênh AWGN (Nghiên cứu so sánh toàn diện qua mô phỏng để xác minh các biểu thức lý thuyết); đồ thị tán xạ, tỷ lệ lỗi bit
- So sánh hiệu suất của các phương án điều chế số băng nền khác nhau trong các kênh phai tĩnh và bán tĩnh khác nhau; đồ thị tán xạ, tỷ lệ lỗi bit (Nghiên cứu so sánh toàn diện qua mô phỏng để xác minh các biểu thức lý thuyết)
- Tác động của kênh dịch chuyển Doppler lên hiệu suất của các phương án điều chế số băng nền; đồ thị tán xạ, tỷ lệ lỗi bit
- Truyền thông Từ trực thăng đến Vệ tinh
- Bài báo (1): Hệ thống giọng nói và dữ liệu thời gian thực chi phí thấp cho Dịch vụ Vệ tinh Di động Hàng không (AMSS) – Phát biểu và phân tích vấn đề
- Bài báo (2): Kết hợp đa dạng thời gian trước dò tìm với AFC chính xác cho truyền thông vệ tinh trực thăng – Giải pháp đầu tiên được đề xuất
- Bài báo (3): Phương án điều chế thích ứng cho truyền thông trực thăng - vệ tinh – Phương pháp cải thiện hiệu suất
Mô phỏng Hệ thống Trải phổ
- Kiến trúc điển hình của các hệ thống dựa trên trải phổ
- Các hệ thống dựa trên trải phổ chuỗi trực tiếp (Direct sequence)
- Bộ sinh chuỗi nhị phân giả ngẫu nhiên (PBRS)
- Sinh các chuỗi độ dài cực đại
- Sinh mã Gold
- Sinh mã Walsh
- Các hệ thống dựa trên trải phổ nhảy thời gian (Time hopping)
- Hiệu suất Tỷ lệ Lỗi Bit của các hệ thống trải phổ trong kênh AWGN
- Tác động của tốc độ mã hóa r lên hiệu suất BER
- Tác động của chiều dài mã lên hiệu suất BER
- Hiệu suất Tỷ lệ Lỗi Bit của các hệ thống trải phổ trong các kênh phai Rayleigh chậm đa đường với Dịch chuyển Doppler bằng không
- Phân tích hiệu suất tỷ lệ lỗi bit của các hệ thống trải phổ trong môi trường phai di động cao
- Phân tích hiệu suất tỷ lệ lỗi bit của các hệ thống trải phổ trong sự hiện diện của nhiễu đa người dùng
- Truyền ảnh RGB qua các hệ thống trải phổ
- Hệ thống CDMA Quang học (OCDMA)
- Mã trực giao quang học (OOC)
- Giới hạn hiệu suất của hệ thống OCDMA; hiệu suất tỷ lệ lỗi bit của hệ thống OCDMA đồng bộ và bất đồng bộ
Các hệ thống SS Băng siêu rộng
Các Hệ thống Dựa trên OFDM
- Triển khai hệ thống OFDM sử dụng Biến đổi Fourier nhanh
- Kiến trúc điển hình của các hệ thống dựa trên OFDM
- Hiệu suất Tỷ lệ Lỗi Bit của Hệ thống OFDM trong kênh AWGN
- Tác động của tốc độ mã hóa r lên hiệu suất BER
- Tác động của tiền tố tuần tự lên hiệu suất BER
- Tác động của kích thước FFT và khoảng cách sóng con lên hiệu suất BER
- Hiệu suất Tỷ lệ Lỗi Bit của Hệ thống OFDM trong các kênh phai Rayleigh chậm đa đường với Dịch chuyển Doppler bằng không
- Hiệu suất Tỷ lệ Lỗi Bit của Hệ thống OFDM trong các kênh phai Rayleigh chậm đa đường với CFO
- Ước lượng kênh trong Hệ thống OFDM
- Điều hòa miền tần số trong Hệ thống OFDM
- Bộ điều hòa Zero Forcing
- Bộ điều hòa MMSE
- Các chỉ số hiệu suất chung khác trong Hệ thống dựa trên OFDM (Tỷ lệ Công suất Đỉnh - Trung bình, Tỷ lệ Carrier - Nhiễu...)
- Phân tích hiệu suất các hệ thống dựa trên OFDM trong môi trường phai di động cao (như một dự án mô phỏng bao gồm ba bài báo)
- Bài báo (1): Giảm nhiễu giao thoa sóng con
- Bài báo (2): Hệ thống MIMO-OFDM
Tối ưu hóa Dự án Mô phỏng MATLAB
Mục tiêu của phần này là học cách xây dựng và tối ưu hóa một dự án mô phỏng MATLAB để đơn giản hóa và tổ chức quy trình mô phỏng tổng thể. Hơn nữa, không gian bộ nhớ và tốc độ xử lý cũng được xem xét để tránh các vấn đề tràn bộ nhớ trong các hệ thống lưu trữ hạn chế hoặc thời gian chạy dài do xử lý chậm gây ra.
- Cấu trúc điển hình của các dự án mô phỏng quy mô nhỏ
- Trích xuất các tham số mô phỏng và ánh xạ từ lý thuyết sang mô phỏng
- Xây dựng một Dự án Mô phỏng
- Kỹ thuật Mô phỏng Monte Carlo
- Một quy trình điển hình để Kiểm tra một Dự án Mô phỏng
- Kỹ thuật Quản lý Không gian Bộ nhớ và Giảm thời gian Mô phỏng
- Mô phỏng Băng nền so với Băng thông
- Tính toán độ rộng xung thích hợp cho các dạng xung tùy ý bị cắt ngắn
- Tính toán số lượng mẫu thích hợp trên mỗi ký tự
- Tính toán Số lượng Bit cần thiết và đủ để Kiểm tra một Hệ thống
Lập trình GUI
Có được một đoạn mã MATLAB không có lỗi và hoạt động đúng để tạo ra kết quả chính xác là một thành tựu lớn. Tuy nhiên, một tập hợp các tham số chính trong một dự án mô phỏng kiểm soát toàn bộ quá trình. Vì lý do này và nhiều lý do khác, một buổi học bổ sung về "Lập trình Giao diện Người dùng Đồ họa (GUI)" được đưa ra để mang lại quyền kiểm soát các phần khác nhau của dự án mô phỏng của bạn trong tầm tay chứ không phải lặn vào các mã nguồn dài đầy rẫy các lệnh. Hơn nữa, việc mã hóa MATLAB của bạn được che bởi một GUI giúp trình bày công việc của bạn theo cách dễ kết hợp nhiều kết quả trong một cửa sổ chính và dễ so sánh dữ liệu hơn.
- Gì là GUI MATLAB
- Cấu trúc tệp hàm GUI MATLAB
- Các thành phần chính của GUI (các thuộc tính và giá trị quan trọng)
- Biến cục bộ và biến toàn cục
Lưu ý: Các chủ đề được bao gồm trong mỗi cấp độ của khoá học này bao gồm, nhưng không giới hạn ở, những gì được nêu trong từng cấp độ. Hơn nữa, các mục của mỗi buổi học cụ thể có thể thay đổi tùy thuộc vào nhu cầu của người học và sở thích nghiên cứu của họ.
Yêu cầu
Để nắm vững lượng kiến thức đồ sộ được tích hợp trong khoá học này, học viên cần có nền tảng kiến thức chung về các ngôn ngữ và kỹ thuật lập trình phổ biến. Việc có hiểu biết sâu sắc về các môn học đại học trong lĩnh vực kỹ thuật truyền thông là rất được khuyến khích.
Đánh giá (2)
Nhiều ví dụ và quá trình xây dựng mã từ đầu đến cuối.
Toon - Draka Comteq Fibre B.V.
Khóa học - Introduction to Image Processing using Matlab
Dịch thuật bằng máy
Nhiều bài tập hữu ích, được giải thích rõ ràng
Helene Meadows - European Investment Bank
Khóa học - MATLAB Programming
Dịch thuật bằng máy