ứng dụng thứ hai muốn đợc đề cập đến của ứng dụng trải phổ là ứng dụng đa truy nhập. ứng dụng đa truy nhập cho vô tuyến tế bào đã đợc nghiên cứu từ những năm 1970, nhng phải đến nhiều năm sau, viện nghiên cứu Qualcomm mới khảo sát lại ứng dụng của trải phổ cho vô tuyến tế bào và phát triển lên nền tảng cho công nghệ CDMA bây giờ. Sau đó tiêu chuẩn IS-95 ra đời và đợc sử dụng đầu tiên ở bắc Mĩ. Dới đây sẽ xem xét những ứng dụng cụ thể của kĩ thuật trải phổ trong hệ thống CDMA theo chuẩn IS-95.
Bỏ qua việc sử dụng lại tần số trong một thời điểm và xem xét khả năng chia sẻ phổ trong nội bộ một tế bào đơn. Phổ của một tế bào có thể chia sẻ giữa những ngời sử dụng theo ba cách, và tất cả đều dựa trên khái niệm tạo khả năng phát của một ngời sử dụng trực giao với quá trình phát của ngời sử dụng khác sao cho những ngời sử dụng chung một tế bào gây nhiễu cho nhau là ít nhất. Tính trực giao giữa các tín hiệu đợc phát có thể đợc hiểu đơn giản là sự không chồng lấn lên nhau giữa các băng tần hoặc giữa các khe thời gian, dạng sóng có thể trực giao với nhau nhờ thế có thể chia sẻ chung băng tần tại cùng thời điểm. Đa truy nhập phân chia theo mã dựa trên quy tắc này.
Bây giờ giả sử bốn dạng sóng wi(t) đợc sử dụng nh là sóng mang của các symbol nhị phân di, do đó dạng sóng đợc phát là:
si(t) = diwi(t) 0 ≤t≤ 4Tc (1.38) Vì tính trực giao của các sóng mang wi(t), tất cả các tín hiệu s0(t), s1(t),
s2(t) và s3(t) có thể đồng thời phát cùng thời điểm mà không gây nhiễu cho nhau. Tín hiệu băng cơ sở thu đợc trong trờng hợp này là:
s(t) = s0(t) + s1(t) + s2(t) + s3(t)
= d0w0(t) + d1w1(t) + d2w2(t) + d3w3(t) (1.39) và giả sử tín hiệu thu mong muốn của ngời sử dụng 0 thu đợc do tơng quan tín hiệu thu này với sóng mang trực giao w0(t) qua chu kì 0 ≤t≤ 4Tc. Do đó,
[ ] ∫c ì = ∫c + + + = T T c c d dt t w d t w d t w d t w d t w T dt t s t w T 0 0 4 0 3 3 2 2 1 1 0 0 0 0 ( ) ( ) ( ) ( ) ( ) 4 1 ) ( ) ( 4 1 (1.40)
Các symbol dữ liệu khác có thể khôi phục lại theo cùng cách thức này. Ví dụ đơn giản này minh hoạ cho nguyên lí cơ bản của CDMA, theo đó các symbol mang tin đợc mã hoá theo cách riêng biệt nhờ đó những ngời sử dụng khác nhau có thể đồng thời phát tín hiệu trên cùng một băng tần mà không gây nhiễu cho nhau. Mã hoá bằng cách nhân dữ liệu với dạng sóng trực giao wi(t) là một ví dụ điển hình của ứng dụng mã trải phổ trực tiếp. Việc sử dụng trải phổ nh là một phơng thức đa truy nhập đã đợc biết đến và sử dụng trong nhiều năm và ứng dụng của nó cho hệ thống tế bào chỉ với yêu cầu sự phát triển phù hợp của các kĩ thuật phần cứng.
Mô tả kênh đ ờng xuống Mã hoá Ghépkênh 1 -> -10 -> 1 Σ Mã hoá Ghép kênh Mã hoá Mã hoá 0 -> 1 1 -> -1 0 -> 1 1 -> -1 0 -> 1 1 -> -1 Mã walsh của ng ời sử dụng n Mã walsh kênh paging Mã walsh kênh đồng bộ Mã walsh kênh pilot Mã walsh của ng ời sử dụng m Lọc Lọc PN kênh Q pilot 0 -> 1 1 -> -1 PN kênh I pilot Cos(wt) Σ KĐ Sin(wt) Mã dài ng ời sử dụng n Mã dài ng ời sử dụng m Tiếng nói của ng ời m Tiếng nói của ng ời n Kênh nhắn tin Kênh đồng bộ Kênh báo hiệu
Hình 1.16 Cấu trúc kênh đờng xuống
Số lợng ngời sử dụng dịch vụ có thể giới hạn bởi số lợng các mã trải phổ trực giao có sẵn (số lợng cặp mã Walsh trực giao).
Tốc độ mã hoá tiếng nói trong CDMA là 8600 bps. Tiếng nói sau khi đợc đa vào khối mã hoá thực hiện các nhiệm vụ mã hoá tiếng nói, mã hoá phát hiện lỗi, mã xoắn, và sau khi chèn, dữ liệu đợc đa vào bộ trộn thực hiện cộng modul 2 với mã nhị phân của từng ngời sử dụng có độ dài 242-1. Mã dài này đ- ợc tạo ra từ các chuỗi có độ dài cực đại với tốc độ 1,2288 Mcps.
Tất cả các kênh thông tin đều sử dụng chung bộ mã dài này và có thể phân biệt bằng cách sử dụng các pha khác nhau cho từng ngời sử dụng. Chu kì dài của mã 242-1 giúp cho việc phân biệt giữa nhiều ngời sử dụng có thể thực hiện đợc.
Bớc tiếp theo trong chu trình xử lý tín hiệu là quá trình trải phổ dãy trực tiếp cho dòng symbol từng ngời sử dụng sử dụng mã Walsh trực giao đặc trng cho từng kênh. Mã Walsh là tập 2n chuỗi bit nhị phân, mỗi chuỗi trong tập 2n
chuỗi trực giao với các chuỗi còn lại trong tập. Trong CDMA tập mã Walsh là tập W64 bao gồm 64 từ mã trực giao từ w0 tới w63 . Một từ mã Walsh là một hàng trong số W64 đợc ấn định cho mỗi ngời sử dụng nh là mã trải phổ dãy trực tiếp BPSK. Tốc độ chip là 1,2288 ì 106 cps và tốc độ symbol trải tiền phổ là 19200 sps, do đó có chính xác 1,2288 ì 106 /19200 = 64 chip mã trải phổ trên một symbol, và toàn bộ một từ mã Walsh đợc dùng cho một symbol.
Mặc dù trải phổ BPSK bằng mã Walsh đã đủ cho quá trình tách tín hiệu từ mỗi trạm gốc, nhng với yêu cầu tách biệt của mọi trạm trong hệ thống, trải phổ QPSK đợc sử dụng thêm cho mục đích này.
Mã hoá Lọc Lọc PN kênh Q pilot PN kênh I pilot Σ KĐ Cos(wt) Sin(wt)
Tiếng nói Điều chế
trực giao 64 mức
Mã dài Trễ 1/2
chip
Hình 1.17 Cấu trúc kênh đờng lên
Đối lập với quá trình điều chế BPSK liên kết ở kênh đờng xuống, kênh đ- ờng lên sử dụng điều chế trực giao mà có thể đợc giải điều chế liên kết hoặc không liên kết ở phía thu. ở mức điều chế cao nhất có thể xem nh là khối chức năng mà đầu vào là 6 symbol nhị phân và đầu ra là 26 = 64 dạng sóng trực giao. Tập dạng sóng trực giao này là tập mã Walsh W64, đã đợc sử dụng trong kênh đờng xuống nh là mã trải phổ trực tiếp. Mỗi một dạng sóng đợc chỉ ra bằng w0 tới w64 đợc tạo thành từ 64 symbol tin nhị phân, do đó đầu ra bộ điều chế là 64 symbol nhị phân cho mỗi đầu vào 6 symbol nhị phân. Vì thế tốc độ symbol đầu ra bộ điều chế tơng quan là 28000 ì 64/6 = 307,2 ksps. Bộ điều chế trực giao này thực hiện trải phổ dãy trực tiếp sử dụng mã dài có tốc độ chip 1,2288 ì 106 cps nh đã đợc sử dụng trong kênh đờng xuống. Mỗi một ngời sử dụng sẽ đợc ấn định một đoạn mã (một pha duy nhất) trong từ mã dài 242 - 1 này. Pha riêng biệt này là làm chức năng của số seri điện tử ấn định cho mỗi ngời sử dụng. Có tất cả 1,2288 ì 106 / (307,2 ì 103) = 4 chip mã trải phổ trên một symbol đầu ra của bộ điều chế trực giao. Tín hiệu ra từ bộ trải mã dài đợc đa tới hai bộ trải phổ trực tiếp đồng pha và cầu phơng. Sau khi bớc trải phổ cuối cùng đợc thực hiện, kênh đồng pha đợc làm trễ 1/2 chip do dó quá trình điều chế cuối cùng sẽ là QPSK tơng ứng với bớc điều chế đã sử dụng trong kênh đờng xuống. Tín hiệu từ bộ trải phổ trực tiếp cầu phơng sẽ đợc lọc và đợc sử dụng để điều chế sóng mang cầu phơng sau đó đợc cộng với tín hiệu từ kênh đồng pha rồi khuyếch đại và đa ra anten phát.
Tín hiệu phát đi trên kênh truyền sẽ cộng với các nhiễu từ các trạm thu BS khác cũng nh suy giảm do kênh truyền sẽ đến trạm thu BS mong muốn. Trạm thu sẽ khôi phục lại tín hiệu sau giải điều chế trải phổ dãy trực tiếp đã thực hiện ở phía phát. Sau đó trạm thu xác định symbol 64- mức bằng tính t- ơng quan dạng sóng giải trải phổ với mỗi mã Walsh trực giao có thể có và chọn lấy cái lớn nhất. Sau khi dự đoán chuỗi Walsh đợc phát, quá trình chuyển đổi ngợc chèn, mã xoắn, mã hoá tiếng nói đợc thực hiện để khôi phục lại tiếng nói.
Chơng 2
phần mềm MATLAB 2.1. Giới thiệu chung
MATLAB (Matrix Laboratory) là một ngôn ngữ trình diễn mạnh của công ty MathWork ban đầu đợc phát triển nhằm phục vụ chủ yếu cho việc mô tả các nghiên cứu kỹ thuật bằng toán học với những phần tử cơ bản là ma trận. Mức phát triển hiện nay của MATLAB đã chứng tỏ nó là một phần mềm có giao diện cực mạnh cùng nhiều lợi thế trong kỹ thuật lập trình để giải quyết những vấn đề đa dạng trong nghiên cứu khoa học kỹ thuật.
MATLAB là chơng trình phần mềm trợ giúp cho việc tính toán và hiển thị. Nó có thể chạy trên hầu hết các hệ máy tính, từ máy tính cá nhân đến các hệ máy super computer. MATLAB đợc điều khiển bởi tập các lệnh, tác động qua bàn phím trên cửa sổ điều khiển. Nó cũng cho phép một khả năng lập trình với cú pháp thông dịch lệnh - còn gọi là script file. Các lệnh hay bộ lệnh của MATLAB lên đến con số hàng trăm và ngày càng đợc mở rộng bởi các phần Tools box hay thông qua các hàm ứng dụng đợc tạo lập bởi ngời sử dụng.
Các câu lệnh của MATLAB đợc viết rất sát với các mô tả kỹ thuật khiến cho việc lập trình bằng ngôn ngữ này đợc thực hiện nhanh hơn, dễ dàng hơn so với nhiều ngôn ngữ đã trở nên thông dụng khác. Những hàm sẵn có trong MATLAB có cấu trúc thiết lập gần giống nh ngôn C, bởi vậy ngời sử dụng không mất nhiều thì giờ học hỏi khi nắm đợc những vấn đề cơ bản của một số ngôn ngữ lập trình thông dụng. Cùng với 25 tool box khác nhau, MATLAB tạo ra một sự lựa chọn hoàn chỉnh và phong phú các công cụ trợ giúp đắc lực cho những lĩnh vực nghiên cứu chuyên môn khác nhau.
Sau hết, việc cài đặt MATLAB thật là dễ dàng, MATLAB có thể hoạt động trên hầu hết các hệ máy tính, từ máy tính cá nhân đến các hệ máy tính lớn. Với các version 3.5 trở về trớc, nó chạy trong môi trờng MS-DOS, từ các version 4.0 trở lên chạy trong môi trờng Windows và có thể chạy liên kết với các chơng trình ngôn ngữ cấp cao nh C, C++, Fortran...
Đợc các công ty phần mềm hàng đầu thế giới phát triển, ngày nay, MATLAB đã trở thành công cụ đắc lực trong các môi trờng công tác rất khác nhau, từ việc giảng dạy, đào tạo trong các nhà trờng đại học và trung học chuyên nghiệp, đến vịêc triển khai ứng dụng trong các cơ sở nghiên cứu, sản xuất, dịch vụ và thơng mại; từ các lĩnh vực khoa học cơ bản nh toán học, vật lý, sinh học cho đến các lĩnh vực kỹ thuật công nghiệp, kinh tế, quốc phòng...
2.1.1. Không gian làm việc của MATLAB
Không gian làm việc của MATLAB gồm có khởi động và thoát khỏi MATLAB, các công cụ và hàm chức năng giúp ta làm việc với các biến và file của MATLAB, bao gồm cả desktop MATLAB. Hầu hết các công cụ này có giao diện sinh động với ngời sử dụng.
Việc khởi động MATLAB đợc thực hiện bằng cách kích đup chuột vào biểu tợng MATLAB trên cửa sổ desktop. Để thoát khỏi MATLAB, chọn Exit MATLAB trong menu File hoặc đánh lệnh quit trong cửa sổ lệnh. Cửa sổ lệnh là phơng pháp giao diện với MATLAB, nó xuất hiện trên màn hình desktop khi khởi động MATLAB, và đợc sử dụng để chạy các hàm MATLAB và biểu diễn các hoạt động của MATLAB.
Các cửa sổ giao diện: có thể bật hoặc tắt các cửa sổ này bằng chức năng View trên thanh công cụ.
- Command Window (cửa sổ lệnh): là nơi nhập và thực hiện các hàm của MATLAB.
- Command History: cho phép hiển thị và có thể sử dụng lại các hàm đã chạy.
- Workspace (không gian làm việc): chứa tập các biến đợc thiết lập trong suốt quá trình làm việc với MATLAB và đợc ghi vào bộ nhớ.
- Current directoy: hiển thị đờng dẫn các th mục hiện thời.
2.1.2. Làm việc với matrận
Khi giải quyết một vấn đề kĩ thuật nào đó, ta cần xem xét các dữ liệu liên quan tới vấn đề đó. Một số dữ liệu có giá trị đơn nh diện tích hình vuông, một số dữ liệu liên quan tới nhiều đại lợng nh toạ độ 1 điểm trong không gian 3D.
Tất cả dữ liệu này có dạng cấu trúc ma trận (matrix). Các phần tử của ma trận đợc sắp xếp theo hàng và cột. Một giá trị đơn có thể coi là một ma trận chỉ có duy nhất một hàng và một cột hay còn gọi là đại lợng vô hớng (scalar). Ma trận chỉ có một hàng hoặc một cột đợc gọi là vector. Để truy nhập tới một phần tử của ma trận ta sử dụng chỉ số hàng và cột của nó.
36 Hình 2.1 Giao diện của MATLAB 6.5
Một số quy định cho việc định nghĩa ma trận đợc nêu ra nh sau: tên ma trận phải đợc bắt đầu bằng chữ cái và có thể chứa tới 19 kí tự là số, chữ cái, hoặc dấu gạch dới đợc đặt ở bên trái dấu bằng. Bên phải dấu bằng là các giá trị của ma trận đợc viết theo thứ tự hàng trong dấu ngoặc vuông. Dấu chấm phẩy (;) phân cách các hàng, các giá trị trong hàng phân cách nhau bởi dấu phẩy (,) hoặc dấu cách, chúng có thể là số âm hay số dơng. Dấu thập phân đợc thể hiện là dấu chấm (.). Khi kết thúc nhập một ma trận phải có dấu (;).
Để nhập giá trị cho ma trận hay các đại lợng vô hớng có nhiều cách khác nhau: đơn giản nhất là liệt kê trực tiếp các phần tử của ma trận trong dấu ngoặc vuông, hoặc đọc từ một file dữ liệu đã có hoặc sử dụng toán tử.
Hiển thị ma trận: có nhiều cách để hiển thị ma trận, cách đơn giản nhất là gõ tên của ma trận rồi enter. Tuy nhiên, có một số lệnh đợc dùng để hiển thị ma trận với các phần tử ma trận đợc biểu diễn theo nhiều kiểu khác nhau. Một số dạng hiển thị khác đợc liệt kê dới đây:
format long dạng số chữ số có nghĩa dài (15 chữ số có nghĩa sau dấu thập phân trở lên)
format short còn gọi là default format (có 5 chữ số có nghĩa)
format short e dạng số phẩy động ngắn (dới 1015)
format long e dạng số phẩy động lớn (từ 1015 trở lên, ví dụ 6.023e+23)
format hiển thị dấu của các phần tử ma trận
format compact cho phép giảm khoảng cách giữa các phần tử trong ma trận
format loose huỷ bỏ lệnh format compact.
2.1.3. Chức năng đồ hoạ
MATLAB có những chức năng mở rộng cho phép minh hoạ vector và matrận dới dạng đồ thị, cũng nh chú giải và in ra các đồ thị này. Nó có các hàm với các hàm cấp cao cho đồ hoạ không gian 2D và 3D, sử lý hình ảnh... Nó cũng có các hàm cấp thấp cho phép chỉnh sửa hình dạng đồ thị cũng nh xây dựng giao diện ngời sử dụng trong các ứng dụng MATLAB.
Trong phần này giới thiệu một số chức năng về đồ hoạ của MATLAB nh tạo một lệnh vẽ, vẽ nhiều đồ thị trên một hệ trục toạ độ, thay đổi đặc điểm của các đồ thị, ghi lại đồ thị,...v.v.
2.1.3.1. Sử dụng lệnh Plot
Phần lớn các câu lệnh vẽ đồ thị trong mặt phẳng đều là lệnh plot. Lệnh
plot này cho phép vẽ đồ thị của một mảng dữ liệu trong một hệ trục thích hợp, và nối các điểm bằng đờng thẳng. Dới đây là một ví dụ:
>> x = linspace(0,2*pi,40); >> y = sin(x);
>> plot(x,y)
Ví dụ này tạo 40 điểm dữ liệu trong đoạn 0 ≤ x ≤ 2π theo chiều ngang đồ thị, và tạo một vector y khác là hàm sin của dữ liệu chứa trong x. Lệnh plot
mở ra một cửa sổ gọi là cửa sổ Figure, trong cửa sổ này nó sẽ tạo độ chia phù