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

Nghiên cứu thiết kế bộ lọc số trong hệ thống đo lường trên công nghệ FPGA

65 72 0

Đ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

Thông tin cơ bản

Tiêu đề Nghiên Cứu Thiết Kế Bộ Lọc Số Trong Hệ Thống Đo Lường Trên Công Nghệ FPGA
Tác giả Bùi Văn Quyền, Tạ Hữu Đức, Trần Huy Hoàng
Người hướng dẫn TS. Đỗ Việt Hà
Trường học Trường Đại Học Giao Thông Vận Tải
Chuyên ngành Kỹ Thuật Điện Tử Và Tin Học Công Nghiệp
Thể loại Báo Cáo Tổng Kết Đề Tài Nghiên Cứu Khoa Học
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 65
Dung lượng 1,59 MB

Cấu trúc

  • Chương I:Tổng Quan Về Tín Hiệu Và Chọn Lọc Tín Hiệu

    • 1.1.Tín hiệu tương tự (Analog) và tín hiệu số (Digital).

      • 1.1.1.Khái niệm, phân loại tín hiệu và hệ xử lý tín hiệu

      • Hình 1.1 : Đồ thị các tín hiệu liên tục.

      • Hình 1.5 : Sơ đồ khối của hệ xử lý số tín hiệu.

      • 1.1.2.Hệ xử lý số

      • Hình 1.6 : Sơ đồ khối của hệ xử lý số.

      • Hình 1.7 : Sơ đồ khối của hệ xử lý số phức tạp

      • Hình 1.8 : Ký hiệu phần tử cộng.

      • Hình 1.9 : Ký hiệu phần tử nhân

      • Hình 1.10 : Ký hiệu phần tử nhân với hằng số.

      • Hình 1.11: Ký hiệu phần tử trễ đơn vị.

      • Hình 1.12 : Ký hiệu phần tử vượt trước đơn vị.

    • 1.2 Các bộ biến đổi tín hiệu tín hiệu tương tự-số (ADC) và bộ biến đổi số- tương tự (DAC).

      • Hình 1.13: Sơ đồ khối hệ thống xử lý số

      • 1.2.1.Bộ biến đổi DAC:

      • Hình 1.14: Sơ đồ DAC

      • 1.2.2.Bộ biến đổi ADC:

      • Hình 1.15: Sơ đồ khối của ADC

      • Hình 1.16: Sơ đồ nguyên lý ADC.

    • 1.3.Bộ lọc số và cơ sở toán học của nó:

      • Hình 1.17: Sơ đồ cấu trúc dạng chuẩn tắc 1 của hệ IIR đệ quy

      • Hình 1.18 : Sơ đồ cấu trúc dạng chuyển vị của hệ IIR đệ quy

      • Hình 1.19 : Sơ đồ cấu trúc dạng chuẩn tắc 2 của hệ IIR đệ quy

      • Hình 1.20 : Sơ đồ cấu trúc của hệ xử lý số FIR không đệ quy

      • Hình 1.21 : Sơ đồ cấu trúc hoặc thuật toán của hệ xử lý số

  • CHƯƠNG II: Giới thiệu về FPGA CỦA HÃNG XILINX VÀ DSP Builder cho Intel FPGA

    • 2.1.Tổng quan về FPGA của XILINX.

      • 2.1.1.Sự hình thành và phát triển của FPGA và CPLD.

      • Hình 2.1 Cấu trúc của PLA (Programmable Logic Array)

      • Hình 2.2 Cấu trúc của CPLD

      • 2.1.2.Field Programmable Gate Arrays ( FPGAs)

      • Hình 2.3: Cấu trúc của FPGA

      • Hình 2.4 Cấu trúc SRAM FPGA ( SRAM Logic Cell)

    • 2.1.3.Ngôn ngữ VHDL

      • Hình 2.5: Sơ đồ khối 1 module

    • 2.2.Kiến trúc FPGA cho thiết kế DSP

      • 2.2.1.Đặc điểm

      • 2.2.2. Quy trình thiết kế DSP trong FPGA

      • 2.2.3.Các dòng thiết kế DSP phần mềm và phần cứng trong FPGA

  • Chương III: Thiết kế bộ lọc số FIR trên công cụ DSP BUILDER sử dụng Matlab - Modulesim

    • 3.1. Matlab

  • 3.2. Công cụ DSP Builder

  • DSP Builder là một công cụ SIMULINK trong ngôn ngữ MATLAB được sản

  • xuất bởi ALTERA; nó là một công cụ thiết kế hệ thống, tích hợp MATLAB và

  • SIMULINK DSP vào trong môi trường thiết kế phần cứng QUARTUS II. Người thiết kế có thể sử dụng mô hình đồ họa trong SIMULINK để thiết kế hệ thống và chạy mô

  • phỏng; sau đó, mô hình thiết kế được tự động chuyển đổi sang ngôn ngữ mô tả phần

  • cứng VHDL, thiết kế hoàn toàn tương thích và chương trình có thể mô phỏng trên

  • phần mềm QUARTUS II.

  • Thiết kế sử dụng công cụ DSP Builder có thể thực hiện theo sơ đồ

    • Hình 3.1 : Sơ đồ thiết kế của công cụ DSP Builder

  • Việc sử dụng MATLAB và DSP Builder trên FPGA có thể kết nối phần mềm và phần cứng và đơn giản hóa tiến trình thiết kế hệ thống

  • 3.3. Thiết kế bộ lọc FIR bậc 16 trên MATLAB – DSP Builder

  • 3.3.1. Các thông số bộ lọc

  • Sử dụng công cụ FDATool () trong MATLAB để tìm các hệ số của bộ lọc FIR với các yêu cầu của bộ lọc: Bộ lọc FIR bậc 16, thông thấp, tần số lấy mẫu 8kHz, tần số cắt 0,6kHz, thiết kế bằng phương pháp cửa sổ chữ nhật.

  • Sau khi sử dụng công cụ FDATool của MATLAB để thiết kế bộ lọc FIR với các yêu cầu như trên, ta đạt được các hệ số bộ lọc như sau:

  • h(0) = h(15) = -0,0209; h(1) = h(14) = -0,0064; h(2) = h(13) = 0,0146

  • h(3) = h(12) = 0,0402; h(4) = h(11) = 0.0676; h(5) = h(10) = 0,0936

  • h(6) = h(9) = 0,1150; h(7) = h(8) = 0,1291

  • Các hệ số của bộ lọc được tính toán bởi FDATool ở dạng số thập phân, tuy nhiên mô hình bộ lọc được thiết kế trong DSP Builder cần các hệ số ở dạng số nguyên có dấu để có thể thực thi được trên kit FPGA; do đó, các hệ số bộ lọc và tín hiệu đầu vào cần phải được lượng tử hóa và chuẩn hóa. Các khối tín hiệu vào ra trong công cụ DSP Builder được mã hóa với từ mã chiều d|i 8 bit, để chuyển đổi các hệ số thành số nguyên và chuẩn hóa, ta nhân các hệ số với và làm tròn [3], ta nhận được các hệ số ở dạng số nguyên có dấu như sau:

  • h(0) = h(15) = -5; h(1) = h(14) = -2; h(2) = h(13) = 4

  • h(3) = h(12) = 10; h(4) = h(11) = 17; h(5) = h(10) = 24

  • h(6) = h(9) = 29; h(7) = h(8) = 33

  • Các hệ số này được trực tiếp đưa v|o mô hình bộ lọc trong DSP Builder

  • 3.3.2. Thiết lập mô hình bộ lọc bậc 16

  • Mô hình được thiết kế trong môi trường SIMULINK của MATLAB để tạo file mô hình .mdl, bắt đầu bằng công cụ Altera DSP Builder, sử dụng các khối: Delay module trong thư viện Storage, Product module trong thư viện Arithmetic và bộ cộng Parallel Adder Substractor module.

  • Đầu tiên, ta thiết kế bộ lọc bậc 4 như hình 3, độ rộng chuỗi bit vào là 9 bit, độ rộng của chuỗi bit ra sau khối Product là 18 bit, độ rộng của chuỗi bit ra sau khối Parallel Adder Substractor là 20 bit [4].

    • Hình 3.2 : Mô hình bộ lọc FIR bậc 4

  • Mô hình thiết kế bộ lọc bậc 4 gồm 1 đầu vào tín hiệu và 4 đầu vào hệ số h(n), 4 khối trễ Delay, 4 khối tích Product và 1 khối cộng Parallel Adder Substractor. Sau khi thiết kế mô hình bậc 4 hoàn tất, ta nhóm lại thành một hệ thống lọc con bằng chức năng Subsystem và đặt tên là FIR.

  • Kết nối 4 bộ lọc FIR con như hình 3.3 ta được một mô hình bộ lọc FIR thông thấp bậc 16 với 16 hệ số lọc được đưa đến 16 đầu vào cố định , 4 tín hiệu đầu ra của 4 bộ lọc FIR con được đưa vào bộ cộng Parallel Adder Substractor để cho 1 tín hiệu ra của bộ lọc FIR thông thấp bậc 16 có chức năng lọc tín hiệu có tần số 0,6kHz.

    • Hình 3.3 : Mô hình bộ lọc thông thấp FIR bậc 16

  • Tín hiệu vào là 2 tín hiệu sin, tín hiệu thứ nhất có tần số 0,4kHz, tín hiệu thứ hai có tần số 0,8kHz. Hai tín hiệu này sẽ được cộng với nhau và đưa vào bộ lọc. Dao động ký được dùng để hiển thị dạng sóng tín hiệu vào và tín hiệu ra.

  • 3.3.3. Tạo code VHDL

  • Mô hình bộ lọc bậc 16 được thiết kế ở dạng file .mdl trong môi trường Simulink của Matlab, để thực thi trên cấu trúc phần cứng, ta cần chuyển đổi mô hình sang ngôn ngữ VHDL với phần mềm MODELSIM. Sử dụng TestBench Module trong thư viện Atlab của công cụ Altera DSP Builder, sau đó yêu cầu mô phỏng ModelSim ở dạng giao diện đồ họa (GUI) [6]. Mở TestBench, chọn Enable Test Bench Generation, kích Genarate HDL, tạo file mô phỏng, chạy mô phỏng Simulink, chạy mô phỏng ModelSim, chọn Launch GUI và bắt đầu mô phỏng bằng ModelSim.

    • Hình 3.4 : Tạo VHDL Test Bench

  • 3.3.4. Kết quả

  • Chạy mô phỏng bộ lọc FIR thông thấp bậc 16 bằng công cụ DSP Builder cho ta kết quả ban đầu khả quan.

  • Với 2 tín hiệu vào dạng sin: tín hiệu thứ nhất có tần số 0,4kHz như hình 3.5.a và tín hiệu thứ hai có tần số 0,8kHz được mô phỏng như hình 3.5.b

    • Hình 3.5: a. Tín hiệu sin tần số 0,4kHz; b. Tín hiệu sin tần số 0,8kHz

  • Hai tín hiệu sóng sin n|y được lấy mẫu, sau đó đi vào bộ cộng để được một tín hiệu ra, tín hiệu này được đưa vào bộ lọc FIR thông thấp bậc 16 có tần số cắt 0,6kHz.

  • Như vậy, sau khi qua bộ lọc, thành phần tín hiệu có tần số 0,8kHz sẽ bị loại bỏ và chỉ giữ lại thành phần tần số 0,4kHz.

    • Hình 3.6 : a. Tín hiệu sin tần số 0,4kHz đã lấy mẫu; b. Tín hiệu sin tần số 0,8kHz đã lấy mẫu; c. Tín hiệu cộng trước khi lọc; d. Tín hiệu sau khi qua bộ lọc FIR thông thấp bậc 16

  • Ta có kết quả mô phỏng thể hiện ở hình 3.6, dạng sóng ở hình 3.6.a là tín hiệu sin tần số 0,4kHz, dạng sóng ở hình 3.6.b là tín hiệu sin tần số 0,8kHz, cả hai dạng sóng đều được lấy mẫu, dạng sóng ở hình 3.6.c là tín hiệu cộng của hai tín hiệu sin ở trên và được đưa vào bộ lọc, dạng sóng ở hình 3.6.d là tín hiệu cộng sau khi qua bộ lọc FIR thông thấp có tần số cắt 0,6kHz. Ta thấy, tín hiệu sau khi lọc (hình 3.6.d) được giữ nguyên dạng tín hiệu trước khi lọc (hình 3.6.c), tuy nhiên thành phần tần số 0,8kHz đã bị loại bỏ, chỉ còn thành phần tần số 0,4kHz.

  • Như vậy, bằng công cụ Altera DSP Builder, ta hoàn toàn có thể thiết kế được bộ lọc số với mục đích lọc tín hiệu với băng tần mong muốn. Phương pháp này giúp chúng ta kết nối được phần mềm và phần cứng một cách linh hoạt hơn, tạo liên kết giữa ngôn ngữ phần mềm Matlab và ngôn ngữ mô tả phần cứng VHDL.

  • 3.3.5. Kết luận

  • Sử dụng phương pháp thiết kế bộ lọc số FIR thông thấp bằng công cụ Altera DSP Builder và thư viện Simulink của Matlab, ta có thể hoàn thiện mô hình của bộ lọc số FIR, chuyển đổi file mô hình sang code HDL để hướng đến việc nhúng mô hình vào kit FPGA thông qua phần mềm QUARTUS II. Phương pháp này được thực hiện đơn giản trên môi trường Simulink của Matlab, tránh việc lập trình bằng ngôn ngữ VHDL phức tạp, quá trình mô phỏng cũng đơn giản hơn.

  • Phương pháp thiết kế đã đạt kết quả tốt ban đầu ở bước mô phỏng, mở ra hướng ứng dụng với tín hiệu thực tế và trực tiếp thực hiện lọc trên kit ALTERA DE2-115. Nhìn chung, phương pháp này cung cấp một hướng phát triển rộng hơn cho việc ứng dụng kit FPGA trong vấn đề xử lý tín hiệu số.

  • Chương IV : Ưu điểm của FPGA cho thiết kế bộ lọc so với các DSP khác

  • 4.1. Giải pháp cho ứng dụng sử lý tín hiệu

  • Cấu trúc của khối xử lý ở hình dưới cho phép mỗi thành phần thực thi nhiệm vụ một cách tốt nhất. Nó giúp hệ thống chạy hiệu quả hơn về mặt giá cả, hiệu suất và tính năng. Trong cấu trúc này, người thiết kế có thể đưa phần mềm điều khiển hệ thống (máy trạng thái và các phần mềm truyền thông khác) vào bộ xử lý đa mục đích hoặc các vi điều khiển, các hàm yêu cầu năng lực xử lý mạnh lên FPGA và các hàm xử lý tín hiệu lên DSP.

    • Hình 4.1: Giải pháp thông dụng trong xử lý tín hiệu

  • Khi xây dựng quá trình phát triển sản phẩm nhúng có nhiều cách để giảm giá thành hoặc nâng cao tính năng của hệ bằng cách kết hợp GPP/uC, FPGA và DSP. Người thiết kế hệ thống có thể đưa FPGA vào hệ DSP vì một số các lý do sau:

  • Mở rộng thời gian tồn tại của vi xử lý, DSP bằng cách chuyển các công việc yêu cầu tính toán cao cho FPGA

  • Làm giảm hoặc loại bỏ những yêu cầu cần đến một DSP mạnh và đắt tiền

  • Tăng cường năng lực tính toán. Nếu hệ thống hiện thời cần phải tăng độ phân giải, tăng dải tín hiệu làm việc, ta có thể lựa chọn sử dụng thêm FPGA. Nếu hệ thống đơn thuần chỉ cần tăng thêm năng lực tính toán ta vẫn có thể sử dụng thêm FPGA

  • Thiết kế sảm phẩm mẫu dựa trên thuật toán xử lý tín hiệu mới

    • 4.2 Tại sao nên dùng FPGA trong khi có các DSP cực mạnh ?

    • Thị trường xử lý tín hiệu kỹ thuật số (DSP) đang phát triển bao gồm các ứng dụng phát triển nhanh chóng như không dây 3G, giao thức thoại qua Internet (VoIP), hệ thống đa phương tiện, hệ thống radar và vệ tinh, hệ thống y tế, ứng dụng xử lý hình ảnh và thiết bị điện tử tiêu dùng. Các ứng dụng này bao gồm một loạt các yêu cầu về hiệu suất và chi phí.

      • Hình 4.2: Lợi thế về hiệu suất của Altera DSP

      • Hình 4.3. Kết quả điểm chuẩn BDTI trên hệ thống OFDM So sánh Stratix FPGA và các bộ xử lý DSP khác

      • Hình 4.4. Stratix II vs. So sánh hiệu suất tương đối IP và lõi mở của Virtex-4

      • Hình 4.5 : So sánh hiệu suất FPGA với chip khác

Nội dung

Cùng với sự phát triển của khoa học công nghệ, yêu cầu về độ chính xác và tốc độ xử lý trong kỹ thuật đo lường ngày càng đòi hỏi cao hơn. Điều đó không chỉ xuất phát từ yêu cầu kỹ thuật của các hệ thống thiết bị hiện đại mà còn từ nhu cầu về lợi ích kinh tế và những đòi hỏi ngày càng khắt khe của người tiêu dùng.

Tại sao nên dùng FPGA trong khi có các DSP cực mạnh

Thị trường xử lý tín hiệu kỹ thuật số (DSP) đang trên đà phát triển mạnh mẽ, bao gồm các ứng dụng như không dây 3G, VoIP, hệ thống đa phương tiện, radar và vệ tinh, y tế, xử lý hình ảnh, cùng với thiết bị điện tử tiêu dùng Những ứng dụng này đòi hỏi đa dạng về hiệu suất và chi phí, phản ánh nhu cầu ngày càng cao trong lĩnh vực công nghệ.

Bộ xử lý DSP được sử dụng để triển khai nhiều ứng dụng DSP, nhưng kiến trúc phần cứng của chúng không linh hoạt Điều này dẫn đến việc bộ xử lý DSP bị giới hạn bởi các yếu tố như tắc nghẽn hiệu suất bus, số lượng khối tích lũy nhân (MAC) cố định, bộ nhớ cố định, và khối tăng tốc phần cứng cố định Do đó, kiến trúc phần cứng cố định này không phù hợp với một số ứng dụng yêu cầu triển khai chức năng DSP tùy chỉnh.

