Thực hiện trong FUSE

Một phần của tài liệu Kỹ thuật FPGA áp dụng thực hiện cho bộ mã FEC trong hệ DVB (Trang 75)

- Lựa chọn đúng phiên bản phần cứng trong cửa sổ giao diện của FUSE. - Mở card (mở giao tiếp giữa máy tính và FPGA)

- Cấu hình clock cho KIT thông qua thao tác gán file và nạp file định nghĩa clock FPGA sẽ thực hiện trong thiết kế.

- Gán Bitfile và nạp thiết kế vào trong FPGA. -

3.4.1. Kết quả thu đƣợc cho bộ mã hoá

3.4.1.1 Đầu vào mã hoá

Sử dụng máy đo tín hiệu ta thu được một số kết quả như sau:

Hình 3.13: Đầu vào mã hoá

3.4.1.2 Đầu ra sau khi mã hoá

Hình 3.14: Đảu ra sau khi mã hoá 3.4.1. Kết quả thu đƣợc cho bộ giải mã

---

Hình 3. 15 Đầu ra sau khi giải mã hoá

---

KẾT LUẬN

Đồ án đã đạt đƣợc một số mục tiêu sau:

 Trình bày tổng quan về FPGA, JHDL, JHDLBits, các cải tiến của Jbits, các công trình có liên quan tới VTsim, và các công cụ ảnh hưởng tới VTsim.

 Trình bày về ứng dụng của FPGA trong việc tính toán ô. Theo đó trình bày bốn kiến trúc tính toán ô thực hiện cho việc nghiên cứu và trình bày phần cứng FPGA mức cao dùng cho mỗi kiến trúc.

 Trình bày về ứng dụng cả FPGA trong 3G WCDMA, nêu ra một số lý do căn bản mà FPGA được lựa chọn cho trạm gốc 3G, một số tính năng chính của FPGA trong trạm gốc 3G, sơ đồ MUD và hoạt động cụ thể của vi mạch thực tế cho bộ mã Turbo.

 Trình bày tổng quan về FEC và DVB, đưa ra được một ví dụ mô phỏng về FEC trong DVB áp dụng kỹ thuật FPGA, với các sơ đồ khối, sơ đồ mô phỏng, kết quả thu được.

---

LỜI CẢM ƠN

Em xin chân thành cảm ơn giảng viên TS. Trịnh Anh Vũ lời cảm ơn sâu sắc nhất, thầy đã tận tình hướng dẫn em trong quá trình học tập, tìm hiểu và nghiên cứu để hoàn thành đồ án này. Xin cảm ơn bạn bè và người thân đã giúp đỡ, động viên em trong quá trình học tập và nghiên cứu.

---

TÀI LIỆU THAM KHẢO

Tiếng Việt

[1]. TS. Phạm Đắc Bi, KS. Lê Trọng Bằng, KS. Đỗ Anh Tú (2007), “Các đặc điểm cơ bản của máy phát số DVB-T”

[2]. TS. Nguyễn Phạm Anh Dũng (2004), “Giáo trình thông tin di động thế hệ ba”, nhà xuất bản bưu điện, Hà Nội.

[3]. Hồ Quốc Thái, Daniel Massicotte, và Adel-Omar Dahmane (12-2005), “FPGA Implementation of an MUD Based on Cascade Filrers for a WCDMA System”.

[4]. Lê Đức Thuận (2008), “FPGA và ứng dụng cho 3G-WCDMA”, Luận văn thạc sỹ khoa học.

[5]. TS. Ngô Thái Trị (2007), “Bài giảng Truyền hình số mặt đất”.

Tiếng Anh

[6]. Kenneth J.Morgan, 19-10-2004, “Design and Analysis of Four Architectures for FPGA-Based Cellular Computing”, Luận văn thạc sỹ khoa học máy tính .

[7]. Peter Wilson, Jun.2007, “Design Recipes for FPGAs”, www.book.elsevier.com.

Website [8]. www.xilinx.com [9]. www.accelchip.com [10]. www.wikipedia.org [11]. http://www.ngohaibac.net [12]. www.dvb.org

---

PHỤ LỤC 1.Liên hệ giữa Matlab và FPGA

1.1. Tích hợp thuật toán Matlab vào trong thiết kế FPGA.

Có hai kiểu người trong thiết kế điện tử: những người nghĩ dưới dạng từ ngữ, và những người nghĩ dưới dạng hình ảnh. Sự phân nhóm này rõ ràng nhất trong DSP. Một số nhà thiết kế thích phát triển các thuật toán dưới dạng ngôn ngữ, trong khi một số khác lựa chọn vẽ ra các biểu đồ khối để mô tả các dòng dữ liệu. Cho đến bây giờ, mỗi phương pháp sử dụng các công cụ khác nhau nhưng tại sao phải có sự lựa chọn?

