Xây dựng khối phát OFDM

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Xây dựng hệ thống máy phát dữ liệu vô tuyến sử dụng công nghệ OFDM cho phát thanh số và truyền dữ liệu Luận văn ThS. Kỹ thuật điện tử viễn thông 60 52 70 (Trang 27 - 31)

Hệ thống OFDM có rất nhiều khối chức năng phức tạp, song trong giai đoạn thử nghiệm trên bo mạch, luận văn chỉ thực hiện với những khối cơ bản, các chức năng khác của hệ thống sẽ dần được đưa vào trong các giai đoạn phát triển sau này. Trong giai đoạn này, luận văn thực hiện các chức năng chính là xử lý tín hiệu và khối phát tín hiệu vô tuyến:

Sơ đồ tham chiếu

Lý thuyết về điều chế OFDM đã chứng minh rằng, bộ điều chế OFDM có thể được thực hiện dễ dàng thông qua phép biến đổi IDFT. Phép biến đổi này có thể được thực hiện nhanh bằng thuật toán IFFT.

B iế n đ ổ i tư ơ n g t ự s ố T á c h k h o ả n g b ả o v ệ B iế n đ ổ i n ố i ti ế p / s o n g s o n g F F T G iả i m ã B iế n đ ổ i s o n g s o n g / n ố i ti ế p

u(t) u(lta) u’(lta)

k,+L k,n k,-L a^k,+L a^k, n a^k,-L

Hình 2.9 Sơ đồ khối bộ điều chế [2]

Trong sơ đồ này, luồng dữ liệu vào là dữ liệu số {al} được đưa vào bộ phân chia nối tiếp song song. Một luồng ban đầu được chia thành n luồng con, n có thể chọn là một số lẻ, n = 2L + 1...Tốc độ của mỗi luồng con rõ ràng nhỏ hơn tốc độ của luồng ban đầu n lần. Các luồng con như ta thấy được đánh số từ -L đến 0 và đến +L. Có 2L + 1 luồng con tất cả: ai, -L, ..., ai, n,..., ai, +L.

Mỗi luồng con sẽ được mã hoá theo những phương pháp thông thường chẳng hạn QAM, hay PSK. Tất cả các luồng sau khi mã hoá bao gồm n điểm được đưa vào bộ biến đổi IDFT thực hiện bằng thuật toán IFFT.

Số đầu ra của bộ biến đổi có thể không bằng n, mà bằng số điểm lấy IFFT, thường bằng luỹ thừa của 2 như 4, 16, 64, 128, 256. Số điểm lấy IFFT càng lớn thì độ phức tạp thuật toán tăng lên. Đầu ra của bộ biến đổi lại được ghép lại thành một đầu ra duy nhất thông qua bộ ghép song song nối tiếp.

Đầu ra nối tiếp được chèn khoảng bảo vệ (một kỹ thuật của điều chế OFDM nhằm loại bỏ hoàn toàn nhiễu ISI). Sau đó, tín hiệu số OFDM được chuyển đổi thành tín hiệu tương tự để có thể tiếp tục truyền đi.

2.4.1 Đặc tả các hàm chức năng của hệ thống

Dưới đây là nguyên mẫu của các hàm xử lý và các dữ liệu sử dụng:

Hình 2.10 Các hàm xử lý trong khối phát OFDM

Các hàm xử lý trong phần này bao gồm:

- Hàm chuyển đổi dòng bít vào thành dòng bít giả ngẫu nhiên - Hàm điều chế QAM 16

- Hàm tính biến đổi FFT thuận và ngược

Vị trí của các hàm này trong hệ thống xử lý như trong hình 2.10. Để cho tiện, các hàm xử lý này sẽ được mô tả dần chức năng xử lý trong quá trình kiểm thử. .

Hàm Data2Symbol