FPGA cung cấp giải pháp cấu hình lại cho các ứng dụng DSP, cho phép xử lý dữ liệu thô và thông lượng cao hơn so với bộ xử lý DSP truyền thống Với khả năng tùy chỉnh phần cứng, FPGA cho phép triển khai các hệ thống DSP với kiến trúc, cấu trúc bus, bộ nhớ và khối tăng tốc phần cứng tùy chỉnh Tuy nhiên, một trong những lý do khiến FPGA chưa được chấp nhận rộng rãi trong thị trường DSP là thiếu các dòng thiết kế dựa trên mã C dễ tiếp cận, yêu cầu kiến thức về kiến trúc FPGA và ngôn ngữ mô tả phần cứng (HDL) Các lập trình viên DSP quen với thiết kế phần mềm thường gặp khó khăn khi chuyển sang FPGA Để giải quyết vấn đề này, Altera và Xilinx đã phát triển các công cụ thiết kế mới, tích hợp tùy chọn luồng thiết kế dựa trên mã C, giúp đơn giản hóa quá trình chuyển đổi từ thiết kế DSP truyền thống.

Ưu điểm FPGA cho các ứng dụng DSP hiệu suất cao

Sử dụng FPGA mang lại hiệu suất vượt trội, cho phép bạn dễ dàng phân chia thời gian và ghép kênh trong thiết kế DSP, từ đó tăng số lượng kênh xử lý và giảm chi phí tổng thể của hệ thống Bảng 1 minh họa rõ ràng những lợi thế về hiệu suất mà Altera cung cấp so với các giải pháp silicon khác cho hệ thống DSP.

