Tạo tín hiệu ofdm bằng phép biến đổi IFFT/FFT

Một phần của tài liệu kl le quang huy 2015 621 3 (Trang 50 - 58)

CHƯƠNG I: NGUYÊN LÍ VÀ CẤU TRÚC CỦA HỆ THỐNG OFDM

CHƯƠNG 4: THIẾT KẾ HỆ THỐNG OFDM

4.2 CÁC KHỐI CHỨC NĂNG

4.2.3 Tạo tín hiệu ofdm bằng phép biến đổi IFFT/FFT

OFDM là kỹ thuật điều chế đa sóng mang, trong đó dữ liệu được truyền song song nhờ rất nhiều sóng mang phụ. Để làm được điều này, cứ mỗi kênh phụ, ta cần một máy phát sóng sine, một bộ điều chế và một bộ giải điều chế. Trong trường hợp số kênh phụ là khá lớn thì cách làm trên không hiệu quả, nhiều khi là không thể thực hiện được. Nhằm giải quyết vấn đề này, khối thực hiện chức năng biến đổi DFT/IDFT được dùng để thay thế toàn bộ các bộ tạo dao động sóng sine, bộ điều chế, giải điều chế dùng trong mỗi kênh phụ. FFT/IFFT được xem là một thuật toán giúp cho việc thực hiện phép biến đổi DFT/IDFT nhanh và gọn hơn bằng cách giảm số phép nhân phức khi thực hiện phép biến đổi DFT/IDFT và giúp tiết kiệm bộ nhớ.

4.2.3.1 Giới thiệu:

Vào năm 1965, một bài báo được xuất bản bởi Cooley và Tukey đã mô tả hiệu năng thực hiện thuật toán DFT[5]. Thuật toán này được biết với tên fast Fourier transform (FFT). Trước khi FFT được biết tới, để tính hàng nghìn điểm DFT cần đến máy tính có hiệu năng tính toán lớn thường đặt trong trung tâm nghiên cứu lớn.

Nhờ Coolkey, Tukey và công nghiệp bán dẫn mà 1024 điểm DFT có thể tính toán trong vài giây trên máy tính để bàn.

4.2.3.2 Mối quan hệ DFT và FFT

Mặc dù có một vài thuật toán FFT khác nhau đã được phát triển, chúng ta biết rằng thuật toán radix-2 FFT rất phổ biến và có mối quan hệ với thuật toán DFT[8].