Hàm này thực hiện tách dữ liệu đầu vào thành các chuỗi 4 bit phục vụ ánh xạ QAM. Với mỗi byte của mảng vào lần lượt lấy 4 bit thấp và 4 bit cao của byte đó đưa vào 2 phần tử liên tiếp trong mảng đầu ra QamSymbolIn bằng cách thực hiện phép toán AND mỗi byte này với 15 (giá trị nhị phân 00001111) và 240 (giá trị nhị phân 11110000) kết hợp với phép dịch bit.

Hàm Data2Symbol

for (k=0; k<NumDataTrans;k++) {

// phan tu dung trc chua 4 bit thap

*(QamSymbolIn+2*k) = *(DataTrans+k)&15;

// phan tu dung sau chua 4 bit cao Temp = *(DataTrans+k)& 240;

// -> hai phan tu lien tiep chua 1 data }

Hình 2.11 Hàm Data2Symbol

Có thể nói, 4 bit thấp của mỗi byte của mảng vào được chuyển thành phần thực tương ứng của ký tự, còn 4 bit cao chuyển thành phần ảo.

Như vậy sau khi chuyển đổi dòng bit thành các ký tự thì giá trị của ký tự nằm trong khoảng từ 0 đến 15 (Do các phép toán là 4 bit). Các giá trị này được coi là chỉ số và được

ánh xạ trực tiếp sang các mẫu tín hiệu QAM. Như vậy bảng QAM được sử dụng trong hàm tiếp theo sẽ có độ dài 16 phần tử. Chú ý nhận được 2 chỉ số, một cho phần thực và một cho phần ảo.

Trong quá trình ánh xạ, có sự xen kẽ về tần số: các chỉ số thực sẽ được ánh xạ đến đoạn đầu của mảng ra (tần số thấp), còn chỉ số ảo lại được ánh xạ đến phần sau (tần số cao). Ghép xen là một kỹ thuật trong truyền thông để chống lại các lỗi cụm.

Hàm QamTrans

Mảng vào là một mảng chỉ số phức mà phần thực và phần ảo của chỉ số nằm trong khoảng 0 đến 15 (ở đây vì ta sử dụng 16-QAM). Các chỉ số này sẽ được ánh xạ thành mẫu QAM tương ứng, chỉ số thực ánh xạ sang mẫu QAM ở nửa trái của mảng ra chỉ số ảo ánh xạ sang các mẫu QAM ở nửa phải. Đây chính là một kỹ thuật xen kẽ được sử dụng trong truyền thông. Giả sử mảng vào có n phần tử (chỉ số phức), thì nó chiếm 2n vị trí trong mảng ra. Bảng giá trị QAM CCHAR QamTable[16] = { { 3, 3}, { 3, 1}, { 3,-3}, { 3,-1}, {-3, 3}, {-3, 1}, {-3,-3}, {-3,-1}, { 1, 3}, { 1, 1}, { 1,-3}, { 1,-1}, {-1, 3}, {-1, 1}, {-1,-3}, {-1,-1} }; Hình 2.12 Bảng giá trị QAM

Giải thuật tính FFT thuận và ngượ

Giải thuật tính FFT hay IFFT thực ra là như nhau chỉ khác nhau ở việc sử dụng bảng lượng giác dành cho phép biến đổi thuận hay là ngược. Trong giải thuật này, mảng vào có độ dài FFT = 16, sau khi thực hiện đảo chỉ số sẽ đưa vào biến đổi nhanh FFT sử dụng thuật toán cánh bướm.

Với bộ dữ liệu vào

CFLOAT inp_buf[] ={{0.0, 0.0},{1.0, 3.0},{3.0,3.0},{-3.0,-1.0} ,{3.0,3.0},{-3.0,1.0},{1.0,-3.0},{0.0,0.0}

,{0.0,0.0},{-1.0,-1.0},{-1.0,-1.0},{3.0,1.0} ,{-3.0,-1.0},{1.0,1.0},{1.0,3.0},{0.0,0.0}};

Kết quả sau khi thực hiện

Inp_buf=[(0.12, 0.50), (0.10, 0.64), (-0.03, -0.03), (0.04, -0.07) ,(-0.50, -0.12), (-0.95, -0.10), (0.03, -0.03), (0.29, -0.82) ,(0.37, 0.00), (-0.07, 1.34), (-0.21, -0.21), (0.27, -1.20) ,(0.00, 0.12), (-0.07, -0.38), (0.21, -0.21), (0.38, 0.60)]

Để kiểm tra tính chính xác của giải thuật không thể nhẩm tính kết quả bằng tay vì phép tính IFFT khá cồng kềnh. Thay vào đó luận văn sử dụng hàm có sẵn đáng tin cậy như của Matlab để kiểm tra. Thực hiện dòng lệnh sau để kiểm tra:

>> X=[0+0i 1+3i 3+3i -3-i 3+3i -3+i 1-3i 0 0 -1-i -1-i 3+i -3-i 1+i 1+3i 0]; >> Y=ifft(X)

Kết quả nhận được là phù hợp chứng tỏ tính đúng đắn của giải thuật FFT đã cài đặt.

2.4.2 Cấu trúc dữ liệu của khối phát

Dữ liệu được phát liên tục do đó khi nhận được dữ liệu bên thu không chỉ khôi phục dữ liệu mà còn phải nhận biết điểm bắt đầu dữ liệu và kết thúc dữ liệu để đóng gói lại khối dữ liệu. Do đó yêu cầu đối với truyền nhận dữ liệu là phía phát ngoài việc điều chế dữ liệu để gửi đi cần có những ký tự đặc biệt giúp phía thu sau nhận diện được điểm đầu dữ liệu và kết thúc dữ liệu. Vì vậy, cần có một cấu trúc phát dữ liệu thống nhất giữa bên thu và bên phát.

Dựa vào bảng mã ASCII luận văn đã lựa chọn những kí tự đặc biệt để đưa vào khung đầu dữ liệu và cuối dữ liệu để phân biệt với dữ liệu trong khối dữ liệu truyền. Trong chương trình hiện tại sử dụng 2 ký tự ở vị trí 200 và 225 trong bảng mã ASCII.

Cơ chế gửi dữ liệu:

Trước tiên, chương trình gửi đi 10 khung dữ liệu OFDM chứa các ký tự Data

(S_Data) là các kí tự 225 để thông báo cho bên nhận biết chuẩn bị truyền dữ liệu trong khối gửi. Tiếp đó, chương trình gửi các khung OFDM chứa các S_Data là dữ liệu trong khối dữ liệu gửi. Sau khi gửi dữ liệu cuối cùng, chương trình sẽ phát các khung OFDM chứa các S_Data là các kí tự 200 để thông báo cho bên nhận biết đã truyền hết dữ liệu.

Thực hiện trong chương trình:

Biến FilePos được dùng để kiểm soát quá trình phát file và tạo cấu trúc phát file. FilePos = 0 gửi khung xác định đầu file.

for (i= 0; i< 16; i++) {

DataTrans[i]= 225; // toan bo du lieu phat se la 225 }

FilePos = 1 gửi dữ liệu trong file:

if ( (NumSend*16 + 16) > FileLengh) {

for (i= 0; i< FileLengh - NumSend*16; i++) {

DataTrans[i]= FileData[NumSend*16+i]; }

for (i= FileLengh - NumSend*16; i< 16; i++) {

DataTrans[i] = 200; }

FilePos = 2; }

FilePos = 2 gửi khung xác định cuối file:

for (i= 0; i< 16; i++) {

DataTrans[i]= 200;// toan bo du lieu phat se la 200 }

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Xây dựng hệ thống máy phát dữ liệu vô tuyến sử dụng công nghệ OFDM cho phát thanh số và truyền dữ liệu Luận văn ThS. Kỹ thuật điện tử viễn thông 60 52 70 (Trang 27 - 31)

Tải bản đầy đủ (PDF)

(74 trang)