Xilinx System Generator cho DSP được thiết kế như một công cụ hữu ích cho việc tạo ra các phác họa DSP sử dụng các phương pháp đồ họa. Với một môi trường lập trình visual, System Generator đáp ứng các yêu cầu của người tạo ra hệ thống (để hợp nhất các thành phần phác họa) và người thiết kế phần cứng (tối ưu sự bổ sung).

Nhiều nhà phát triển thuật toán DSP thấy rằng ngôn ngữ MATLAB đáp ứng tốt nhất dạng phát triển ưa thích của họ. Với hơn 1000 chức năng cũng như các mở rộng chức năng cho xử lý tín hiệu, truyền thông, và xử lý wavelet, MATLAB cung cấp một môi trường phong phú cho việc phát triển thuật toán và gỡ rối.

Cộng thêm các chức năng IP cung cấp trong MATLAB, MATLAB là ngôn ngữ duy nhất thông thạo vector và ma trận trên cơ sở dữ liệu dạng sóng tại trung tâm của thuật toán trong các trình ứng dụng như truyền thông không dây, theo dõi rada/ hồng ngoại, và xử lý ảnh.

Công cụ AccelChip DSP Synthesis được phát triển cho các chuyên viên thiết kế thuật toán và những nhà xây dựng DSP, đó là những người đi theo một language-based flow. Với AccelChip, bắt đầu với các MATLAB M-file để thực hiện việc tạo ra các kích thích, ước lượng thuật toán và xử lý bổ sung. Ta có thể tải các M-file vào trong công cụ AccelChip, chúng trở thành “nguồn vàng” cho dạng thiết kế sản xuất các sự bổ sung tối ưu trong Xilins FPGAs.

Thống nhất từ ngữ và hình ảnh

Trong phần trước, các nhóm thiết kế đã tìm hiểu kỹ System Generator và AccelChop DSO Synthesis như các các công cụ thiết kế riêng biệt, nhưng được yêu cầu truy cập các khía cạnh tốt nhất của mỗi công cụ. AccelChip và phép chia DSP tại Xilinx cộng tác trong việc nỗ lực kết hợp các công cụ của AccelChip với System Generator. Kết quả cho phép kết hợp phác họa thuật toán dựa trên cơ sở ngôn ngữ trong MATLAB và phác họa hướng đến khối giao diện đồ họa trong Simulink như hình p-1.

---

Hình p- 1 Bộ tạo hệ thống, giao diện AccelChip

Công cụ tổng hợp DSP của AccelChip làm tăng System Generator bằng cách cung cấp một hướng tích hợp không có đường nối cho người thiết kế thuật toán, cho phép tạo ra các khối IP một cách mau lẹ, chính xác từ M-file, làm tăng khối Xilinx tạo ra trong System Generator. Hơn nữa, AccelChip có các bộ dụng cụ AccelWare tùy chọn bổ sung System Generator với các lõi IP được tối ưu cho các lõi Xilinx. Các bộ dụng cụ AccelWare bao gồm các khối xâu dựng toán học, xử lý tín hiệu, truyền thông và toán học tiên tiến để bổ sung các chức năng đại số tuyến.

Ví dụ phác họa Kalman Filter

Để minh họa phương pháp này, hãy làm một thuật toán nâng cao viết bằng MATLAB, sử dụng AccelChip để tổng hợp phác họa, và sau đó hợp nhất nó vào mô hình System Generator. Ví dụ là một bộ lọc Kalman – một phép đệ quy, bộ lọc thích ứng phù hợp để kết hợp các tín hiệu nhiễu vào một tín hiệu clear.

Các bộ lọc Kalman gắn vào một mô hình toán học của một đối tượng )như máy bay thương mại được theo dõi bởi rada mặt đất) và sử dụng một mô hình để dự báo các hoạt động trong tương lai. Sau đó các bộ lọc Kalman sử dụng các tín hiệu đo để hiệu chỉnh dự báo định kỳ. function [S] = simple_kalman(λ) DIM = size(λ,2); persistent p p_cap if isempty(p_cap) p_cap = [8 0 0; 0 8 0; 0 0 8]; p = ones(DIM,1)/2; end; I = eye(DIM); R = [128 0 0; 0 128 0; 0 0 128]; # estimate step:

--- #p_est = p; p_cap_est = p_cap+I; # correction step: K = p_cap_est * inv(p_cap_est+R); p = p + K * (λ' - p); p_cap = (I - K)*p_cap_est; S = p';

Ví dụ M-file cho bộ lọc Kalman, cho biết MATLAB M-file mô tả bộ lọc Kalman. Thuật toán định nghĩa ma trận R và I. Đó là 2 ma trận mô tả số liệu thống kê của tín hiệu đo và hoạt động được dự báo. Chín dòng cuối của thuật toán là mã dự báo và hiệu chỉnh ước lượng.

