Bài viết bàn về thuật toán biến đổi FFT (Fast Fourier Transform) được áp dụng một cách rộng rãi trong nhiều ứng dụng khác nhau bao gồm phân tích phổ tín hiệu trong các hệ thống OFDM (Orthogonal Frequency Division Multi-plexing), trích đặc trưng âm thanh MFCC (Mel Frequency Cepstral Coefficients) trong hệ thống nhận dạng giọng nói hay trong các hệ thống xử lý số tín hiệu cần phân tích trên miền tần số nói chung. Mời các bạn cùng tham khảo!
Trang 1Kiến Trúc Vi Mạch FFT Cơ Số Hai Với Số Điểm
Linh Động Và Độ Chính Xác Cao Với
Công Nghệ 130nm
Phạm Đăng Lâm, Nguyễn Trọng Ngô Nhật Du, Ngô Thành Đạt và Hoàng Trang
Khoa Điện-ĐiệnTử, Đại Học Bách Khoa Thành Phố Hồ Chí Minh Email: lamd.pham@hcmut.edu.vn,nhatdu.bentre@gmail.com,thanhdat5494@gmail.com,hoangtrang@hcm.edu.vn
Abstract— Thuật toán biến đổi FFT (Fast Fourier Transform)
được áp dụng một cách rộng rãi trong nhiều ứng dụng khác nhau
bao gồm phân tích phổ tín hiệu trong các hệ thống OFDM
(Orthogonal Frequency Division Multi-plexing), trích đặc trưng
âm thanh MFCC (Mel Frequency Cepstral Coefficients) trong hệ
thống nhận dạng giọng nói hay trong các hệ thống xử lý số tín
hiệu cần phân tích trên miền tần số nói chung Tuy nhiên, hầu
hết các nghiên cứu gần đây đa phần tiếp cận dựa trên phần mềm
hoặc những kiến trúc phần cứng với số điểm cố định Ngoài ra,
việc sử dụng phương pháp xấp xỉ hay dấu chấm tĩnh trong việc
thực thi phần cứng cũng cho thấy hạn chế với sai số lớn khi mà
chuỗi tính toán trở nền dài hơn với số điểm trở nên lớn hơn
nhiều Để có thể khắc phục được những yếu điểm này, một kiến
trúc vi mạch cho thuật toán FFT cơ số hai không chỉ với số điểm
có thể thay đổi tuỳ ý mà còn áp dụng dấu chấm động với độ
chính xác cao theo quy trình sản xuất ASIC (Application-Specific
Integrated Circuit) được giới thiệu Một số kết quả thực nghiệm
trên nền công nghệ 130nm cho thấy những ưu thế khi so sánh với
các thiết kế khác cũng được thực hiện
Keywords- FFT (Fast Fourier Transform), MDC (Multipath
Delay Commutator), OFDM (Orthogonal Frequency Division
Multi-plexing), MFCC (Mel Frequency Cepstral Coefficients), dấu
chấm động
I GIỚI THIỆU Cùng với sự phát triển không ngừng của lĩnh vực xử lý tín
hiệu số, khối kiến trúc FFT, một thành phần không thể thiếu
trong hệ thống xử lý tín hiệu số, cũng được yêu cầu khắt khe
hơn nhằm tạo ra các tiện lợi nhất có thể Khá nhiều giải thuật
thực thi FFT được tiếp cận và đạt được thành công bởi sự hỗ
trợ của ngôn ngữ lập trình cũng như các máy tính hiệu suất cao
[1] Ngoài ra, với sự phát triển mạnh mẽ của phần cứng khi mà
yêu cầu mật độ tích hợp ngày càng cao, một số kiến trúc phần
cứng FFT cũng đã được tiếp cận Cụ thể, trong ứng dụng nhận
dạng giọng nói mà trong đó kiến trúc trích đặc trưng MFCC
tích hợp thuật toán FFT là một ví dụ tiêu biểu Các kết quả
[2-4] cho thấy các ứng dụng đặc thù khác nhau về ngôn ngữ nhận
dạng, số từ nhận dạng và độ tích hợp của hệ thống yêu cầu
thuật toán FFT với số điểm khác nhau Một khảo sát được thực
hiện ở bảng 1 cho thấy một số thống kê tiêu biểu nhất về các
cấu hình FFT khác nhau trong kiến trúc trích đặc trưng giọng
nói MFCC Một trong những ứng dụng không thể thiếu kiến
trúc FFT là hệ thống OFDM được đề cập trong [5-9] Một khảo sát khác được thực hiện cho các hệ thống này qua bảng 2 cho thấy hầu hết các cấu hình FFT với số điểm nhỏ với dấu chấm tĩnh Đối với các ứng dụng FFT với số điểm lớn từ 128 điểm trở lên, chủ yếu các ứng dụng sử dụng khả năng lập trình với với các máy tính hiệu suất cao Chỉ một số ít kiến trúc FFT với
số điểm lớn được đề cập với xu hướng giảm thiểu phần cứng tối đa có thể Cụ thể khối kiến trúc FFT 128 điểm cấu hình dấu chấm tĩnh được đề cập trong [5], trong khi đó một kiến trúc FFT khác với số điểm là 256 được giới thiệu trong [9] Từ những khảo sát trên có thể cho thấy các ứng dụng sử dụng các cấu hình phần cứng FFT cứng nhắc và chủ yếu tiếp cận dấu chấm tĩnh Đối với các thuật toán đòi hỏi số điểm FFT lớn, không chỉ việc thực thi hiệu quả trên phần cứng với tốc độ cao
mà độ chính xác trở thành những yêu cầu không thể thiếu đối với các hệ thống thời gian thực Để có thể đáp ứng được những điều kiện này, một kiến trúc phần cứng FFT với số điểm linh động có thể cấu hình được ở cấp độ lớp cổng một cách dễ dàng trong giới hạn từ 8-4096 với cấu hình dấu chấm động được đề nghị
Bảng 1 Khảo sát cấu hình FFT trong trích đặc trưng MFCC Tác giả Cấu hình Thử
nghiệm trên
Ứng dụng Thời
gian thực thi FFT GIN-DER
WU [2] 256 điểmCơ số 2 ASIC(0.18µm) MFCC trong nhận dạng
tiếng nói
10,4 µs
Chin-Teng Lin [3] 256 điểmCơ số 16 ASIC(0.13µm) MFCC trong nhận dạng
tiếng nói
-Dongsuk Jeon [4]
1024 điểm
Cơ số 4
ASIC (65 nm) MFCC trong nhận dạng
tiếng nói
6,7 µs
Phần còn lại của bài báo được trình bày như sau, phần II
mô tả kiến trúc chi tiết phần cứng FFT đề nghị Tiếp đó, phần III mô tả kết quả thiết kế với sự linh hoạt, độ chính xác, tốc độ
và sự tiêu hao về tài nguyên cũng như các so sánh với các thiết
kế khác Cuối cùng phần IV kết luận tổng thể và trình bày những công việc dự kiến sau bài báo này
Trang 2Bảng 2 Các cấu hình FFT trong hệ thống OFDM
Tác giả hìnhCấu nghiệmThử
trên
Giải Thuật dụngỨng
Thời gian thực thi FFT Lihong Jia
[5]
128
điểm
Cơ số
2/4/8
ASIC (0.6µm)
Kiểu đường ống OFDM
3 µs
Atin
Mukherjee
[6]
8 điểm
Cơ số
2
FPGA (Xilinx Virtx-6)
Cánh bướm đơn vị OFDM
19,598 ns
Jungmin
Park
[7]
64 –
8K
điểm
Cơ số
8
FPGA (Xilinx Virtex-5)
Cánh bướm đơn vị OFDM
0,33 µs (64 điểm)
~ 96,20 µs (8K điểm) K
Umapathy
[8]
128
điểm
Cơ số
2/4
ASIC (90 nm)
Kiểu đường ống
MIMO-OFDM 40 µs
Ediz Çetin
[9]
256
điểm
Cơ số
2
ASIC (0.7µm)
Cánh bướm đơn vị OFDM 102,4 µs
II KIẾN TRÚC PHẦN CỨNG THUẬT TOÁN FFT
2.1 Thuật toán FFT
FFT là một trong những thuật toán dùng để tính nhanh DFT
trong các hệ thống số Trong các hệ thống hiện nay, việc tính
toán DFT sử dụng thuật toán FFT với nhiều lợi thế so với các
phương pháp tính toán trực tiếp Có hai phương pháp chính để
thực hiện thuật toán FFT, một là phân huỷ theo thời gian và
hai là phân huỷ theo tần số Trong đó, có thể chọn các cơ số
khác nhau như 2, 4, 8 hay các cơ số lớn hơn Bài báo lựa chọn
thuật toán FFT cơ số 2 phân huỷ theo thời gian đã được áp
dụng rộng rãi trong các hệ thống và ứng dụng khác nhau như
đã trình bày thông qua các khảo sát ở bảng 1 và bảng 2 Cụ
thể, đặc tả việc tính toán DFT – N điểm sẽ được thực thi thông
qua thuật toán FFT cơ số 2 bởi m tầng tính toán (với N = 2 m) ,
trong đó mỗi tầng có giá trị đầu vào và giá trị đầu ra riêng biệt
Giá trị đầu ra của tầng hiện tại là giá trị đầu vào của tầng kế
tiếp Thuật toán FFT cơ số 2 phân huỷ theo thời gian sẽ phân
bổ phương trình DFT thành tổng của hai phần, một phần là
DFT cho chuỗi dữ liệu có chỉ số chẵn n = [0,2,4,…, N-2] và
một phần còn lại là DFT cho chuỗi dữ liệu có chỉ số lẻ n =
[1,3,5,…, N-1] như các biểu thức được biến đổi từ (1) đến (4)
1
0
, 0,1 , 2, , 1
N
nk N n
với
2
j nk
N
k
N
2
2
0 , 2 , , 2
1 , 3 , , 1
N k
Tiếp tục phân tích biểu thức (4) thành tổng của DFT cho chuỗi
dữ liệu chỉ số chẵn và DFT cho chuỗi dữ liệu chỉ số lẻ theo , ,
4 8 16
N N N cho đến khi 2
2N , thu được biểu thức (5) p
Với giá trị của k0,1, 2, , N1 , và tính chất
W W W W , biểu thức cho khung cánh bướm đơn
vị được hình thành như (5) với 0,1, 2, ,
2
N
k Để mô tả cho công thức (5), hình 1 cho thấy thứ tự bố trí cũng như các tầng tính toán tương ứng một cách tổng quát Chi tiết hơn, tại
tầng thứ p bất kỳ, với 1 ≤ p ≤ m, với m=log 2 N, các phần tử của
chuỗi đầu vào được sắp xếp thành
2N nhóm, mỗi nhóm chứa p
2 p phần tử và 2 p-1phép tính khối cánh bướm đơn vị Với thuật toán cơ số 2, hai phần tử tham gia khối tính cánh bướm này ở
tầng thứ p cách nhau một chỉ số 2 p-1
X(0)
X(1) X(2)
X(3) X(4)
X(5)
X(N-2) X(7) X(6)
X(N-1)
Hình 1 Mô hình cánh bướm tổng quát FFT N điểm
Trang 32.2 Kiến trúc phần cứng thuật toán FFT đề nghị
Mem Imag
2
FFT CORE
FFT Control
Mem Imag
1
Mem real
2
Mem real
1
Mem real
3 Mem Imag
3
Mem
Input
Mem
w
real
Mem
w
imag
Hình 2 Kiến trúc tổng quát khối FFT
FFT
12
32
rd_ena
12
32
rd_ena
12 32 12 32 wr_ena
addr_input
data_input
addr_w_r
data_w_r
addr_w_i
data_w_i
addr_out_r data_out_r addr_out_i data_out_i
end_fft
Hình 3 Mô hình sơ đồ chi tiết khối FFT
Dựa trên mô hình cánh bướm có thể thấy được việc lặp đi lặp
lại các phép toán cộng và nhân của một cánh bướm là như
nhau Sự khác biệt giữa các cánh bướm chính là cách truyền
các giá trị ngõ vào khác nhau trên từng tầng cũng như trên
từng hàng tính toán như hình 1 Dựa trên yếu tố này, kiến trúc
FFT đề xuất được mô tả với kiến trúc tổng quát như hình 2 và
giao diện như hình 3 Kiến trúc tổng quan cho thấy các giao
diện ngõ vào và ra của kiến trúc FFT đề xuất Trước hết, dữ
liệu mong muốn tính FFT được lưu trữ thông qua việc ghi dữ
liệu lên bộ nhớ nội Cụ thể giá trị N điểm FFT trên bộ nhớ
ngoài Mem_Input sẽ được lần lượt ghi vào bộ nhớ nội
Mem_real_1 Sau đó, số điểm FFT được thiết lập thông qua
thanh ghi nội Kết thúc việc thiết lập, tín hiệu ena_fft được
kích thích và quá trình tính FFT được bắt đầu Trong quá trình
thực hiện thuật toán FFT, khối FFT_CORE đảm nhận việc
vị được hoàn tất, cặp giá trị tương ứng được lưu trữ trên các
bộ nhớ nội Mem_imag_3 và Mem_real_ 3 Các giá trị này sau
đó được lưu trữ ngược lại các bộ nhớ nội Mem_real_1, Mem_rea_2, Mem_imag_1, Mem_imag_2 và trở thành dữ liệu
đầu vào cho cánh bướm đơn vị được tính toán ở các tầng tiếp theo Kết thúc quá trình FFT, kết quả được lưu trữ trên hai bộ
nhớ nội Mem_imag_3 và Mem_real_3 với các giá trị phần
thực và phần ảo riêng biệt Việc truy xuất hai giá trị này từ hai
bộ nhớ nội cũng thông qua giao thức đọc dữ liệu từ bộ nhớ
thông thường với nhóm tín hiệu cho phép ghi wr_ena, địa chỉ addr_out và dữ liệu ngõ ra data_out Cụ thể giao diện FFT
được mô tả chi tiết qua bảng 3
Bảng 3 Chi tiết chức năng của các thành phần trong khối FFT
addr_input input 12 Địa chỉ của tín hiệu vào data_input input 32 Tín hiệu vào
rd_ena_input input 1 Chân cho phép đọc bộ nhớ chứa
dữ liệu ngõ vào fft_ena input 1 Chân cho phép khối FFT thực
thi addr_w_r input 12 Địa chỉ phần thực của hệ số
xoay W data_w_r input 32 Dữ liệu phần thực của hệ số
xoay W addr_w_i input 12 Địa chỉ phần ảo của hệ số xoay
W data_w_i input 32 Dữ liệu phần ảo của hệ số xoay
W rd_ena_w output 1 Chân cho phép đọc bộ nhớ chứa
hệ số xoay W addr_out_r output 12 Địa chỉ phần thực của tín hiệu ra data_out_r output 32 Dữ liệu phần thực của tín hiệu ra addr_out_i output 12 Địa chỉ phần ảo của tín hiệu ra data_out_i output 32 Dữ liệu phần ảo của tín hiệu ra wr_ena output 1 Chân cho phép ghi kết quả vào
bộ nhớ nội end_fft input 1 Chân cho phép khối FFT kết
thúc
Về chi tiết bên trong, các khối cơ bản được giới thiệu cụ thể như sau
a/ Các khối bộ nhớ nội
MEM
32 BIT ena_wr rd/wr
12
32
addr_rd addr_wr ena_rd
Mem Control
Int Reg Int Reg Logic Block rst_n
clk
Trang 4Khối bộ nhớ nội đơn giản là các kiến trúc bộ nhớ thư viện có
sẵn của công nghệ 130nm mà bài báo tiếp cận, tuy nhiên để có
thể sử dụng linh hoạt các khối kiến trúc này, một bộ điều
khiển đi kèm được thiết kế cho phép việc đọc và ghi được hiệu
quả Hình 4 cho thấy giao diện cũng như sự kết hợp chi tiết
giữa khối điều khiển và kiến trúc bộ nhớ nội trong thư viện có
sẵn
b/ Khối cánh bướm đơn vị(FFT CORE)
Hình 5 Mô tả cánh bướm đơn vị Các phép tính cấu thành khối cánh bướm đơn vị được thực
hiện trên số dấu chấm động 32 bit theo chuẩn IEEE 754 Tính
toán một cánh bướm bản chất bao gồm một bộ cộng phức, một
bộ trừ phức và một bộ nhân phức Chi tiết phép toán một cánh
bướm được thực hiện bởi hình 5 và công thức (5) Cụ thể, bộ
cộng phức có thể được tạo ra từ 2 bộ cộng thông thường, một
cho phần thực và một cho phần ảo Bộ cộng phức cũng thực
hiện được cho bộ trừ phức bằng việc đảo bit đầu tiên của số
dấu chấm động 32 bit để tiết kiệm diện tích Bộ nhân phức bao
gồm một bộ cộng thực, một bộ trừ thực và 4 bộ nhân thực
Tóm lại, trong cánh bướm đơn vị có 4 bộ cộng thực và 4 bộ
nhân thực và được mô tả bởi thứ tự thực thi phép toán cho bởi
hình 6 và các phép toán tương ứng ở công thức (5) Tương
ứng mỗi phép toán số dấu chấm động 32 bit tốn 10 chu kỳ Do
đó, với kiến trúc tương ứng như hình 6 cho thấy ước lượng
mỗi cánh bướm hoàn tất yêu cầu 30 chu kỳ bao gồm quá trình
điều khiển việc đọc ghi các giá trị ngõ vào và ngõ ra
Hình 6 Mô tả chi tiết các phép toán trong cánh bướm đơn vị
c/ Khối điều khiển
Để có thể điều khiển nhịp nhàng các giá trị ngõ vào và ra
tương ứng sao cho thứ tự thực hiện ở một cánh bướm đơn vị
được chính xác, mô hình điều khiển với các trạng thái chi tiết được mô tả bởi hình 7 và bảng 4
Hình 7 Mô hình chuyển trạng thái cho khối FFT Bảng 4 Mô tả quá trình chuyển trạng thái Trạng thái Mô tả
RESET Reset toàn bộ khối kiến trúc FFT
INITIAL Bắt đầu quá trình lấy dữ liệu từ bộ nhớ FIRST_ARRANGE Thực hiện phép toán đảo bit để sắp xếp
chuỗi dữ liệu đầu vào ban đầu
BUTTERFLY Thực hiện phép toán trên một cánh bướm
đơn vị
WAIT Tạo khoảng đợi khi cánh bướm đơn vị được
thực thi
LOOP_ARRANGE Sắp xếp chuỗi dữ liệu đầu ra sau phép toán
cánh bướm
III THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ Theo quy trình thiết kế ASIC, trước hết đặc tả kiến trúc FFT được thực thi bởi ngôn ngữ mô tả phần cứng Verilog ở cấp độ RTL Sau đó, thiết kế được kiểm tra với tập các tín hiệu ngõ vào ngẫu nhiên thay đổi Các kết quả tương ứng được so sánh với kết quả phần mềm Matlab cho thấy mức độ chính xác của thiết kế Cụ thể bảng 5 khảo sát thuật toán FFT trên phần cứng
từ 8 điểm đến 1024 điểm cho thấy kết quả sai số chính xác của thực thi phần cứng so với công thức chính xác trên Matlab Kết quả sai số nhỏ cho thấy hiệu năng của việc áp dụng dấu chấm động
Bảng 5 So sánh kết quả mô phỏng phần cứng và phần mềm
Số điểm Sai số trung bình củaphần thực (E
r) Sai số trung bình củaphần ảo (Ei)
8 điểm 1,034 10-7 2,649 10-7
16 điểm 2,915 10-7 6,786 10-7
32 điểm 5,278 10-8 2,930 10-8
64 điểm 1,286 10-7 2,459 10-8
128 điểm 3,083 10-7 1,326 10-8
256 điểm 1,009 10-7 1,351 10-8
512 điểm 1,107 10-7 7,432 10-8
1024 điểm 1,138 10-7 9,462 10-9
Với công thức tính sai số trung bình được trình bảy ở (6) mà
trong đó n là số điểm FFT, x là kết quả mô phỏng phần cứng bởi ngôn ngữ Verilog và y là giá trị mô phỏng phần mềm bởi
ngôn ngữ Matlab
Trang 5/ x y /
n
i i i
E
n
(6)
2
& &
2 2
10[ 2 13 log - ]9
FIRST ARRANGE
BUTTERFLY WAITE LOOP ARRANGE LOOP ARRANGE
(7)
Với N từ 8 đến 4096 tương ứng số chu kỳ và thời gian tương
ứng tần số 500Mhz như bảng 6
Bảng 6 Số xung clock trì hoãn và thời gian tương ứng
Số điểm FFT Số chu kỳ trì hoãn Thời gian trì hoãn (ns)
Bảng 7 So sánh kết quả tổng hợp xuống lớp cổng
Tác Giả Công Nghệ ĐiểmSố
FFT
Tần Số (MHz)
Công suất (mW)
Thời gian thực thi FFT GIN-DER
WU [2] (0.18µm)ASIC 256 100 89,18 10.4 µs
Chin-Teng
Lin [3] (0.13µm)ASIC 256 100 22.37
-Dongsuk
Jeon [4] (65 nm)ASIC 1024 19 - 6,7 µs
Lihong Jia
[5] (0.6µm)ASIC 128 50 400 3 µs
Atin
Mukherjee[6] (Xilinx FPGA
Virtx-6)
K Umapathy
Ediz Çetin
[9] (0.7µm)ASIC 256 40 - 102,4 µs
FFT đề nghị ASIC
(130nm) 40968- 500 3.44 1.969ms 1.5µs-Dựa trên bảng 6 cho thấy số chu kỳ gần như tăng hơn gấp hai
lần khi mà số điểm cần tính FFT tăng gấp đôi Tuy nhiên với
tần số đạt được trong quá trình tổng hợp ở lớp cổng vật lý ở
công nghệ 130nm là 500 Mhz, thời gian trì hoãn lớn nhất
tương ứng cấu hình lớn nhất 4096 tương đương 2 ms cho thấy
tính khả thi đáp ứng thời gian thực Các kết quả tổng hợp được
so sánh với các thiết kế tham khảo khác được thống kê như
bảng 7 Dựa trên các giá trị so sánh ở bảng 7 cho thấy thiết kế
đề xuất đạt tần số vượt trội so với các thiết kế khác nhờ vào
việc thiết kế FFT_CORE đơn giản Trong khi đó nếu so sánh
về mặt thời gian thực thi, với tần số tối đa đạt được tối ưu hơn các kiến trúc khác nhưng thời gian thực thi chỉ cải thiện một phần nhỏ cho thấy việc lặp đi lặp lại quá trình tính toán một cánh bướm có những hạn chế nhất định Một trong những lợi thế khác đối với kiến trúc thiết kế đề nghị là việc mở rộng giới hạn số điểm tính FFT lớn nhất được thực hiện một cách dễ dàng ở cấp độ mức cổng mà không ảnh hưởng nhiều đến toàn
bộ hệ thống Điều này cho thấy khả năng tái sử dụng và tính linh động trong thiết kế phần cứng Mặt khác, việc mở rộng số điểm không ảnh hưởng đến diện tích thiết kế khối FFT_CORE
mà chỉ ảnh hưởng đến dung lượng bộ nhớ nội Tổng cộng có 9
bộ nhớ nội được đề xuất với dung lượng là như nhau Cụ thể nếu thiết kế đề xuất tối đa 4096 điểm thì tương đương cần 9 bộ nhớ nội với mỗi bộ có dung lượng 128Kb tương đối nhỏ
IV KẾT LUẬN Một kiến trúc vi mạch FFT động với độ chính xác cao được giới thiệu và phân tích chi tiết Các kết quả thu được từ quy trình thiết kế ASIC cho thấy hiệu quả của thiết kế so với các thiết kế tham khảo khác trong việc so sánh độ chính xác và tốc
độ cũng như độ linh động ứng dụng Việc thiết kế FFT động là bước đầu cho việc hoàn chỉnh một kiến trúc trích đặc trưng MFCC động mà có thể áp dụng cho hầu hết các hệ thống nhận dạng giọng nói mà thích nghi với các chất giọng khác nhau cũng như số lượng nhận dạng sẽ là các công việc sắp tới cần thực hiện.
Acknowledgement - Nghiên cứu này được tài trợ bởi Bộ Khoa Học và Công Nghệ qua đề tài có mã số KC.01.23/11-15.
TÀI LIỆU THAM KHẢO [1] Teo Cupaiuolo, Daniele Lo Iacono, "A Flexible and Fast Software Implementation of FFT on the BPE platform" in Design, Automation & Test in Europe Conference & Exhibition, March 2012, pp.1467-1470 [2] Gin-der Wu, Ying Lei, "A Register Array Based Low Power FFT Processor" in Journal of Information Science and Engineering, vol.24, Issue 3, pp 981-991, 2008
[3] Chin-Teng Lin, Yuan-Chu Yu, Lan-Da Van, "Cost-Effective Triple-Mode Reconfigurable Pipeline" in IEEE Transactions On Very Large Scale Integration (VLSI) Systems, vol 16, no 8, pp 1058-1071, 2008 [4] Dongsuk Jeon, Mingoo Seok, Chaitali Chakrabarti, David Blaauw, Dennis Sylvester, "Energy-Optimized High Performance FFT Processor" in ICASSP, 2011, pp 1701-1704
[5] Lihong Jia, Bingxin Li, Yonghong Gao, Hannu Tenhunen,
"Implementation of A Low Power 128-Point FFT" in Solid-State and Integrated Circuit Technology, Beijing, 1998, pp.369-372
[6] Atin Mukherjee, Amitabha Sinha, Debesh Choudhury, "A Novel Architecture of Area Efficient FFT" in ACM SIGARCH Computer Architecture News, December 2014
[7] Jungmin Park, "Design of a radix-8/4/2 FFT processor for OFDM" in Iowa State University of Science and Technology, Ames, Iowa, 2011 [8] K Umapathy, D Rajaveerappa, "Low Power 128-Point Pipeline FFT Processor using Mixed Radix 4/2 for MIMO OFDM Systems" in International Journal of Soft Computing and Engineering (IJSCE), vol
2, no 5, pp 177-179, November 2008.
[9] Ediz Çetin, Richard C S Morling, Izzet Kale, "An Integrated 256-point Complex FFT Processor for Real-time Spectrum Analysis and Measurement" in IEEE Proceedings of Instrumentation and MeasurementTechnology Conference, Canada, May 1997, pp.96-101