1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Kỹ thuật điện tử: Thiết kế hệ thống nhận dạng tiếng nói tiếng việt theo quy trình thiết kế Asic

160 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Bang 4.5 Kết quả sai khi nhận dang trên phần mềm va phan cứng (14)
    • 1. TONG QUAN TINH HÌNH NGHIÊN CỨU (15)
      • 1.2 KIÊN TRÚC PHAN CỨNG TRÍCH ĐẶC TRƯNG MFCC (17)
        • 1.2.3. Phân tích phố dùng FFT (21)
        • 1.2.4. Bộ lọc tần số Mel (22)
        • 1.2.7 Hệ số delta (24)
        • 1.2.8 Kết luận (24)
    • 2. Kiến trúc phần cứng trích đặc trưng MECC (25)
  • Bang 2.1 Cấu hình động của kiến trúc trích đặc trưng MFCC và giới han (25)
  • Bang 2.2 Cấu hình bộ nhớ và chức năng tương ứng (26)
  • Bang 2.3 Thứ tự thực hiện luông dữ liệu MFCC (28)
    • 2.2 Kiến trúc luồng dữ liệu và điều khiến chỉ tiết (28)
  • Bang 2.4 Y nghĩa các trang thái của khối Main Control (31)
  • Bang 2.5 Chuyển trạng thái trong khối Main Control (31)
  • Bang 2.6 Ngõ ra của máy trạng thái khối Main Control (32)
  • Bang 2.7 Y nghĩa ngõ ra và ngõ vào của khối Main Control (40)
    • 2.2.2 Khối pre_emphasis (41)
  • DATA_IN (43)
  • DATA_MAN \ ! (43)
  • MUL_M : READ_N SQR_N (44)
    • Bang 2.8 Y nghĩa trạng thái khối Pre-emphasis (44)
    • change_addr_sel 2 Điêu khién viéc tang giam dia chi add_en 1 Chân enable khôi cộng (46)
    • mul_en 1 Chân enable khôi nhân counter_en 1 Chân enable khôi counter (46)
    • sel_log 2 Chân điêu khiển cộng dồn dé tinh tông bình phương sqr_en 1 Chan enable khối bình phương (để tinh log năng (46)
    • frame_count_en 1 Chan enable khôi đêm sô frame (dé lam dia chi ghi (46)
      • 2.2.3. Khối window (54)
  • CAL _ (55)
    • Bang 2.15 Y nghĩa ngõ ra va ngõ vào khối Window (56)
    • counter_value 4 Gia tri dém ctia counter write_win_en | Chân cho phép ghi kết quả Window vào (57)
    • counter_addr_en 1 Chân enable bộ đêm sô giá tri Window đã tinh (57)
      • 2.2.3 Khéi FFT (58)
  • X2_imag | | | (60)
    • Hinh 2.11 M6 ta chi tiết các phép toán trong cánh bướm đơn vị (60)
    • Bang 2.18 Mô ta quá trình chuyển trạng thái (61)
  • 12 data_w_i (62)
    • 2.2.4 Khối tính biên độ (64)
  • READ (65)
    • Bang 2.21 Chuyển trạng thái trong khối tinh biên độ (65)
    • Bang 2.22 Y nghĩa ngõ ra và ngõ vào khối Biên độ (66)
    • num_wait 5 Gia tri đêm của counter change_addr_value 1 Gia tri tang/giam dia chi (66)
      • 2.2.5 Khối bộ loc Mel (69)
  • RE CALC | (70)
  • READ ` (70)
    • counter_value 5 Gia tri đêm của counter addr_mel_en | Chân cho phép đưa địa chỉ mới ra đường địa (72)
    • counter_half_frame_en 1 Chân enable khôi đêm sô frame (chỉ đêm một (72)
      • 2.2.6 Khối tinh Cepstrum (77)
    • Bang 2.30 Y nghĩa trạng thái khối bộ lọc Cepstrum (78)
    • counter_value 5 Gia tri dém ctia counter (80)
    • frame_count_en 1 Chan cho phép khôi đêm thứ tự frame (thứ tự (80)
      • 2.2.7 Khối Copy_Energy (80)
    • Bang 2.36 Ý nghĩa ngõ vào và ngõ ra khối Copy_energy (82)
    • Bang 2.37 Ý nghĩa ngõ ra các trang thái khối Copy_energy Tên ôbit | Mô tả (82)
    • counter_en 1 Chân enable khôi counter (82)
    • Bang 2.38 Ngõ ra các trạng thái khối Copy_energy (82)
      • 2.2.8 Khối tinh Delta (83)
  • N PLUS ) (84)
    • Bang 2.41 Ngõ ra va ngõ vào khối tinh Delta (85)
    • add_en 1 Chân enable khôi cộng sub_en 1 Chân enable khôi trừ (85)
    • Bang 2.43 Ngõ ra các trang thái trong khối tinh Delta (86)
      • 2.2.9 Kết luận (90)
      • 2.3 KET QUA MO PHONG (90)
        • 2.3.2 Các testcase và cấu hình (91)
    • Bang 2.44 Cầu hình MFCC cho testcase (92)
      • 1. Dung các file text chứa hệ số cần thiết để tạo ra các memory chứa các hệ số cần thiết (dang file Verilog) và chứa trong thư mục 01_ Design/00_Coefficients (92)
      • 3. M6 phỏng MFCC, kiểm tra waveform va thu các file text kết quả (92)
    • Bang 2.46 Sai số trung bình của các testcase (93)
      • 3. KÉT QUÁ THIẾT KÉ VẬT LÝ (96)
        • 3.1 Kết qua tổng hợp từ cấp dé RTL xuống lớp công Để có thể tổng hợp kiến trúc MFCC nhân tạo từ cấp độ RTL xuống lớp công, (96)
    • Bang 3.1 Nền tảng tổng hợp kiến trúc MFCC (96)
    • Bang 3.2 Đặc tả môi trường tổng hop kiến trúc MFCC (97)
      • 3.2. Thiết kế vật lý cho bản vẽ chip (99)
  • THUC NGHIEM THIET KE MFCC TRONG HE THONG NHAN DANG (101)
    • 4.1.2 Mô hình kiểm tra và thứ nghiệm trên phần mềm (103)
    • 4.1.3. Kết quả nhận dạng (105)
    • Bang 4.5 Két qua sai khi nhan dang trén phan mém va phan cứng (107)
    • KHÔNG 0 LỊCH 0 MỘT 0 SỬ | 17 (108)
    • HAI 0 VĂN 0 BA 2 3,8 HÓA 2 5,9 (108)
    • NAM 0 DUC 0 (108)
    • SAU 0 KHOA 2 10,22 BAY 2 9,11 HOC 0 (108)
    • TAM 0 NONG 2 6,9 CHIN 1 9 NGHIEP 1 5 (108)
      • 4.2. KET LUAN VA HUONG PHAT TRIEN (108)
        • 4.2.1 Kết luận Đề tài có thay đổi so với so với kế hoạch trên đề cương nhưng vẫn được thực hiện (108)
        • 4.2.2. Đánh giá mức độ kết quả đạt được Xây dựng thành công kiến trúc vi mạch theo quy trình thiết kế ASIC kiến trúc MFCC (108)
        • 4.2.3. Ý nghĩa khoa hoc đề tài Đề tài đã thành công trong việc xây dựng kiến trúc vi mạch linh động cho kiến (109)
        • 4.2.4. Đề nghị hướng phát triển của đề tài Dựa trên các kết quả thành công của đề tài, hướng phát triển đặt ra khá rõ ràng cho (109)
  • TAI LIEU THAM KHAO (110)
    • 1. PHU LUC: CAC CONG TRINH NGHIEN CUU VA BAI BAO (114)
  • KHOA HOC (114)
  • MFCC) (114)
  • 12] | FPGA 160 256 33 12 2 (116)
    • 1. Hardware-based mfcc architecture (117)
    • Voice 0 memory 1 Window + ° memory (124)
      • II. Conclusion (131)
        • 1. Thiết kế vật lý (134)
          • 1.1 Giới thiệu về thiết kế vật lý (134)
    • Bang 0.1 Các thông số về môi trường lam layout (134)
  • RESULTS (136)
    • 1.2 Các bước thực hiện bản thiết kế .1 Chuẩn bị thư viện (140)
    • 2.1. Giới Thiệu Về Mô Hình Markov Ẩn (155)
    • 2.2. Các thông số của mô hình Markov ẩn (HMM) Mô hình HMM cho những ký tự quan sát rời rac bao gồm các thông số sau (156)
    • 2.3. Thuật Toán Viterbi (157)
  • PHAN LY LICH TRÍCH NGANG (160)
  • QUA TRINH DAO TAO (160)
  • QUÁ TRÌNH CÔNG TÁC (160)

Nội dung

NHIEM VU VA NỘI DUNG: > Nhiệm Vu: Thiết kế bộ trích đặc trưng tiếng nói MFCC theo quy trình AISC ứng dụng trong hệ thong nhận dạng giọng nói Tiếng Việt.> Nội Dung : - - Thiết kế bộ trích

Kết quả sai khi nhận dang trên phần mềm va phan cứng

TONG QUAN TINH HÌNH NGHIÊN CỨU

1.1 Tong quan tình hình nghiên cứu

Tiếng nói là phương tiện giao tiếp cơ bản nhất của con người Ngày nay, tiếng nói được nghiên cứu và ứng dụng trong rât nhiêu lĩnh vực khác nhau, trong đó, nôi bật nhât là các hệ thông nhận dạng trong các ứng dụng bảo mật, tự động

Tương tự như các hệ thống nhận dạng khác, mô hình nhận dạng tiếng nói bao gồm hai quá trình chính là huấn luyện và nhận dạng Theo đó, cả hai quá trình nhận dạng và huấn luyện nhận các đối tượng ngõ vào là các giá trị đặc trưng được trích xuất từ tiếng nói Như vậy trong bat cứ hệ thống nhận dạng giọng nói nào, trích đặc trưng nhằm rút trích những thông số đặc trưng nhất của tiếng nói trước khi xử lý là không thé thiếu được Điều này cũng tương tự như quá trình nhận dạng khuôn mặt, dâu vân tay hay bắt cứ dạng tín hiệu nào mang dữ liệu lớn Để có thể có được cái nhìn tông quan về vị trí và vai trò của phương pháp trích đặc trưng, hình 1.1 mô tả chi tiết về trích đặc trưng trong hệ thong nhận dạng tiếng nói

Mô hình a Huan Luyện > thông số

Hình 1.1 Trích đặc trưng trong hệ thống nhận dạng tiếng nói

Hiện nay có rất nhiều các phương pháp trích đặc trưng trong hệ thống nhận dạng tiêng nói, một sô thông kê và khảo sát sau đây nêu bật tình hình nghiên cứu liên quan đên nhận dạng tiêng nói và các ứng dụng tương ứng.

Bảng 1.1 Các công trình nghiên cứu về nhận dạng tiếng nói

Tác giả | Thử nghiệm | Phương pháp | Bộ nhận dạng Kết luận trên

[1] Hardware MFCC HMM MFCC tốt hon LPC

(FPGA) And And LPC Software And (C++) ENH-MFECC

[3] Software LPC ANN MECC tốt hon LPC

And MECC [4] Software MECC HMM - [5] Software MECC DTW -

[7Ì Software MECC GMM Dynamic , MFCC_ tốt

[8] - General General -MFCC được dùng nhiêu nhât

-GMM va HMM nhan dang tot nhat

Dựa trên những thống kê về tình hình nghiên cứu có thé thay được phương pháp trích đặc trưng dựa trên tần số MFCC (Mel-frequency cepstral coefficients) được lựa chọn chủ yêu Phân tích chi tiết hơn cấu hình bên trong của phương pháp trích đặc trưng MFCC, bảng 1.2 mô tả các thông kê cho thay những cấu hình thông dụng tương ứng với các ứng dụng.

Bảng 1.2 Cấu hình trích đặc trưng MECC

Tác | Thử Ngôn | Số từ | Số Tý lệ | Số Số bộ | Số Bậc giả nghiệm | ngữ điểm | Overlap | điểm | lọc Cepstral | Delta trén trén FFT | Mel

(130nm) And FPGA (Xilinx) [12] | ASIC English | 18 256 50% 256 - 12 Dynamic

Theo như bảng 1.2, có thể khái quát hoá cấu hình trích đặc trưng MFCC với những đặc trưng nỗi bật sau e - Các câu hình MFCC như là số điểm tỉ lệ chồng lap, số điểm FFT, số cepstrum hoặc cách tính delta là khác nhau cho từng hệ thông. e Các ngôn ngữ khác nhau hoặc số từ vựng thay đổi yêu cau các cấu hình

_@ Cae kiến trúc MFCC phan cứng thường cứng nhắc trong các cấu hình vì van dé tài nguyên sử dụng. e Các kiến trúc MECC phan cứng thường áp dụng số dau châm tĩnh Việc này cho thay khả năng sai sô cao khi mà sô diém FFT lớn. e Các kiến trúc MFCC bé đáp ứng số từ vựng nhỏ.

Với những xu hướng nghiên cứu và thiết kế như trên cho thay hai tổn tại trong thiết kế trích đặc trưng MFCC hiện nay Một là khả năng linh động trong câu hình bị ràng buộc chặt chẽ bởi ứng dụng với số mẫu nhận dạng khác nhau hay tiếng nói khác nhau theo quốc gia Hai là việc tiếp cận phương pháp này trên phần cứng còn hạn chế vì nhiều vân đề liên quan đến độ chính xác và tài nguyên. Để có thé cải thiện hai van dé này, một kiến trúc phan cứng MFCC động được giới thiệu với kha năng thiết lập các giá trị như số điểm lấy mẫu trên một khung dữ liệu âm thanh, chiều dài một khung dữ liệu, tỉ lệ chồng lap, số điểm FFT, số cepstrum và bậc tính hệ số delta được giới thiệu Với một thiết kế động như trên, kiến trúc phần cứng MFCC có thé đáp ứng trong hau hết các hệ thống/thiết bị nhận dạng tiếng nói một cách hiệu quả Trước nhất, việc phân tích lý thuyết và phương pháp cũng như các kiến trúc thành phan được đặc tả chỉ tiết.

1.2 KIÊN TRÚC PHAN CỨNG TRÍCH ĐẶC TRƯNG MFCC

Như đã trình bày ở chương 1, việc tiếp cận phương pháp trích đặc trưng MFCC cho phép tạo tiền đề thành công cho toàn bộ hệ thống vì phương pháp này đã chứng minh được hiệu năng của nó trong hau hết các ứng dụng cũng như nghiên cứu được khảo sát Trước hết, lý thuyết về trích đặc trưng MFCC được thuyết mình Sau đó câu hình MECC được khảo sát và quyết định trước khi thực thi chỉ tiết phan cung.

Hình 1.2 Sơ dé khối thuật toán trích đặc trưng

Mô hình lý thuyết như hình 1.2 cho thây các kiến trúc khối cơ bản của trích đặc trưng MFCC Lân lượt từng khôi chức năng được phân tích, xây dung phân cứng từ ly thuyết mô tả.

Tín hiệu sau khi được số hóa được lọc với bộ tiền lọc pre emphasis có đáp ứng xung hữu hạn bậc nhất Bộ tiền lọc pre-emphasis được sử dụng để khuếch đại các tín hiệu ở các mức tần số cao Hàm truyền của bộ lọc được cho bởi phương trình (1.1), trong đó tham số a tiêu biểu từ 0.9 đến 1 Trong miền thời gian, mối quan hệ giữa ngõ ra với ngõ vào được chỉ ra trong phương trình (1.2), với sj là điểm thứ i của tín hiệu tiếng nói khi chưa qua bộ lọc và sj là điểm thứ i của tín hiệu tiếng nói sau khi được pre- emphasis.

Trong các hệ thông nhận dang tiếng nói bang phan mém thi a = 0.97, khi đó đáp ứng tân sô của bộ lọc được chỉ ra trong hình 2.2 và phô tín hiệu trước và sau bộ lọc được chỉ ra trong hình 2.3

Hình 1.3 Đáp ứng tần số được chuẩn hóa của bộ lọc pre-emphasis

=inl x! œNH#£ kA, Fie Eat View Inet Took Window Pep

Hình 1.4 Phố của tín hiệu trước và sau khi qua khối pre-emphasis

Vấn đề nảy sinh khi tiếp cận phần cứng là giá trị hệ số a là số thập phân Việc sử dụng các giá tri gan đúng trong tiếp cận phan cứng có thé sẽ ảnh hưởng đến kết quả nhận dạng Việc thiết lập cứng giá trị a cũng là một trong những van dé cần quan tâm.

Bởi vì tín hiệu tiếng nói là tín hiệu biến đổi chậm theo thời gian, trong một hệ thống nhận dạng tiếng nói thì tiếng nói được phân đoạn thành những khoảng thời gian ngăn được gọi là các khung Để cho các thông số của khung ít thay đổi, thông thường có 50% chồng lấp giữa các khung kế cận nhau, như trong hình 1.5.

Comiruous-Time gr al and ( Or Grete: Time ›imal e ——= —*e -— ~—=—=—=~ Oe we 8 oe rarne 6

Hình 1.5 Tín hiệu âm thanh được chia thành các sub-khung ia] 0.0 OG oe

(http:/Neader.ic.msu.su/~farg/lai/continuousspeech html)

Trong các hệ thống nhận dạng tiếng nói bằng phần mềm, tiếng nói được chia thành những khung có chiều dài 20 ms với 10 ms chồng lap Khi tiếng nói được lay mẫu với tần số 8 khz sẽ có 160 mẫu trong mỗi khung va có 80 mẫu được chồng lấp giữa 2 khung kế cận nhau Tuy nhiên, chồng lấp 50% không phải luôn luôn được sử dụng, các giá tri 40%, 60% hay thậm chí là 70% cũng được xem là những giá tri chồng lập hiệu quả Mặt khác, một số hệ thống không nhất thiết sử dụng 8 khz là tần số lây mẫu vi các nghiên cứu cho thay một số đặc trưng năm ở miền tần số cao hơn.

Một bộ lọc cửa số thường được ứng dụng để gia tăng tính liên tục giữa các khung kế cận nhau Một trong các cửa sô được dùng phố biến nhất trong nhận dạng tiếng nói đó chính là cửa số Hamming được xác định bởi phương trình (1.3), trong đó L là chiều dài cửa số và nó băng với chiều dài của các khung.

Kiến trúc phần cứng trích đặc trưng MECC

Xem kiến trúc MFCC đóng vai trò như một IP trong hệ thông hoàn chỉnh với core

ARM làm lõi điêu khiên Kiên trúc phân cứng MFCC giao tiép với core ARM thông qua giao thức APB thông dụng như hình 2.5.

APB BUS Giao diện bộ nhớ

Hình 2.1 Giao tiếp trích đặc trưng MECC trong hệ thống

Thông qua giao thức bus APB khối trích đặc trưng sẽ được thiết lập trước khi hoạt động Những thông số thiết lập mong muốn cho trích đặc trưng MFCC cũng như giới hạn của các thông số này được trình bày bởi bảng 2.2 sau đây.

Cấu hình động của kiến trúc trích đặc trưng MFCC và giới han

Số điểm trên một khung dữ liệu (điểm) Tối đa 1024 Tỉ lệ chồng lap (%) 30-70 Giỏ trị hệ số ứ Bat kỳ giỏ trị nào Số điểm bộ lọc cửa số window (điểm) Tối đa 1024 Số điểm FFT (điểm) Tối đa 1024 Số bộ lọc Mel (bộ lọc) Tối đa 63 Số Cepstrum Tối đa 31

So a trung cho mỗi vector đặc trưng Tối đa 63

Với các đề xuất như hình 2.2 cho thay 7 giá trị có thé thiết lập được cho khối kiến trúc MFCC với tầm giá trị rộng có thé bao hàm tat cả các giá trị đã báo cáo trong các nghiên cứu gân đây Khả năng thiết lập thông qua giao thức APB bus cho phép cau hình khối MFCC trước khi hoạt động Ngoài ra kién trúc phần cứng tiếp cận dựa trên các phép toán dâu chấm động 32 bit chuẩn IEEE 754 cho phép thiết lập bat cứ giá tri hăng số là số thập phân va cho độ chính xác cao nhất có thé. Để có thé thay đổi được câu hình đối với kiến trúc phần cứng MFCC, cần nhiều các bộ nhớ trung gian lưu trữ các dữ liệu cân thiết Vì các phép toán trong khối MFCC đề nghị tiếp cận dấu chấm động Bang 2.3 mô tả các bộ nhớ với các dung lượng tương ứng can thiết.

Cấu hình bộ nhớ và chức năng tương ứng

Số lượng | Chức năng Dung lượng (word) 2 Bộ nhớ lưu trữ ngõ ra của bộ tiền lọc Pre-emphasis | 4 K

2 Bộ nhớ lưu trữ ngõ ra của bộ lọc cửa số window 4K l Bộ nhớ lưu trữ hệ số cửa số Window 4K

4 Bộ nhớ lưu trữ ngố ra của bộ FFT 4K

4 Bộ nhớ nội lưu giá trỊ trung gian 4K

2 Bộ nhớ lưu trữ hệ số FFT 4K

2 Bộ nhớ lưu trữ ngõ ra của bộ tính biên độ 4K

2 Bộ nhớ lưu trữ ngõ ra của bộ lọc Mel 4K

8 Bộ nhớ lưu trữ hệ số bộ lọc Mel 4K l Bộ nhớ lưu trữ hệ số Cepstrum 4K

| Bộ nhớ lưu trữ hệ số log 4K

4 Bộ nhớ lưu trữ các vector MFCC 4K

Mô hình kết nối chi tiết giữu các khối tính toán bên trong được mô tả chi tiết bởi hình

Bộ nhớ lưu trữ âm thanh

Bộ nhớ 1 k Bộ nhớ 1 k ơ— nan."

Hình 2.2 Sơ đồ luéng dữ liệu bên trong trích đặc trưng MFCC

Chính xác thứ tự thực thi trích đặc trưng MFCC được mô tả chi tiết thông qua giao thức APB như bảng sau

Thứ tự thực hiện luông dữ liệu MFCC

Kiến trúc luồng dữ liệu và điều khiến chỉ tiết

Dé có thé hiểu được lần lượt việc tính toán bên trong khối MECC, hình 2.8 được phân tích sâu hơn Theo như thuật toán, bản chất thứ tự thực hiện các bước là không hề thay đổi (Pre-emphasis-Window-FFT-Mel-Cepstrum-Delta) Các khối tính toán này không thể thiếu được các bộ nhớ nội lưu trữ dữ liệu tính toán trung gian cũng như lưu trữ các hệ số trong các phép toán.

Tuy nhiên, nếu chỉ tính toán đơn thuần từng bước cho từng khung dữ liệu, chỉ cần

1 bộ nhớ tạm trung gian ở ngõ ra Nhưng hình 2.8 cho thay hai bộ nhớ trung gian ở ngố ra Việc thiết kế hai bộ nhớ trung gian ở ngõ ra cho phép thực hiện cơ chế đường ống Cụ thé giá trị ngõ ra của từng bước thuật toán lần lượt được lưu xen kẽ nhau lên hai bộ nhớ trung gian Nhu vậy trong khi một bộ nhớ được lưu thì bộ nhớ còn lại được đọc ra để tính toán ở bước kế tiếp Nhờ vậy việc tính toán trên mỗi bước thuật toán với 1 khung tương ứng được thực hiện liên tục nhằm tăng tốc hệ thống trích đặc trưng nhanh nhất có thể

Kiến trúc chi tiết các bước thuật toán lân lượt được giới thiệu chi tiết sau đây

Khối Main Control giữ nhiệm vụ điều khiến tat cả quá trình tính toán Ở đây ta sử đụng kỹ thuật đường ống dé giảm thời gian tính toán Ta chia đường ống thành 6 tang:

Pre-emphasis, Window, FFT, Biên độ, Mel, Cepstral Trong máy trạng thái từng khối đều có trạng thái khởi đầu để bat đầu tính toán một tầng và trạng thái WAIT dé dừng sau khi tính toán xong, đồng thời đợi cờ báo hiệu (tín hiệu enable) để khởi động lại tầng đó.

Khối Main Control điều khiển thông qua các tác vụ:

- Xuất ra các enable khởi động các tang tính toán - Quy định trong mỗi tang memory nao được đọc va memory nao được ghi Ta có sau mỗi tầng có ít nhất 2 memory dé vừa lam nhiệm vụ lưu trữ data đã tinh toán ở tang đó và cung cap data cho tang phía sau Main Control cung cấp các tín hiệu như các Switch chuyển đổi nhiệm vụ các memory sao cho đồng bộ hoạt động giữa 2 tầng liên tiếp.

Công dụng của tín hiệu enable của các tâng rât quan trọng vì nó đông bộ cả hệ thống nhưng khi thiết kế ta gặp phải van dé như sau:

Xét ví dụ như sau: trạng thái P W_ F nghĩa là trạng thái thực hiện Pre-emphasis,

Window va FFT cùng lúc va enable của 3 tầng này bang 1 trong suốt trạng thái P_W E Khi Main Control đến P_W_F, cờ enable của Pre-emphasis lên 1, truyền đến máy trạng thái khối Pre-emphasis làm cho máy trang thái này từ trạng thái WAIT của lần chạy trước đó chuyển sang trạng thái bat đầu lần tính toán mới Khi tính xong, máy trạng thái khối Pre-emphasis về trạng thái WAIT để đợi cờ enable thì thấy cờ enable của Pre-emphasis vẫn đang là 1 (do Main Control vẫn đang ở P_W_F) nên bắt dau một lần tính toán nữa với cùng một data như trước Tương tự cho 2 tang kia Kết quả là 3 tầng này sẽ chạy vô tận và máy trạng thái riêng mỗi tầng sẽ không tính toán đồng bộ theo ý của Main Control được. Để giải quyết vân đề này có thể dùng phương pháp bắt tay nhưng sẽ làm thiết kế phức tạp hơn vì trong cùng trạng thái P_W_F thì có 3 máy trạng thái của 3 tang cùng hoạt động nên khó thực hiện bắt tay.

Ta thiết kế máy trạng thái như trong hình: các trạng thái kích thích các tầng hoạt động chỉ tôn tại trong 1 chu kỳ clock tức là các tín hiệu enable cho các tầng như 1 xung trigger Sau khi trigger 1 clock thì máy trang thái Main Control trở về trang thái WAIT, WAIT_N hay WAIT_M dé chờ counter đêm tràn sẽ chuyển đến một trang thái kích thích các tầng khác và sau | clock thi quay về trạng thái chờ.

Việc từ trạng thái chờ (WAIT, WAIT_N hay WAIT_M) chuyển qua trạng thái nào được quyết định bằng giá trị thanh ghi state trong thiết kế Thanh ghi này được cộng

26 dồn mỗi khi counter của trạng thái chờ tràn dé chuyển qua trạng thái khác Thứ tự các trạng thái được sap xếp hợp lý.

Hình 2.3 Máy trạng thái khối Main Control

Y nghĩa các trang thái của khối Main Control

STT | Present state Y nghia l RESET Reset hệ thông 2 PRE Cho phép khối Pre-emphasis hoạt động 3 P_W Cho phép khối Pre-emphasis và Window cùng hoạt động 4 P_W_F Cho phép khối Pre-emphasis, Window va FFT cùng hoạt động 5 PW FA Cho phép khối Pre-emphasis, Window, FFT và Biên độ cùng hoạt động 6 PWFAM Cho phép khôi Pre-emphasis, Window, FFT, Biên độ va Mel cùng hoạt động

4 PWFAMC Cho phép khối Pre-emphasis, Window, FFT, Biên độ, Mel va

S W_F_A_M_C Cho phép khối Window, FFT, Biên độ, Mel và Cepstrum cùng hoạt động

9 F_A_M_C Cho phép khối FFT, Biên độ, Mel va Cepstrum cùng hoạt động 10 A_M_C Cho phép khối Biên độ, Mel và Cepstrum cùng hoạt động 11 M_C Cho phép khối Mel va Cepstrum cùng hoạt động

12 CEP Cho phép khối Cepstrum hoạt động 13 | DELTA Cho phép khối Delta hoạt động 14 ENERGY Cho phép khôi thực hiện chức năng chép các log năng lượng từ memory chứa log năng lượng vào memory kêt quả hoạt động

15 WAIT Doi một khoảng thời gian cho các tang tính toán xong l6 WAIT_N Doi một khoảng thời gian cho các tang tính toán xong 17 WAIT_M Doi một khoảng thời gian cho các tang tinh toán xong 18 WAIT_C Đợi một khoảng thời gian cho lân tính Cepstrum cudi cùng tính toán xong

19 BRANCH Xét xem đã lặp đủ số vòng chạy chạy trạng thái

20 |INC LOOP Tăng số vòng lặp

Chuyển trạng thái trong khối Main Control

STT | Present state Next state Điều kiện chuyển trạng thái

1 RESET PRE Khi top_state_en = ẽ 2 PRE WAIT Sau | chu ky clock 3 P_W WAIT Sau | chu ky clock 4 P_W_F WAIT Sau | chu ky clock 5 PW FA WAIT Sau | chu ky clock

6 PWFAM WAIT Sau | chu ky clock 7 PWFAMC WAIT_N Sau | chu ky clock 8 WAIT_N BRANCH Counter tran

INC_LOOP Sau | chu ky clock

? BRANCH WAIT_M Sau | chu ky clock

10 INC_LOOP PWFAMC Sau | chu ky clock11 WEAMC WAIT_M Sau | chu ky clock12 FAMC WAIT_M Sau | chu ky clock13 AMC WAIT_M Sau | chu ky clock14 M_C WAIT_M Sau | chu ky clock15 CEP WAIT_C Sau | chu ky clock16 WAIT_C ENERGY Counter tran17 ENERGY DELTA Counter tran18 DELTA END Counter tran19 WAIT State + 1 Counter tran20 WAIT_M State + 1 Counter tran

Ngõ ra của máy trạng thái khối Main Control

RESHT preem_state_en

Ngày đăng: 09/09/2024, 07:28

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN