Hình 3.6 trình bày sơ đồ khối của quá trình thực thi ở lớp vật lý. Theo chuẩn WiMAX, ở lớp vật lý, các gói đến từ lớp MAC trước hết được mã hóa kênh và điều chế. Mã kênh bao gồm các q trình: ngẫu nhiên hóa, sửa lỗi tiến, mã (RS), chèn (interleaving). Lớp vật lý hỗ trợ các loại điều chế khác nhau (như: QAM, BPSK, và QPSK). Trong thiết kế đề nghị người ta hay dùng kỹ thuật điều chế thích nghi để tối ưu tốc độ mã hóa, nhờ đó tối đa hiệu quả băng thơng mà vẫn đảm bảo chất lượng kênh truyền. Sau điều chế, IFFT biến đổi tính hiệu từ miền tần số sang miền thời gian, sau quá trình xử lý trong miền thời gian (như spectral shaping, nội suy). Cuối cùng, các frame được hình thành và gửi đến giao diện vô tuyến (gồm cả IF và RF). Hướng ngược lại hồn tồn tương tự. Nó bao gồm: đồng bộ thời gian/ tần số, ước tính kênh, cân bằng, giải điều chế, giải mã và chuyển tín hiệu từ miền thời gian sang miền tần số.
Sơ đồ khối bộ thu WiMAX BS cho trong hình 3.7, gồm phần số và analog. Một chú ý ở đây là giải thuật quản lý nguồn để điều chỉnh các thông số của bộ thu (như độ lợi khuyếch đại, mức cơng suất, tần số sóng mang) để đạt được tín hiệu có chất lượng tối ưu.
Từ lớp vật lý, tín hiệu số với các thành phần I và Q được đưa đến bộ Up- Converter. Sau đó, tín hiệu được chuyển đổi sang analog bởi bộ ADC, qua hai bước chuyển tần số (IF và RF) để “cõng” tín hiệu lên tần số vơ tuyến chọn lựa. Tín hiệu được khuyếch đại ở bộ Power Amplifier rồi đưa đến anten để phát xạ. Thơng thường, tín hiệu sau khuyếch đại thường đi qua bộ chuyển mạch hoặc bộ ghép phụ thuộc vào phương pháp ghép kênh TDD hoặc FDD.
Hình 3.7: Sơ đồ thu phát vơ tuyến
3. Các yếu tố ảnh hưởng đến chất lượng IPTV trên WiMAX
Ảnh hưởng bởi hệ thống mã hóa/giải mã: Dữ liệu Video trong các ứng dụng
đa phương tiện hiện nay thường được mã hóa và nén bằng MPEG2, MPEG4 Part 10/H.264, Microsoft WMV9/VC1 và một số chuẩn nén khác. Các bộ mã hóa video thường hỗ trợ một khoảng khá rộng tốc độ nén, điều này cho phép những lựa chọn khác nhau giữa chất lượng và băng thông. Phần lớn các phương pháp nén video đều dựa vào việc mã khác nhau giữa các frame (inter-frame). Điều này có nghĩa là, thay vì phải gửi đi tất cả các frame, thì chỉ gửi đi sự sai khác của một frame với frame trước đó. Phương pháp mã hóa này làm việc tốt với những video có những thay đổi hình ảnh ít, tuy nhiên sẽ là ảnh hưởng đáng kể đến chất lượng hình ảnh và băng thơng nếu có sự thay đổi lớn giữa các frame hình ảnh. Đa số các chuẩn mã hóa vừa cho phép mã hóa với tốc độ bít cố định hay tốc bít thay đổi. Các phương pháp mã hóa video nói chung thường kết hợp cả kiểu mã hóa intra-frame và inter-frame. Trong kiểu mã hóa intra-frame, một frame ảnh được chia thành các khối, mỗi khối này được biến đổi thành tập các hệ số thông qua biến đổi Cosin rời rạc. Một nhóm các khối được kết hợp lại thành một thực thể duy nhất (slice) và đơi khi được đóng gói vào một gói. Nếu có lỗi trên đường truyền xảy ra thì có thể cả một nhóm các khối sẽ bị mất, tạo nên “sọc” trong các ảnh giải mã. Điều này xảy ra bởi vì các hệ số của biển đổi Cosin rời rạc trong mỗi khối được tính tốn dựa trên khối đầu tiên trong slice, nếu lỗi làm mất thông tin của khối đầu tiên thì tất cả các khối cịn lại trong slice là không xác định. Một vài lỗi có thể làm hỏng cấu trúc của frame, do đó khơng có khả năng tái tạo lại frame. Với kiểu mã hóa inter-frame các vector chuyển động được xác định và mã hóa cho mỗi khối. Trong các hệ thống mã hóa kiểu inter- frame, việc mất một frame có thể làm cho các frame theo sau nó trở nên khơng sử
dụng được cho đến khi I-frame tiếp theo được nhận, kết quả là có thể thu được hình ảnh video trắng hay hình ảnh bị đơng cứng, chất lượng video bị suy giảm đáng kể. Trong hầu hết các trường hợp các tiêu chuẩn mã hóa video đều cung cấp khả năng linh động ở cả bộ mã hóa và giải mã cho việc cân bằng giữa chất lượng và tốc độ. Việc hiểu biết rõ ràng về ảnh hưởng của các bộ mã hóa và giải mã video là yếu tố quan trọng góp phần vào việc đánh giá chính xác các ảnh hưởng của mạng đến chất lượng truyền video trên mạng.
Giới hạn về băng thông: Sự giới hạn về băng thông thường xảy ra tại lớp
truy nhập. Nếu băng thông dành sẵn khơng đủ để truyền một stream video thì sẽ xảy ra mất gói tại các bộ đệm của bộ định tuyến, dẫn đến việc suy giảm chất lượng video. Một vấn đề khá tinh tế cũng xảy ra khi mã hóa video với tốc độ bít thay đổi. Trong trường hợp này, sự thay đổi hình ảnh hay sự thay đổi các frame là đáng kể sẽ làm tăng yêu cầu về băng thông trong một khoảng thời gian ngắn, điều này có thể gây lên hiện tượng mất gói và do đó làm suy giảm chất lượng hình ảnh.
Mất gói tin: Sự mất gói tin trên mạng có thể gây ra bởi nhiều nguyên nhân:
sự nghẽn mạng, mất liên kết, không đủ băng thông hay lỗi trên đường truyền, v.v… Sự mất gói thường xảy ra bùng phát, mức độ tắc nghẽn mạng cao gây lên độ mất gói cao. Sự suy giảm chất lượng video gây ra bởi hiện tượng mất gói tùy thuộc vào giao thức được sử dụng để truyền tải video:
- Khi giao thức UDP được dùng để truyền tải dữ liệu video, khi xảy ra hiện tượng mất gói thì một vài phần của video stream có thể bị mất.
- Khi giao thức TCP được dùng để truyền tải dữ liệu video, khi một gói bị mất thì sẽ có u cầu truyền lại gói đã bị mất, điều này làm sự thiếu hụt bộ đệm tại set- top-box, gây lên hiện tượng dừng hình. Khi truyền video bằng giao thức UDP, hiện tượng mất gói có thể làm hỏng một phần hay thậm chí hồn tồn các frame.
Nghẽn tại máy chủ:Khơng hẳn mọi yếu tố ảnh hưởng đến chất lượng video
đều gây ra bởi mạng, nếu máy chủ cung cấp dịch vụ VoD phải phục vụ tối đa số người dùng theo khả năng của nó, điều này sẽ gây ra sự tắc nghẽn tại máy chủ cung cấp dịch vụ. Sự tắc nghẽn này gây ra hiện tượng dừng hình q lâu tại phía đầu cuối. Để giảm tải cho máy chủ dịch vụ có thể dùng các giao thức phù hợp như UDP
Multicast. Nhưng giao thức này chỉ phù hợp khi có một số lượng lớn người dùng xem cùng một nội dung tại cùng một thời điểm.
Jitter và Timing drift: Jitter là khái niệm dùng để mô tả sự khác nhau của khoảng thời gian đi từ nguồn đến đích của các gói tin. Jitter càng lớn khi xảy ra nghẽn mạng hay tắc nghẽn tại máy chủ dịch vụ. Jitter có thể gây ra tràn bộ đệm tại set-top-box, gây lên hiện tượng dừng hình tại đầu cuối. Hiện tượng Timing
drift xảy ra khi đồng hồ tại đầu gửi và đầu nhận có sự sai khác nhau về tốc độ, gây
ra sự tràn vùng đệm tại đầu nhận. Để hạn chế sự ảnh hưởng của hiện tượng này, yêu cầu phía đầu nhận phải
hiệu chỉnh lại tốc độ của đồng hồ cho phù hợp để tránh hiện tượng tràn bộ đệm.
Thách thức về fading khi dùng multicasting: Để đảm bảo hoạt động thành
công của IPTV trên WiMAX, hệ thống phải khắc phục được sự phân tán kênh fading trong quá trình phân phối multicasting video. Trong WiMAX, tốc độ bit truyền tối ưu và chiến lược để đạt được chất lượng video tốt nhất có thể được xác định nhờ BS dựa vào các thông số hệ thống theo thời điểm. Tuy nhiên, khi truyền multicasting một gói video được gửi từ BS đến nhiều trạm thuê bao, gói video có thể được nhận ở tất cả các trạm thuê bao kết hợp nhưng có thể khác nhau về tỉ kệ lỗi bit do điều kiện kênh truyền khác nhau. Hiện tượng này ảnh hướng đến việc cấp phát tài nguyên mạng và các giải pháp lập trình để tối ưu kênh truyền. Hình 1.13 minh họa trường hợp gửi tín hiệu multicasting dùng điều chế 16 QAM từ BS. Chỉ những SS có trạng thái kênh truyền tốt đủ để giải mã tín hiệu 16 QAM mới nhận được tín hiệu multicasting. Tuy nhiên, nếu tốc độ đường truyền thấp hơn (ví dụ dùng điều chế BPSK) nguồn tài nguyên kênh truyền sẽ sử dụng phí phạm đối với các kênh có trạng thái tốt…Tối thiểu việc chiếm dụng băng thông khi phân phối nội dung IPTV là một tiêu chuẩn quan trọng đối với hệ thống để có thể truyền đồng thời nhiều kênh TV. Do đó, việc khảo sát các giải pháp để tận dụng các ưu điểm nhằm khắc phục hiện tượng phân tán kênh fading là yếu tố phải quan tâm khi triển khai IPTV trên WiMAX.
Hình 3.8: Tín hiệu video điều chế 16QAM nhận được ở một số kênh có trạng thái tốt (SS1, SS2, SS4, SS7, SS9) và không thu được ở các SS khác (SS3, SS5,
SS8, SS10)
Phần 4: CHƯƠNG TRÌNH MƠ PHỎNG
I.Tởng quan về chương trình NS
NS là bợ cơng cụ mô phỏng mạng điều khiển theo các sự kiện rời rạc, được xây dựng và phát triển bởi trường đại học Berkeley – Mỹ, cho phép mô phỏng nhiều kiểu mạng IP khác nhau. NS thực thi các giao thức mạng như giao thức điều khiển truyền tải (TCP) và giao thức gói người dùng (UDP); các dịch vụ nguồn lưu lượng như giao thức truyền tập tin (FTP), Telnet, Web, tốc độ bit cố định (CBR) và tốc độ bit thay đổi (VBR); các kỹ thuật quản lý hàng đợi như vào trước ra trước (Drop Tail), dò sớm ngẫu nhiễn (RED) và CBQ; các thuật toán định tuyến như Dijkstra… NS cũng thực thi multicasting và một số giao thức lớp điều khiển truy cập đường truyền (MAC) đối với mô phỏng LAN.
NS được xây dựng bằng ngôn ngữ lập trình hệ thống C++ và ngôn ngữ mô phỏng OTcl. Otcl là dạng ngôn ngữ kịch bản Tcl được mở rộng theo mô hình hướng đối tượng.
Hình 4.1: Tổng quan về NS dưới góc độ người dùng
Theo quan điểm người dùng thuần túy, NS là một bộ thông dịch các kịch bản Tcl hướng đối tượng. NS gồm có các bộ định trình các sự kiện mô phỏng, các thư viện đối tượng thành phần mạng và thư viện các module tạo lập mạng.
Khi sử dụng NS, người dùng phải lập trình bằng ngôn ngữ kịch bản Tcl. Để tạo lập và triển khai một mạng mô phỏng, người dùng viết một kịch bản Tcl để khởi tạo một bộ định trình sự kiện, thiết lập topo mạng thông qua việc sử dụng các đối tượng thành phần mạng và các thành phần liên kết trong các thư viện của NS. Việc thiết lập một mạng là ghép nối các đường dữ liệu giữa các đối tượng mạng bằng cách đặt con trỏ của một đối tượng này tới địa chỉ của một đối tượng khác tương ứng. Khi muốn tạo một đối tượng mạng mới, thì người dùng có thể tạo ra đối tượng đó bằng cách xây dựng một đối tượng mới hoặc tổ hợp các đối tượng có sẵn trong các thư viện đối tượng của NS và tạo ra các đường liên kết dữ liệu giữa chúng.
Một thành phần quan trọng của NS (bên cạnh các đối tượng mạng) là bộ định trình sự kiện. Một sự kiện trong NS là một mã nhận dạng gói, mã này là duy nhất đối với một gói, sự kiện được định thời và gắn với một con trỏ trỏ đến đối tượng sẽ xử lý sự kiện đó. Trong NS, bộ định trình sự kiện giám sát toàn bộ thời gian mô phỏng, quản lý và kích hoạt các sự kiện theo một hàng đợi. Khi một sự kiện được kích hoạt, bộ định trình sẽ gọi tới thành phần đối tượng mạng xử lý tương ứng (thường cũng là đối tượng tạo ra sự kiện đó), cho phép đối tượng này thực hiện các tác vụ thích hợp lên gói gắn với sự kiện. Các thành phần đối tượng mạng truyền
thông với nhau bằng cách trao đổi các gói. Một ứng dụng nữa của bộ định trình sự kiện là tạo ra các bộ định thời. VD: giao thức TCP cần bộ định thời để giám sát thời gian chờ khi phát đi một gói nhằm thực hiện việc phát lại gói.
Hình 4.2: Mô hình kiến trúc của NS
Khi mơ phỏng kết thúc, nếu có u cầu từ các script Tcl (OTcl) đầu vào thì NS sẽ tạo ra các file text lưu chi tiết dữ liệu mơ phỏng. Dữ liệu đó có thể được dùng cho việc phân tích hay được dùng như đầu vào cho các cơng cụ trình diễn mơ phỏng đồ họa NAM.
Các tính năng của NAM:
Cung cấp trình diễn ảo cho mạng đã được tạo Có thể thi hành trực tiếp từ kịch bản Tcl
NAM có giao diện đồ hoạ bắt mắt của CD player với các điều khiển bao gồm play, stop, fast forward, rw, pause, điều khiển tốc độ trình diễn và tính năng giám sát packet
Biểu diễn thơng tin như thông lượng, số packet trên từng link Cung cấp giao diện rê và thả cho việc tạo ra các topology.
Xgraph
dưới dạng đồ thị. Bạn có thể tạo các file output trong kịch bản Tcl của mình được xem như là dữ liệu cho Xgraph. Hình 4.4 mơ tả một cửa sổ của Xgraph.
Hình 4.4: Giao diện đồ họa người dùng của Xgraph
Hình 4.6: Nam file mơ tả chế độ Multicast
Hình 4.7: Module WiMAX trong kiến trúc NS-2
Module WiMAX được tích hợp vào kiến trúc sẵn có của một nút wireless trong NS-2.
Trong kiến trúc trên, một nút wireless bao gồm các thành phần: Traffic Generating Agent (address classifier, port classifier, agent protocol, agent routing), lớp LL (Link Layer), lớp MAC, hàng đợi và kênh vật lý. Các classifier chịu trách nhiệm phân phối các gói tương ứng với các agent. Agent protocol biểu diễn cho lớp application và agent routing biểu diễn cho lớp IP. Khi một packet đi từ agent protocol đến agent routing, agent routing sẽ đặt địa chỉ của đích vào gói và chuyển tiếp đến lớp LL. Lớp LL sử dụng giao thức phân giải địa chỉ ARP (Address Resolution Protocol) để xác định địa
chỉ MAC của đích. Lớp LL đặt địa chỉ MAC của đích vào gói và chuyển đến lớp MAC. Lớp MAC sẽ thực hiện các chức năng tương ứng và xác định thời điểm gửi gói trên kênh. Sau đó, chuyển gói đến lớp vật lý. Lớp vật lý chịu trách nhiệm gửi gói trên kênh wireless đến nơi nhận.
Module WiMAX thực hiện mô phỏng lớp con phần chung MAC chuẩn IEEE 802.16 trong NS-2. Cụ thể, các thành phần được thực thi trong module:
• Cơ chế cấp phát băng thơng GPC (Grant per Connection).
• UCD, DCD, DL-MAP, UL-MAP, RNG-REQ, RNG-RSP, BW-REQ. • Tạo và truyền MAC PDU (tại BS và SS), phân mảnh và đóng gói.
• Cơ chế lập lịch (trên kênh uplink, downlink) bốn kiểu dịch vụ (UGS, rtPS, nrtPS, BE).
Module thực thi lớp MAC IEEE 802.16 có vai trị tương tự như module IEEE 802.11 và được đặt trong cùng thư mục ~/mac trong NS-2.
EvalVid trong mơ phỏng NS-2
Hình dưới đây minh họa khung hoạt động đánh giá QoS cho luồng video thiết lập bởi công cụ bao gồm EvalVid và NS-2. Ba kết nối mô phỏng bao gồm MyTrafficTrace, MyUDP, và MyUDPSink được thực thi giữa EvalVid và NS-2. Giao diện được thiết kế để đọc file trace video hay tạo ra dữ liệu cần thiết để đánh giá chất lượng truyền video.
Hình 4.8: Khung hoạt động giữa EvalVid và NS-2
Cách tạo file bám vết Trace và cấu trúc file Trace
Để thực hiện lưu giử dấu vết ta thiết lập như sau:
set tracefd [open out.tr w] set namtrace [open out.nam w] $ns_ trace-all $tracefd
$ns_ namtrace-all-wireless $namtrace $val(x) $val(y)
Đối với một trace giữa các liên kết hữu tuyến thì bao gồm các trường như hình 4.9:
Hình 4.9: Các trường xuất hiện trong một trace
1. Loại sự kiện là một trong bốn ký hiệu r, +, -, d tương ứng phù hợp với