Loại so sánh Lợi thế về hiệu suất của Altera

Altera FPGA vs Bộ xử lý DSP 10 × sức mạnh xử lý DSP trên mỗi đô la

So sánh FPGA hiệu suất cao: Altera's

Stratix II FPGA vs Xilinx's Virtex-4

Lên đến 1,8 × và hiệu suất cao hơn trung bình 1,2 ×

FPGA chi phí thấp: Altera's Cyclone II

FPGA vs Xilinx's Spartan-3 FPGA

Hiệu suất cao hơn lên đến 2 lần và trung bình 1,5 lần

Hình 4.2: Lợi thế về hiệu suất của Altera DSP

Điểm chuẩn BDTI - FPGA vs Bộ xử lý DSP

Berkeley Design Technology Inc (BDTI) là nhà cung cấp hàng đầu về điểm chuẩn DSP độc lập và phân tích định kỳ, chuyên so sánh hiệu suất FPGA với các bộ xử lý DSP thông thường Điểm chuẩn mới nhất dựa trên hệ thống ghép kênh phân chia theo tần số trực giao (OFDM) cho thấy FPGA Stratix thế hệ đầu tiên của Altera giảm hơn 95% chi phí trên mỗi kênh so với các bộ xử lý DSP khác.

Hình 4.3 Kết quả điểm chuẩn BDTI trên hệ thống OFDM So sánh Stratix FPGA và các bộ xử lý DSP khác

