Thực hiện 5 bớc tiếp theo của FHT 256 điểm

Một phần của tài liệu Nghiên cứu hệ vi xử lý vectơ mc431 (Trang 70)

Lập trình Xử lý tín hiệu số theo phơng pháp Fht trên hệ vi xử lý vectơ MC

3.3.2Thực hiện 5 bớc tiếp theo của FHT 256 điểm

Trong 5 bớc tiếp theo của FHT, ma trận hoạt động đợc chia thành 32 hàng. Độ dài của dữ liệu đến đầu vào X là 2 bit, để lu các giá trị 1, 0 và -1. Do đó cho phép thực thi 32 thao tác cộng/ trừ trong mỗi cột. Vì dữ liệu kết quả sau 3 bớc đầu tiên ở dạng 16 bit nên ma trận hoạt động đợc chia thành 4 cột. Do đó có thể thực hiện 32.4 = 128 thao tác cộng/ trừ trong một chu kỳ (hình 3.6).

Vấn đề tiếp theo là thực hiện tơng tác giữa tất cả 32 hàng của ma trận hoạt động. Theo qui tắc ở mục 3.1.2, ta xác định đợc tơng tác giữa 32 hàng

Ma trận hoạt động

trong ma trận hoạt động nh trong bảng 3.2 ở trang sau. Trong bảng này các con số trong mỗi cột thể hiện chỉ số của ô ở bớc trớc đó. Các phần tử kết quả sau bớc 8 có thể biểu diễn qua mọi phần tử sau bớc 3. Ví dụ nh ô thứ 7 sau bớc 8 đợc xác định bằng tổng của ô thứ 7 và 23 của bớc 7. Rồi ô thứ 7 của bớc 7 lại xác định bằng tổng của các ô 7 và 15 của bớc 6, còn ô 23 của bớc 7 đợc xác định bằng tổng của các ô 23 và 31 của bớc 6, … Cuối cùng ta đợc kết quả:

Kết quả tại afifo Hình 3.6. Cấu hình của ma trận hoạt động để thực hiện

128 thao tác số học trong 1 chu kỳ (N = 8)

Bớc 3 Bớc 4 Bớc 5 Bớc Bớc 7 Bớc 8

NM6403

Hình 3.7. Ph ơng pháp xử lý dữ liệu trong NM6403 cho 5 b ớc song song tiếp theo của FHT

2 1 – 2 2 + 4 2 + 6 2 + 10 2 + 183 3 + 4 1 – 3 3 + 7 3 + 11 3 + 19 3 3 + 4 1 – 3 3 + 7 3 + 11 3 + 19 4 3 – 4 2 – 4 4 + 8 4 + 12 4 + 20 5 5 + 6 5 + 7 1 – 5 5 + 13 5 + 21 6 5 – 6 6 + 8 2 – 6 6 + 14 6 + 22 7 7 + 8 5 – 7 3 – 7 7 + 15 7 + 23 8 7 – 8 6 – 8 4 – 8 8 + 16 8 + 24 9 9 + 10 9 + 11 9 + 13 1 – 9 9 + 25 10 9 – 10 10 + 12 10 + 14 2 – 10 10 + 26 11 11 + 12 9 – 11 11 + 15 3 – 11 11 + 27 12 11 – 12 10 – 12 12 + 16 4 – 12 12 + 28 13 13 + 14 13 + 15 9 – 13 5 – 13 13 + 29 14 13 – 14 14 + 16 10 – 14 6 – 14 14 + 30 15 15 + 16 13 – 15 11 – 15 7 – 15 15 + 31 16 15 – 16 14 – 16 12 – 16 8 – 16 16 + 32 17 17 + 18 17 + 19 17 + 21 17 + 25 1 – 17 18 17 – 18 18 + 20 18 + 22 18 + 26 2 – 18 19 19 + 20 17 – 19 19 + 23 19 + 27 3 – 19 20 19 – 20 18 – 20 20 + 24 20 + 28 4 – 20 21 21 + 22 21 + 23 17 – 21 21 + 29 5 – 21 22 21 – 22 22 + 24 18 – 22 22 + 30 6 – 22 23 23 + 24 21 – 23 19 – 23 23 + 31 7 – 23 24 23 – 24 22 – 24 20 – 24 24 + 32 8 – 24 25 25 + 26 25 + 27 25 + 29 17 – 25 9 – 25 26 25 – 26 26 + 28 26 + 30 18 – 26 10 – 26 27 27 + 28 25 – 27 27 + 31 19 – 27 11 – 27 28 27 – 28 26 – 28 28 + 32 20 – 28 12 – 28 29 29 + 30 29 + 31 25 – 29 21 – 29 13 – 29 30 29 – 30 30 + 32 26 – 30 22 – 30 14 – 30 31 31 + 32 29 – 31 27 – 31 23 – 31 15 – 31 32 31 – 32 30 – 32 28 – 32 24 – 32 16 – 32

Bảng 3.2: Kết quả tại 5 bớc tính toán tiếp theo của FHT

d7 = a1 + a2 a3 a4 a5 a6 + a7 + a8 + a9 + a10 a11 a1 a13 a

14 + +a15+ a16 + a17 +a18 a19 a20 a21 a22 +a23 + a24 +a25+a26 a

27 a28 a– – 29 a30 + a31 + a32

Kết quả này có thể đợc biểu diễn bằng một hằng số 64 bit: 5FF5 5FF5 5FF5 5FF5 5FF5hl

Trong đó, hai bit nhị phân 01 biểu thị giá trị 1 còn hai bit nhị phân 11 biểu thị giá trị –1.

Quá trình xử lý dữ liệu trong thủ tục này đợc thể hiện trong hình vẽ 3.7. Phơng pháp xử lý dữ liệu ở đây khác thủ tục tính 3 bớc đầu tiên của FHT ở chỗ dữ liệu đợc nạp vào ma trận hoạt động nh là các trọng số.

Các tính toán trong 5 bớc này đợc thực hiện theo thứ tự sau: • Nạp các trọng số từ bộ nhớ ngoài vào ram.

• Nạp 32 từ long chẵn của dữ liệu đầu vào tới wfifo, rồi đến ma trận phụ, sau đó tới ma trận hoạt động.

• Nạp 32 từ long lẻ của dữ liệu đầu vào tới wfifo, rồi đến ma trận phụ. Đồng thời trong cùng lệnh, thực hiện song song các tính toán cho các từ chẵn.

• Lu các từ chẵn của kết quả vào bộ nhớ.

• Thực hiện các tính toán trên các từ lẻ và lu kết quả vào bộ nhớ. Thủ tục assembly Steps_4_8 (phụ lục 1) thực hiện các thao tác tính toán trong 5 bớc tiếp theo của FHT 256 điểm.

Một phần của tài liệu Nghiên cứu hệ vi xử lý vectơ mc431 (Trang 70)