Về cơ bản, vấn đề tính toán cho DFT tính toán chuỗi {X (k) N số giá trị phức tạp cho một chuỗi các dữ liệu {x (n) chiều dài N, theo công thức:

Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy (3.1)

Nói chung, các chuỗi dữ liệu x (n) được giả định là giá trị phức. Tương tự như vậy, IDFT trở thành:

(3.2)

DFT và IDFT về cơ bản cùng kiểu tính toán, nên các thuật toán áp dụng DFT cũng có thể áp dụng hiệu quả cho IDFT.

Ta thấy rằng đối với mỗi giá trị của k, để tính toán trực tiếp X (k) cần đến N phép nhân số phức (4N phép nhân số thực) và N-1 phép cộng số phức (4N-2 phép cộng số thực). Do đó, để tính toán tất cả các giá trị N của DFT yêu cầu N2 phép nhân số phức và N2-N phép cộng số phức.

Trực tiếp tính toán DFT về cơ bản là không hiệu quả chủ yếu bởi vì nó không khai thác tính đối xứng và các tính chất chu kỳ của WN. Đặc biệt, hai thuộc tính này là:

 Tính đối xứng:

 Tính chu kỳ:

Các thuật toán tính toán hiệu quả được mô tả trong chương này, được gọi chung là thuật toán biến đổi Fourier nhanh (FFT).

4.2.3.3 Thuật toán biến đổi

Chúng ta coi số điểm tính toán số điểm DFT là N = 2v, chia N điểm dữ liệu nối tiếp thành 2 luồng dữ liệu nối tiếp N/2 điểm f1(n)f2(n), tương ứng với số mẫu chẵn và số mẫu lẻ của x(n)[3]

f1(n)= x(2n)

f2(n)= x(2n + 1) (3.3)

Như vậy f1(n)f2(n) thu được bằng cách phân chia x(n) với hệ số 2, vì vậy kết quả thuật toán FFT được gọi là thuật toán phân chia theo thời gian (decimation-in- time).

Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy a. Thuật toán phân chia theo thời gian (Decimation-In-Time, DIT)

(3.4) Với = WN/2 , kết hợp điều kiện (3.3) thì phương trình (3.4) trở thành:

(3.5)

Từ đó F1(k) và F2(k) là tuần hoàn, với chu kì N/2, ta có F1(k+N/2) = F1(k) và F2(k+N/2) = F2(k), hệ số nên phương trình (3.5) trở thành:

(3.6) Ta thấy,để tính toán trực tiếp F1(k); F2(k) cần (N/2)2 phép nhân phức, cần có thêm N/2 phép nhân phức để tính Vì vậy X(k) cần 2(N/2)2 + N/2 = N2/2 + N/2 phép nhân phức. Đây là kết quả bước đầu tiên để giảm phép nhân từ N2 thành N2/2+N/2.

Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy Hình 4.8: Bước đầu tiên của thuật toán FFT DIT[8]

Việc tính toán N/4 điểm DFT, ta thu được N/2 điểm DFT F1(n) và F2(n) từ quan hệ:

F(*) miêu tả biến đổi Fourier (3.7)

Luồng dữ liệu được chia có thể được lặp lại tới khi kết quả của luồng dữ liệu giảm xuống 1 điểm. Nếu N = 2v, thì được chia thành v = log2N lần. Vì vậy tổng số bộ nhân phức được giảm xuống còn (N/2)log2N, số lượng bộ cộng phức là Nlog2N.

Hình 4.9 Ba trạng thái để tính toán có N = 8 điểm DFT[8]

Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy Hình 4.9 minh họa việc tính toán của N = 8 điểm DFT gồm 3 trạng thái, ban đầu tính toán 4 bộ 2 điểm DFT, sau đó 2 bộ 4 điểm DFT, và cuối cùng 1 bộ 8 điểm DFT. Kết hợp từ các DFT nhỏ hơn tới DFT lớn hơn như hình 4.11 cho N = 8.

Hình 4.10: Bộ butterfly trong thuật toán FFT (DIT)[8]

Hình 4.11: Thuật toán FFT 8 điểm DIT[8]

b. Thuật toán phân chia theo tần số (Decimation-In-Frequency, DIF)

Một thuật toán quan trọng khác của radix-2 FFT, được gọi là thuật toán Decimation-In-Frequency (DIF). Bắt nguồn của thuật toán, ta bắt đầu chia công thức DFT thành 2 phép tổng tính N/2 điểm dữ liệu của phần đầu và phần sau:

Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy Ta có =

(3.8) Ta chia X(k) thành mẫu chẵn và mẫu lẻ :

(3.9) Với =

Cách tính toán trên được lặp lại dể chia DFT N/2 điểm X(2k) và X(2k+1), quá trình tính toán này cần v = log2N trạng thái. Mỗi trạng thái gồm N/2 bộ butterfly như hình 4.12. Do đó, để tính toán N điểm DFT qua phân chia theo tần số (decimation-in-frequency, DIF) cần N/2log2N bộ nhân phức và Nlog2N bộ cộng phức giống như thuật toán phân chia theo thời gian (decimation-in-time, DIT). Hình 4.13 mô tả thuật toán 8 điểm DIF[8].

Hình 4.12: Bộ butterfly trong thuật toán FFT (DIF)[8]

Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy Hình 4.13: Thuật toán 8 điểm FFT (DIF)[8]

Hình 4.13 cho thấy dữ liệu đầu vào x(n) là danh sách theo thứ tự, nhưng đầu ra DFT là danh sách đảo bit. Ta có thể cấu hình lại thuật toán DIF để các chuỗi đầu vào theo trật tự đảo ngược bit trong khi đầu ra DFT có trật tự bình thường.

4.2.3.4 Chỉ số đảo bit dữ liệu đầu vào/đầu ra của FFT

Một điều chú ý liên quan tới thứ tự dữ liệu đầu vào sau khi phân chia (v-1) lần.

Ví dụ, nếu N = 8 thì dữ liệu đầu vào là x(0), x(2), x(4), x(6), x(1), x(3), x(5), x(7), và kết quả khi phân chia ở trạng thái tiếp theo: x(0), x(4), x(2), x(6), x(1), x(5), x(3), x(7). Điều này làm xáo trộn danh sách dữ liệu đầu vào được xác định từ hình 4.14.

Hình 4.14: Đảo bit dữ liệu đầu vào với FFT 8 điểm

Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy Dữ liệu từ ngõ ra bộ tạo symbol OFDM sẽ được nối với ngõ vào bộ biến đổi IFFT. Hai đường dữ liệu I và Q sẽ được nối với hai ngõ vào dữ liệu thực (real) và ảo (image) tương ứng. Phép biến đổi IFFT có ý nghĩa sắp xếp các các symbol dữ liệu trên các sóng mang con khác nhau. Việc sử dụng phép IFFT giúp hệ thống luôn đảm bảo tính trực giao của các sóng mang con. Bộ FFT ở phía đầu thu có nhiệm vụ chuyển tín hiệu OFDM thành các symbol dữ liệu tương ứng.

Thực hiện IFFT/FFT 16 điểm theo cấu trúc song song, gồm 16 đường vào/ra số thực và 16 đường vào/ra số ảo như hình 4.15 . Bên cạnh đó còn có các đường Clock, Reset, Load.

Hình 4.15 Sơ đồ khối (a),(b) thực hiện bộ IFFT/FFT 16 điểm trên FPGA.

Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy Trong đó, đầu vào IFFT là dữ liệu 8 bit phần nguyên, còn đầu ra có 12 bit – 8 bit phần nguyên, 4 bit phần thập phân (sai số sau dấu phẩy 1/16 = 0.0625), đối với FFT thì ngược lại. Kiểu dữ liệu biểu diễn dấu chấm cố định, thay cho dấu chấm động vì phần lớn ASIC DSP dùng kiểu dấu chấm cố định bởi chi phí thấp khi thực hiện các phép tính toán với số phức.

Một phần của tài liệu kl le quang huy 2015 621 3 (Trang 50 - 58)

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

(81 trang)