Professional Documents
Culture Documents
LỜI CẢM ƠN
TÓM TẮT ĐỒ ÁN
1
Thực hiện FFT trên FPGA
MỤC LỤC
I. GIỚI THIỆU: ........................................................................................................... 5
1. Tổng quan: ........................................................................................................... 5
2. Nhiệm vụ đề tài: .................................................................................................. 5
II. LÝ THUYẾT: ................................................................................................................ 5
1. FPGA: .................................................................................................................... 5
2. FFT/DFT: ............................................................................................................... 6
3. MODELSIM PE: ..................................................................................................... 8
III. PHẦN MỀM ............................................................................................................ 8
1. Module Bfly0:....................................................................................................... 8
2. Module Bfly1:....................................................................................................... 9
3. Module FFT_8: ................................................................................................... 10
IV. KẾT QUẢ THỰC HIỆN ........................................................................................ 11
1. Kết quả ............................................................................................................... 11
2. So sánh với Matlab ............................................................................................ 12
V. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ................................................................... 13
1. Đánh giá: ............................................................................................................ 13
2. Hướng phát triển: .............................................................................................. 13
VI. TÀI LIỆU THAM KHẢO ....................................................................................... 14
VIII. PHỤ LỤC ............................................................................................................... 14
2
Thực hiện FFT trên FPGA
3
Thực hiện FFT trên FPGA
4
Thực hiện FFT trên FPGA
I. GIỚI THIỆU:
1. Tổng quan:
Nói về ngành thiết kế vi mạch mà em theo đuổi em biết có 1 vi
mạch tích hợp FPGA. Với những đề tài thầy đề ra em xin chọn đề
tài thực hiện FFT trên FPGA.
2. Nhiệm vụ đề tài:
Nội dung 1: Tìm hiểu các lý thuyết liên quan
Nội dung 2: Viết demo FFT 8 bit bằng code Verilog
II. LÝ THUYẾT:
1. FPGA:[1]
c) Ứng dụng:
Xử lý tín hiệu số DSP, các hệ thống hàng không, vũ trụ, quốc phòng, tiền
thiết kế mẫu ASIC, các hệ thống điều khiển trực quan, phân tích nhận dạng
ảnh, nhận dạng tiếng nói, mô hình phần cứng máy tính, máy đánh cờ,…
Các bài toán phức tạp cũng được FPGA giải quyết nhanh mà trước kia chỉ
có thể được thực hiện trên phần mềm máy tính bởi tính linh động cao của
nó. Ngoài ra, nhờ số lượng mật độ các cổng logic trong FPGA tương đối
lớn có thể thực hiện cá bài toán có độ phức tạp cao cần khối lượng bước
tính toán lớn và dùng trong các thời gian thực.
2. FFT/DFT: [2]
a) Ứng dụng:
Tính toán phổ tần số tín hiệu
Thuật toán tích chập vòng hiệu quả bằng FFT
Mã hóa các dạng sóng như tiếng nói hay hình ảnh cho việc truyền dẫn dữ
liệu hiệu quả.
b) DFT (Discrete Fourier Transform):
DFT là bộ biến đổi 1 chuỗi N số điểm liên tục trên miền thời gian thành 1
chuỗi N số điểm rời rạc trên miền tần số.
Giả sử x(n) là tín hiệu rời rạc có chiều dài hữu hạn L:
Công thức biến đổi DFT – N điểm (N>=L) của x(n) là:
6
Thực hiện FFT trên FPGA
Với và
d) FFT – 8 điểm :
FFT – radix 2 có cơ số cơ bản nhất trong thiết kế thuật toán FFT/IFF có
phần tiết kiệm tài nguyên nhưng bù lại thuật toán sẽ không có độ chính
xác cao và tốc độ kém hơn các thiết kế có cơ số hỗn hợp.
FFT – radix 2 8 điểm phân chia theo 2 cách:
Theo thời gian:
7
Thực hiện FFT trên FPGA
8
Thực hiện FFT trên FPGA
9
Thực hiện FFT trên FPGA
3. Module fft_8:
Là module kết hợp 2 module trên để cho ra 8 giá trị cần tìm.
Là module có input: 8 giá trị nguyên x0 đến x7 ; output: 8 giá trị phức từ y0
đến y7.
Sơ đồ giải thuật:
x0 X0
x4 Bfly0 (W0) Bfly0 (W0) Bfly0 (W0) X1
x2 X2
x6 Bfly0 (W0) Bfly0 (W2) Bfly1 (W1) X3
x1 X4
x5 Bfly0 (W0) Bfly0 (W0) Bfly0 (W2) X5
x3 X6
x7 Bfly0 (W0) Bfly0 (W2) Bfly1 (W3) X7
10
Thực hiện FFT trên FPGA
11
Thực hiện FFT trên FPGA
Bảng so sánh kết quả FFT 8 điểm thông qua ModelSim và Matlab
Vd1 x(n)={0 1 2 3 4 5 6 7} Vd2 x(n)={1 2 3 4 -3 -1 0 2}
ModelSim Matlab ModelSim Matlab
X0 1c 00 28 08 00 8
28 8
X1 c0 9a -4+9.6569i 4b 97 4.4071-6.5355i
-4+9.625i 4.6875-6.5625i
X2 fc 04 -4+4i fb 05 -5+5i
-4+4i -5+5i
X3 c0 1a -4+1.6569i 35 f7 3.2929-0.5355i
-4+1.625i 3.3125-0.5625i
X4 fc 00 -4 fa 00 -6
-4 -6
X5 c0 e6 -4-1.6569i 35 09 3.2929+0.5355i
-4-1.625i 3.3125+0.5625i
X6 fc fc -4-4i fb fb -5-5i
-4-4i -5-5i
X7 c0 66 -4-9.6569i 4b 69 4.4071+6.5355i
-4-9.625i 4.6875+6.5625i
Từ kết quả thu được qua 2 ví dụ ta thấy việc mô phỏng chính xác với các giá trị X1, X3, X5,
X7 biểu diễn 4 bit cao là phần nguyên và 4 bit thấp là phần thập thân.
V. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
1) Đánh giá:
Có sai số giữa hai kết quả nhưng vẫn chấp nhận được
2) Hướng phát triển:
Từ việc thực hiện FFT 8 điểm ta có thể nâng số điểm lên thành 16 , 32 cho
đến 1024 điểm. Ngoài ra, FFT có thể sử dụng các phương thức khác nhau
như radix-4, radix-mix,… để thực hiện việc xử lý có các ưu nhược điểm
khác nhau và cũng có thể so sánh giữa các phương thức để chọn lọc.
13
Thực hiện FFT trên FPGA
14