So sánh IP độc quyền và lõi mở FPGA hiệu suất cao

Dòng FPGA Stratix II của Altera mang lại hiệu suất vượt trội với khả năng đạt được hiệu suất cao hơn đến 1,8 lần và trung bình là 1,2 lần so với Xilinx Virtex, làm cho nó trở thành lựa chọn lý tưởng cho các ứng dụng yêu cầu hiệu suất và mật độ cao.

4 FPGA Xem Hình 3 để so sánh hiệu suất tương đối và Bảng 4 để biết dữ liệu hiệu suất chi tiết cho các họ Stratix II và Virtex-4.

Các FPGA hiện đại tích hợp các hệ số nhân chuyên dụng nhằm tăng tốc độ các phép toán nhân tích lũy, rất quan trọng cho nhiều thiết kế DSP Tuy nhiên, hiệu suất hệ thống tối ưu không chỉ phụ thuộc vào tốc độ của hệ số nhân mà còn cần ghép nối với cấu trúc logic bổ sung và các loại vải định tuyến có hiệu suất tương đương Dòng Stratix II cung cấp khả năng tích hợp các khối DSP hoạt động ở tốc độ cao, giúp nâng cao hiệu quả tính toán.

Tần số 450 MHz với các mô-đun logic thích ứng hiệu suất cao (ALM) và cấu trúc định tuyến mang lại hiệu suất hệ thống tối ưu cho thiết kế DSP Thiết bị Stratix II cho thấy khả năng hoạt động trên 350 MHz trong 9 trên tổng số 17 thiết kế, với hai thiết kế FIR vượt quá 400 MHz Trong khi đó, chỉ có 2 trong số 17 thiết kế của Virtex-4 đạt trên 350 MHz, theo hiệu suất được công bố trong bảng dữ liệu của họ Điều này chứng minh rằng hiệu suất hệ thống cao chỉ có thể đạt được thông qua sự kết hợp thông minh giữa các tính năng và cấu trúc nhúng.

