MỤC LỤC CHƯƠNG I 1 SƠ LƯỢC VỀ MÔ PHỎNG CÁC HỆ THỐNG THÔNG TIN 1 1 1 Hệ thống thông tin, các vấn đề trong thiết kế và đánh giá 1 1 1 1 Các hệ thống thông tin 1 1 1 2 Các vấn đề trong thiết kế và đánh g[.]
Hệ thống thông tin, các vấn đề trong thiết kế và đánh giá
1.1.1 Các hệ thống thông tin
Các hệ thống thông tin có chức năng truyền đưa thông tin từ nơi này đến nơi khác Theo các đặc tính của mình, các hệ thống thông tin có thể được phân loại theo nhiều cách.Theo loại tín hiệu được dùng để truyền tin tức, các hệ thống thông tin được chia thành các hệ thống thông tin tương tự (analog) hay số (digital) Theo các phương tiện truyền dẫn, các hệ thống thông tin cũng có thể được phân loại thành các hệ thống thông tin dùng cáp đồng, các hệ thống thông tin quang sợi (fiber optic) hay các hệ thống thông tin sóng cực ngắn (microwave)…, trong đó các hệ thống thông tin sóng cực ngắn lại có thể phân tiếp thành các hệ thống thông tin vệ tinh, thông tin vô tuyến tiếp sức (thông tin vi ba) và thông tin di động.
Các thành phần chủ yếu của hệ thống thông tin bao gồm:
Các nguồn tín hiệu bao gồm tín hiệu có ích, tạp âm và can nhiễu Mặc dù tạp âm và can nhiễu cũng là các tín hiệu điện song trong khuôn khổ giáo trình này ta sẽ sử dụng từ “tín hiệu” để chỉ riêng thành phần tín hiệu có ích.
Các thiết bị truyền dẫn tin tức bao gồm các bộ điều chế và giải điều chế, các bộ lọc, các bộ khuếch đại, các mạch lọc thích nghi dùng làm mạch san bằng đặc tính đường truyền, các mạch duy trì đồng bộ…
Môi trường truyền dẫn hay đôi khi cũng được gọi là kênh truyền.
Các thiết bị xử lý tin tức và tín hiệu.
Các yếu tố trở ngại chủ yếu trong truyền đưa thông tin gây suy giảm chất lượng hệ thống bao gồm:
Pha-đing gây bởi truyền dẫn đa đường trong thông tin vô tuyến tiếp sức, thông tin di động…
Các méo tín hiệu do đặc tính đường truyền không lý tưởng (bao gồm các méo tuyến tính và méo phi tuyến), do trải giữ chậm (delay spreading) gây bởi truyền dẫn đa đường (multipath).
Các can nhiễu bao gồm can nhiễu khí quyển, can nhiễu từ các hệ thống khác, can nhiễu từ các kênh lân cận cùng hệ thống hay can nhiễu nội tại (can nhiễu gây bởi đặc tính phi tuyến của tuyến truyền dẫn).
Tạp âm lượng tử và tạp âm nhiệt gây bởi các linh kiện điện tử.
Tán sắc trong thông tin quang.
Chất lượng của các hệ thống thông tin số nói chung được đánh giá thông qua rất nhiều tham số như mẫu mắt (eye-pattern), mật độ phổ nhiễu, độ nhạy máy thu, xác suất lỗi bit… trong đó chỉ tiêu quan trọng nhất là xác suất lỗi bít của hệ thống.
1.1.2 Các vấn đề trong thiết kế và đánh giá hệ thống
Trong thiết kế, phân tích và đánh giá các hệ thống thông tin hiện đại có ba phương pháp chủ yếu, không loại trừ lẫn nhau, đó là:
Phương pháp giải tích: Là phương pháp dựa trên các công thức nhằm tính toán các mạch điện, các khối chức năng cấu thành hệ thống và đánh giá chất lượng hệ thống dưới tác động của các yếu tố khác nhau cũng được biểu diễn thông qua các công thức toán học.
Phương pháp chế thử mẫu và đo lường: Là phương pháp trên cơ sở tính toán sơ bộ người thiết kế chế tạo mẫu thử và tiến hành đo kiểm tra các chỉ tiêu chất lượng Đặc điểm của phương pháp này là mặc dù phương pháp cho các kết quả tin cậy nhất song khá cứng nhắc và tốn kém, do vậy chỉ áp dụng trong các bước sau trong quá trình thiết kế và phân tích hệ thống.
Trong vài thập kỷ gần đây các hệ thống thông tin và xử lý tín hiệu đã phát triển đặc biệt mạnh mẽ Trong thời gian này sự ra đời của một loạt các kỹ thuật mới như các phần cứng với giá thành khá rẻ, xử lí nhanh chóng tín hiệu, cáp sợi quang học, các thiết bị quang học tích hợp và các mạch tích hợp sóng cực ngắn… đã có những ảnh hưởng rất quan trọng tới việc thực hiện các hệ thống thông tin liên lạc Mức độ phức tạp ngày càng tăng của các hệ thống thông tin đòi hỏi những cố gắng và thời gian ngày càng lớn trong thiết kế và phân tích hệ thống với chi phí ngày càng cao Sự cần thiết phải nhanh chóng đưa các kỹ thuật mới vào các sản phẩm thương mại nhằm cải thiện và phát triển các dịch vụ kỹ thuật, tăng khả năng cạnh tranh của các thiết bị ở dạng thương phẩm đòi hỏi việc thiết kế và đánh giá chất lượng hệ thống thông tin phải được tiến hành theo một cách thức mới, tiết kiệm về thời gian, dễ dàng và rẻ tiền Các hệ thống thông tin liên lạc hiện đại là các cấu trúc rất phức tạp gồm các phần tử khác nhau mà những phần tử này tự thân cũng có các đặc tính phức tạp Do độ phức tạp rất cao và ngày một phức tạp hơn của các hệ thống thông tin liên lạc hiện đại, cách đề cập giải tích về các phản ứng của cách hệ thống xem ra là một nhiệm vụ không thể thực hiện được Các thử nghiệm trên các hệ thống thực theo phương pháp chế thử mẫu và đo lường, mặt khác lại quá tốn kém, nhất là trong các giai đoạn đầu của quá trình thiết kế, phát triển và cải tiến hệ thống Do vậy, như thực tế cho thấy, các yêu cầu về độ chính xác cũng như hiệu quả về thời gian và chi phí cho quá trình thiết kế, phân tích và đánh giá hệ thống chỉ có thể thỏa mãn được thông qua việc sử dụng các công cụ thiết kế và phân tích có sự trợ giúp của máy tính mạnh.
Một số lượng lớn các kỹ thuật được trợ giúp bởi máy tính (computeraided) đã được phát triển trong vài chục năm trở lại đây nhằm hỗ trợ quá trình mô hình hóa, phân tích và thiết kế các hệ thống thông tin liên lạc Các kỹ thuật này được chia làm hai loại:
- Các giải pháp dựa trên công thức (formula-based techniques), trong đó máy tính được sử dụng để đánh giá và tính toán theo các công thức phức tạp Kỹ thuật này dựa trên các mô hình được đơn giản hóa, cho phép có được cái nhìn tương đối về tương quan giữa các thông số và các chỉ tiêu chất lượng của hệ thống cần khảo sát và do vậy chúng có ích trong các giai đoạn đầu của công việc thiết kế Tuy nhiên, ngoại trừ một số trường hợp tương đối lý tưởng hoặc được đơn giản hóa cao, việc đánh giá chất lượng hệ thống thông tin phức tạp dùng các tính toán giải tích để đạt được độ chính xác mong muốn là hết sức khó khăn.
- Các giải pháp dựa trên mô phỏng (simulation-based techniques), trong đó máy tính được sử dụng để mô phỏng các dạng sóng hay các tín hiệu trong quá trình truyền qua suốt hệ thống.
Kỹ thuật mô phỏng các hệ thống thông tin liên lạc là kỹ thuật dùng máy tính với các sản phầm phần mềm thích hợp để tạo giả và bắt chước hệ thống ở mức dạng
Mô phỏng máy tính là công cụ hữu hiệu trong nghiên cứu, đánh giá cũng như thiết kế hệ thống Mặc dù các kết quả mô phỏng không thể hoàn toàn chính xác so với các kết quả đo thử nghiệm trên thực tế (do các phép tính gần đúng, do tính gần đúng của các mô hình sử dụng trong mô phỏng…), song như thực tế đã cho thấy, các kết quả thu được bằng mô phỏng với các phần mềm tốt và được sử dụng đúng đắn thì hoàn toàn có thể tin cậy được Trong rất nhiều trường hợp các kết quả mô phỏng rất khớp với các số liệu đo kiểm nghiệm Các ưu điểm nổi bật của mô phỏng bằng máy tính là nhanh chóng, kinh tế, hết sức mềm dẻo trong ứng dụng và trong rất nhiều trường hợp nó cho phép giải cả những bài toán không có khả năng giải quyết bằng thực nghiệm cũng như tính toán một cách giải tích.
Áp dụng mô phỏng trong thiết kế và đánh giá hệ thống
1.2.1 Quá trình mô phỏng hệ thống thông tin
Mục đích của mô phỏng hệ thống thông tin là:
Cung cấp một cái nhìn toàn diện và sâu sắc đối với các vấn đề kỹ thuật của hệ thống.
Đánh giá phản ứng của hệ thống cần mô phỏng với các tác động khác nhau.
Kiểm tra chất lượng hệ thống và so sánh với các chỉ tiêu. Để hiểu rõ về quá trình mô phỏng hệ thống thông tin ta xét một thí dụ với hệ thống vi ba M-QAM (M-ary Quadrature Amplitude Modulation: Điều chế biên độ vuông góc M mức) có sơ đồ khối tương đương băng gốc như hình sau:
Hình 1.1 Sơ đồ khối tương đương băng gốc hệ thống vi ba M-QAM
S.S (Symbol Source): Nguồn ký hiệu
Tx.F (Transmitter Filter): Bộ lọc phát
MOD (Modulator): Bộ điều chế
HPA (High Power Amplifier): Bộ khuếch đại công suất
Rx.F (Receiver Filter): Bộ lọc thu
DEM (Demodulator): Bộ giải điều chế n(t): Tạp âm nhiệt
Mục đích của việc đánh giá, thiết kế là:
Đánh giá chất lượng hệ thống thông qua tham số BER (Bit Error Ratio: Tỷ lệ lỗi bit) Thông thường, BER là một hàm của tỷ số tín/tạp, cụ thể là một hàm của tỷ số năng lượng một bit với năng lượng của tạp âm (thường được giả thiết là tạp âm trắng chuẩn) tính trên một bit, tức là BER = f( ).
Khảo sát ảnh hưởng của các yếu tố khác nhau tới chất lượng của hệ thống.
Giải pháp giải tích là trên cơ sở mô hình hóa hệ thống bằng các công thức toán học, tính toán BER dưới tác động của rất nhiều yếu tố như méo do lọc, méo phi tuyến do khuếch đại công suất, méo do đường truyền, sai pha sóng mang thu sai lệch tín hiệu đồng hồ,…, tức là tính toán BER = f( ) méo đường truyền, méo phi tuyến ( , ) trong đó , lần lượt là các sai lệch pha sóng mang và sai lệch tín hiệu đồng hồ giữa phần thu với phần phát.Do có phần tử phi tuyến (bộ khuếch đại công suất) phương pháp xếp chồng không thể áp dụng được, hơn nữa do băng tần hạn chế nên trong tín hiệu đầu ra tồn tại xuyên nhiễu giữa các dấu ISI (InterSymbol Interference),
…nên việc tính toán theo phương pháp giải tích trở nên quá phức tạp đến nỗi có thể xem như không thể thực hiện nổi. Đối với phương pháp mô phỏng, quá trình mô phỏng thực chất là tạo giả hệ thống trên cơ sở mô hình hóa hệ thống bao gồm giả tín hiệu, mô hình hóa các khối chức năng của hệ thống và các tác động khác nhau và cho tín hiệu chạy suốt qua hệ thống và đánh giá BER theo một số cách thức khác nhau Trên cơ sở đó đáp ứng các mục đích đề ra đối với công tác thiết kế và đánh giá hệ thống Như vậy, quá trình mô phỏng bằng máy tính các hệ thống thông tin bao gồm:
+ Tạo giả tín hiệu ở dạng xử lý máy tính được (bằng cách tạo mẫu các tín hiệu tới mức dạng sóng trong các miền tần số hay thời gian một cách thích hợp.
+ Mô hình hóa các khối của hệ thống theo các thuật toán học mô tả chức năng của từng khối, liên kết các khối chức năng của hệ thống theo sơ đồ khối dùng để mô phỏng.
+Cho các mẫu tín hiệu dạng sóng chạy qua toàn hệ thống, tạo ra các mẫu tín hiệu dạng sóng lối ra hệ thống.
+Đánh giá BER theo một số phương pháp, chẳng hạn bằng cách so sánh chuỗi ký hiệu nhận được ở lối ra so với chuỗi ký hiệu được tạo ra ở lối vào (phương pháp Monte-Carlo).
1.2.2 Áp dụng mô phỏng trong thiết kế và đánh giá hệ thống thông tin
Trong thiết kế hệ thống, mô phỏng hệ thống được tiến hành như sau:
Lập sơ đồ hệ thống giả định (định thiết kế).
Mô hình hóa các thành phần của hệ thống với các thông số cơ bản.
Mô phỏng hệ thống với các thông số khác nhau nhằm tìm phương án thiết kế tối ưu thỏa mãn các chỉ tiêu đã được đề ra đối với hệ thống cần thiết kế. Đánh giá hệ thống trong quá trình phát triển: Để đảm bảo tính xác thực của mô phỏng, kết quả mô phỏng cần phải được kiểm nghiệm bằng cách so sánh với kết quả trên các hệ thống thực hiện có trong quá trình phát triển phần mềm mô phỏng Với các phần mềm mô phỏng đã được kiểm nghiệm, căn cứ vào các tham số thực của hệ thống cần phát triển, hệ thống cần đánh giá được đưa vào mô phỏng nhằm có được các kết luận về chất lượng hệ thống khi được phát triển.
1.2.3 Các ứng dụng khác của mô phỏng
Khi đã có hệ thống đang khai thác, việc mô phỏng hệ thống có thể giúp ích cho việc phát hiện và loại bỏ hỏng hóc Ngoài ra, mô phỏng máy tính còn có thể được sử dụng như một công cụ hữu hiệu và rẻ tiền trong huấn luyện, giảng dạy, nghiên cứu,cho phép giải thích, quan sát một cách sâu sắc và trực quan các khái niệm, các tính chất của hệ thống thông tin Trong đào tạo tại nhiều trường và trung tâm khoa học lớn trên thế giới, mô phỏng máy tính các hệ thống thông tin đang trở thành công nghệ huấn luyện thực hành mới, thay thế cho các công nghệ cứng nhắc, thiếu tính tổng quát và tốn kém trước đây là thực hành trên hệ thống thực hay trên các mô hình đơn giản hóa.
Mức mô phỏng sử dụng
Mô phỏng được sử dụng rộng rãi trong nhiều giai đoạn của quá trình thiết kế và triển khai hệ thống truyền thông hiện đại Mô phỏng không những chủ yếu được sử dụng để ước lượng hiệu năng và nghiên cứu dung hòa trong thiết kế (tối ưu tham số) mà còn được dùng để thiết lập các thủ tục kiểm tra và kiểm chuẩn, các dự đoán tuổi thọ cũng như nghiên cứu tính bất thường sau khi hệ thống được triển khai trong thực tế Cả phương pháp luận mô phỏng và mô hình mô phỏng đều được sử dụng để biểu diễn hệ thống phụ thuộc vào các giai đoạn khác nhau của quá trình thiết kế, thực thi và vòng đời của hệ thống Phương pháp luận mô phỏng cũng sẽ được kiểm soát hoặc định hướng bởi trình tự thiết kế tổng thể Ta minh họa trình tự thiết kế và sử dụng mô phỏng trong các giai đoạn thiết kế khác nhau và vòng đời của hệ thống truyền thông.
Theo nghĩa rộng, thuật ngữ hệ thống truyền thông có thể coi như một mạng lưới truyền thông toàn cầu, truyền thông vệ tinh địa tĩnh, thông tin vi ba mặt đấthoặc một modem tích hợp sẵn trong máy tính cá nhân Mô hình phân cấp thường được sử dụng để mô tả các hệ thống thông tin liên lạc được thể hiện trong hình dưới đây:
Hình 1.2 Mô hình phân cấp của hệ thống truyền thông
Cấp cao nhất là mạng truyền thông được tạo thành từ các nút truyền thông thông qua liên kết truyền thông hoặc hệ thống truyền tải như các lớp bên dưới Một đại, giải mã, giải điều chế và các thành phần khác như thực hiện các hoạt động xử lý tín hiệu Những yếu tố này có thể là mạch tương tự, mạch kỹ thuật số hoặc một thuật toán thực hiện trên một bộ xử lý tín hiệu số (DSP) Chi tiết của những yếu tố này đại diện trong lớp dưới cùng của hệ thống phân cấp.
Quá trình thiết kế một hệ thống truyền thông phức tạp được thực hiện từ đỉnh xuống, ngược lại thực thi phần cứng thường từ đáy lên Theo đó, khi thiết kế hệ thống ta bắt đầu tại mức hệ thống (mức trừu tượng cao nhất) và hoàn thiện chi tiết thiết kế từ mức hệ thống, xuống mức hệ thống con và cuối cùng là mức thành phần Sau đó đạt tới mức đáy mà ở đó tính chi tiết của bộ phận thiết bị thành phần được nhận dạng Vì vậy, trình tự xây dựng một hệ thống gồm:
- Tạo ra các thành phần
- Hợp các thành phần thành hệ thống con
- Xây dựng hệ thống tổng thể từ các hệ thống con
- Triển khai mô phỏng theo giải pháp từ đỉnh xuống
Ta bắt đầu bằng việc mô phỏng mức hệ thống có mức trừu tượng cao tăng dần tính chi tiết, các mô phỏng các hệ thống con và các thành phần Do thực thi khởi đầu nên các đặc tính đo của các thành phần và các phần hệ được chứa trong mô hình mô phỏng
Dù ta đang giải quyết bài toán thiết kế chi tiết hay ước tính hiệu năng mức hệ thống thì điểm bắt đầu luôn là sơ đồ khối chi tiết, trình bày phần hệ thống cần được mô phỏng Trình bày sơ đồ khối khởi đầu thường chi tiết hơn mức cần thiết Tuy nhiên, là thói quen và hữu hiệu vì tại điểm bắt đầu bao gồm mọi thứ mà ta có thể nghĩ về sơ đồ khối toàn diện khởi đầu Mô hình mô phong cuối cùng được tạo ra từ sơ đồ khối khởi đầu được đơn giản hóa Ứng dụng ba lớp kỹ thuật sau để tạo lập mô hình mô phỏng là: Trình bày phân cấp; phân chia hóa và điều kiện hóa; đơn giản hóa (xấp xỉ, giả định)
Trình bày phân cấp: Phân cấp là giải pháp thường dùng để giảm tính phức tạp trong mô hình hóa, thiết kế phần mềm và các ứng dụng khác Trong viễn cảnh hệ thống truyền thông, phân cấp được sử dụng để quản lý và giảm tính phức tạp của mô hình mô phỏng, giảm tải tính toán trong quá trình mô phỏng mô hình Trình bày phân cấp được thực hiện trong các lớp khác nhau bắt đầu từ mô hình mức hệ thống và qua các lớp phân hệ, lớp thành phần và lớp vật lý Minh hoạ các lớp cho một hệ thống truyền thông cụ thể được cho bởi hình 1.3.
Trong trình bày phân cấp hoặc lập mô hình hệ thống, các khối ở các lớp thấp hơn trong phân cấp sẽ chi tiết hơn, ngược lại các khối tại các lớp cao hơn trừu tượng hơn và thuộc về chức năng tổng thể của khối Phân giải thành các lớp thấp hơn cho đến khi không thể Mức thấp nhất thường dựa trên các thành phần như điện trở, tụ điện và vi mạch.
Trong toàn cảnh hệ thống truyền thông, mô hình mức hệ thống được cho ở hình 1.3(a) gồm các khối chức năng như nguồn thông tin, bộ mã hóa, bộ giải mã, bộ điều chế, bộ giải điều chế, bộ lọc và kênh Mỗi khối chức năng là một phân hệ và được phân giải để được chi tiết hơn Ví dụ phân hệ khôi phục định thời được phân tích thành: hai bộ lọc thông dải, bộ phi tuyến bậc 4 và vòng khóa pha PLL như ở hình 1.3(b) Phân tính hơn nữa nhận được mô hình mức thành phần Ví dụ, bộ lọc thông băng được cho ở hình 1.3(b) có thể là bộ lọc tương tự, bộ lọc siêu cao hay bộ lọc số. Trường hợp bộ lọc tương tự, có thể khai triển thành các mô hình mức mạch điện. Trường hợp bộ lọc số, việc phân tích sẽ đi xuống mức bit như các bộ cộng, bộ nhân, bộ tích lũy Dưới lớp này chứa các transistor và các cổng logic cụ thể Tuy nhiên, trong viễn cảnh mô phỏng mức dạng sóng ta rất hiếm khi đi xuống mức chi tiết này Mô hình lớp thành phần cho PLL được minh hoa ở hình 1.3(c).
Hình 1.3 Minh họa quá trình mô hình hóa hệ thống
Tại mức hệ thống, mô phỏng được thực hiện ở mức trừu tượng cao nhất sử dụng các mô hình tính cách (các hàm truyền đạt) chứ không phải là các mô hình vật lý. Dạng chức năng của mô hình tính cách thường được giả định hoặc từ các phép đo.
Phân chia hóa và điều kiện hóa: Phân chia hóa bài toán phức tạp thành một tập các bài toán nhưng độc lập nhau, được giải quyết riêng biệt và kết hợp các nghiệm, là một kỹ thuật hữu hiệu khác làm giảm tính phức tạp và tải tính toán Trong khi phân cấp bàn về mức độ trừu tượng thì phân chia hóa cũng bàn về tính trừu tượng nhưng ở các khia cạnh khác nhau của bài toán đó là: mô phỏng riêng biệt và kết hợp các kết quả Vì vậy, phân chia hóa, cho phép quan sát và kiểm tra sơ đồ khối theo chiều ngang trong khi phân cấp cho phép xét theo chiều đứng Trong viễn cảnh được cho ở hình 1.3 có thể tách biệt phần đồng bộ hóa, mã hóa ra khỏi bài toán và mô phỏng chúng riêng biệt. Điều kiện hóa là một kỹ thuật khác rất giống với phân chia hóa, đơn giản ta cố định điều kiện hay trạng thái của một phần hệ thống và mô phỏng phần còn lại của hệ thống dưới các giá trị khác nhau của các biến điều kiện hay trạng thái Mô phỏng riêng cho phần hệ thống được điều kiện hóa và các kết quả đạt được trong phần đầu được lấy trung bình theo phân bố của biến điều kiện đạt được trong phần thứ hai. Đơn giản hóa và xấp xỉ hóa: Tại điểm bắt đầu mô hình sơ đồ khối ban đầu thường được chi tiết hóa tới mức có thể Tính phức tạp của mô hình tổng thể và các mô hình phân hệ được giảm bằng việc loại bỏ các khối ít ảnh hưởng lên bài toán, xấp xỉ hóa và đơn giản hóa bằng cách kết hợp các khối.
Ví dụ về cách rút gọn sơ đồ khối, xét bài toán ước tính hiệu năng mức hệ thống. Nếu coi kênh là kênh thay đổi rất chập theo thời gian và hệ thống đang hoạt động tại SNR cao thì có thể cho rằng các lỗi đồng bộ sẽ rất nhỏ và vì vậy có thể bỏ qua ảnh hưởng của đồng bộ trong quá trình ước tính hiệu năng Khi này, không cần mô phỏng các phần khôi phục định thời và có thể xóa bỏ ra khỏi sơ đồ khối.
Mở rộng việc dùng xấp xỉ hóa và giả định để đơn giản mô hình mô phỏng Giả định và xấp xỉ hóa được sử dụng phổ biến nhất bao gồm việc tuyến tính hóa và bất biến hóa theo thời gian Hầu hết các hệ thống thực tế, khi được quan trắc trong thời gian dài và trên dải tín hiệu đầu vào thay đổi độ rộng, có thể biểu lộ tính phi tuyến và thay đổi theo thời gian nhưng chúng có thể được xấp xỉ tốt bởi các mô hình tuyến tính và bất biến theo thời gian trong các khoảng thời gian ngắn và các mức tín hiệu thấp.
Bất biến theo thời gian ngụ ý rằng trong khoảng thời gian mô phỏng, các đặc tính của tín hiệu và các thành phần hệ thống đang được mô phỏng là không thay đổi. Thực tế, khái niệm bất biến theo thời gian là tương đối Nếu tham số hệ thống thay đổi chậm thì có thể coi một số tình huống là cố định trong khoảng thời gian mô phỏng. Chẳng hạn, xét bài toán ước lượng tính BER trên kênh vô tuyến trong đó các ăng ten phát và thu là dừng Nếu nhưng thay đổi trong đặc tính kênh là do thay đổi điều kiện khí quyển, tốc độ ký hiệu truyền dẫn là vài triệu ký hiệu trên giây thì có thể coi kênh là tựa tĩnh Điều đó nói rằng kênh vẫn duy trì cùng một số điều kiện trong vài trăm triệu ký hiệu đi qua nó và đặc biệt có ý nghĩa khi xác định xác suất lỗi tức thời trong điều kiện kênh cho trước Nếu BER được ước tính là khoảng thì chỉ cần mô phỏng vài nghìn ký hiệu để ước tính BER Điều này thể hiện khoảng thời gian mô phỏng là vài kênh là tĩnh trong khoảng thời gian mô phỏng Việc lấy xấp xỉ tựa tĩnh có vai trò rất quan trọng để đơn giản hóa các mô hình mô phỏng.
Hiển nhiên, kiến thức lý thuyết truyền thông là rất quan trọng Cấu trúc hệ thống, đặc tính hoạt động của các phân hệ (bộ giải điều chế, bộ cân bằng, chi tiết hóa các mô hình kênh…) phải được hiểu rõ trước khi triển khai mô phỏng Khi sử dụng mô phỏng để xác định các giá trị của tham số hệ thống, cần phải lưu ý đến dải giá trị của nó có ý nghĩa thực tế trước khi triển khai mô phỏng Cần phải có những hiểu biết sâu sắc về tính cách hệ thống để đảm bảo hoạt động mô phỏng chính xác và kết quả hợp lý.
Hình 1.4 Các lĩnh vực ảnh hưởng lên nghiên cứu mô phỏng các hệ thống truyền thông
Phương pháp mô phỏng
Một trong những mục đích chính của mô phỏng là ước tính hiệu năng Đối với hệ thống truyền thông tương tự, phép đo hiệu năng cơ bản là tỷ số tín hiệu trên tạp âm đầu ra (SNR) Với hệ thống truyền thông số, phép đo hiệu năng là tỉ số lỗi bit (BER) hoặc tỉ số lỗi khung (FER) Tỉ số tín hiệu trên tạp âm (SNR) cũng là phép đo hiệu năng thứ cấp trong các hệ thống truyền thông số (vì BER là một hàm đơn vị của SNR) Kỹ thuật Monte Carlo được dùng để ước tính phép đo hiệu năng.
Các mô phỏng Monte – Carlo dựa trên những trò chơi may rủi Tất nhiên, là lý do của tên Monte- Carlo, thành phố thuộc Địa trung hải nổi tiếng về các casino Ta sử dụng hai thuật ngữ quan hệ mật thiết ước tính Monte – Carlo và mô phỏng Monte – Carlo có thể thay thế cho nhau Mô phỏng Monte – Carlo mô tả mô phỏng trong đó một tham số của hệ thống như tỷ số lỗi bit (BER) được ước tính bằng cách sử dụng kỹ thuật Monte – Carlo Ước tính Monte Carlo là quá trình ước tính giá trị của một tham số bằng cách thực hiện quá trình stochastic cơ bản hay thí nghiệm ngẫu nhiên.
Xét một ví dụ đơn giản về bộ ước tính Monte Carlo, xác định diện tích của vùng có hình dạng không bình thường Giả sử vùng được ước tính hoàn toàn được giới hạn trong diện tích của một hộp đã biết Định nghĩa thí nghiệm ngẫu nhiên là: lấy ra các một mẫu nằm trong vùng diện tích sẽ được xác định) Vì bộ ước tính vùng không biết đó không chệch, nên các điểm mẫu ngẫu nhiên được phân bố đều trong vùng lấy giới hạn của diện tích đã cho Điều này được thực hiện một cách dễ dàng bằng chương trình máy tính với hai bộ tạo số ngẫu nhiên đều Kết quả của việc tạo N P0 điểm lấy mẫu phân bố đều được minh họa ở hình dưới đây Mã chương trình Matlab dưới đâu thực hiện cho vấn đề này :
Hình 1.5 Minh họa các điểm ngẫu nhiên phân bố đều
Bước tiếp theo là định nghĩa sự kiện A Ta mong muốn ước tính diện tích hình sao bôi đen được minh họa như hình dưới đây :
Hình 1.6 Ước tính Monte Carlo của diện tích Định nghĩa các đại lương và là số điểm mẫu nằm trong hộp bao và trong vùng hình sao Vì các điểm mẫu được phân bố đều trong hộp bao, nên tỉ số giữa diện tích hình sao trên diện tích hộp bao là xấp xỉ bằng tỉ số giữa số điểm mẫu nằm trong diện tích hình sao và số điểm mẫu nằm trong diện tích hộp bao
Với điều kiện các điểm mẫu được phân bố đều, phép xấp xỉ sẽ chính xác hơn khi số điểm mẫu được tăng lên. Để minh họa các mặt của phương pháp luận cho mô phỏng Monte Carlo và ước tính hiệu năng, ta xét bài toán ước tính xác suất lỗi trong các hệ thống truyền thông số.
Mô hình mô phỏng được cho ở hình sau :
Hình 1.7 Mô hình mô phỏng để xác định BER
Hiệu năng BER được mô phỏng bằng việc đưa chuỗi bit ngẫu nhiên vào bộ điều chế, qua các khối chức năng của mô hình được cho ở hình trên, sau đó được so sánh và đếm lỗi để xác định BER Lưu ý rằng vì mục đích mô phỏng xác định BER không mã hóa kiểm soát lỗi nên không cần đến nguồn dữ liệu thực tế, bộ giải mã hóa nguồn, bộ mã hóa kiểm soát lỗi, bộ đan xen (vì ảnh hưởng của những khối này là tạo ra chuỗi nhị phân ngẫu nhiên) Việc đơn giản hóa này phải được thực hiện trước khi mô phỏng ước tính hiệu năng (động cơ chủ yếu để đơn giản hóa là giảm thời gian mô phỏng) Vì vậy, chỉ các thành phần có ảnh hưởng đáng kể lên hiệu năng được chứa trong sơ đồ khối.
BER được xác định theo phương pháp Monte Carlo, BER không thể là tất định mà đúng hơn là được ước tính bằng cách cho N ký hiệu qua hệ thống và đếm lỗi Giả sử rằng đếm được lỗi trong số N ký hiệu đi qua hệ thống thì BER là:
Là một ước tính của xác suất lỗi.
Tổng quát, ước tính Monte Carlo không bị lệch Khi các giá trị của N nhỏ dẫn đến các ước tính lỗi có phương sai lớn (khi phương sai của ước tính lớn thì ước tính kém chính xác), và khi các giá trị của N là lớn cho ta các ước tính lỗi có phương sai nhỏ Ước tính hội tụ về (giá trị đúng của xác suất) khi , vì vậy thực tế thường dùng N lớn nhất có thể (cần sự dung hòa các tham số đối nghịch: thời gian mô phỏng và tính chính xác của kết quả mô phỏng).
*Mô phỏng Monte-Carlo: Thực hiện tính toán dựa vào việc lấy mẫu ngẫu nhiên lặp lại để đánh giả tỉ số lỗi ký hiệu (symbol error rate) mà hệ thống có thể thực hiện được. Ý tưởng:
- Mô phỏng hệ thống lặp lại
- Mỗi lần chạy mô phỏng, đếm số lượng ký hiệu được phát đi và số lượng lỗi ký hiệu.
- Ước tính tốc độ lỗi ký hiệu như là tỉ lệ giữa tổng số lỗi quan sát được trên tổng số ký hiệu phát đi.
Khoảng tin cậy: Mong muốn | P e ^ −Pe | là nhỏ, trong đó Pe là ước tính lỗi bằng mô phỏng, ^ P e là tốc độ lỗi thực.Cụ thể,đảmbảo xácsuất p c để là cao (ví dụ:
Trongđó s c đượcgọilàkhoảngtincậy,nó phụ thuộcvào độ tincậy pc,xácsuất lỗiPe vàsốlượngký hiệu phát Nó đượcchứng minhrằng:
Cụ thể,Q(z c )=(1- )/2.Vídụ:p c %,z c =1,96. Đối vớimô phỏng Monte-Carlo, tiêu chuẩndừngcóthể được xác địnhtừ:Độ tin cậy p c mongmuốn(hayz c ), khoảngtincậy s c cóthểchấpnhận được, tốcđộlỗiP e
Giảiphương trình tìmN ta cóđược:
MôphỏngMonte-Carlodừngsau khi thựchiện môphỏngtruyềndẫn được Nkýhiệu.
Khi mô phỏng các hệ thống truyền thông, tốcđộ lỗithường rất nhỏ đángmong muốnđể xácđịnh khoảng tin cậy là mộtphần nhỏcủatốcđộ lỗi.
Khoảngtincậy có dạng s c = c P e (ví dụ: c =0,1cho 10%saisốướctínhcó thể chấp nhậnđược).
BiếnđổibiểuthứctìmN và sắpxếplại số hạngtacó được:
Pe N =(1− Pe )( Zc α c ) 2 ≈ ( Zc α c ) 2 (1.5) Ởđây P e Nlà sốlượnglỗiđượckỳvọng.Nghĩalà:môphỏngsẽdừngkhisốlượnglỗiđạtđến (z c / c ) 2 Theo kinhnghiệm: Chạy mô phỏng cho đếnkhi khoảng 400 lỗi xảy ra (pc = 95% và c =
Công cụ mô phỏng
MATLAB là sản phẩm phần mềm của công ty MathWorks Inc viết cho máy tính PC nhằm hỗ trợ cho các tính toán khoa học và kĩ thuật với các phần tử cơ bản là các ma trận trên máy tính cá nhân, do công ty “The MATHWORKS” lập trình.
Thuật ngữ MATLAB có được là do hai từ MATRIX và LABORATORY ghép lại MATLAB là ngôn ngữ lập trình bậc cao, ngôn ngữ kỹ thuật, ngôn ngữ chuyên gia có thư viện toán cực mạnh, giao diện đồ họa phong phú, khả năng thích ứng các ngôn ngữ khác, cho phép tạo giao diện người dùng tiện lợi Đặc biệt cho phép ứng dụng kết nối điều khiển thiết bị phần cứng, thực tế rất nhiều hãng sản xuất thiết bị viễn thông như: hãng sản xuất thiết bị đo Agilent Technology (được tách ra từ HP), hãngMotorola…ở đó việc thiết kế, sản xuất thiết bị hệ thống trên cơ sở phân lớp công đoạn sản xuất chẳng hạn: Xét hệ thống theo quan điểm chức năng, sau khi công thức hóa các khối chức năng, xây dựng quan hệ hàm biến cho các khối chức năng, đánh giá khối chức năng theo các tiêu chí đặc thù (các thông số tối ưu hóa, các tiêu chuẩn đánh giá), mô phỏng khối chức năng trong nhiều miền tín hiệu (miền tần số, miền thời gian, miền Z…) thông qua các biểu đồ, đồ thị…Tiếp theo là công đoạn thiết kế các mạch điện cụ thể cho các khối chức năng, trong công đoạn này tính liên kết của Matlab được thể hiện cực mạnh ở đây Matlab cho phép liên kết với các chương trình thiết kế mạch điện chuyên dụng như CiruitMaker…Cuối cùng sản xuất thiết bị viễn thông trong dây chuyền sản xuất, các thiết bị được đánh giá thông qua tín hiệu phản hồi trở về MATLAB cứ như thế cho đến khi đạt được chất lượng mong muốn MATLAB có ưu việt nổi trội là khả năng mô phỏng hệ thống động, cho phép thể hiện tín hiệu và hệ thống trong nhiều miền xét (miền thời gian, miền tần số, miền Z…) Hơn nữa, tính cô đọng (nhiều thuật toán phức tạp được trình bày bằng rất ít dòng lệnh của mã), sự hỗ trợ của đồ họa, tính modul…
Simulink là một phần mềm mở rộng của MATLAB (một toolbox của MATLAB) dùng để mô hình hóa, mô phỏng và phân tích một hệ thống động Thông thường dùng để thiết kế hệ thống điều khiển, thiết kế DSP (Digital Signal Processing - xử lý tín hiệu số), hệ thống thông tin và các ứng dụng mô phỏng khác.
Simulink là thuật ngữ mô phỏng dễ nhớ được ghép bởi hai từ Simulation và Link Simulink cho phép mô tả hệ thống tuyến tính, hệ phi tuyến, các mô hình trong miền thời gian liên tục, hay gián đoạn hoặc một hệ gồm cả liên tục và gián đoạn. Để mô hình hóa, Simulink cung cấp một giao diện đồ họa để sử dụng và xây dựng mô hình sử dụng thao tác “nhấn và kéo thả” Với giao diện đồ họa ta có thể xây dựng mô hình và khảo sát mô hình một cách trực quan hơn Đây là sự khác xa phần mềm trước đó mà người sử dụng phải đưa vào các phương trình vi phân và các phương trình sai phân bằng một ngôn ngữ lập trình. Điểm nhấn mạnh quan trọng trong việc mô phỏng một quá trình là việc thành lập được mô hình Để sử dụng tốt chương trình này, người sử dụng phải có kiến thức cơ bản về điều khiển, xây dựng mô hình toán học theo quan điểm của lý thuyết điều
Khởi tạo SIMULINK Để vào Simulink trong Matlab, có hai cách như sau:
- Cách 1: Từ cửa sổ lệnh của Matlab đánh dòng lệnh: >>simulink
Hình 1.8 Cách vào toolbox simulink trong Matlab
- Cách 2: Trên khung giao diện chính của Matlab, ta click vào biểu tượng như hình dưới (Simulink icon).
Hình 1.9 Simulink icon trên giao diện Matlab
Khi khởi động Simulink xong ta được màn hình cửa sổ Simulink Cửa sổ này hoạt động liên kết với cửa sổ lệnh MATLAB.
Hình 1.10 Cửa sổ thư viện simulink
Khối thư viện simulink bao gồm các thư viện con Sources (các khối nguồn tín hiệu) Sinks (các khối xuất tín hiệu), Math (các khối ghép nối toán học) và Signals & Systems (các khối tín hiệu và hệ con), các nhóm Continous (các khối liên tục), Nonlinear (các khối phi tuyến) và Functions &Tables, các khối thuộc nhóm Discrete (các khối gián đoạn).
Thư viện simulink bao gồm các khối chuẩn trên, người sử dụng cũng có thể thay đổi hay tạo ra các khối cho riêng mình Simulink cũng giống như các phần mềm mô phỏng thiết kế mạch điện tử như MicroSim Eval, EWB, Circuit Maker…
Xây dựng mô hình mô phỏng
Tạo một mô hình mới: Có hai cách tạo một mô hình mới như sau:
- Cách 1: Click vào icon New model hoặc gõ Ctrl-N
Cửa sổ xây dựng mô hình sẽ xuất hiện:
Hình 1.12 Cửa sổ xây dựng mô hình Tạo các khối: Từ thư viện Simulink chọn khối cần dùng, nhấp chuột vào và kéo ra cửa sổ mô hình.
Hình 1.13 Cách tạo các khối Lưu trữ mô hình bằng cách click vào menu file/ Save hoặc file/Save As trong cửa sổ mô phỏng) hoặc nhấp vào icon Save Một file Simulink sẽ có đuôi mdl.
Hình 1.14 Lưu trữ mô hình
Di chuyển các khối: Đơn giản bằng cách nhấp chuột vào khối đó và kéo thả.
Hình 1.15 Di chuyển các khối Nối tín hiệu: Đưa chuột tới đầu ra của khối (dấu “>”), khi đó chuột sẽ có dạng
“+” Kéo rê chuột tới đầu vào của một khối khác và thả ra để kết nối tín hiệu.
Mô phỏng mô hình: Dùng lệnh Start (Menu Simulation Start) hoặc nhấp
Hình 1.17 Mô phỏng mô hình
Muốn chỉnh thông số của một khối chúng ta kích đúp chuột vào khối cần chỉnh. Trước khi mô phỏng mô hình simulink, chúng ta cần đặt các thông số mô phỏng bằng cách chọn menu Simulation Configuration Parameters.
Hình 1.18 Đặt thông số mô phỏng Ở cửa sổ Configuration Parameters, chúng ta có thể đặt một số thông số nhưStart time, Stop time (second - giây), và phương pháp giải Solver, Solver options, … sau đó nhấn nút OK.
Giới thiệu
Hệ thống thông tin được sử dụng để truyền tin tức từ nguồn tin đến nơi nhận tin. Nguồn tin sinh ra dưới nhiều dạng khác nhau, ví dụ âm thanh trong hệ thống radio, tín hiệu video trong hệ thống vô tuyến truyền hình…
Nguồn tin này có thể được đưa trực tiếp vào kênh để truyền đi, nhưng trong thực tế, nguồn tin này thường được biến đổi rồi đưa vào kênh truyền Ví dụ như tin là văn bản tiếng Anh, nguồn tin có khoảng 40 ký tự (symbol) khác nhau, gồm các mẫu ký tự alphabet, con số, dấu chấm câu,….Về nguyên tắc ta có thể dùng 40 dạng sóng điện áp khác nhau để hiển thị 40 ký tự này Tuy nhiên thực tế thì phương pháp này không phù hợp, quá khó thực hiện hay thậm chí không thể được, vì:
- Kênh truyền không phù hợp về mặt vật lý để có thể mang nhiều ký tự khác nhau như vậy.
- Dải tần đòi hỏi sẽ rất rộng.
- Việc lưu trữ hay xử lý tín hiệu trước khi truyền rất khó, trong khi nếu chuyển sang nhị phân thì mọi việc sẽ dễ dàng hơn nhiều.
Vậy ta thấy cần phải thay đổi dạng của tin khác đi so với dạng ban đầu do nguồn cung cấp Công việc thay đổi dạng này được gọi là mã hóa (encoding).
Cơ sở lý thuyết của mã hóa là lý thuyết thông tin (information theory) Lý thuyết tin liên quan đến việc biểu diễn tin bằng các ký tự, đưa ra giới hạn lý thuyết cho việc thực hiện hệ thống thông tin, cho phép đánh giá hiệu suất của hệ thống thực tế. Nền tảng của lý thuyết tin do Hartley và Nyquist đưa ra từ những năm 1920 và được Shannon hoàn chỉnh và tổng kết vào năm 1948 Về các mục đích của mã hóa, ta có thể tóm tắt như sau:
- Định dạng: Để chuyển tin từ dạng gốc tự nhiên sang dạng chuẩn Ví dụ sang dạng số PCM.
- Mã hóa đường (line coding): Làm cho bản tin hay dạng sóng của ký tự truyền đi phù hợp với các các đặc điểm của kênh truyền.
- Mã hóa nguồn (source encoding): Nhằm giảm bớt số ký tự trung bình yêu cầu để truyền bản tin Điển hình của loại mã này là mã Huffman.
- Mật mã hóa (encryption): Để mã hóa bản tin bằng một khóa mật mã nhằm tránh sự thâm nhập trái phép, đảm bảo độ an toàn cho bản tin.
- Mã hóa kênh truyền (channel encoding): Đảm bảo cho thông tin chống lại các tác động kênh truyền, có khả năng phát hiện, sửa lỗi.
Một số khái niệm cơ bản về mã hóa
Đo tin tức Để đánh giá định lượng cho tin tức, người ta đưa ra khái niệm lượng tin (information content) Lượng tin liên quan đến giá trị của tin, hay nói cách khác là khả năng dự đoán được (predictability) của tin: một tin có khả năng đoán trước càng nhiều thì càng chứa ít tin Ví dụ, bản tin về tỷ số trận bóng Manchester United - Bradford Academicals là 7-0 chứa rất ít tin nhưng kết quả ngược lại thì gây chấn động, và do đó chứa rất nhiều tin Vậy xác suất càng cao thì bản tin càng chứa ít tin và ngược lại.
P(bản tin) = 1 không mang tin.
P(bản tin) =0 mang một lượng tin vô hạn.
Từ nhận xét trên, ta thấy tin càng có ý nghĩa khi nó càng hiếm gặp, nên độ lớn của nó phải tỷ lệ nghịch với xác suất xuất hiện của tin.
Giả sử có một nguồn tin x rời rạc sinh ra các tin i với xác suất là p(i), lượng tin của tin i phải là một hàm có đặc điểm sau:
- Tỷ lệ nghịch với xác suất xuất hiện p(i), hay đó là hàm f(1/p(i).
- Hàm này phải là 0 khi p(i)=1.
- Nếu hai tin độc lập thống kê là i và j đồng thời xuất hiện, ta có tin là (i,j), lượng tin chung của chúng phải bằng tổng lượng tin của từng tin, nghĩa là: f(1/p(i,j))=f(1/p(i))+f(1/p(j)) (2.1)
Theo luật nhân xác suất ta có:
Ta thấy hàm loga thỏa mãn tất cả các yêu cầu này Vậy hàm log(1/p(i)) được chọn để đánh giá định lượng cho tin Lượng tin của một tin i được ký hiệu là I(i) Định nghĩa lượng tin của một tin i là:
(2.4) Đơn vị đo của lượng tin tùy thuộc vào cơ số của loga Đơn vị của lượng tin là bit, nat hay hartley khi cơ số của loga lần lượt là 1, e hay 10 Trong đó cơ số 2 thường được chọn hơn cả Khi chọn cơ số 2 thì lượng tin của i là:
Vậy có thể định nghĩa bit như sau: bit là lượng tin mang trong một ký tự có xác suất xuất hiện là p=0.5.
Entropy H được định nghĩa là giá trị trung bình thống kê của lượng tin Đó là lượng tin trung bình chứa trong một ký tự bất kỳ của nguồn tin.
Xét một nguồn tin sinh ra M ký tự độc lập thống kê Nguồn tin này được gọi là nguồn rời rạc không nhớ Entropy của nguồn này là:
Trong đó p(m) là xác suất chọn ký tự thứ m.
Lý thuyết đã chứng minh giá trị lớn nhất của entropy là , đạt được khi các ký tự độc lập và đồng xác suất, nghĩa là: p(m)=1/M, Đối với nguồn tin ASCII có M8 thì entropy cực đại là:
(bit/ký tự) Thực tế thì điều này khó xảy ra nên entropy của nguồn ASCII là:
(2.8) Đối với nguồn tin nhị phân có M=2, nếu p(1)=1 và p(0)=1-p thì entropy là:
Entropy có điều kiện và độ dư Đối với các nguồn tin trong đó việc sinh ra ký tự sau không độc lập thống kê với các ký tự trước đó (nguồn có nhớ) thì công thức entropy trên không đủ tổng quát để tính được entropy chính xác Trong trường hợp này phải xét đến xác suất có điều kiện Ví dụ với nguồn có nhớ một ký tự, nghĩa là ký tự sau được chọn phụ thuộc vào một ký tự trước đó, entropy được tính như sau:
(bit/ký tự) (2.10) Ở đây p(j,i) là xác suất nguồn chọn i và j, p(j|i) là xác suất nguồn chọn j nếu trước đó đã chọn i Theo định lý Bayes, ta có:
Sự khác nhau giữa entropy thực sự của nguồn và entropy cực đại gọi là độ dư của nguồn Ký hiệu là r:
(bit/ký tự) (2.13) Độ dư tương đối của nguồn được định nghĩa như sau:
Sự mất mát tin do nhiễu
Gọi ký tự nguồn thứ i được truyền đi là , xác suất xuất hiện là , lượng tin của là
(bit) (2.15) Đối với kênh không nhiễu (noiseless channel), giả sử điện áp tương ứng với ký tự phát là , khi bên nhận tin tách được thì có thể biết chắc chắn ký tự phát ở nguồn là Lượng tin trong trường hợp này được bảo toàn khi truyền qua kênh:
Tuy nhiên, đối với kênh có nhiễu (noise channel) khi bên nhận tin tách được điện áp thì không thể kết luận chắc chắn về ký tự thực phát ở nguồn Sự không chắc chắn này liên quan đến xác suất , đây là xác suất phát ký tự thứ i và tách được điện áp ở bên nhận (đối với kênh không nhiễu, xác suất này là 1) Đối với kênh có nhiễu, tin nhận dược ít hơn tin truyền đi một lượng liên quan đến độ không chắc chắn của quyết định Thực tế, lượng tin nhận được là:
Giả sử bên nhận tin thực hiện quyết định cứng, điện áp chuyển đổi trực tiếp thành ký tự nhận là Trong trường hợp này, lượng tin nhận được là:
Sự suy giảm lượng tin trong mỗi ký tự do nhiễu có nghĩa là entropy nhận nhỏ hơn entropy phát Entropy nhận chính là entropy hiệu quả (effective entropy) của các ký tự nhận Ký hiệu entropy hiệu quả là và được tính như sau:
Sự khác nhau giữa và entropy phát gọi là độnghi ngờ (equivocation) E:
(2.20) Độ nghi ngờ được tính từ việc ta không chắc là ký tự truyền đi có giống với ký nhận hay không Sự không chắc chắn này là do kênh truyền có nhiễu nên có thể xem nhiễu chính là tin âm cộng vào dòng ký tự phát.Độ nghi ngờ được định nghĩa là:
(2.21) Ở đây là xác suất nhận ký tự thứ j, liên quan đến xác suất lỗi ký tự.
Tốc độ lập tin của nguồn tin
Ngoài thông số cơ bản của nguồn là entropy tuỳ thuộc vào cấu trúc thống kê của nguồn, còn có một thông số khác tuỳ thuộc vào tính chất vật lý của nguồn Đó là tốc độ thiết lập tin (information rate)của nguồn, ký hiệu là R Thông số này chỉ ra sự hình thành tin nhanh hay chậm để đưa vào kênh Ví dụ con người, do kết cấu của cơ quan phát âm nên mỗi giây chỉ phát âm được từ 5 đến 7 tiếng, trong khi một thiết bị đầu cuối số liệu có thể đạt đến hàng ngàn ký hiệu trong một giây.
Tốc độ thiết lập tin của nguồn có đơn vị là lượng tin trên đơn vị thời gian (trường hợp dùng loga cơ số 2 thì đơn vị là bit/s) và được tính là tích của entropy với số ký hiệu lập được trong một đơn vị thời gian:
Trong đó là số ký hiệu lập được trong một đơn vị thời gian, tuỳ thuộc vào tính chất vật lý của nguồn.
Mã hóa
Cho nguồn tin rời rạc X sinh ra N tin hay ký tự độc lập ( ) Xét một tập M có q phần tử hữu hạn ( ).
Mã hóa (encoding) nguồn tin X bằng tập M có nghĩa là biến đổi mỗi tin của nguồn tin thành một tập các phần tử thuộc M thỏa mã một yêu cầu nào đó của hệ thống thông tin:
Phép biến đổi ngược lại: Được gọi là giải mã (decoding)
Thông thường, số tin của nguồn tin rất lớn nên số ký hiệu mã không thể bằng hoặc nhiều hơn số tin.
Các tham số cơ bản của mã hóa
Tập M được gọi là mã hiệu (code), các phần tử gọi là ký hiệu mã (symbol), số ký hiệu mã khác nhau trong mã gọi là cơ số của mã Mã nhị phân là mã cơ số 2, trong đó mã chỉ có 2 ký hiệu mã là 0 và 1.
Dãy liên tục các ký hiệu mã dùng để mã hóa một tin của nguồn được gọi là từ mã (codeword) Ở đây từ mã tương ứng với tin là
Số ký hiệu mã có trong một từ mã được gọi là độ dài của từ mã (codeword length), ký hiệu là l Ví dụ từ mã 00100 có độ dài là 5.
Tham số tiếp theo là trọng lượng từ mã (codeword weigh), đó là tổng số các ký hiệu khác 0 có mặt trong từ mã, ký hiệu là w Ví dụ từ mã 110001 có trọng lượng là 3.
Khoảng cách mã (distance), ký hiệu là d Đó là số ký hiệu cùng vị trí khác nhau giữa hai từ mã dài bằng nhau Ví dụ khoảng cách giữa hai từ mã 110001 và 101000 là 3.
Gọi và là hai từ mã dài bằng nhau Khoảng cách mã giữa hai từ mã này là:
Phân loại mã: Ta có thể phân loại mã theo nhiều cách khác nhau:
- Dựa vào độ dài của từ mã: mã có độ dài không đổi (mã đều) và mã có độ dài thay đổi (mã không đều).
Tổng độ dài trung bình của từ mã:
-Dựa vào trọng lượng của từ mã có mã có trọng lượng không đổi và mã có trọng lượng thay đổi.
-Dựa vào khoảng cách mã giữa hai từ mã kề nhau, có mã có khoảng cách không đổi và mã có khoảng cách thay đổi.
-Dựa vào cơ số của mã, có mã nhị phân (cơ số 2), mã bát phân (mã cơ số 8), mã hexa (mã cơ số 16)…Trong đó mã nhị phân là mã thông dụng nhất.
-Dựa vào độ tin cậy, ta phân ra mã có khả năng phát hiện và sửa lỗi và mã không có khả năng phát hiện và sửa lỗi.
-Dựa vào hiệu suất thông tin, ta phân ra mã tối ưu và mã chưa tối ưu.
Các phương pháp biểu diễn mã
Phương pháp liệt kê: Đây là cách trình bầy đơn giản nhất, phương pháp này thực hiện liệt kê trong một bảng những tin của nguồn và chỉ rõ các từ mã tương ứng.
Ví dụ: Nguồn tin A={a1,a2,a3,a4,a5}, các lớp tin của nó được mã hóa như bảng sau:
Bảng 2.1 Bảng mã các tin trong nguồn tin A
Cách biểu diễn này tuy rõ ràng nhưng không thích hợp cho trường hợp bộ mã lớn và cồng kềnh.
Phương pháp mặt phẳng tọa độ của mã: Phương pháp này chỉ thích hợp cho các loại mã có trọng số Dựa trên hai thông số là độ dài n và trọng số b của từ mã để lập nên một mặt phẳng tọa độ Mỗi từ mã được biểu diễn bằng một điểm trên mặt phẳng tọa độ (n,b)
Nếu từ mã v = (v0,v1,……vn) được mã hóa bởi một bộ mã M có cơ số là m: vi ∈
M với i = 1, 2,….n Trong đó quy ước vị trí đầu tiên bên trái ứng với kí hiệu v1 là vi trí có trọng số nhỏ nhất: m 0 , vị trí thứ i tính từ trái sang phải ứng với kí hiệu vi có trọng số là m i-1 , vị trí cuối cùng (thứ n) tương ứng với vn có trọng số là m n-1 Khi đó, trọng số b của từ mã là tổng trọng số các ký hiệu trong từ mã được tính theo công thức sau:
- vi: giá trị của kí hiệu thứ i trong từ mã, vi ∈ M.
- i: số thứ tự của ký hiệu trong từ mã, i=1, 2……n.
Trọng số của từ mã 1011 bằng: b=1x2 0 +0x2 1 +1x2 2 +1x2 3
Như vậy mỗi từ mã được biểu diễn bằng một điểm duy nhất có tọa độ là (n,b). Định lý:
Không có hai từ mã của cùng bộ mã nào đồng thời thỏa mãn: ni= nj, bi=bj (i ≠ j), nghĩa là không thể có hai từ mã có thể cùng biểu diễn bởi cùng một điểm trong mặt phẳng tọa độ (n,b).
Ví dụ: Bộ mã 00, 01, 100, 1010, 1011 tương tự ví dụ trên sẽ được biểu diễn như sau:
Hình 2.1 Biểu diễn một bộ mã trên mặt phẳng tọa độ Phương pháp cây: Cây mã gồm có nút lá, nút gốc và các nút trung gian Gốc của cây gọi là nút gốc (mức 0) Từ một nút không phải là nút lá có thể phát đi tối đa m nhánh (tương ứng với cơ số m) hoặc ít hơn, mỗi nhánh mang một giá trị và kết thúc ở nút n+1 Nút lá biểu diễn cho một từ mã mà thứ tự các giá trị ký hiệu đi từ nút gốc đến nút lá qua các nút trung gian.
Cây mã cho bộ mã 00,01,10,1101,1010,11001 được biểu diễn như sau:
Hình 2.2 Cây mã nhị phân cho bộ mã 00, 01, 10, 1101, 11001
Phương pháp đồ hình kết cấu: Gồm những nút và những nhánh có hướng Đây là một cách biểu diễn cây mã rút gọn Mỗi từ mã được biểu diễn bằng một vòng kín xuất phát từ nút gốc theo các nhánh có hướng (chiều dài mũi tên) qua các nút trung gian và trở về kết thúc tại nút gốc Thứ tự giá trị ký hiệu lấy theo thứ tự giá trị các nhánh trên đường đi.
Hình 2.3 Đồ hình kết cấu của bộ mã 00, 01, 100, 1010, 1011
Trị các nhánh được ghi ở đầu xuất phát của nhánh Dấu v biểu diễn toán tử hoặc (OR), các nút được đánh số theo thứ tự xa dần nút gốc (số ghi trong vòng tròn của nút) Đồ hình kết cấu không những chỉ dùng mô tả mã mà còn được dùng để xem xét cách vận hành thiết bị mã hóa và giải mã.
Phương pháp hàm cấu trúc mã: Phương pháp này mô tả rõ ràng một đặc tính quan trọng của mã là sự phân bố các từ mã có độ dài khác nhau, ký hiệu là G(ni).
Bộ mã 00,01,100,1010,1011 có G(n) dưới dạng sau:
Từ hàm cấu trúc có thể phân biệt được mã đều hoặc không đều.
Phương pháp dùng ma trận sinh: Phương pháp này là mô hình toán để biểu diễn mã tuyến tính Đây là công cụ toán học được dùng để tạo mã tuyến tính.
Mã hóa nguồn
Hệ thống thông tin được sử dụng để truyền tin tức từ nguồn tin đến nơi nhận tin. Nguồn tin có rất nhiều dạng khác nhau, nhưng có thể phân thành hai loại chính là nguồn liên tục (continous source) như nguồn âm thanh, nguồn video… và nguồn rời rạc (discrete source) như nguồn dữ liệu từ máy tính.
Thông thường, quy luật phân bố xác suất sinh ra các ký tự là không đều nên độ dư của nguồn lớn, entropy của nguồn bé, tốc độ lập tin của nguồn còn xa mới đạt đến thông lượng kênh Lúc đó nhiệm vụ của mã hóa nguồn rời rạc là làm cho cấu trúc thống kê của nguồn trở nên hợp lý bằng cách tăng entropy của các ký tự dùng để mã hóa nguồn.
Nguyên tắc của mã hóa nguồn rời rạc là mã hóa các ký tự có xác suất sinh ra lớn bằng các từ mã ngắn và mã hóa các ký tự có xác suất sinh ra bé bằng các từ mã dài. Loại mã này gọi là mã hóa thống kê Việc truyền tin sẽ trở nên kinh tế hơn nếu mã thống kê có độ dài trung bình của từ mã là nhỏ nhất
Giới hạn của độ dài từ mã trung bình
Giả sử nguồn tin X sinh ra các ký tự độc lập Mã hóa nguồn tin X bằng một bộ mã nhị phân M, các ký hiệu mã 0 và 1 có xác suất bằng nhau p(0)=p(1)=0.5.
Lượng tin riêng của một ký hiệu 0 hay 1 bằng với lượng tin trung bình và đạt giá trị cực đại:
Mã hóa ký tự bằng một từ mã dài Như vậy lượng tin chứa trong từ mã này sẽ là (bit) Lượng tin trung bình chứa trong một từ mã sẽ là độ dài trung bình của từ mã, là L (bit). Để cho phép mã hóa đạt hiệu quả cao, toàn bộ lượng tin riêng trong mỗi ký tự nguồn phải được chuyển hết sang cho từ mã tương ứng, hay lượng tin trung bình của từ mã phải lớn hơn hoặc bằng lượng tin trung bình của ký tự nguồn Lượng tin trung bình của một ký tự nguồn chính là entropy của nguồn H Vậy:
(2.30) Đây là giới hạn dưới của độ dài trung bình của từ mã Dấu bằng chỉ xảy ra khi độ dài của một từ mã bất kỳ bằng với lượng tin riêng của ký tự mà nó mã hóa:
Vì là số nguyên nên phải là số nguyên Khi đó dộ dài trung bình của từ mã sẽ đạt tối thiểu Ta có bộ mã thống kê tối ưu Thường thì không phải là số nguyên nên chỉ là một điều kiện giới hạn.
Ta có thể thấy: để độ dài từ mã trung bình nhỏ nhất khi không phải là số nguyên thì L phải thỏa mãn bất đẳng thức sau:
(2.32) Vậy giới hạn trên của độ dài từ mã trung bình là H+1 Một bộ mã có độ dài từ mã trung bình thỏa điều kiện này được gọi là mã thống kê tối ưu.
Hiệu suất mã Định nghĩa hiệu suất mã là tỷ số giữa entropy của nguồn tin có các ký tự độc lập và entropy cực đại của nguồn đó :
(2.33) Nếu các ký tự nguồn được mã hóa thành từ mã nhị phân thì có một cách khác để tính hiệu suất mã:
(bit/từ mã nhị phân)
(2.34) Ở đây là độ dài của mỗi từ mã nhị phân và L là độ dài từ mã trung bình.
Giải mã trong trường hợp từ mã có độ dài thay đổi
Nói chung là chúng ta đi tìm một cách mã hóa hữu hiệu có thể biểu diễn các tin giống nhau mà trung bình dùng ít số nhị phân hơn Kết quả là độ dài của từ mã biểu diễn các ký tự khác nhau sẽ khác nhau Vấn đề đặt ra là làm thế nào để bên giải mã nhận ra được điểm bắt đầu và kết thúc của các từ mã dài khác nhau như vậy Sau đây là các đặc điểm cần phải có để giải mã với các từ mã dài khác nhau :
- Tính duy nhất (giải mã duy nhất): Điều này là cần thiết để cho các bản tin thu chỉ có một nghĩa duy nhất Xét một nguồn tin gồm 4 ký tự alphabet, các ký tự được mã hóa bằng các từ mã nhị phân như sau:
Nếu bên thu nhận được dãy từ mã 0011 thi không biết bên phát truyền đi DC hay là AAC.
Vậy ví dụ trên không thỏa tính giải mã duy nhất.
- Giải mã tức thời: Mã phải có tính prefix (tiền tố) Đôi khi mã không có tính prefix nhưng vẫn đảm bảo giải mã duy nhất, tuy nhiên lúc này không thể giải mã tức thời được mà phải mất thêm thời gian để xem xét các số tiếp theo trước khi kết luận chính xác được điểm kết thúc của từ mã.
Mã Huffman
Nhận thấy xác suất xuất hiện của các ký tự trong nguồn tin là không bằng nhau, có những ký tự xuất hiện thường xuyên hơn những ký tự khác, năm 1952, Huffman đã đưa ra một thuật toán mã hóa dựa trên xác suất xuất hiện các ký tự Thuật toán này tối ưu theo nghĩa độ dài từ mã trung bình là nhỏ nhất Mã hóa Huffman không có đặc tính sửa lỗi nhưng có tính giải mã duy nhất và tức thời.
Giả sử có một số bản tin được truyền giữa hai máy tính qua mạng PSTN Các bản tin chỉ chứa các ký hiệu từ A đến H Theo kết quả thống kê cho thấy xác suất xuất hiện của các ký tự như sau:
(bit/ký tự) Entropy cực đại của nguồn là:
(bit/ký tự) Như vậy hiệu suất của nguồn là:
Nếu mỗi ký tự trên được mã hóa thành 3 bit thì hiệu suất mã hóa sẽ giữ nguyên không thay đổi là 85%.
Mã hóa Huffman thực hiện mã hóa sử dụng ít bit hơn cho các ký tự có xác suất xuất hiện cao vì chúng được truyền đi thường xuyên hơn và ngược lại, nhiều bit hơn cho các ký tự có xác suất xuất hiện thấp nên có thể tăng được hiệu suất.
Thuật toán mã hóa Huffman gồm các bước sau:
(1) Sắp xếp các ký tự theo thứ tự xác suất giảm dần.
(2) Gán cho hai ký tự có xác suất xuất hiện thấp nhất với hai nhánh (0) và (1) của cây mã Từ hai ký tự có xác suất thấp nhất giảm còn một ký tự với xác suất bằng tổng của hai xác suất.
(3) Lập lại từ bước (1) cho đến khi chỉ còn lại một ký tự duy nhất với xác suất là 1.
(4) Duyệt cây mã để tìm ra từ mã tương ứng với từng ký tự của nguồn.
Ví dụ : Mã hóa Huffman cho nguồn tin trên Nếu ta quy ước gán cho nhánh đi ra từ ký hiệu có xác suất cao hơn là 1 và nhánh kia là 0, nhánh 0 vẽ ở bên trái, nhánh 1 vẽ ở bên phải thì ta có thể vẽ lại cây mã Huffman vừa lập được như dưới đây:
Hình 2.4 Sơ đồ tạo cây mã
Gọi trọng số của các nút trong cây mã là xác suất của nút đó, ta nhận thấy cây mã Huffman vừa lập là cây mã tối ưu theo nghĩa thứ tự trọng số của các nút tăng dần theo chiều từ dưới lên trên và trái sang phải.
Nhìn vào cây mã, ta thấy kết quả mã hóa Huffman của nguồn tin trên như sau:
Từ mã 0 110 100 1111 1011 1010 11101 11100 Độ dài từ mã trung bình bây giờ là:
L=1.0.04+3.(0.18+0.10)+4.(0.10+0.07+0.06)+5.(0.05+0.04)=2.61 (bit/ký tự) Vậy độ lợi mã hóa là:
Qua ví dụ trên ta thấy hiệu suất 85% khi không mã hóa đã tăng lên đến 97.7% khi mã hóa Huffman.
Ta thấy rằng phương pháp mã hóa Huffman không phải chỉ cho một bộ mã duy khi đó hiệu suất mã hóa sẽ không thay đổi, nhưng thứ tự trọng số của các nút sẽ thay đổi.
Do từ mã Huffman khác nhau đối với các tập ký tự khác nhau nên để bên thu có thể giải mã được thì yêu cầu bên thu phải biết các từ mã liên quan đến dữ liệu phát Có thể thực hiện điều này bằng hai cách Hoặc là bên phát gửi bảng mã trước khi phát dữ liệu, hoặc là bên thu phải có sẵn bảng mã.
Dưới đây là một chương trình ví dụ dạng m - file thực hiện mã hóa nguồn Huffman các ký tự được nhập từ bàn phím.
Chương trình mã hóa Huffman.m được thực hiện có kết quả như sau: nhap vao ky tu ['a','b','c','d','e','f'] s cdef nhap vao xac suat [0.22,0.20,0.18,0.15,0.13,0.12] p =0.2200 0.2000 0.1800 0.1500 0.1300 0.1200 p =0.2200 0.2000 0.1800 0.1500 0.1300 0.1200 p =0.2500 0.2200 0.2000 0.1800 0.1500 p =0.3300 0.2500 0.2200 0.2000 p =0.4200 0.3300 0.2500 p =0.5800 0.4200 code acode a 01 code bcode b 11 code ccode c 000 code dcode d 100 code e 010 code fcode f 110
Vậy với các ký tự a, b, c, d, e, f được mã hóa bằng mã Huffman thành các bit nhị phân sau: a: 01 b: 11 c: 000 d: 100 e: 010 f: 110
Giới thiệu
Theo quan điểm của ngành thông tin, tài nguyên thông tin chủ yếu là công suất, thời gian và băng thông của tín hiệu Đối với một môi trường thông tin cho trước, ba tài nguyên này có thể mâu thuẫn nhau Việc cân đối các mâu thuẫn này tùy vào từng trường hợp cụ thể Tuy nhiên, nhìn chung thì ta có thể đạt được tốc độ truyền số liệu cao nhất trong một băng thông nhỏ nhất trong khi giữ cho chất lượng truyền dẫn ở mức chấp nhận được Trong thông tin số thì chất lượng truyền dẫn có liên quan mật thiết với xác suất lỗi bit tại đầu thu.
Trong thực tế, yêu cầu của việc thiết kế là phải thực hiện được một tốc độ truyền số liệu yêu cầu trong một băng thông hạn chế của một kênh truyền sẵn có và một công suất hạn chế tùy ứng dụng cụ thể Hơn nữa, còn phải đạt được tốc độ này với một tỷ số BER (Bit Error Rate) và thời gian trễ chấp nhận được Nếu một tuyến truyền dẫn PCM không đạt được tỷ số BER yêu cầu với các ràng buộc này thì cần phải sử dụng các phương pháp mã hóa điều khiển lỗi.
Mã hóa điều khiển lỗi, còn được gọi là mã hóa kênh (channel encoding) được sử dụng để phát hiện và sửa các ký tự hay các bit thu bị lỗi Mã hóa phát hiện lỗi (error detection coding) được sử dụng như là bước đầu tiên của quá trình sửa lỗi bằng cách kích cho đầu cuối thu phát ra tín hiệu yêu cầu lặp lại tự động ARQ (Automatic Repeat reQuest), truyền theo hướng ngược lại về cho đầu cuối phát Nếu quá trình truyền lại thành công thì coi như là đã sửa được lỗi Nếu kỹ thuật ARQ không thích hợp, chẳng hạn như khi trễ truyền dẫn quá lớn thì sẽ sử dụng kỹ thuật mã hóa sửa lỗi không phản hồi FECC (Forward Error Correction Coding) Cả mã phát hiện lỗi và mã sửa lỗi đều đưa thêm độ dư vào dữ liệu phát, trong đó độ dư thêm vào trong mã sửa lỗi nhiều hơn trong mã phát hiện lỗi Lý do là đối với mã sửa lỗi, độ dư thêm vào phải đủ cho bên thu không chỉ phát hiện được lỗi mà còn sửa được lỗi, không cần phải truyền lại. Đại lượng đo lỗi thông thường là tỷ lệ lỗi bit BER hay xác suất lỗi bit (xác suất một bit nhị phân bất kỳ truyền đi bị lỗi) Điều khiển lỗi nhằm mục đích là làm giảm tỷ lệ lỗi trong một hệ thống khi tỷ lệ này lớn quá mức cho phép Có năm phương pháp điều khiển lỗi.
Giải pháp đầu tiên là tăng công suất phát, nhưng không phải lúc nào cũng có thể thực hiện được Ví dụ như, đối với một máy điện thoại bỏ túi thì không chấp nhận khối lượng của pin quá lớn.
Giải pháp thứ hai, rất hiệu quả trong việc chống lại lỗi chùm gây bởi fading, là sử dụng phân tập Có ba kiểu phân tập chính là phân tập không gian, phân tập tần số và phân tập thời gian Cả ba kiểu phân tập này đều đưa thêm độ dư vào trong dữ liệu phát bằng cách truyền gấp đôi: qua hai đường, tại hai tần số hay vào hai thời điểm khác nhau Trong phân tập không gian, sử dụng hai hay nhiều antena đặt tại những vị trí đủ xa để có một trong các antena đó thu được tín hiệu tốt nhất, ít bị fading nhất Phân tập tần số sử dụng hai hay nhiều tần số khác nhau để phát cùng một tin Phân tập tần số có thể là trong băng hay ngoài băng tùy vào khoảng cách tần số giữa các sóng mang. Trong hệ thống phân tập thời gian, phát cùng một tin nhưng vào hai hay nhiều thời điểm khác nhau.
Giải pháp thứ ba là truyền song công, hay còn gọi là kiểm tra echo (echo checking) Ở đây, khi bộ phát phát tin đến bộ thu, tin được phát ngược về bộ phát trên một kênh hồi tiếp riêng Nếu tin phát ngược về khác với tin phát đi thì biết là có lỗi. Phương pháp này có khuyết điểm là yêu cầu băng thông gấp đôi so với truyền trên một hướng nên không chấp nhận khi cần tận dụng phổ.
Phương pháp thứ tư để đối phó với BER cao là yêu cầu lặp lại tự động ARQ (Automatic Repeat reQuest) Trong hệ thống ARQ, mã phát hiện lỗi (error detecting code) được sử dụng để bên thu kiểm tra lỗi trong khối số liệu thu và trả lời cho bên phát trên một kênh hồi tiếp Tín hiệu trả lời là chấp nhận ACK (ACKnowledgment) khi số liệu thu đúng và không chấp nhận NAK (Non – AcKnowledgment) khi số liệu thu sai Nếu bên phát nhận NAK, bên phát phải tiến hành truyền lại khối số liệu bị lỗi.
Có hai kỹ thuật ARQ chính là ARQ dừng và đợi và ARQ liên tục Trong hệ thốngARQ dừng và đợi, sau khi phát khối số liệu đi, bên phát dừng lại và chờ nhận trả lời từ bên thu, rồi tùy theo trả lời đó là ACK hay NAK mà bên phát phát khối số liệu tiếp theo hay phát lại khối số liệu vừa rồi Nếu thời gian chờ quá thời gian quy định, bên phát coi như là khối số liệu vừa phát bị lỗi và vẫn tiến hành phát lại Hạn chế của phương pháp này là thời gian trễ truyền dẫn lớn Trong hệ thống ARQ liên tục, các khối số liệu đều mang số thứ tự N và bản tin trả lời ACK /NAK cũng mang số thứ tự N tương ứng Bên phát liên tục phát đi các khối số liệu mà không chờ nhận trả lời từ bên thu Bên thu kiểm tra lỗi các khối số liệu thu và trả lời về cho bên phát bản tin ACK/NAK kèm theo số thứ tự của khối tin tương ứng Khi nào bên phát nhận trả lời NAK từ bên thu, bên phát sẽ phát lại tất cả các khối số liệu kể từ khối số liệu bị lỗi đối với ARQ lùi lại N, hoặc bên phát sẽ chỉ phát lại khối số liệu bị lỗi đối với ARQ.
Phương pháp thứ năm để giảm BER là thực hiện mã hóa sửa lỗi không phản hổi FECC (Forward Error Correction Coding) Trong lịch sử, việc chấp nhận sử dụng rộng rãi FECC có trễ hơn so với các phương pháp khác bởi vì độ phức tạp và giá cả của nó cao hơn.
Có thể phân loại mã kênh theo sơ đồ sau:
Hình 3.1 Phân loại mã kênh
Mã khối
Mã khối được đặc trưng bởi hai số nguyên n và k, và một ma trận sinh hay đa thức sinh Mỗikhốigồmkbitthôngtinlốivàođượctươngứng vớitừmãnbitthôngtinlốira(cón-kbitdưthêm vào)khiđóbộmãkhốisẽcótỷlệ mã hóalàr=k/n, là tiêu chuẩn để đánh giá độ dư của mã Tỷ lệ mã thường từ 1/2 đến 1 Mã hệ thống là mã có mặt các bit tin cùng với các bit dư trong từ mã Hình dưới đây thể hiện cấu trúc
Hình 3.2 Cấu trúc mã khối
Mã khối tuyến tính nếu tổ hợp tuyến tính (modul 2) của hai từ mã là một từ mã
Mã khối trong đó các bit bản tin được giữ nguyên, chỉ bổ xung thêm các bit dữliệu gọi là mã hệ thống Mã hệ thống cũng có tính chất tuyến tính và cóưu điểm thực hiệnđơn giản.
Cấu trúc của mã khối hệ thống là: b0, b1…., bn-k-1,m0,m1, …, mk-1
Trong đó k bit bên phải (m0,m1, …, mk-1) là các bit bản tin n -k bit bên trái (b0, b1…., bn-k-1) là các bit kiểm tra Bit kiểm tra là tổ hợp tuyến tính của k bit bản tin bi = p0im0 + p1im1 + … + p(k-1)imk-1 i = 0, 1, … ,n-k-1 với
Phương trình trên xác định một cấu trúc toán học của mã khối tuyến tính (n, k) ta có thể viết lại dưới dạng vector ma trận như sau: b = mP (với P là ma trận có kích thước k x (n-k)) Các từ mã c = [b, m] tạo nên một không gian con k chiều của không gian n chiều:
Do đó ta có thể viết lại là:
C = m[P, Ik] trong đó Ik là ma trận đơn vị hay c = mG
Ma trận G là ma trận nhị phân có kích thước k x n có dạng
Ma trận G được gọi là ma trận sinh, có k hàng phải làđộc lập tuyến tính tức biểu diễn một hàng phải là tổ hợp tuyến tính của các hàm còn lại) từđó ta có: c i + c j = m i G + m j G= Gm i + m j G
Tính chất tuyến tính được suy ra từ hệ thống
Cách biểu diễn khác của mối liên hệ giữa bit kiểm tra và bit bản tin là:
Sử dụng tính chất cộng modul 2 ta có HG T = 0 tức vế phải là ma trận zero hay ta có cH T = mGH T = 0 (3.1)
Khi đó ma trận H được gọi là ma trận kiểm tra chẵn lẻ Khi đó tín hiệu truyền không lỗi thì phương trình (2.1) được thoả mãn
Ví dụ: Xét mã lặp lại n = 5, k = 1 ta có:
Từ mã cđược gửi trên đường truyền mắc lỗi e, véc tơ thu được tại bộ thu là r: ta cór = c + e
Trong đó ei = 0 nếu ci giống ri (i = 0, 1, 2, … n – 1)
Là đặc trưng của giải mã, có các tính chất sau:
-s chỉ phụ thuộc mẫu lỗi mà không phụ thuộc từ mã: do đó
Các mẫu lỗi khác nhau của 1 từ mã sẽ có cùng đặc trưng s
- Do bản tin k bit chỉ có 2 k từ mã khác nhau nên với mỗiđặc trưng sẽ có 2 k véc tơ lỗi khác nhau: ei = e + ci, I = 0, 1, …, 2 k – 1.
Tập các véc tơ lỗiứng với mộtđặc trưng tạo nên một tập con trong tập mã và mã khối tuyến tính có 2 n-k tập con như vậy không chồng lấn nhau và phủ hết không gian từmã (2.2) là một hệ n-k phương trình tuyến tính có thể cho thông tin phát hiện lỗi. Song nó không đủ xácđịnh véc tơ lỗi (n phần tử) hay chính xác hơn xácđịnh duy nhất véc tor lỗi: sẽ có 2 k mẫu lỗi thoả mãn hệ phương trình này Tuy nhiên thông tin đặc trưng s giúp cho phép dò tìmlỗi e từ 2 n khả năng xuống còn 2 k khả năng.
Khoảng cách tối thiểu dmin là tập mãđượcđịnh nghĩa là khoảng cách Hamming (số các bit khác nhau trong 2 từ mã) nhỏ nhất giữa các từ mã Từ tính chấtđóng của từ mã dmin bằng trọng lượng (số phần tử 1) nhỏ nhất của một từ mã: dmin = min dH(ci, cj) (3.3)
Mã khối tuyến tính (n, k) có thể tách và hiệu chỉnh được tối đa t lỗi nếu và chỉ nếu t¿[1/2(dmin-1)] lấy phần nguyên
Vì véc tơr nhận được vẫn luôn gần từ mã phát ban đầu hơn bất kỳ từ mã khác. Đối với mã tuyến tính khoảng cách tối thiểu bằng trọng lượng tối thiểu của mã được định nghĩa:
Tức là số tối thiểu phần tử 1 trong bất kỳ từ mã khác 0
Mã khối tuyến tính có dạng hệ thống khi ma trận sinh có dạng sau:
Mã vòng (cyclic code) là một lớp con của mã khối tuyến tính không có từ mã gồm toàn số 0 Mã khối tuyến tính được gọi là mã vòng nếu sau một lần dịch vòng một từ mã thì cũng được một từ mã thuộc cùng bộ mã Ví dụ các từ mã sau đây được gọi là mã vòng:
Mã Golay là một loại mã vòng sửa được sai nhiều lỗi Mã Golay (23,12) có khả năng sửa được 3 lỗi cho từ mã dài 23 bit Mã này được Golay phát minh năm 1949 và được nhiều chuyên gia quan tâm nghiên cứu tới cấu trúc và cơ chế giải mã
Mã BCH nhị phân (binary BCH code) là một loại mã vòng được Hocquenghem tìm ra năm 1959, sau đó được Bose và Chaudhuri tìm ra một cách độc lập vào năm
1960 Mã BCH có thể sửa được t lỗi trong từ mã dài n bit, với , ,
Ví dụ mã BCH(15,7) có thể sửa sai tối đa 2 lỗi.
Mã RS được Reed và solomon giới thiệu lần đầu tiên vào năm 1960 Theo lý thuyết mã, có thể xem mã RS là mã BCH không nhị phân Mã RS được tổ chức theo ký tự Mã RS tạo thành n ký tự, mỗi ký tự dài m bit, m tùy thuộc vào ứng dụng cụ thể.
Ví dụ m=8 thì mỗi ký tự chính xác là một byte Mã RS hoạt động trên ký tự nhiều bit chứ không phải trên từng bit như các mã vòng khác.
Mã Hamming là một trường hợp riêng đơn giản nhất của mã BCH nhị phân Mã này được R.W.Hamming đưa ra và được dùng trong một số hệ thống thông tin Mã Hamming có d=3, có khả năng sửa được 1 lỗi.
Khoảng cách Hamming được sử dụng trong kỹ thuật viễn thông để tính số lượng các bit trong một từ nhị phân bị đổi ngược, như một hình thức để ước tính số lỗi xảy ra trong quá trình truyền thông, và vì thế, đôi khi nó còn được gọi là khoảng cách tín hiệu Việc phân tích trọng số Hamming của các bit còn được sử dụng trong một số ngành, bao gồm lý thuyết tin học, lý thuyết mã hóa và mật mã học.
Mã chập
Mã chập là một phương pháp mã hóa sửa sai quan trọng Khác với mã khối mã chập là loại mã có nhớ Mặc dù, bộ mã hóa chập cũng nhận các thông điệp có số lượng ký hiệu xác định và rạo ra một từ mã cũng có số ký hiêu xác định, nhưng từ mã tạo ra ở mỗi thời điểm không chỉ phụ thuộc vào các ký hiệu của thông điệp hiện tại mà còn phụ thuộc vào các ký hiệu của các thông điệp đã được mã hóa trước đó.
Matlab cung cấp đầy đủ các công cụ để thực hiện mã chập kể cả thuận lẫn hồi tiếp Mã chập có thể được mô tả dưới dạng cấu trúc lưới (trellis) hoặc tập các đa thức sinh Giải thuật mà MATLAB sử dụng là giải thuật viterbi, có thể giải mã bằng quyết định cứng (hard-decision) hay quyết định mềm (thích nghi, soft- decision).
Mãchậpđượctạorabằngcáchchochuỗithôngtintruyềnquahệ thống các thanhghidịchtuyếntínhcósốtrạngtháihữuhạn.Chosố lượng thanh ghi dịch là N, mỗithanhghidịch có k ô nhớ và đầu ra bộ mã chập có n hàm đại số tuyến tính Tốc độ mã là R = k/n, số ô nhớ của bộ ghi dịch là N×k và tham số N còn gọi là chiều dài ràng buộc (Contraint length) của mã chập.
Giảthiết bộmãchậplàm việc vớicácchữsốnhịphân,thìtạimỗilầndịchsẽ cókbitthôngtinđầuvàođược dịchvàothanhghidịchthứnhấtvàtương ứngcókbit thông tin trong thanh ghi dịch cuối cùngđượcđẩyrangoài màkhôngthamgiavàoquá trìnhtạochuỗibit đầu ra Đầu ra nhận được chuỗi nbit mã từ nbộ cộng module-2 (xem hình).
Nhưvậy,giátrịchuỗiđầurakhôngchỉphụthuộcvàokbitthôngtin đầuvàohiệntạimàcònphụthuộcvào(N-1)kbittrướcđó,cấuthànhlên v bộnhớ và được gọi là mã chập (n, k,N) Với v được tính bằng công thức sau:
Hình 3.3 Sơ đồ mã chập (n,k,N)
Giảsửulàvéctơđầuvào, xlàvéctơtươngứngđượcmãhoá,bâygiờchúng tamôtảcáchtạoratừ mã u.Đểmôtảbộmãhoáchúngtaphảibiếtsựkếtnốigiữa thanhghi đầuvàovà đầura hình 3.3.Cáchtiếpcậnnàycóthểgiúpchúngtachỉ ra sự tươngtựvàkhácnhaucũngnhưlàvớimãkhối Điềunàycóthểdẫntớinhữngký hiệuphứctạpvànhằm nhấnmạnhcấutrúc đạisốcủa mã chập Điều đólàm giảm đi tínhquantâmchomục đíchgiảimãcủachúngta.Dovậy, chúngtachỉ pháchọa tiếp cậnnàymộtcáchsơlược.Sauđó,môtảmãhoásẽđượcđưaravớinhữngquanđiểm khác Để mô tả bộ mã hoá hình 3.3 chúng ta sử dụng N ma trận bổ sung G1, G2…, GNbaogồmkhàngvà n cột MatrậnGi môtảsựkếtnốigiữađoạnthứicủakônhớ trongthanhghilốivàovớinôcủathanhghilốira n lối vào của hàng đầu tiên của Gi môtảkếtnốicủaôđầutiêncủa đoạnthanhghi đầuvàothứivới nôcủathanhghilối ra.Kếtquảlà“1”trongGi nghĩalàcókếtnối,là“0”nghĩalàkhôngkếtnối.Dođó chúng ta có thể định nghĩa ma trận sinh của mã chập:
Vàtấtcảcáccáclốivàokháctrongmatrậnbằng0.Dođónếulốivàolàvéctơu, tương ứng véctơ mã hoá là:
Bộmãchậplàhệthốngnếu trongmỗiđoạncủanchữsốđuợctạo,ksốđầulàmẫu của các chữ số đầu vào tương ứng Nó có thể xác định rằng điều kiện này tương đương có các ma trận kxn như sau:
Chúng ta xét một vài ví dụ minh hoạ:
Ví dụ 1: Xét mã (3,2,2) được định nghĩa thông qua hai ma trận sinh G1 và G2:
Chuỗi thông tin u=(11011011…) được mã hóa thành chuỗi mã x (111010100110…).
Một cách tương tự ta cũng có thể biểu diễn ma trận sinh G = (G1,G2,…,GN), như vậy ý nghĩa của ma trận sinh là nó chỉ ra phải sử dụng các hàm tương ứng nào để tạo ra véc tơ dài n mỗi phần tử có một bộ cộng module-2, trên mỗi véc tơ có Nxk tham số biểu diễn có hay không các kết nối từ các trạng thái của bộ ghi dịch tới bộ cộng module - 2 đó Xét vecto thứ i (gi, n ≥ i ≥ 1), nếu tham số thứ j của gi(L×k ≥ j ≥1) có giá trị “1” thì đầu ra thứ j tương ứng trong bộ ghi dịch được kết nối tới bộ cộng module-2 thứ i và nếu có giá trị “0” thì đầu ra thứ j tương ứng trong bộ ghi dịch không được kết nối tới bộ cộng module-2 thứ i.
Ví dụ 2: Cho bộ mã chập có số thanh ghi N = 3, số ô nhớ trong mỗi thanh ghi dịch k = 1, chiều dài chuỗi đầu ra n = 3 tức là mã (3,1,3) và ma trận sinh của mã chập có dạng sau:
Có thể biểu diễn dưới dạng đa thức sinh là:
Do đó sơ đồ mã chập được biểu diễn như sau:
Hình 3.5 Sơ đồ bộ mã chập với N=3, k=1, n=3
Một ví dụ khác minh họa bộ mã chập với k=1, N=3, n=2
Có ba phương pháp để biểu diễn mã chập đó là: sơ đồ lưới, sơ đồ trạng thái, và sơ đồ hình cây Để làm rõ phương pháp này ta tập trung phân tích dựa trên ví dụ hình 3.7 với bộ mã (2,1,3), đa thức sinh (7,5).
Từ ví dụ hình 3.7, giả thiết trạng thái ban đầu của các thanh ghi dịch trong bộ chuỗi “00”, còn nếu bit vào đầu tiên là bit “1” thì đầu ra ta nhận được chuỗi “11” Nếu bit vào đầu tiên là bit “1” và bit vào tiếp theo là bit “0” thì chuỗi thứnhất là “11” và chuỗi thứ hai là chuỗi “10” Với cách mã hoá như vậy, ta có thể biểu diễn mã chập theo sơ đồ có dạng hình cây (xem hình 3.8) Với hướng lên là hướng của bit 0 đi vào bộ mã, nhánh đi xuống biểu hiện cho bit 1 được dịch vào Từ sơ đồ hình cây ta có thể thực hiện mã hoá bằng cách dựa vào các bit đầu vào và thực hiện lần theo các nhánh của cây, ta sẽ nhận được tuyến mã, từ đó ta nhận được dãy các chuỗi đầu ra.
Hình 3.8 Sơ đồ hình cây của bộ mã (2,1,3)
Do đặc tính của bộ mã chập, cấu trúc vòng lặp được thực hiện như sau: chuỗi n bit đầu ra phụ thuộc vào chuỗi k bit đầu vào hiện hành và (N-1) chuỗi đầu vào trước đó hay (N-1) × k bit đầu vào trước đó Từ ví dụ hình 3.7 ta có chuỗi 2 bit đầu ra phụ thuộc vào 1 bit đầu vào là “1” hoặc “0” và 4 trạng thái có thể có của hai thanh ghi dịch, là
“00”; “01”; “10”; “11” Từ sơ đồ hình cây trên, ta thấy rằng tại tầng thứ 3, cứ mỗi trạng thái 00, 01, 10, 11 đều có 2 nhánh đến từ các trạng thái trước đó tùy thuộc vào bit được dịch vào bộ mã là bit 0 hay bit 1 Với tính chất đó ta có thể biểu diễn mã chập bit đầu vào là bit “1” và đường đứt nét được ký hiệu cho các bit đầu vào là bit “0” (xem hình 3.9) Ta thấy rằng từ sau tầng thứ hai hoạt động của lưới ổn định, tại mỗi nút có hai đường vào nút và hai đường ra khỏi nút Trong hai đường đi ra thì một ứng với bit đầu vào là bit “0” và đường còn lại ứng với bit đầu vào là bit “1”.
Hình 3.9 Sơ đồ hình lưới bộ mã chập (2,1,3)
Sơ đồ trạng thái được thực hiện bằng cách đơn giản sơ đồ 4 trạng thái có thể có của bộ mã (00, 01, 10 và 11) và trạng thái chuyển tiếp có thể được tạo ra từ trạng thái này chuyển sang trạng thái khác, quá trình chuyển tiếp có thể là:
Next State/output symbol, if Current
Bảng 3.1 Bảng trạng thái của bộ mã 00, 01, 10, 11
Kết quả ta thu được sơ đồ trạng thái trong hình 3.10 như sau:
Hình 3.10 Sơ đồ trạng thái của bộ mã chập (2,1,3)
Từ sơ đồ trạng thái hình 3.10, các đường liền nét được ký hiệu cho bit đầu vào là bit “0” và đường đứt nét được ký hiệu cho các bit đầu vào là bit “1” So với sơ đồ hình lưới và sơ đồ hình cây thì sơ đồ trạng thái là sơ đồ đơn giản nhất.
Giải mã mã chập bằng thuật toán Viterbi
Trong số nhiều phương pháp giải mã xoắn, phương pháp Viterbi được quan tâm đặc biệt vì nó là phương pháp tính khả năng tối đa Dựa theo dãy nhận được tại lối ra kênh, phương pháp này dò tìm trong sơ đồ lưới đường đi có mã giống như dãy nhận được Nếu giải mã là quyết định cứng thuật toán sẽ tìm đường có khoảng cách Hamming nhỏ nhất đến dãy nhận được Nếu giải mã là quyết định mềm thì đường tìm được phải có khoảng cách Ơle nhỏ nhất đến dãy nhận được Gọi c là từ mã theo đường đi trong sơ đồ lưới,y là dãy nhận được qua kênh nhị phân không nhớ Giả sử đường đi có m bước chuyển trạng thái, mỗi bước có n bit lối ra nên c và y vó n.m bit đồng thờici và yi tương ứng với bước chuyển thứ i (1≤i≤m) Khoảng cách Hamming giữa c và y được tính là: d(c.y) = ∑ i=1 m d(c i , y i )
Trong cách tính khoảng cách Ơle của quyết định mềm, chỉ việc thay dãy y bằng lối ra vectơ r của bộ giải điều chế số Thay cho dãy nhị phân 0, 1 của c là dãy c’ với c’ij = { − √ √ E E neu c neu c ij ij =1 = 0
Mô phỏng mã hóa kênh trong Matlab
Trong sơ đồ hệ thống thông tin số ở mức hệ thống, khối mã hóa kênh có tác dụng phát hiện lỗi và thậm chí sửa được cả lỗi xảy ra trên kênh truyền Trong mã hóa kênh, có hai bộ mã là mã khối (điển hình là mã Hamming) và mã chập Vì vậy khi mã chập dưới sự tác động của kênh truyền AWGN sử dụng phần mềm MATLAB để từ đó có thể so sánh hai loại mã này một cách trực quan và hiệu quả.
3.4.1 Mô phỏng mã hóa Hamming
Cấu trúc của mô hình mô phỏng
Hệ thống mô phỏng sử dụng các khối truyền thông khác nhau để thiết lập mô hình Hamming có tác động của AWGN Hệ thống mô phỏng gồm các khối sau:
1 Một nguồn phát nhị phân theo phân bố Bernoulli.
2 Một bộ mã hóa Hamming.
3 Một bộ điều chế khóa dịch pha nhị phân BPSK.
4 Một bộ kênh nhiễu cộng tính AWGN.
5 Một bộ giải điều chế khóa dịch pha nhị phân BPSK.
6 Một bộ giải mã hóa Hamming.
7 Một bộ tính toán tỷ lệ lỗi bit.
8 Một bộ hiển thị thống kê lỗi khi chạy mô phỏng.
Các bước thực hiện mô phỏng như sau:
Xây dựng khối Đầu tiên, từ cửa sổ của chương trình Matlab, gõ lệnh simulink để sử dụng công cụ này.
Sau đó, tạo ra một file mô phỏng mới bằng cách vào File > New > Model (hoặc sử dụng cụm phím tắt Ctrl + N).
Tiếp theo, từ cửa sổ Simulink Library Browser, lấy các khối sau:
- Bernoulli Binary Generator: Khối nguồn, hay còn gọi là khối nhị phân Bernoulli Khối này tạo ra dữ liệu số gồm dãy bit 0, 1 theo phân bố Bernoulli.
Hình 3.11 Khối phát dữ liệu
- BPSK Modulator Baseband: Khối điều chế pha nhị phân, có nhiệm vụ điều chế tín hiệu số với bit 0 tương ứng với tín hiệu sóng có pha = 0 0 và bit 1 tương ứng
Hình 3.12 Khối điều chế BPSK
- BPSK Demodulator Baseband: Khối giải điều chế pha nhị phân, thực hiện nhiệm vụ ngược lại khối BPSK.
Hình 3.13 Khối giải điều chế BPSK
- AWGN Channel: Khối AWGN thực hiện cộng nhiễu trắng Gauss vào trong tín hiệu lối vào Mục đích là tạo ra môi trường gần đúng với thực tế
Có thể xác định sự khác nhau của bộ tạo nhiễu bởi kênh AWGN tỷ số tín hiệu trên ồn Eb/No và Es/No với Eb là năng lượng của một bit và Es là năng lượng của một symbol, hay tỷ lệ tín trên tạp SNR.
- Hamming Encoder: Khối mã hóa Hamming, có nhiệm vụ mã hóa các bit đầu vào thành chuỗi bit đầu ra bằng cách chèn các bit kiểm tra lỗi.
Hình 3.15 Khối mã hóa Hamming
Mã hamming: Là loại mã khối tuyến tính dạng ((2 m − 1), (2 m − 1−m )) có khoảng cách tối thiểu bằng 3 và ma trận kiểm tra chẵn lẻ đơn giản có kích thước m*(2m-1) trong đó tất cả các dãy nhị phân dài m trừ dãy toàn 0 nhìn theo cột.
- Hamming Decoder: Khối giải mã Hamming.
Hình 3.16 Khối giải mã Hamming
- Error Rate Calculation: Là khối tính toán tỉ lệ lỗi bit hoặc tỉ lệ lỗi symbol của tín hiệu lối vào
Khối này so sánh dữ liệu lối vào của bộ phát với dữ liệu lối vào của bộ thu Dữ liệu ra của khối này gồm: Tốc độ lỗi bit, tổng số bit lỗi là số các bit khác nhau và số bit được so sánh.
Hình 3.17 Khối tính toán tỷ lệ lỗi bit
-Display: Khối dùng để hiển thị kết quả tính toán từ khối Error Rate Calculator
(khối tính toán tỷ lệ lỗi bit) Khối này sẽ hiển thị ra ba đại lượng:
+ Tổng số bit bị lỗi
Kéo và thả các khối trên sang vùng làm việc của file mô phỏng, sau đó thực hiện việc nối các khối như hình vẽ:
Hình 3.20 Thiết lập thông số cho khối tạo bit ban đầu
Khối này có các tham số sau:
1) Probability of a zero: Xác suất xuất hiện bit 0
2) Initial seed (Giá trị khởi tạo): Giá trị khởi tạo cho máy phát bit nhị phân ngẫu nhiên Nó có thể là một véc tơ có chiều dài bằng với xác suất xuất hiện bit 0, hoặc là vô hướng
3) Sample time: Thời gian lấy mẫu
4) Frame – based output: Xác định kết quả đầu ra bao nhiêu khung hoặc mẫu.
5) Samples per frame (số mẫu trên khung): Tham số này được kích hoạt khi chúng ta tích chọn “Frame – base output”
6) Output data type (kiểu đầu ra): Kiểu đầu ra có thể được xác định là kiểu boolean, int8, uint8, int16, uint16, int32, uint32, single, or double Theo mặc định kiểu double sẽ được chọn.
Khối Hamming Encoder và Hamming Decoder:
Hình 3.21 Thiết lập thông số cho khối mã hóa Hamming
Hai khối này có hai tham số như sau:
1) Codeword length N (chiều dài từ mã N): Ở đây chúng ta chọn chiều dài từ mã là 7.
2) Message length K, or M-degree primitive polynomial (chiều dài bản tin hoặc bậc M của đa thức sinh) Tạo đa thức nguyên thủy bằng cách sử dụng hàm gfprimfd Ở đây ta tạo đa thức sinh có bậc bằng 3.
Khối BPSK Modulator Baseband và khối BPSK Demodulator Baseband:
Hai khối này có các tham số sau:
1) phase offset (rad): Độ lệch pha Khối điều chế BPSK mà chúng ta mô phỏng có độ lệch pha bằng 0.
2) Samples per symbol (số mẫu trên ký hiệu): Được đặt là 1.
Khối AWGN Channel: Khối kênh AWGN cộng ồn Gassusian trắng là thực hoặc phức vào tín hiệu lốivào.Khitínhiệulối vào là thực,khốinàycộng giátrị thực ồn Gaussian và sinh ra giátrị thực tín hiệulối ra Khi tín hiệulối vào là phức, khối này cộng giá trị phức ồn Gaussianvàsinhratínhiệu phức ởlốira.Khốitiếptheonàylấymẫuthời gian từ tín hiệulốivào.Khốinàysửdụngkhốinguồnngẫunhiêncủa khối đặt xửlý tín hiệu để tạoraồn.Thôngsốgiátrịxáclậpbanđầutrongkhốikhởitạomáyphátồn.Giátrị xác lậpban đầu có thể hoặc là vô hướng hoặc là vectơ khớpsố kênh trong tín hiệu lối vào Khối kênh AWGN gồm các thông số sau:
Hình 3.23 Các thông số của khối AWGN Channel
1) Initial seed (giá trị khởi tạo): Giá trị ban đầu chứa trong máy phát tín hiệu ồn ngẫu nhiên Ở đây ta đặt Initial seed g.
2) Mode: Có thể cụ thể hóa sự biến thiên của ồn được tạo ra bởi khối kênhAWGN sử dụng một trong những cách sau:
- Tỉ số tín hiệu trên ồn lượng tử (Eb/No), khi khối tính toán sự biến thiên từ số lượng được cụ thể hóa bằng bảng dưới đây:
+ Eb/No: Tỉ số năng lượng bit trên mật độ phổ công suất nhiễu.
+ Số bit trên ký hiệu.
+ Công suất tín hiệu lối vào, công suất của kí hiệu lối vào.
+Tỉ số tín hiệu trên ồn lượng tử (Es/No), khi khối tính toán sự biến thiên từ số lượng được cụ thể hóa bằng bảng dưới đây:
- Es/No: tỉ số năng lượng tín hiệu trên mật độ phổ công suất nhiễu.
+ Năng lượng tín hiệu vào, năng lượng kí hiệu lối vào.
- Tỉ số tín hiệu trên ồn (SNR), khi khối tính toán sự biến thiên từ số lượng được cụ thể hóa bằng bảng dưới đây:
+ SNR: tỉ số công suất tín hiệu trên công suất ồn.
+ Công suất tín hiệu lối vào, công suất của mẫu lỗi vào
- ”Variance from mask”: Nơi xác định variance trong hộp thoại phải là giá trị dương.
- ”Variance from port”: Khi cấp variance như là một đầu vào của khối.
Variance lối vào phải là giá trị dương và nó có tốc độ lấy mẫu phải bằng tín hiệu lối vào Nếu tín hiệu lối vào là dựa trên kí tự, variance vào phải là dựa theo kí tự Nếu tín hiệu đầu tiên lối vào dựa theo khung, variance lối vào có thể hoặc là dựa theo khung với chính xác một dòng, hoặc dựa theo mẫu.
Trong cả hai kiểu (mode) “Variance from mask” và “Variance from port”, những quy tắc này miêu tả phương thức khối giải thích sự biến thiên:
+ Nếu sự biến thiên là vô hướng, tất cả các kênh độc lập nhau nhưng chia sẻ biến thiến như nhau.
+ Nếu sự biến thiên là một vec tơ độ dài của nó là số kênh trong tín hiệu lối vào, mỗi thành phần đại diện cho biến thiên của mối tương quan các kênh tín hiệu. Ở đây ta chọn: Mode là SNR
Khối Error Rate Calculation thiết lập thông số như hình vẽ (ở đây, số lượng bit lỗi khi đạt đến 100 thì quá trình mô phỏng sẽ dừng lại):
Hình 3.24 Thông số của khối tính toán lỗi
Khối Display:Khối hiển thị
Hình 3.25 Thông số khối hiển thị Ở đây chúng ta đặt tham số format (định dạng) kết quả hiển thị mặc định là kiểu short và tham số Decimation (Cách hiển thị dữ liệu), nó được mặc định là 1 tức là cho phép hiển thị tât cả các điểm đầu vào.
Sau khi thiết lập các thông số như trên, ta tiến hành mô phỏng bằng cách vàoSimulation => Start Kết quả được hiển thị trên khối Display như hình sau:
Hình 3.26 Tỉ lệ lỗi bit = 0.04391 với SNR = 0.1 dB
Thay đổi giá trị SNR của khối AWGN, ta thu được tỉ lệ lỗi bít khác nhau Sau khi thay số với các giá trị SNR trong khối AWGN, ta có bảng sau:
Bảng 3.2 Kết quả mô phỏng sử dụng khối mã hóa Hamming
Giới thiệu
Hệ thống thông tin là hệ thống được xây dựng nhằm mục đích truyền tin tức từ bên phát đến bên thu Một hệ thống thông tin tổng quát gồm có ba khâu chính: Nguồn tin, kênh tin và nhận tin Nguồn tin là nơi sản sinh ra hay chứa các tin cần truyền đi. Kênh tin là môi trường truyền lan thông tin, đồng thời cũng sản sinh ra nhiễu phá hủy tin Nhận tin là cơ cấu khôi phục lại thông tin ban đầu từ tín hiệu lấy ra ở đầu ra của kênh tin.
Sơ đồ khối chức năng của hệ thống thông tin số đầy đủ được cho như hình dưới đây:
Hình 4.1 Sơ đồ khối hệ thống thông tin đầy đủ
Khối điều chế là thành phần quan trọng trong một hệ thống thống thông tin số. Khối điều chế giúp cho dòng tín hiệu số có thể truyền đi qua một phương tiện vật lý cụ thể theo một tốc độ cho trước, với mức độ méo chấp nhận được,yêu cầu một băng thông tần số cho phép Khối điều chế có thể thay đổi dạng xung, dịch chuyển phổ tần số của tín hiệu đến một băng thông khác phù hợp Đầu vào của bộ điều chế là tín hiệu băng gốc trong khi đầu ra của bộ điều chế là tín hiệu thông dải Khối giải điều chế bên thu chuyển sang dạng sóng thu được ngược lại thành tín hiệu băng gốc. Điều chế (modulation) là làm biến đổi một tín hiệu theo một tín hiệu điều khiển khác Cụ thể là, tín hiệu bị biến đổi gọi là sóng mang (hay tín hiệu mang tin tức) Tín hiệu điều khiển sóng mang (gây ra sự biến đổi) gọi là tín hiệu mang tin (hay còn gọi là tin tức) Có thể định nghĩa lại là, điều chế là quá trình làm thay đổi các thông số của sóng mang theo tín hiệu mang tin. Điều chế số là quá trình một trong ba thông số biên độ, tần số và pha của sóng mang được thay đổi theo tín hiệu (hay luồng số) đưa vào điều chế để thông tin của sóng mang phù hợp với đường truyền.
Hình 4.2 Sơ đồ mô tả quá trình điều chế và giải điều chế số
Tùy theo các thông số được sử dụng để mang tin có thể là: biên độ, tần số hay pha hay tổ hợp giữa chúng mà có các kiểu điều chế khác nhau: ASK, FSK, PSK, QAM…
- Điều chế khóa dịch biên độ ASK (Ampitude Shift Keying): sóng điều biên được tạo ra bằng cách thay đổi biên độ sóng mang theo biên độ tín hiệu băng gốc.
- Điều chế khóa dịch tần số FSK (Frequency Shift Keying): sóng điều tần được tạo ra bằng cách thay đổi tần số sóng mang theo biên độ tín hiệu băng gốc.
- Điều chế khóa dịch pha PSK (Phase Shift Keying): sóng điều tần được tạo ra bằng cách thay đổi pha sóng mang theo biên độ tín hiệu băng gốc.
- Điều chế vừa kết hợp biên độ và pha hay điều chế cầu phương QAM(Quadrature Amplitude Modulation).
Điều chế QPSK
Trong loại điều chế này gọi là điều chế 4-PSK, khóa dịch pha hay điều chế vuông pha Pha của sóng mang lấy một trong bốn giá trị cách đều nhau như là trong đó mỗi giá trị pha ứng với một cặp duy nhất của bản tin.
Chuỗi bit nhị phân lối vào , bộ điều chế với tốc độ 1/T (bits/s),sau đó được biến đổi nối tiếp - song song thành hai dòng bit và (các dòng cùng pha và lệch pha ), mỗi dòng có tốc độ bít hay bằng nửa tốc độ của dữ liệu đầu vào Dòng được gọi là dòng bit “chẵn”, dòng được gọi là dòng bit “lẻ”
Tín hiệu sóng mang có thể định nghĩa là:
Hay có thể viết dưới dạng như sau:
Hai chuỗi cơ số hai được điều biến riêng rẽ bằng hai sóng mang , chúng lệch pha nhau Hai tín hiệu điều biến, mỗi tín hiệu được coi là một tín hiệu BPSK, được lấy tổng lại để sinh ra một tín hiệu QPSK Vậy QPSK là sự kết hợp hai BPSK vuông pha với nhau Chuỗi xung điều chế với hàm cosine biên độ 1 và -1, tương đương với pha có hai trạng thái là và Tương tự như vậy chuỗi xung điều chế với hàm sine tương ứng với pha có hai trạng thái là và
Phương pháp điều chế 4-PSK hay QPSK (Quadrature PSK) được giới thiệu trên hình 4.3 Sơ đồ tạo tín hiệu QPSK dạng sin với bốn giá trị pha, xác định bởi tổ hợp (cặp) hai bit liền nhau của tài liệu nhị phân Tổ hợp hai bit liền nhau này được gọi là Dibit có độ dài hai khoảng bit.
Tài liệu nhị phân trước khi đưa vào sơ đồ điều chế được tạo mã Dibit nhờ trigger đếm đôi đơn giản Mã Dibit được biểu thị bằng tín hiệu I và Q:
- Tín hiệu tài liệu I (cùng pha-In Phase) gồm các mức thế ứng với giá trị bit đầu của cặp bit khảo sát.
- Tín hiệu tài liệu Q (bậc 2 – Quadrature) gồm các mức thế ứng với giá trị bit thứ hai của cặp bit khảo sát.
Hình 4.3 Phương pháp điều chế QPSK
Các tín hiệu I và Q được nhân với các sóng mang lệch pha nhau 90 0 (gọi là 0 sin(Ct) và 90 = cos(Ct) ) Kết quả là khi lấy tổng tín hiệu ở cả hai nhánh của sơ đồ hình 4.4, sẽ nhận được các tín hiệu 0 +90; -0 +90; 0 -90; -0 -90.
Bộ điều chế QPSK như vậy được xây dựng trên hai bộ BPSK, tạo ra hai tín hiệu BPSKI và BPSKQ cho bộ lấy tổng để hình thành tín hiệu bốn pha Giản đồ pha và dạng sóng QPSK cho trên hình 4.3 Trên đồ thị cho thấy với bốn giá trị của Dibit (I-Q), tín hiệu QPSK có bốn pha khác nhau.
Giải điều chế QPSK có thể thực hiện trên sơ đồ hình 4.4 Sơ đồ gồm bộ tái lập sóng mang và các bộ nhân để tái lập Dibit Mã Dibit sau đó được giải mã để chuyển về trạng thái tài liệu thông thường.
Hình 4.4.Phương pháp giải điều chế QPSK
Mạch phục hồi sóng mang sẽ phục hồi lại sóng mang sinωct từ tín hiệu nhận được, tín hiệu này được cho thẳng vào mạch nhân I và được làm lệch pha 90° trước khi vào mạch nhân Q, tín hiệu ra ở các mạch nhân được đưa vào mạch lọc hạ thông để loại bỏ thành phần tần số cao, các thành phần DC sẽ được tổng hợp ở mạch tổng để cho lại dòng dữ liệu
Bộ tái lập sóng mang (hình 4.5) bao gồm:
Hình 4.5 Sơ đồ tái lập sóng mang cho giải điều chế QPSK
- Hai sơ đồ lấy bình phương ( ) 2 để chuyển các tín hiệu khác pha về cùng một pha.
- Vòng giữ pha PLL phát lại nhịp với tần số gấp bốn tần số mang.
- Bộ dịch pha để hiệu chỉnh pha.
- Bộ chia hai chung để đưa tần số tín hiệu tái lập còn gấp đôi tần số sóng mang.
Hai bộ chia hai với nhịp điều khiển đếm lệch pha 90 0 (lấy từ Q đến của bộ chia 2 chung) để tạo các sóng mang tái lập lệch pha nhau 90 0
Sơ đồ điều chế QPSK có độ phức tạp cao, được sử dụng chủ yếu trong modem truyền số liệu và trong kỹ thuật radio số.
Hệ thống có các đặc trưng sau:
- Sai số ít hơn phương pháp FSK.
- Phổ cực tiểu của tín hiệu điều chế (FW) bằng nửa tốc độ truyền bit (=Fb/2).
- Hiệu suất truyền = 2 (xác định bằng (Fb/ FW) = 2).
- “Tốc độ Baud” được định nghĩa như tốc độ điều chế bằng nửa tốc độ truyền (=Fb/2).
Một trong bốn giá trị pha của sóng mang tương ứng với hai bit dữ liệu hay hai bit trên một kí hiệu Tốc độ ký hiệu trong QPSK là một nửa tốc độ bit Cả hai nhánh dữ liệu có thể được mang đi với một lượng như nhau trong dải băng thông hạn chế.
Trong QPSK, pha sóng mang có thể thay đổi chỉ một lần duy nhất trong mỗi 2T(s), trong khoảng T(s) pha sóng mang giữ nguyên không đổi.
Điều chế QAM
Điều chế biên độ vuông góc QAM là phương pháp điều chế kết hợp giữa điều chế biên độ ASK và điều chế pha PSK Trong phương thức điều chế này, ta thực hiện điều chế biên độ nhiều mức 2 sóng mang mà 2 sóng mang này được dịch pha 1 góc Tín hiệu tổng của 2 sóng mang này có dạng vừa điều biên vừa điều pha:
Tín hiệu s(t) là tổng của 2 thành phần s s (t) và s c (t) và được biểu diễn như sau:
Nhờ có biên độ thay đổi mà các trạng thái pha của sóng mang đã cách xa nhau, do vậy khả năng mắc lỗi sẽ giảm, đây cũng chính là ưu điểm của QAM. a) Điều chế
Hình 4.6.Sơ đồ nguyên lý điều chế tín hiệu M-QAM
Bộ chuyển đổi SPC chuyển đổi tín hiệu điều chế vào thành phần 2 chuỗi tín hiệu NRZ song song Bộ biến đổi 2/L có chức năng chuyển đổi chuỗi NRZ thành chuỗi tín hiệu có L=√ M mức Vói L=4 thì M, ta có điều chế 16-QAM, và L=8 thìMd, ta có điều chế 64-QAM.
Hình 4.7 Biểu đồ không gian tín hiệu 16-QAM
Hình 4.8.Biểu đồ không gian tín hiệu QAM nhiều trạng thái
Hệ thống 8-QAM điều chế tín hiệu trên cơ sở tổ hợp Tribit Một nhóm trong chúng thay đổi biên độ và hai nhóm còn lại thay đổi về phía pha Tín hiệu điều chế sẽ nhận bốn pha và hai biên độ khác nhau.
Trong mạch điều chế này a,b xác định cực tính của tín hiệu ra ở mạch biến đổi, riêng bit c đuợc đưa thẳng vào hai mạch biến đổi mà không qua mạch đảo như ở PSK
8 pha, nếu c =1 cả hai lối ra có biên độ cao và nếu c =0 cả hai lối ra có biên độ thấp. Như vậy, với 8-QAM, các tín hiệu ở các lối ra của mạch biến đổi luôn có cùng biên độ.
Hình 4.10 Giản đồ vị trí các điểm đặc trưng các tribit
Các tín hiệu ra của 8-QAM có 2 biên độ và 4 pha khác nhau
So sánh các cách điều chế QAM và PSK người ta thấy QAM tốt hơn về mặt tỉ số tín hiệu nhiễu Thí dụ với hệ thống 8-QAMxác suất lỗi là 10 -8 trong lúc 16-PSK xác suất này là 10 -4 Do đó trong các hệ thống truyền với vận tốc cao người ta thường dùng cách điều chế QAM hơn.
Hình 4.11 Sơ đồ khối Mạch điều chế 16-QAM
Trong sơ đồ, mạch chia bit chia tổ hợp 4 bit theo hai kênh vào hai mạch biến đổi 2 ra 4 mức, các bit a,b xác định cực tính tín hiệu ra và các bit c,d xác định biên độ. a,b = 1 tín hiệu ra dương c,d = 1 biên độ = 0,821 V.
Mỗi lối ra của mạch biến đổi có thể có 1 trong 4 tín hiệu ±0,22 hoặc ±0,821. Mạch LPF loại bỏ các họa tần Các tín hiệu sau đó vào mạch điều chế cân bằng như trong các phần trước và ở lối ra ta có 1 trong 16 tín hiệu, các tín hiệu này nhận 3 giá trị biên độ và 12 góc pha khác nhau, khoảng cách các góc pha là 30°.
Với cách điều chế 16-QAM, mỗi 4 bit tương ứng một tín hiệu ra nên vận tốc bit bằng 4 lần vận tốc baud Nếu chọn vận tốc baud là 2400 baud/s để thỏa băng thông của kênh thoại thì vận tốc bit là 9600 bps và hiệu suất băng thông là 4 bps/Hz Trong trường hợp này băng thông tín hiệu trong khoảng từ 500 Hz (1700 Hz - 1200 Hz) đến
Trong giản đồ trên góc A xác định bởi:
Tín hiệu M-QAM vào: Q ( t ) =a ( t ) cosω 0 t +b ( t ) sin ω 0 t (4.7) Tín hiệu chuẩn: Q ref 1( t )=2.cos ω 0 t và Q ref 2( t )=2.sin ω 0 t (4.8) Sau khi loại bỏ thành phần hài bậc cao ở các bộ lọc thông thấp ta sẽ có:
Hình 4.13 Sơ đồ nguyên lý giải điều chế M-QAM
Biên độ của tín hiệu giải điều chế có L=√ M mức, trong đó M là số trạng thái tín hiệu Tín hiệu L mức được biến đổi bởi bộ biến đổi ADC thành n/2 tín hiêu 2 mức, trong đo L=2 n/2 và M=L 2 Với 16-QAM thì n=4, L=4 và với 64-QAM thì n=6, L= 8 Từ n tín hiệu này, bộ biến đổi PSC sẽ tạo nên tín hiệu giải điều chế.
Sơ đồ điều chế QAM có độ phức tạp cao, được sử dụng chủ yếu trong modem truyền số liệu (kiểu CCITT V22bis, CCITT V29, CCITT V32, CCITT V33, BELL
209) và trong kỹ thuật radio số.
Hệ thống có các đặc trưng sau:
- Sai số ít hơn phương pháp PSK.
- Phổ cực tiểu của tín hiệu điều chế (FW) bằng 1/n tốc độ truyền bit (=Fb/n), với n là số bit khảo sát điều chế, ví dụ, n = 3 cho 8QAM, n = 4 cho 16QAM.
- Hiệu suất truyền = n (xác định bằng (Fb/ FW) = n).
- “Tốc độ Baud” được định nghĩa như tốc độ điều chế bằng 1/n tốc độ truyền(=Fb/n).
Điều chế MSK
GSM sử dụng phương pháp điều chế khóa dịch pha cực tiểu Gaussian GMSK(Gaussian Minimum Shift Keying) Đây là phương pháp điều chế băng hẹp dựa trên kĩ thuật điều chế dịch pha Tuy nhiên ta chỉ xét đến phương pháp điều chế khóa dịch pha cực tiểu MSK (Minimum Shift Key) mà phương pháp điều chế GMSK được phát triển dựa trên phương pháp MSK Khóa dịch cực tiểu (MSK) là một loại đặc biệt của khóa dịch tần số pha liên tục (CPFSK), trong đó độ lệch tần số đỉnh bằng 1/2 tốc độ bit Nói cách khác MSK là khóa dịch tần (FSK) pha liên tục với chỉ số điều biến 0.5, ứng với khoảng cách tần số cực tiểu cho phép hai tín hiệu FSK là trực giao kết hợp và tên khóa dịch cực tiểu ngụ ý sự tách biệt tần số cực tiểu cho phép tách sóng trực giao.
Ta có thể trình bày sóng mang đã được điều chế của tín hiệu MSK như sau:
A là biên độ không thay đổi.
[rad/s] là tần số góc phụ thuộc sóng mang. là góc pha phụ thuộc vào luồng số liệu đưa lên điều chế. là góc pha ban đầu. Đối với điều chế MSK ta được góc pha như sau:
Trong đó: Chuỗi bit đưa lên điều chế là nếu nếu
, T là khoảng thời gian bit.
Như vậy tín hiệu MSK nếu bit điều chế ở thời điểm xét giống bit ở thời điểm trước đó sẽ thay đổi tuyến tính từ 0 đến , ngược lại nếu bit điều chế ở thời điểm xét khác bit trước đó thì sẽ thay đổi tuyến tính từ 0 đến Với T là khoảng chu kì bit, tại thời điểm ban đầu ta xét 0 Start Kết quả được hiển thị trên khối Displaynhư hình 4.46.
Hình 4.43 Tỉ lệ lỗi bit = 0.00102 với Es/No = 30dB
Giản đồ chòm sao tín hiệu sau khi điều chế 256- QAM:
Hình 4.44 Giản đồ chòm sao tín hiệu sau khi điều chế 256- QAM
Giản đồ chòm sao tín hiệu sau khi điều chế và bị ảnh hưởng của nhiễu Gausse trắng như sau:
Hình 4.45 Giản đồ chòm sao tín hiệu sau khi đi qua kênh truyền AWGN
Thay đổi giá trị E s /N o của khối AWGN, ta thu được tỉ lệ lỗi bít khác nhau Sau khi thay số với các giá trị SNR trong khối AWGN, ta có bảng sau:
- Sau khi mô phỏng ta thấy có thành phần nhiễu pha tác động trong quá trình truyền thì vị trí các kí tự đã có sự thay đổi.
- Các kí tự nhiễu khi thu tùy vào mức độ ảnh hưởng sẽ làm cho bên thu nhầm với các kí tự bên cạnh và gây ra lỗi kí tự sau khi giải điều chế.
- Khi chưa có thành phần nhiễu tác động lên kênh truyền nó không làm ảnh hưởng đến các kí tự bên cạnh Do đó việc giải mã bên thu sẽ không xảy ra lỗi bít.
Nhiễu Gause trắng đã làm cho các điểm trên giản đồ chòm sao bị dao động ra xung quanh vị trí chuẩn của nó một đại lượng nào đấy Mặc dù ảnh hưởng của nhiễu này chưa làm cho các điểm trong giản đồ chòm sao lẫn vào nhau xong nó cũng gây ảnh hưởng đến quá trình truyền của hệ thống và quá trình khôi phục lại tín hiệu bên thu.
4.5.3 Mô phỏng điều chế MSK
Mô hình mô phỏng điều chế MSK qua kênh chịu tác động của nhiễu Gausse trắng cộng tính AWGN bao gồm những thành phần sau:
- Một bộ nguồn tín hiệu MSK sử dụng khối máy phát nhị phân Bernoulli.
- Một khối điều chế băng cơ sở MSK.
- Một mô hình kênh AWGN.
- Một khối giải điều chế băng cơ sở MSK.
- Một bộ giải mã chập.
- Một khối tính toán tốc độ lỗi bit.
- Hai khối giản đồ chòm sao.
*Các khối trong sơ đồ mô phỏng Ở phần này chỉ trình bày khối điều chế MSK, khối giải điều chế MSK Các khối còn lại đã được trình bày ở các phần mô phỏng ở chương 3 và mục 4.5.1, 4.5.2.
Khối điều chế tín hiệu băng cơ sở MSK (MSK modulator baseband): Thực hiện điều chế tín hiệu sử dụng phương pháp khóa dịch pha cực tiểu.
Hình 4.46 Khối điều chế MSK
KhốiđiềuchếbăngcơsởMSKđiềuchếsửdụngphươngphápkhoádịch pha cực tiểu. Lối ra là biểu diễn băng cơ sở của tín hiệu điều chế.
Kênh nhị phân đối xứng BSC
5.1.1 Kênh nhị phân đối xứng
Mô hình cơ bản của một hệ thống truyền thông được minh họa ở hình 5.1 gồm có: Nguồn số liệu rời rạc, bộ mã hóa kênh kiểm soát lỗi, bộ điều chế, máy phát, kênh vô tuyến, máy thu, bộ giải mã hóa kênh Tùy vào ứng dụng và tính chi tiết của mô phỏng, các phần tử khác như các bộ cân bằng, bộ đan xen, bộ giải đan xen, bộ đồng bộ sóng mang và đồng bộ ký hiệu có thể có trong mô hình hệ thống Bộ điều chế sắp xếp các ký hiệu đầu vào thành một dạng sóng đầu ra Dạng sóng phải chịu nhiều ảnh hưởng trong kênh Các ảnh hưởng phải tính đến là tạp âm, giới hạn băng tần, nhiễu và pha đinh, chúng đều được đặc trưng hóa bằng các dạng sóng Đầu vào máy thu cũng là một dạng sóng, là dạng sóng phát kết hợp với các ảnh hưởng xấu của kênh Vai trò của máy thu là quan sát sóng đầu vào trong khoảng thời gian một ký hiệu hoặc một chuỗi các ký hiệu và xác định chuỗi ký hiệu phát Kênh trong trường hợp này được coi là kênh dạng sóng, vì đầu vào/ra của kênh đều được đặc tính là các dạng sóng Đặc biệt lưu ý rằng, tất cả các thành phần hệ thống đều được đặc tính bởi các ánh xạ tất định, ngoại trừ kênh Kênh thực hiện sắp xếp ngẫu nhiên tín hiệu vào thành tín hiệu ra của kênh.
Hình 5.1 Hệ thống truyền thông với mô hình kênh rời rạc
Thuật ngữ “mô hình kênh rời rạc” DCM được dùng để bao hàm tất cả các phần tử của hệ thống truyền thông nằm giữa hai điểm A và B trong đó đầu vào tại A là một véc tơ các ký hiệu rời rạc (chuỗi đầu vào) và đầu ra tại B là một véc tơ các ký hiệu rời rạc khác (chuỗi đầu ra).
Các mô hình kênh rời rạc được chia làm hai loại: Kênh rời rạc không nhớ và kênh rời rạc có nhớ.
Mô hình kênh rời rạc có nhớ là mô hình đáng quan tâm hơn để ứng dụng vào tình huống ở đó việc chuyển tiếp các ký hiệu vào/ra bị tương quan theo thời gian. Trong trường hợp này, xác suất lỗi đối với ký hiệu thứ n phụ thuộc vào có xảy ra lỗi ở lần truyền dẫn các ký hiệu trước đó hay không
Mô hình kênh rời rạc không nhớ được dùng để mô hình hóa các lỗi truyền dẫn hoặc mô hình hóa các chuyển tiếp từ đầu vào kênh tới đầu ra kênh với giả định không có tương quan thời gian trong cơ chế chuyển tiếp (nghĩa là xác suất chuyển tiếp vào/ra cho ký hiệu đầu vào kênh thứ n không bị ảnh hưởng bởi những gì xảy ra cho bất kỳ các ký hiệu đầu vào khác) Trong hệ thống nhị phân quyết định cứng, giả định này có nghĩa là các lỗi bit không tương quan nhau.
Trong kênh rời rạc không nhớ, việc sắp xếp từ đầu vào tới đầu ra là tức thì và được mô tả bằng một tập các xác suất truyền Mô hình kênh rời rạc không nhớ đơn giản nhất là mô hình kênh nhị phân đối xứng (BSC).
Kênh nhị phân đối xứng BSC được minh họa như hình dưới đây:
Hình 5.2 Mô hình kênh đối xứng nhị phân BSC Đầu vào của kênh rời rạc là một chuỗi ký hiệu nhị phân, được ký hiệu là véc tơ
X Thành phần thứ k của véc tơ này là , tương ứng với đầu vào kênh thứ k, và tương ứng với xác suất lỗi truyền dẫn ký hiệu thứ k Đối với kênh không nhớ, không phụ thuộc vào k, vì vậy lỗi trên tất cả các ký hiệu đều bị ảnh hưởng bởi kênh với cùng một kiểu Chuỗi M ký hiệu được xử lý thông qua kênh không nhớ bằng cách gọi mô hình kênh M lần liên tiếp Với ký hiệu thứ k, đầu vào nhị phân là “0” thu đúng là “0” với xác suất 1- , và thu sai là “1” với xác suất lỗi là Đầu ra kênh thứ k được ký hiệu là , và chuỗi M ký hiệu của các đầu ra được ký hiệu là véc tơ Y.
Kênh là đối xứng trong đó các số 0 và số 1 đều bị ảnh hưởng bởi kênh theo cùng một kiểu Lưu ý rằng kết quả của tính đối xứng là xác suất lỗi không phụ thuộc vào ký hiệu phát, vì vậy nguồn lỗi có thể được mô phỏng riêng biệt với nguồn thông tin (số liệu). Đối với kênh nhị phân, quan hệ đầu vào/ra có thể được biểu diễn như sau:
(5.1) Trong đó X và Y là các véc tơ dữ liệu vào/ra, là phép toán XOR, E là véc tơ lỗi Cụ thể, là véc tơ nhị phân hay chuỗi có phần tử {0,1} trong đó biểu thị phần tử thứ k của X, được thu đúng ( ), và biểu thị phần tử thứ k của X, được thu sai ( ) Tham số xác định hiệu năng của mô hình kênh đối xứng nhị phân là xác suất lỗi , có thể dễ dàng ước tính từ đo đạc hoặc từ việc mô phỏng hệ thống ở mức dạng sóng Lưu ý rằng, đối với hệ thống nhị phân, ước tính xác suất lỗi theo Monter Carlo là trọng số Hamming của véc tơ lỗi E được chia cho N (số lượng các phần tử trong véc tơ lỗi E).
Cấu trúc khối mô phỏng
Hệ thống mô phỏng kênh truyền nhị phân đối xứng BSC sử dụng các khối truyền thông khác nhau, bao gồm:
1 Một bộ nguồn phát nhị phân theo phân bố Bernoulli.
2 Một bộ mã hóa Hamming.
3 Một kênh nhị phân đối xứng BSC.
4 Một bộ giải mã hóa Hamming.
5 Một bộ tính toán tỉ lệ lỗi bit.
6 Một bộ hiển thị thống kê lỗi khi chạy mô phỏng.
Các bước thực hiện mô phỏng
1) Xây dựng khối Đầu tiên từ cửa sổ của chương trình Matlab, gõ lệnh simulink để sử dụng công cụ này.
Sau đó, tạo ra một file mô phỏng mới bằng cách vào File > New > Model Hoặc sử dụng cụm phím tắt Ctrl +N.
Tiếp theo từ cửa sổ Simulink Library Browser, lấy các khối sau:
- Bernoulli Binary Generator:Khối nguồn, hay còn gọi là khối nhị phân Bernoulli Khối này tạo ra dữ liệu số gồm dãy bit 0, 1 theo phân bố Bernoulli.
Hình 5.3 Khối nhị phân Bernoulli
- Hamming Encoder: Khối mã hóa Hamming, có nhiệm vụ mã hóa các bit đầu vào thành chuỗi bit đầu ra bằng cách chèn các bit kiểm tra lỗi.
Hình 5.4 Khối mã hóa Hamming
Mã hamming: Là loại mã khối tuyến tính dạng (2 m − 1), (2 m − 1−m ) có khoảng cách tối thiểu bằng 3 và ma trận kiểm tra chẵn lẻ đơn giản có kích thước m*(2m-1) trong đó tất cả các dãy nhị phân dài m trừ dãy toàn 0 nhìn theo cột.
- Binary Symmetric Channel: Kênh truyền nhị phân đối xứng Khối này thực hiện cộng nhiễu nhị phân vào trong tín hiệu vào để truyền qua kênh.
Hình 5.5 Khối kênh truyền BSC
- Hamming Decoder: Khối giải mã Hamming.
Hình 5.6 Khối giải mã Hamming
- Error Rate Calculation: Là khối tính toán tỉ lệ lỗi bit hoặc tỉ lệ lỗi symbol của tín hiệu lối vào
Khối này so sánh dữ liệu lối vào của bộ phát với dữ liệu lối vào của bộ thu Dữ liệu ra của khối này gồm: Tốc độ lỗi bit, tổng số bit lỗi là số các bit khác nhau và số bit được so sánh.
Hình 5.7 Khối tính toán tỷ lệ lỗi bit
-Display: Khối này dùng để hiển thị kết quả tính toán từ khối Error Rate
Calculator (khối tính toán tỷ lệ lỗi bit) Khối này sẽ hiển thị ra ba đại lượng:
+ Tổng số bit bị lỗi
Kéo và thả các khối trên sang vùng làm việc của file mô phỏng, sau đó thực hiện việc nối các khối như hình vẽ:
Hình 5.9 Mô hình kênh BSC
2) Thiết lập các thông số cho mỗi khối
Khối này có các tham số sau:
1) Probability of a zero: Xác suất xuất hiện bit 0
2) Initial seed (Giá trị khởi tạo): Giá trị khởi tạo cho máy phát bit nhị phân ngẫu nhiên Nó có thể là một vecto có chiều dài bằng với xác suất xuất hiện bit 0, hoặc là vô hướng
4) Frame – based output: Xác định kết quả đầu ra bao nhiêu khung hoặc mẫu.
5) Samples per frame (số mẫu trên khung): Tham số này được kích hoạt khi chúng ta tích chọn “Frame – base output”
6) Output data type (kiểu đầu ra): Kiểu đầu ra có thể được xác định là kiểu boolean, int8, uint8, int16, uint16, int32, uint32, single, or double Theo mặc định kiểu double sẽ được chọn.
Các tham số của khối được thiết lập như hình vẽ sau:
Hình 5.10 Thiết lập thông số cho khối tạo bit ban đầu.
Khối Hamming Encoder và Hamming Decoder:
Hai khối này có hai tham số như sau:
1) Codeword length N (chiều dài từ mã N): Ở đây chúng ta chọn chiều dài từ mã là 7.
2) Message length K, or M-degree primitive polynomial (chiều dài bản tin hoặc bậc M của đa thức sinh) Tạo đa thức nguyên thủy bằng cách sử dụng hàm gfprimfd Ở đây ta tạo đa thức sinh có bậc bằng 3.
Hình 5.10 Thiết lập thông số cho khối mã hóa Hamming
Khối này có các tham số như sau:
- Error probability: Xác suất lỗi Tham số này cho phép ta đặt xác suất lỗi nhị phân (từ 0 đến 1) để cộng nhiễu nhị phân vào tín hiệu lối vào.
- Initial seed: Giá trị khởi tạo cho bộ phát số nguyên ngẫu nhiên.
- Output error vector: Vec tơ lỗi đầu ra Tham số này được kích hoạt nếu muốn khối có thêm một đầu ra là vec tơ lỗi.
- Output datatype: Kiểu dữ liệu ra Được chọn là kiểu double.
Hình 5.11 Thiết lập thông số khối kênh BSC
Khối Error Rate Calculation thiết lập thông số như hình vẽ (ở đây, số lượng bit lỗi khi đạt đến 100 thì quá trình mô phỏng sẽ dừng lại):
Hình 5.12 Thông số của khối tính toán lỗi
Khối Display: Khối hiển thị
Hình 5.13 Thông số khối hiển thị
- Ở đây chúng ta đặt tham số format (định dạng) kết quả hiển thị mặc định là kiểu short và tham số Decimation (cách hiển thị dữ liệu), nó được mặc định là 1 tức là cho phép hiển thị tât cả các điểm đầu vào.
Sau khi thiết lập các thông số như trên, ta tiến hành mô phỏng bằng cách vào Simulation -> Start Kết quả được hiển thị trên khối Displayvới tỷ lệ lỗi bit là
Hình 5.14 Kết quả chạy mô phỏng kênh BSC
Chúng ta có thể thay đổi các tham số của các khối để thấy sự thay đổi về tỷ lệ BER hiển thị trên khối Display.
Thực hiện mô phỏng bằng hàm MATLAB:
MATLAB thực hiện mô phỏng loại kênh truyền này bằng cách dùng hàm bscvới các thông sốnhập là tín hiệu nhịphân truyền qua và xác suất đảo bit p.
Kênh 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ủa 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 loại 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ế các mạch điện, thiết bị hay hệ thống cho phép loại bỏ hoặc giảm nhỏ đá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 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 Vì vậy, tạp âm nhiệt có thể mô tả như một quá trình ngẫu nhiên Gauss có giá trị trung bình bằng không Ví dụ về tạp âm Gauss với giá trị trung bình 0 và phương sai được miêu tả ở hình 5.15.
Hình 5.15 Mô tả tạp âm Gauss
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:
Hình vẽ 5.16 biểu diễn hàm PDF Gauss với giá trị trung bình bằng không và độ lệch chuẩn (standard deviation).
Hình 5.16 Hàm mật độ xác suất Gauss Tạp âm trắng: Một đặc tính quan trọng của tạp âm nhiệt là mật độ phổ tần số của nó như nhau tại 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:
Như mô tả ở hình 5.17(a) dưới đây Hệ số trong công thức trên chỉ thị rằng là một hàm mật độ phổ công suất hai phía còn thì được gọi là mật độ phổ công suất tạp âm Tạp âm với công suất có mật độ phổ đều như vậy được gọi là tạp âm trắng (white noise).
Hình 5.17 Mật độ phổ công suất và hàm tự tương quan của tạp âm trắng
Hàm tự tương quan của tạp âm trắng là phép biến đổi Fourier ngược của mật độ phổ công suất tạp âm cho bởi:
Như vậy, hàm tự tương quan của tạp âm trắng là một hàm xung delta tại khác nhau nào của tạp âm trắng đều không tương quan với nhau bất kể chúng gần nhau đến mức nào 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 ở trên 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).
Việc mô phỏng kênh truyền AWGN như được trình bầy ở chương 4, phần mô phỏng điều chế QPSK có tác động của kênh AWGN.
Hàm MATLAB hỗ trợ mô phỏng kênh AWGN:
Kênh truyền AWGN trong MATLAB được mô phỏng bằng hàm awgn Hàm này sẽ cộng nhiễu Gauss vào một tín hiệu cho trước (có thể là tín hiệu thực hay phức), mức công suất nhiễu do người sử dụng quy định thông qua hai thông số nhập:
- Mức công suất tín hiệu phát (đơn vị mặc định là dBW, hoặc có thể dùng đơn vị W).
- Tỷ số SNR (đơn vị mặc định là dB)
Cú pháp của hàm awgn như sau:
>> awgn(X,SNR,SigPower,State,PowerType)
SNR là tỷ số công suất tín hiệu trên nhiễu (tính bằng dB).
SigPowercho biết công suất tín hiệu vào (dBW), hoặc nếu SigPower ‘measured’ thì MATLAB sẽ đo công suất tín hiệu phát trước khi cộng nhiễu.
Statecho biết trạng thái của bộ phát tín hiệu ngẫu nhiên.
PowerTypechỉ ra đơn vị của SNRvà SigPowerlà đơn vịdecibel (‘dB’) hay đơn vịt uyến tính (‘linear’).
Ba thông số cuối không nhất thiết phải đưa vào, trong trường hợp không có các thông số này thì xem như công suất tín hiệu phát bằng 0dBW và đơn vịcủa SNR là dB.
Lưu ý: Ngoài thông sốSNR, để đánh giá mức độ nhiễu của kênh truyền, người ta cũng thường sử dụng các thông số (năng lượng bit trên mật độcông suất nhiễu) hoặc (năng lượng ký hiệu trên mật độ công suất nhiễu).
Ví dụ: Viết chương trình điều chế một chuỗi bit nhị phân tốc độ 8Kbps bằng phương pháp BPSK với sóng mang 100KHz và phát đi trên kênh truyền có nhiễu AWGN với dB, sau đó giải điều chế Vẽ các tín hiệu phát và thu.
Chọn tần số lấy mẫu bằng 1MHz
% Thiết lập các thông số
N = 10; % Sốbit x = randint(N,1); % Chuỗi bit ngẫu nhiên N bit
M = 2; % Số mức của tín hiệu k = 1; %
Fc = 40000; % Tần số sóng mang
Fs = 400000; % Tần số lấy mẫu
Nsamp = floor(Fs/Fb*N); % Số mẫu
Time = [0:1/Fs:(Nsamp-1)/Fs]; % Vector thời gian
% Xây dựng các tín hiệu
% Tín hiệu tin tức xmsg = zeros(1,Nsamp); for i=1:Nsamp xmsg(i) = x(floor((i-1)*Fb/Fs)+1); end
% Sóng mang xcar = cos(2*pi*Fc*Time);
% Tín hiệu điều chếBPSK ytx = (2*xmsg-1).*xcar;
% Cộng nhiễu snr = EbNo + 10*log10(k) - 10*log10(Nsamp); ynoisy = awgn(ytx,snr,'measured');
[num,den]=butter(2,Fc/(Fs/2));% Bộlọc thấp Butterworth bậc 2, tần số cắt Fc ztmp = filter(num,den,ytmp); % Lọc bỏ tần sốcao for i = 1:length(x) % Lấy mẫu và quyết định if ztmp(floor(((i-1)/Fb+1/2/Fb)*Fs)) > 0 % Lấy mẫu ở giữa bit z(i) = 1; % Ngưỡng quyết định là 0 else z(i) = 0; end end xdemod = zeros(1,Nsamp); for i=1:Nsamp xdemod(i) = z(floor((i-1)*Fb/Fs)+1); end figure; subplot(4,1,1); plot(Time,xmsg); % Vẽ tín hiệu trước khi điều chế title('Tin hieu goc'); subplot(4,1,2); plot(Time,ytx); % Vẽtín hiệu sau khi điều chế title('Tin hieu sau khi dieu che'); subplot(4,1,3); plot(Time,ynoisy); % Vẽtín hiệu thu được title('Tin hieu den may thu'); subplot(4,1,4); plot(Time,xdemod); % Vẽ tín hiệu sau khi giải điều chế title('Tin hieu sau khi giai dieu che');
Kết quả thực thi chương trình:
Hình 5.18 Tín hiệu điều chế BPSK phía phát và thu có tác động của nhiễu AWGN
Kênh Fading Rayleigh
Hàm truyền đạt của kênh thực chất là một quá trình xác suất phụ thuộc cả thời gian và tần số Biên độ hàm truyền đạt của kênh tại một tần số nhất định sẽ tuân theo phân bố Rayleigh nếu môi trường truyền dẫn thỏa mãn các điều kiện sau:
+ Môi trường truyền dẫn không có tuyến trong tầm nhìn thẳng, có nghĩa là không có tuyến có công suất tín hiệu vượt trội.
+ Tín hiệu ở máy thu nhận được từ vô số các hướng phản xạ và nhiễu khác nhau.
Trong trường hợp môi trường truyền dẫn có tuyến truyền dẫn trong tầm nhìn thẳng thì công suất tín hiệu từ tuyến này vượt trội so với các tuyến khác Xác suất của biên độ hàm truyền đạt của kênh sẽ tuân theo phân bố Rice.
Mô hình kênh pha-đinh Rayleigh
Hình vẽ 5.29 mô tả một đường liên lạc giữa anten trạm gốc (BS: Base Station) và anten trạm di động (MS: Mobile Station) Xung quanh MS có nhiều vật phản xạ phản xạ do anten trạm BS được đặt trên cao Các vật phản xạ này được gọi chung là vật tán xạ Liên lạc giữa BS và MS thông qua nhiều đường (path), mỗi đường chịu một hay nhiều phản xạ, và tín hiệu đến máy thu là tín hiệu tổng hợp từ tất cả các đường này Do các đường có biên độ, pha và độ trễ khác nhau, nên tín hiệu truyền qua các đường có thể kết hợp với nhau một cách có lợi hoặc không có lợi, tạo nên một sóng đứng ngẫu nhiên Hiện tượng này được gọi là truyền sóng pha-đinh đa đường Kênh truyền sóng kiểu này được gọi là kênh pha-đinh đa đường.
Hình 5.19 Mô hình truyền sóng đa đường
Tín hiệu vô tuyến luôn là tín hiệu băng thông (bandpass) và có băng tần hẹp
(narrowband) Tín hiệu băng thông phát đi tại tần số sóng mang với đường bao phức được biểu diễn như sau:
Trong đó biểu diễn phép toán lấy phần thực. Đặt độ dài của đường là và ký hiệu c là tốc độ ánh sáng thì thời gian truyền sóng từ BS tới MS là Giả sử độ suy hao của đường là , thì tín hiệu thu được tại MS không tính đến tạp âm là:
Thế (5.5) vào (1.6) chúng ta có:
Trong đó thành phần đường bao tín hiệu thu: Được gọi là tín hiệu băng tần gốc tương đương của , còn là thời gian trễ của đường thứ
Khi MS chuyển động với tốc độ , độ dài đường truyền sóng thứ thay đổi.
Nếu góc tới của tia thứ so với hướng chuyển động là thì độ dài của tuyến thay đổi như là một hàm của tốc độ và thời gian t là:
(5.12) Như vậy, đường bao phức của tín hiệu thu là:
Do sự thay đổi độ trễ tín hiệu là rất nhỏ so với thang thời gian của tín hiệu điều chế nên chúng ta có thể bỏ qua chúng Như vậy, nếu đặt:
Với là bước sóng của sóng mang Hay:
Từ công thức này chúng ta có thể thấy rằng vật tán xạ thứ đã dịch tín hiệu phát đi về thời gian và về tần số. Độ dịch Doppler cực đại là:
Nếu MS chuyển động qua các vùng ngẫu nhiên, nó chịu ảnh hưởng thay đổi về cường độ và pha tín hiệu với tốc độ thay đổi tuỳ thuộc vào vận tốc chuyển động của
MS Giả sử băng tần tín hiệu là rất nhỏ (ứng với pha-đinh phẳng), bề rộng băng thông nhỏ sao cho thời gian trễ không ảnh hưởng tới tín hiệu, và ta có Như vậy, công thức (5.18) có thể viết lại thành:
Từ công thức 5.19 chúng ta viết lại được độ lợi kênh trong trường hợp MS chuyển động như sau:
Trong trường hợp không tồn tại tia trực tiếp giữa BS và MS thì hệ số có thể coi là các số ngẫu nhiên có giá trị trung bình bằng 0 Như vậy, là tổng của các biến số ngẫu nhiên phức có giá trị trung bình bằng 0, và theo luật số lớn, thì khi số lượng các tia lớn, có thể được coi là một quá trình Gauss phức [4] Tức là, nếu chúng ta biểu diễn ở dạng số phức:
Với và đều là các số thực, thì và sẽ đều là các quá trình xác suất độc lập, với giá trị trung bình bằng không và phương sai như nhau
Sử dụng công thức về phân bố Gauss chúng ta có:
Do và là các quá trình độc lập nên chúng ta có phân bố:
Chuyển sang hệ toạ độ cực chúng ta có pdf kết hợp:
Tức là, pdf của biên độ là phân bố Rayleigh, và pha-đinh kiểu này được gọi là pha-đinh Rayleigh Hình 5.30 mô tả phân bố Rayleigh với
Cấu trúc khối mô phỏng
1 Một nguồn phát nhị phân theo phân bố Bernoulli.
3 Một bộ điều chế khóa dịch pha cầu phương QPSK.
4 Một bộ kênh fading Rayleigh.
5 Một bộ giải điều chế khóa dịch pha cầu phương QPSK.
6 Một bộ giải mã xoắn.
7 Một bộ tính toán tỉ lệ lỗi bit.
8 Một bộ hiển thị thống kê lỗi khi chạy mô phỏng.
9 Hai giản đồ chòm sao để quan sát tín hiệu.
- Khối Multipath Rayleigh Fading: Tác động vào tín hiệu có ích làm cho tín hiệu thu được bị dịch đi một khoảng hay trễ so với vị trí chuẩn của nó.
Các khối còn lại đã được trình bày ở các phần mô phỏng trước ở chương 4 Để tránh sự lặp lại nên ở phần này sẽ không nhắc lại.
Sau khi lấy các khối và thực hiện kết nối tín hiệu các khối ta có sơ đồ mô phỏng kênh truyền Fading Rayleigh như sau:
Hình 5.22 Sơ đồ khối hệ thống dưới sự tác động kênhRayleighFading
Thiết lập các thông số
+ Dữ liệu đầu ra theo khung Số mẫu trên khung: 1
+Kiểu dữ liệu đầu ra: double
Tỷ lệ mã 1/2 được thiết lập thông qua hàm poly2trellis(7, [171 133])
Hình 5.24 Tham số khối mã xoắn
Hình 5.25 Thiết lập tham số khối điều chế QPSK
- Khối Multipath Rayleigh Fading Channel:
+ Maximum Doppler shift (Hz): Độ dịch Doppler tối đa: 40; Tích chọn: Normalize gain vector to 0 dB overall gain.
+ Initial seed: Giá trị ban đầu: 12345.
+ Gain vector [DB]: Độ lợi: [0 -9].
- Khối QPSK Demodulator Baseband:Tất cả các thông số để mặc định.
Hình 5.27 Thiết lập tham số khối giải điều chế QPSK
Giải mã tỷ lệ 1/2 dựa trên quyết định cứng với chế độ hoạt động là liên tục.
Hình 5.28 Tham số khối giải mã xoắn
- Khối Discrete-Time Scatter Plot Scope: Chưa bị tác động fading
+ Sample per symbol: Số mẫu trên một ký hiệu: 1.
+ Offset (samples): Độ lệch mẫu: 0.
+ Points displayed: Số điểm hiển thị: 40.
+ New points per display: Số điểm mới trên một hiển thị: 10.
Hình 5.29 Thiết lập tham số khối giản đồ chòm sao
Hình 5.30 Tỉ lệ lỗi bit = 0.5với độ dịch tần là 40Hz
Từ kết quả mô phỏng chúng ta có thể thấy tỷ lệ lỗi bit là khá lớn khi truyền qua kênh bị tác động của fading Rayleigh so với các kênh truyền khác như AWGN, hay kênh nhị phân đối xứng BSC Do đó cần có các biện pháp giảm fading Rayleigh để
- Khi tín hiệu điều chế chưa đưa qua kênh truyền Fading Rayleigh, các điểm trên giản đồ chòm sao là lý tưởng, chúng là các chấm xác định và không bị dao động ra xung quanh.
Hình 5.31 Giản đồ chòm sao khi chưa có tác động của
- Mô hình sử dụng điều chế QPSK có tác động của Fading Reyleigh dẫn tới các điểm trên giản đồ chòm sao dịch chuyển xa vị trí lý tưởng dẫn đến tỉ số BER tăng lên làm cho việc khôi phục và giải điều chế để được tín hiệu gốc là khó khăn.
Hàm MATLAB hỗ trợ mô phỏng kênh Rayleigh:
Nhiễu ồn pha
Hiện tượng ồn pha xẩy ra do nhiều nguyên nhân như: do nội tại trong hệ thống, do hiệu ứng Doppler vì khoảng cách truyền trong thông tin vô tuyến là rất lớn, hay do các yếu tố của môi trường Khi có hiện tượng ồn pha xảy ra, tín hiệu truyền bị sai khác đi và khi đó ở nơi thu, tín hiệu thu được sẽ bị lỗi Điều này xảy ra khiến cho chất lượng tín hiệu truyền giảm xuống.
Một bộ tạo dao động sẽ tạo ra một dạng sóng sin chuẩn có dạng:
Nhưng thông thường tín hiệu luôn luôn có chứa nhiễu Điều này có thể được mô tả bởi sự dao động biên độ của tín hiệu (thay đổi A) và bởi sử dao động pha tín hiệu.
Một cách tổng quát, chúng ta có thể miêu tả ồn tín hiệu dao động như sau: Ở đây mô tả sự thay đổi biên độ trong tín hiệu, gọi là ồn biên độ. mô tả sự thay đổi pha hay ồn pha.
Chú ý rằng ồn biên độ không ảnh hưởng điểm cắt zero và ồn pha không ảnh hưởng biên độ của tín hiệu đỉnh.
Một tín hiệu gốc tốt là tín hiệu có ồn biên độ nhỏ Ồn biên độ có thể loại bỏ khi sử dụng hệ thống điều khiển mức tự động ALC (Automatic level control), hoặc do tín hiệu truyền qua một bộ khuyếch đại hạn chế (lối ra của một bộ khuếch đại lý tưởng hạn chế được xác định theo điểm cắt zero của tín hiệu và vì vậy không bị ảnh hưởng bởi ồn biên độ). Ồn pha là một loại khác Khi có ồn pha trong tín hiệu là rất khó loại bỏ nó, ồn pha là ảnh hưởng chính lên hoạt động của hệ thống Như vậy, ta coi rằng tín hiệu chỉ gồm có ồn pha và được biết dưới dạng:
Trong miền thời gian, nếu tín hiệu s(t) là tổng quát trên máy hiện sóng lý tưởng thì hiệu ứng của sẽ là nguyên nhân xê dịch thời gian trên điểm cắt zero của dạng
5.4.2.Mô phỏng nhiễu ồn pha
Cấu trúc của khối mô phỏng
Hệ thống mô phỏng sử dụng các khối truyền thông khác nhau để thiết lập mô hình QAM trên kênh truyền có tác động của nhiễu Gausse trắng cộng tính AWGN Hệ thống mô phỏng gồm các khối sau:
1 Một nguồn phát số nguyên theo phân bố Bernoulli
3 Một bộ điều chế BPSK
4 Một kênh nhiễu cộng tính AWGN
5 Một bộ giải điều chế BPSK
6 Một bộ nhiễu ồn pha
7 Một bộ giải mã xoắn
8 Một bộ tính toán lỗi bit
9 Một bộ chuyển đổi dữ liệu
10 Một bộ hiển thị thống kê lỗi khi chạy mô phỏng
11 Hai khối giản đồ chòm sao để hiển thị tín hiệu.
Các bước thực hiện mô phỏng
- Phase Noise: Cộng nhiễu ồn vào tín hiệu vào.
Hình 5.34 Khối nhiễu ồn pha
Các khối còn lại đã được trình bày ở các chương trước Để tránh trùng lặp, chúng ta không nhắc lại các khối này nữa.
Kéo và thả các khối sang vùng làm việc của file mô phỏng, sau đó thực hiện việc nối các khối như hình vẽ:
Hình 5.35 Mô hình mô phỏng nhiễu ồn pha
3) Thiết lập thông số các khối như sau:
- Khối tạo nguồn tín hiệu:
Hình 5.36 Tham số khối tạo nguồn tín hiệu
- Khối mã chập: Mã hóa dữ liệu đầu vào tỷ lệ 1/2 với cấu trúc mã được thiết lập như sau:
Hình 5.37 Tham số khối mã hóa chập
Hình 5.38 Tham số khối điều chế BPSK
- Khối giải điều chế BPSK:
Hình 5.39 Tham số khối giải điều chế BPSK
Hình 5.40 Tham số khối kênh truyền AWGN
- Phase Noise:Khối này có các tham số sau:
+Phase noise level (dBc/Hz): Xác định mức nhiễu ồn pha Đơn vị là dBc/Hz. +Frequency offset (Hz): Độ lệch pha, đơn vị là Hz.
+Initial seed: Giá trị khởi tạo ban đầu của khối tạo nhiễu ồn pha.
Các tham số của khối này được đặt như hình dưới đây:
Hình 5.41 Tham số khối nhiễu ồn pha
Hình 5.42 Tham số khối giải mã chập
Sau khi thiết lập các thông số như trên, ta tiến hành mô phỏng bằng cách vào Simulation -> Start Kết quả được hiển thị trên khối Display như hình sau:
Hình 5.43 Kết quả chạy mô phỏng nhiễu ồn pha với Es/NoB
Theo kết quả mô phỏng cho thấy với Es/NoB thì tỷ lệ lỗi bit là 0.003132.
Tỷ lệ này giảm đi khi tăng giá trị của Es/No hay tăng mức độ tin cậy của kênh truyền hoặc giảm mức nhiễu ồn pha trong khối phase noise, cụ thể mức nhiễu ồn pha được giảm từ -66 dBc/Hz xuống -120 dBC/Hz (các tham số khác giữ nguyên) thì tỷ lệ lỗi bit giảm từ 0.003132 xuống là 0.003013.
Dưới đây là giản đồ chòm sao của tín hiệu sau khi điều chế BPSK và chưa bị tác động của nhiễu ồn pha:
Khi tín hiệu truyền qua kênh truyền có tác động của nhiễu ồn pha, thì các điểm trên giản đồ chòm sao sẽ bị dịch một khoảng so với vị trí ban đầu, cụ thể như sau:
Hình 5.45 Giản đồ chòm sao của tín hiệu có tác động của nhiễu ồn pha
Từ nghiên cứu lý thuyết cũng như kết quả mô phỏng mô hình hệ thống truyền thông có tác động của nhiễu ồn pha cho thấy nhiễu ồn pha có ảnh hưởng xấu đến chất lượng kênh truyền, làm gia tăng tỷ lệ lỗi bit thông tin Từ đó phải có những biện pháp khắc phục cũng như hạn chế sự ảnh hưởng của loại nhiễu này để tăng độ tin cậy truyền thông tin của một hệ thống.
Mô phỏng một vài hệ thống thông tin số hiện tại
Dưới đây là một số mô hình mô phỏng hệ thống thực tế sử dụng công cụ Simulink của MATLAB.
Một phân cấu trúc của lớp vật lý một hệ thống CDMA2000 thế hệ thứ nhất với cấu hình vô tuyến thứ 3 của kênh cơ bản đường xuống thực hiện liên kết chuyển tiếp giữa một trạm cơ sở và trạm di động.
Hình 5.46 Lớp vật lý của hệ thống CDMA 1xRTT
Hệ thống DVB –S.2 bao gồm mã hóa LDPC:
Lớp vật lý của hệ thống WCDMA:
Hình 5.48 Lớp vật lý của hệ thống WCDMA
Lớp vật lý của hệ thống OFDM, bao gồm mã hóa không gian- thời gian:
Hình 5.51 Lớp liên kết vật lý của hệ thống OFDM