Hội Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015)
Hội Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015)
Kiế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: , , ,
Abstract— Thuật tố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]. Ngồ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 tốn FFT là một ví dụ tiêu biểu. Các kết quả [24] 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
ISBN: 978-604-67-0635-9
461
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 tố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 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ử
Ứng dụng
Thời
nghiệm
gian
trên
thực thi
FFT
GIN-DER
256 điểm
ASIC
MFCC trong 10,4 µs
WU [2]
Cơ số 2
(0.18µm)
nhận dạng
tiếng nói
Chin-Teng 256 điểm
ASIC
MFCC trong Lin [3]
Cơ số 16
(0.13µm)
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.
Hội Hội
Thảo
Quốc
GiaGia
2015
vềvềĐiện
CơngNghệ
NghệThơng
Thơng
(ECIT
2015)
Thảo
Quốc
2015
ĐiệnTử,
Tử,Truyền
TruyềnThơng
Thơng và
và Cơng
TinTin
(ECIT
2015)
Bảng 2. Các cấu hình FFT trong hệ thống OFDM
Cấu
hình
Tác giả
Lihong Jia
[5]
Atin
Mukherjee
[6]
64 –
8K
điểm
Cơ số
8
Jungmin
Park
[7]
K.
Umapathy
[8]
Ediz Çetin
[9]
II.
128
điểm
Cơ số
2/4/8
8
điểm
Cơ số
2
128
điểm
Cơ số
2/4
256
điểm
Cơ số
2
N
2 2 n k
1
N
2 2 n 1 k
N
1
j
j
2
2
Thời
N
x
2
n
e
x
2
n
1
e
gian
Ứng
n 0
n 0
thực thi
dụng
FFT
Thử
nghiệm
trên
Giải
Thuật
ASIC
(0.6µm)
Kiểu
đường
ống
OFDM
Cánh
bướm
đơn vị
OFDM
19,598
ns
DFTN x 0 , x 2 , , x N 2
W DFTN x 1 , x 3 , , x N 1
FPGA
(Xilinx
Virtx-6)
N
1
2
3 µs
x 2n e
e
N
2 k 2 1
j
N
x 2n 1 e
2 nk
j
N
2
FPGA
(Xilinx
Virtex-5)
Cánh
bướm
đơn vị
OFDM
ASIC
(90 nm)
Kiểu
đường
ống
MIMOOFDM
40 µs
ASIC
(0.7µm)
Cánh
bướm
đơn vị
2
2
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
N N N
N
, , ... cho đến khi p 2 , thu được biểu thức (5)
4 8 16
2
DFTN xeven n WNk DFTN xodd n
(5)
2
Với
OFDM
(4)
k
N
102,4 µs
k
WN
giá
N
2
trị
2
của
N
2
N
WNk W
k 0,1, 2,, N 1 ,
và
tính
N
. Để mơ tả
2
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 tốn tương ứng một cách tổng qt. Chi tiết hơn, tại
tầng thứ p bất kỳ, với 1 ≤ p ≤ m, với m=log2N, các phần tử của
N
chuỗi đầu vào được sắp xếp thành p nhóm, mỗi nhóm chứa
2
2p phần tử và 2p-1 phé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ố 2p-1.
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
tố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 tố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 tốn DFT – N điểm sẽ được thực thi thơng
qua thuật tốn FFT cơ số 2 bởi m tầng tính tốn (với N = 2m) ,
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).
X(0)
X(1)
X(2)
X(3)
X(4)
X(5)
X(6)
X(7)
X(N-2)
N 1
X(N-1)
X k x n WNnk , k 0,1, 2, , N 1
2
j
nk
N
chất
WNk , biểu thức cho khung cánh bướm đơn
k 0,1, 2,,
vị được hình thành như (5) với
n 0
(3)
n 0
n 0
0,33 µs
(64
điểm)
~
96,20
µs
(8K
điểm)
với WNnk e
2 nk
j
N
2
(2)
(1)
Hình 1. Mơ hình cánh bướm tổng quát FFT N điểm
462
462
Thảo
QuốcGia
Gia2015
2015về
về Điện
Điện Tử,
Truyền Thông
Thông
Tin Tin
(ECIT
2015)
HộiHội
Thảo
Quốc
Tử, Truyền
ThôngvàvàCông
CôngNghệ
Nghệ
Thông
(ECIT
2015)
2.2 Kiến trúc phần cứng thuật tốn FFT đề nghị.
Mem
Input
Mem
w
real
Mem
real
1
Mem
real
3
Mem
real
2
Mem
Imag
3
Mem
Imag
1
Mem
w
imag
FFT
CORE
vị được hồ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 tố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.
Mem
Imag
2
Bảng 3. Chi tiết chức năng của các thành phần trong khối FFT
Tên
Loại
Số Bit
Mô tả
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
FFT Control
Hình 2. Kiến trúc tổng quát khối FFT
addr_input
12
data_input
32
addr_out_r
12
data_out_r
32
addr_out_i
12
data_out_i
32
rd_ena
addr_w_r
12
data_w_r
FFT
wr_ena
end_fft
addr_w_i
data_w_i
32
Về chi tiết bên trong, các khối cơ bản được giới thiệu cụ thể
như sau.
rd_ena
Hình 3. Mơ hình sơ đồ chi tiết khối FFT
a/ Các khối bộ nhớ nội
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 tố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 qt 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à q trình tính FFT được bắt đầu. Trong q trình
thực hiện thuật tốn FFT, khối FFT_CORE đảm nhận việc
tính tốn cho nửa cánh bướm đơn vị. Khi một cánh bướm đơn
Mem Control
Int
Reg
clk
rst_n
ena_rd
ena_wr
Int
Reg
Logic
Block
addr_rd
12
addr_wr
12
32
MEM
32 BIT
rd/wr
Hình 4. Kiến trúc khối bộ nhớ nội
463
463
32
Hội Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015)
Hội Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015)
Khố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.
đượ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.
b/ Khối cánh bướm đơn vị (FFT CORE)
Hình 7. Mơ hình chuyển trạng thái cho khối FFT
Bảng 4. Mơ tả q trình chuyển trạng thái
Trạng thái
Mơ tả
RESET
Reset tồ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 tốn
cánh bướm.
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
tố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 tốn cho bởi
hình 6 và các phép tốn tương ứng ở cơng thức (5). Tương
ứng mỗi phép tố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.
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
Sai số trung bình của
Sai số trung bình của
Số điểm
phần thực (Er)
phần ảo (Ei)
8 điểm
1,034 .10-7
2,649 .10-7
-7
16 điểm
2,915 .10
6,786 .10-7
32 điểm
5,278 .10-8
2,930 .10-8
-7
64 điểm
1,286 .10
2,459 .10-8
-7
128 điểm
3,083 .10
1,326 .10-8
256 điểm
1,009 .10-7
1,351 .10-8
-7
512 điểm
1,107 .10
7,432 .10-8
-7
1024 điểm
1,138 .10
9,462 .10-9
Hình 6. Mơ tả chi tiết các phép toán trong cánh bướm đơn vị
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.
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ị
464
464
Hội Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015)
Hội Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015)
đề 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 q trình tính tố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 tồ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ỏ.
n
E
/x y /
i
i
i
(6)
n
T 10 [TFIRST ARRANGE log 2 N - 2
TBUTTERFLY &WAITE & LOOP ARRANGE TLOOP ARRANGE ]
10 3N 15 log 2 N - 2 2 N 13 N 2
10[ 2 N 13 log 2 N - 9]
(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ì hỗn và thời gian tương ứng
Số điểm FFT
Số chu kỳ trì hỗn
Thời gian trì hỗn (ns)
8
780
1560
16
1710
3420
32
3760
7520
64
8370
16740
128
18740
37480
256
41910
83820
512
93240
186480
1024
206010
412020
2048
451900
903800
4096
984510
1969020
IV.
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 hồ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.
Bảng 7. So sánh kết quả tổng hợp xuống lớp cổng
Số
Công Thời gian
Tần Số
Công
Điểm
suất
thực thi
Tác Giả
(MHz)
Nghệ
FFT
(mW)
FFT
GIN-DER
ASIC
256
100
89,18
10.4 µs
WU [2]
(0.18µm)
Chin-Teng
ASIC
256
100
22.37
Lin [3]
(0.13µm)
Dongsuk
ASIC
1024
19
6,7 µs
Jeon [4]
(65 nm)
Lihong Jia
ASIC
128
50
400
3 µs
[5]
(0.6µm)
Atin
Mukherjee[6]
K. Umapathy
[8]
Ediz ầetin
[9]
FFT ngh
FPGA
(Xilinx
Virtx-6)
ASIC
(90 nm)
ASIC
(0.7àm)
ASIC
(130nm)
8
51
-
19.598 ns
128
40
-
40 às
256
40
-
102,4 às
84096
500
3.44
1.5às1.969ms
KT LUN
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]
[2]
[3]
[4]
[5]
[6]
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ì hỗ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ế
[7]
[8]
[9]
465
465
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.
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.
Chin-Teng Lin, Yuan-Chu Yu, Lan-Da Van, "Cost-Effective TripleMode Reconfigurable Pipeline" in IEEE Transactions On Very Large
Scale Integration (VLSI) Systems, vol. 16, no. 8, pp. 1058-1071, 2008.
Dongsuk Jeon, Mingoo Seok, Chaitali Chakrabarti, David Blaauw,
Dennis Sylvester, "Energy-Optimized High Performance FFT
Processor" in ICASSP, 2011, pp. 1701-1704.
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.
Atin Mukherjee, Amitabha Sinha, Debesh Choudhury, "A Novel
Architecture of Area Efficient FFT" in ACM SIGARCH Computer
Architecture News, December 2014.
Jungmin Park, "Design of a radix-8/4/2 FFT processor for OFDM" in
Iowa State University of Science and Technology, Ames, Iowa, 2011.
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.
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.