Hình 4.4 Stratix II vs So sánh hiệu suất tương đối IP và lõi mở của Virtex-4

Hình 4.5 : So sánh hiệu suất FPGA với chip khác

So sánh IP độc quyền và lõi mở FPGA chi phí thấp …

FPGA Cyclone II của Altera mang lại hiệu suất vượt trội với chi phí thấp, đạt tới 2 lần hiệu suất cao hơn và trung bình là 1,5 lần so với dòng Xilinx Spartan-3 Theo dữ liệu chuẩn, thiết bị Cyclone II có thể hoạt động trên 200 MHz trong 9 trong số 17 thiết kế, trong khi một thiết kế FIR thậm chí vượt quá 300 MHz Ngược lại, không có thiết kế nào trong dòng Spartan-3 đạt trên 200 MHz Cyclone II cũng thể hiện hiệu suất tốt hơn trong tất cả các thiết kế được chuẩn hóa, cho phép tăng số kênh hoặc giảm chi phí cho các thiết kế điển hình.

Hình 4.5 cho thấy so sánh hiệu suất tương đối giữa FPGA Cyclone II và Spartan

3 Bảng 5 hiển thị dữ liệu hiệu suất chi tiết cho FPGA Cyclone II và Spartan-3.

Ngày đăng: 30/07/2021, 08:40

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w