Thuật toán minh họa tính linh động và ngắn gọn của ngôn ngữ MATLAB. Các hoạt động thông thường như phép cộng và phép trừ thực hiện đa dạng như hai ma trận thứ nguyên A và P_cap mà không phải viết các vòng lặp, giống như phải làm trong các ngôn ngữ khác. Tính nhân của 2 ma trận thứ nguyên này được thực hiện tự động như tính nhân ma trận ngoại trừ các diễn giải đặc biệt. Các hoạt động MATLAB như sự hoán vị ma trận cho phép mã MATLAB cô đọng và dễ đọc. Và các hoạt động phức tạp như phép nghịch đảo ma trận được hoàn thành sử dụng các khả năng đại số tuyến rộng của MATLAB.

Với AccelChip, bước đầu tiên trong việc tổng hợp một thuật toán hoàn chỉnh là tạo ra các lõi chủ yếu được tham chiếu, trong trường hợp này, phép nghịch đảo ma trận được chỉ báo bời chức năng gọi inv(P_cap_est+R). Nhưng có thế thực hiện một phép nghịch đảo ma trận bằng nhiều cách; sử dụng phương pháp nào phụ thuộc vào kích cỡ, cấu trúc và giá trị của ma trận.

Sử dụng phép nghịch đảo ma trận lõi IP từ bộ dụng cụ AccelWare, có thể lựa chọn từ các kiểu cấu trúc vi mô được thiết kế cho các ứng dụng khác nhau. Những kiểu cấu trúc vi mô này có thể được tối ưu cho tốc độ, vùng, nguồn điện hoặc âm thanh. Trong trường hợp này, một hướng thích hợp nhất là sử dụng lõi phép nghịch đảo ma trận AccelWare QR.

Tổng hợp RTL với AccelChip

Với MATLAB M-file được tải vào AccelChip, bước tiếp theo là kích thích phác họa điểm di động để thiếp lập một đường cơ sở. Sau đó sử dụng AccelChip để chuyển đổi bản phác họa thành phép toán hỗn hợp điểm, xác minh nó trong MATLAB được biểu diễn trong hình p-3. AccelChip cung cấp một ma trận của các công cụ nhằm giúp sắp xếp các đoạn từ bản phác họa và xác minh các hiệu quả phác họa điểm hỗn hợp như bão hòa và làm tròn số. AccelChip hỗ trợ quy trình này bằng cách truyền bit tăng trong suốt quá trình mô phỏng và để cho sử dụng lời chỉ dẫn để thiết lập các ràng buộc vào độ rộng của bit. Sự khảo sát mô phỏng thuật toán này cho phép đạt được sự lượng tử hóa lý tưởng tối thiểu hóa độ rộng bit trong khi điều khiển tràn hoặc hụt bộ nhớ, …

---

Hình p- 2 Kiến trúc bộ lọc ƣớc tính Kalman

Khi đạt được sự lượng tử hóa thích hợp, bước tiếp theo là tạo ra RTL cho dụng cụ Xilins. Tại điểm này, có thể sử dụng AccelChip GUI để tạo ra các ràng buộc vào các phác họa sử dụng lời chỉ dẫn phác họa theo sau để đạt được sự tối đa hóa cao hơn.

+ Cuộn lại hoặc mở ra các vòng lặp FOR.

+ Mở rộng phép cộng hoặc phép nhân vector và ma trận.

+ Bộ nhớ RAM/ROM ánh xạ của các vector và ma trận 2 thứ nguyên. + Sự chèn đường ống dẫn.

+ Ánh xạ dịch chuyển thanh ghi.

Sử dụng các chỉ dẫn thiết lập phần cứng trên cơ sở kiểm soát bản phác họa, cho phép đội phác họa cải tiến chất lượng kết quả. Trong việc tổng hợp RTL, AccelChip đánh giá phác thảo tổng hợp và sắp xếp thuật toán tổng hợp, thực hiện sự tối ưu hóa đường biên cần thiết trong quy trình.

---

AccelChip duy trì một môi trường xác minh không thay đổi thông qua một cuộc tự kiểm tra; các vector đầu vào/ đầu ra được tạo ra khi xác minh mô phỏng MATLAB điểm hỗn hợp được sử dụng để xác minh RTL được tạo ra. Bước xác minh RTL cũng đưa cho AccelChip thông tin cần thiết để tính toán thông lượng và góc trễ của bộ lọc

Một phần của tài liệu Kỹ thuật FPGA áp dụng thực hiện cho bộ mã FEC trong hệ DVB (Trang 75)

Tải bản đầy đủ (PDF)

(89 trang)