ĐỒ ÁN thiết kế bộ lọc FIR thông thấp trên FPGA

37 1.5K 10
ĐỒ ÁN thiết kế bộ lọc FIR thông thấp trên FPGA

Đ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

ĐỒ ÁN II December 10, 2014 MỤC LỤC MỤC LỤC .1 2.1 DẪN NHẬP 17 2.2 CÁC KỸ THUẨT THIẾT KẾ CỦA SỔ 20 2.2.1 Cửa sổ chữ nhật (Rectangular Window) 23 2.2.2 Cửa sổ tam giác (Bartlett Window) 23 2.2.3 Cửa sổ Hanning (Hanning Window) 23 2.2.4 Cửa sổ Hamming (Hamming Window) 24 2.2.5 Cửa sổ Blackman (Blackman Window) 24 2.2.6 Cửa sổ Kaiser (Kaiser Window) .26 2.2.7 Thực SystemVue 29 THỰC NGHIỆM .30 3.1 MÔ PHỎNG TRÊN SYSTEMVUE 3.2 MÔ PHỎNG TRÊN FPGA 30 32 MỤC LỤC HÌNH ẢNH HÌNH 1: KIẾN TRÚC TỔNG QUAN CỦA FPGA .5 HÌNH 2:KHỐI LOGIC LẬP TRÌNH ĐƯỢC CỦA FPGA HÌNH 3:GIAO DIỆN CỬA SỔ PHẦN MỀM ISE .11 HÌNH 4: CÁC LỰA CHỌN TẠO PROJECT VỚI VIRTEX 13 HÌNH 5:KHAI BÁO CÁC CỔNG CHO MỘT VÍ DỤ TẠO MỘT COUNTER BIT 14 HÌNH 6: THIẾT LẬP THỜI GIAN ĐẾM TIẾN, LÙI CHO COUNTER .16 HÌNH 7: KẾT QUẢ MÔ PHỎNG CỦA COUNTER 16 HÌNH :CÁC CHỈ TIÊU CỦA BỘ LỌC FIR: CÁC CHỈ TIÊU TUYỆT ĐỐI VÀ TƯƠNG ĐỐI .18 HÌNH 9:KẾT QUẢ CỦA VIỆC LẤY CỬA SỔ TRONG MIỀN TẦN SỐ 22 HÌNH 10: HÌNH DẠNG MỘT SỐ CỬA SỔ THƯỜNG DÙNG .25 HÌNH 11: TÓM TẮT ĐẶC TÍNH CỦA MỘT SỐ LOẠI CỬA SỔ THƯỜNG DÙNG 25 HÌNH 12: KHẢO SÁT ĐẶC TÍNH CỬA SỔ KAISER 28 HÌNH 13: SO SÁNH GIỮA CÁC LOẠI CỬA SỔ ĐƯỢC DÙNG 29 HÌNH 14: BỘ LỌC FIR TRONG SYSTEMVUE 29 HÌNH 15 KHỐI NCO .30 HÌNH 16: SƠ ĐỒ TOÀN MẠCH THIẾT KẾ 30 HÌNH 17: TIÉN HIỆU ĐẦU RA .31 HÌNH 18: PHỔ TÍN HIỆN KHI CHƯA LỌC 31 HÌNH 19 : PHỔ TÍN HIỆU KHI ĐÃ LỌC ( MÀU XANH ) 32 ĐH Bách Khoa Hà nội Page ĐỒ ÁN II December 10, 2014 LỜI MỞ ĐẦU Ngày nay, xử lý tín hiệu lọc số ngành phát triển mạnh me, các công nghệ, thuật toán ngày được đổi mới tối ưu hoá nhằm nâng cao tính hiệu quả Tuy nhiên, công nghệ phát triển cao thì đòi hỏi phần cứng phải đủ nhanh để xử lý Các mạch lọc tương tự trước không đủ khả để đáp ứng yêu cầu Vì vậy, FPGA đời giải pháp cung cấp môi trường làm việc hiệu quả cho các ứng dụng thực tế Tính linh động cao quá trình thiết kế cho phép FPGA giải toán phức tạp mà trước thực nhờ phần mềm máy tính Ngoài ra, nhờ mật độ cổng logic cao, FPGA được ứng dụng cho toán đòi hỏi khối lượng tính toán lớn dùng các hệ thống làm việc theo thời gian thực Những ứng dụng thực tế FPGA rất rộng rãi, bao gồm: các hệ thống hàng không, vũ trụ, quốc phòng, tiền thiết kế mẫu ASIC(ASIC prototyping), 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ật mã học, mô hình phần cứng máy tính Đặc biệt, với khả tái lập trình, người sử dụng thay đổi lại thiết kế mình vài giờ ĐH Bách Khoa Hà nội Page ĐỒ ÁN II December 10, 2014 Chính vì tính thiết thực mà FPGA mang lại, em định chọn FPGA làm hướng nghiên cứu mình Trong khoá luận này, em xin trình bày ứng dụng cụ thể FPGA xử lý tín hiệu số “Thực lọc FIR thông thấp phương pháp cửa sổ chíp FPGA” Em xin chân thành cảm ơn thầy Phạm Hải Đăng đặc biệt tận tình hướng dẫn giúp đỡ chúng em để hoàn thành đồ án cách tốt đẹp Do thời gian kiến thức có hạn nên công trình tránh khỏi sai sót, vì em rất mong nhận được các ý kiến đóng góp thầy Em xin chân thành cảm ơn ! CHƯƠNG I TỔNG QUAN VỀ FPGA VÀ NGÔN NGỮ VHDL 1.1 TỔNG QUAN VỀ FPGA 1.1.1 Lịch sử đời FPGA FPGA được thiết kế Ross Freeman, người sáng lập công ty Xilinx vào năm 1984, kiến trúc mới FPGA cho phép tích hợp số lượng tương đối lớn các phần tử bán dẫn vào vi mạch so với kiến trúc trước CPLD FPGA có khả chứa tới từ 100.000 đến hàng vài tỷ cổng logic, CPLD chứa từ 10.000 đến 100.000 cổng logic; số đối với PAL, PLA thấp đạt vài nghìn đến 10.000 CPLD được cấu trúc từ số lượng nhất định các khối SPLD (Simple programable logic device) thuật ngữ chung PAL, PLA SPLD thường mảng logic AND/OR lập trình được có kích thước xác định chứa số lượng hạn chế các phần tử nhớ đồng (clocked register) Cấu trúc hạn chế khả thực ĐH Bách Khoa Hà nội Page ĐỒ ÁN II December 10, 2014 hàm phức tạp thông thường hiệu suất làm việc vi mạch phụ thuộc vào cấu trúc cụ thể vi mạch vào yêu cầu toán Kiến trúc FPGA kiến trúc mảng các khối logic, khối nhỏ nhiều đem so sánh với khối SPLD, ưu điểm giúp FPGA chứa nhiều các phần tử logic phát huy tối đa khả lập trình các phần tử logic hệ thống mạch kết nối, để đạt được mục đích thì kiến trúc FPGA phức tạp nhiều so với CPLD Một điểm khác biệt với CPLD FPGA đại được tích hợp nhiều logic số học được tối ưu hóa, hỗ trợ RAM, ROM, tốc độ cao, hay các nhân, cộng dùng cho ứng dụng xử lý tín hiệu số Ngoài khả cấu trúc lại vi mạch mức toàn cục, số FPGA đại hỗ trợ cấu trúc lại mức cục bộ, tức khả cấu trúc lại phận riêng lẻ đảm bảo hoạt động bình thường cho các phận khác 1.1.2 Khái niệm cấu trúc FPGA FPGA (Field-programmable gate array) vi mạch dùng cấu trúc mảng phần tử logic mà người dùng lập trình được Chữ field muốn đến khả tái lập trình “bên ngoài” tuỳ theo mục đích ứng dụng người sử dụng, không phụ thuộc vào dây chuyền sản xuất phức tạp nhà máy bán dẫn Kiến trúc tổng quan FPGA được mô tả hình 1: ĐH Bách Khoa Hà nội Page ĐỒ ÁN II December 10, 2014 Hình 1: Kiến trúc tổng quan FPGA Vi mạch FPGA được cấu thành từ các phận: • Các khối logic lập trình (logic block) Phần tử FPGA các khối logic (logic block) Khối logic được cấu thành từ LUT phần tử nhớ đồng flip-flop LUT (Look up table) khối logic thực bất kì hàm logic từ đầu vào, kết quả hàm tùy vào mục đích mà gửi khối logic trực tiếp hay thông qua phần tử nhớ flip-flop Khối logic được mô tả hình 2: Hình 2:Khối logic lập trình FPGA ĐH Bách Khoa Hà nội Page ĐỒ ÁN II December 10, 2014 Trong tài liệu hướng dẫn các dòng FPGA Xilinx sử dụng khái niệm SLICE, Slice gồm khối logic tạo thành, số lượng các Slices thay đổi từ vài nghìn đến vài chục nghìn tùy theo loại FPGA • Hệ thống mạch liên kết lập trình Mạng liên kết FPGA được cấu thành từ các đường kết nối theo hai phương ngang đứng, tùy theo loại FPGA mà các đường kết nối được chia thành các nhóm khác nhau, ví dụ XC4000 Xilinx có loại kết nối: ngắn, dài rất dài Các đường kết nối được nối với thông qua các khối chuyển mạch lập trình được (programable switch), khối chuyển mạch chứa số lượng nút chuyển lập trình được, đảm bảo cho các dạng liên kết phức tạp khác • Khối vào/ra (IO Pads) Khối vào/ra nhiều hay tuỳ thuộc vào loại FPGA Chúng được kết nối với các thiết bị bên LED, USB, RS232, RAM tuỳ theo mục đích sử dụng • Các phần tử tích hợp sẵn Ngoài các khối logic, tùy theo các loại FPGA khác mà có các phần tử tích hợp thêm khác nhau, ví dụ để thiết kế ứng dụng SoC, dòng Virtex 4, Xilinx có chứa nhân xử lý PowerPC, hay cho ứng dụng xử lý tín hiệu số FPGA được tích hợp các DSP Slice nhân, cộng tốc độ cao, thực hàm A*B+C, ví dụ dòng Virtex Xilinx chứa từ vài chục đến hàng trăm DSP slices với A, B, C 18-bit 1.1.3 Các ứng dụng FPGA Ứng dụng FPGA bao gồm: xử lý tín hiệu số, các hệ thống hàng không, vũ trụ, quốc phòng, tiền thiết kế mẫu ASIC(ASIC prototyping), 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ật mã học, mô hình phần cứng máy tính Do tính linh động cao quá trình thiết kế cho phép FPGA giải lớp toán phức tạp mà trước thực nhờ phần mềm máy tính, ĐH Bách Khoa Hà nội Page ĐỒ ÁN II December 10, 2014 nhờ mật độ cổng logic lớn FPGA được ứng dụng cho toán đòi hỏi khối lượng tính toán lớn dùng các hệ thống làm việc theo thời gian thực 1.2 TỔNG QUAN VỀ NGÔN NGỮ VHDL Thiết kế hay lập trình cho FPGA được thực chủ yếu bằng các ngôn ngữ mô tả phần cứng HDL VHDL, Verilog các hãng sản xuất FPGA lớn Xilinx, Altera thường cung cấp các gói phần mềm thiết bị phụ trợ cho quá trình thiết kế, có số các hãng thứ ba cung cấp các gói phần mềm kiểu Synopsys, Synplify Các gói phần mềm có khả thực tất cả các bước toàn quy trình thiết kế IC chuẩn với đầu vào mã thiết kế HDL (còn gọi mã RTL) Trong Luận văn này, có sử dụng ngôn ngữ mô tả phần cứng VHDL, ta tập chung tìm hiểu ngôn ngữ VHDL 1.2.1 Giới thiệu ngôn ngữ mô tả phần cứng VHDL VHDL ngôn ngữ mô tả phần cứng cho các mạch tích hợp tốc độ rất cao, loại ngôn ngữ mô tả phần cứng được phát triển dùng cho trương trình VHSIC( Very High Speed Itergrated Circuit) quốc phòng Mỹ Mục tiêu việc phát triển VHDL có được ngôn ngữ mô phần cứng tiêu chuẩn thống nhất cho phép thử nghiệm các hệ thống số nhanh cho phép dễ dàng đưa các hệ thống vào ứng dụng thực tế Ngôn ngữ VHDL được ba công ty Intermetics, IBM Texas Instruments bắt đầu nghiên cứu phát triển vào tháng năm 1983 Phiên bản được công bố vào tháng 8-1985 Sau VHDL được đề xuất để tổ chức IEEE xem xét thành tiêu chuẩn chung Năm 1987 đưa tiêu chuẩn VHDL( tiêu chuẩn IEEE-1076-1987) VHDL được phát triển để giải các khó khăn việc phát triển, thay đổi lập tài liệu cho các hệ thống số Như ta biết, hệ thống số có rất nhiều tài liệu mô tả Để vận hành bảo trì sửa chữa hệ thống ta cần tìm hiểu kỹ lưỡng tài liệu Với ngôn ngữ mô phần cứng tốt việc xem xét các tài liệu mô tả trở nên dễ dàng vì tài liệu được thực thi để mô hoạt động hệ thống Như ta xem xét toàn các phần tử hệ thống hoạt động mô hình thống nhất ĐH Bách Khoa Hà nội Page ĐỒ ÁN II December 10, 2014 VHDL được phát triển ngôn ngữ độc lập không gắn với bất kỳ phương pháp thiết kế, mô tả hay công nghệ phần cứng Người thiết kế tự lựa chọn công nghệ, phương pháp thiết kế sử dụng ngôn ngữ nhất Và đem so sánh với các ngôn ngữ mô phần cứng khác kể ta thấy VHDL có số ưu điểm hẳn các ngôn ngữ khác: - Thứ tính công cộng: VHDL được phát triển dưới bảo trợ phủ Mỹ tiêu chuẩn IEEE VHDL được hỗ trợ nhiều nhà sản xuất thiết bị nhiều nhà cung cấp công cụ thiết kế mô hệ thống - Thứ hai khả hỗ trợ nhiều công nghệ phương pháp thiết kế VHDL cho phép thiết kế bằng nhiều phương pháp, ví dụ phương pháp thiết kế từ xuống, hay từ dưới lên dựa vào các thư viện sẵn có VHDL hỗ trợ cho nhiều loại công cụ xây dựng mạch sử dụng công nghệ đồng hay không đồng bộ, sử dụng ma trận lập trình được hay sử dụng mảng ngẫu nhiên - Thứ ba tính độc lập với công nghệ: VHDL hoàn toàn độc lập với công nghệ chế tạo phần cứng Một mô tả hệ thống dùng VHDL thiết kế mức cổng được chuyển thành các bản tổng hợp mạch khác tuỳ thuộc công nghệ chế tạo phần cứng mới đời được áp dụng cho các hệ thống thiết kế - Thứ tư khả mô tả mở rộng: VHDL cho phép mô tả hoạt động phần cứng từ mức hệ thống số mức cổng VHDL có khả mô tả hoạt động hệ thống nhiều mức sử dụng cú pháp chặt che thống nhất cho mức Như ta mô bản thiết kế bao gồm cả các hệ được mô tả chi tiết - Thứ năm khả trao đổi kết quả: Vì VHDL tiêu chuẩn được chấp nhận, nên mô hình VHDL chạy mô tả đáp ứng được tiêu chuẩn VHDL Các kết quả mô tả hệ thống được trao đổi các nhà thiết kế sử dụng công cụ thiết kế khác tuân theo tiêu chuẩn VHDL Cũng nhóm thiết kế trao đổi mô tả mức cao các hệ ĐH Bách Khoa Hà nội Page ĐỒ ÁN II December 10, 2014 thống hệ thống lớn (trong các hệ được thiết kế độc lập) - Thứ sáu khả hỗ trợ thiết kế mức lớn khả sử dụng lại các thiết kế: VHDL được phát triển ngôn ngữ lập trình bậc cao, vì được sử dụng để thiết kế hệ thống lớn với tham gia nhóm nhiều người Bên ngôn ngữ VHDL có nhiều tính hỗ trợ việc quản lý, thử nghiệm chia sẻ thiết kế Và cho phép dùng lại các phần có sẵn 1.2.2 Cấu trúc mô hình hệ thống mô tả ngôn ngữ VHDL Mục đích phần se nhằm giới thiệu sơ qua cấu trúc khung bản VHDL mô tả cho mô hình thiết kế thực Thông thường mô hình VHDL bao gồm ba phần: thực thể, kiến trúc các cấu hình Đôi ta xử dụng các gói (packages) mô hình kiểm tra hoạt động hệ thống (testbench) + Thực thể (entity): Khai báo thực thể VHDL phần định nghĩa các tiêu phía phần tử hay hệ thống Thực chất việc khai báo thực thể khai báo giao diện hệ thống với bên Ta có tất cả các thông tin để kết nối mạch vào mạch khác hoạc thiết kế tác nhân đầu vào phục vụ cho mục đích thử nghiệm Tuy nhiên hoạt động thật mạch không nằm phần khai báo + Kiến trúc (Architecture): Phần thứ mô hình VHDL khai báo kiến trúc Mỗi khai báo thực thể phải kèm với nhất kiến trúc tương ứng VHDL cho phép tạo kiến trúc cho thực thể Phần khai báo kiến trúc bao gồm các khai báo các tín hiệu bên trong, các phần tử bên hệ thống, hay các hàm thủ tục mô tả hoạt động hệ thống Tên kiến trúc nhãn được đặt tuỳ theo người sử dụng Có hai cách mô tả kiến trúc phần tử ( hệ thống) mô hình hoạt động (Behaviour) hay mô tả theo mô hình cấu trúc (Structure) Tuy nhiên hệ thống bao gồm cả mô tả theo mô hình hoạt động mô tả theo mô hình cấu trúc + Mô tả kiến trúc theo mô hình hoạt động: Mô hình hoạt động mô tả các hoạt động hệ thống ( hệ thống đáp ứng với các tín hiệu vào đưa kết ĐH Bách Khoa Hà nội Page ĐỒ ÁN II December 10, 2014 quả gì đầu ra) dưới dạng các cấu trúc ngôn ngữ lập trình bậc cao Cấu trúc PROCESS, WAIT, IF, CASE, FOR-LOOP… + Mô tả kiến trúc theo mô hình cấu trúc: Mô hình cấu trúc phần tử (hoặc hệ thống) bao gồm nhiều cấp cấu trúc cổng logic đơn giản đến xây dựng mô tả cho hệ thống hoàn thiện Thực chất việc mô tả theo mô hình cấu trúc mô tả các phần tử bên hệ thống kết nối các phần tử Như với ví dụ mô tả mô hình cấu trúc flip-flop RS gồm hai cổng NAND mô tả cổng NAND được định nghĩa tương tự ví dụ với cổng NOT, sau mô tả sơ đồ móc nối các phần tử NAND tạo thành trigơ RS + Cấu trúc Process: Process khối bản việc mô tả theo hoạt động Process được xét đến chuỗi các hành động đơn suốt quá trình dịch Cấu trúc tổng quát: [tên nhãn]: process [(danh sách yếu tố kích thích hoạt động)] [khai báo biến] begin [các câu lệnh] end process; + Môi trường kiểm tra (testbench): Một các nhiệm vụ rất quan trọng kiểm tra bản mô tả thiết kế Kiểm tra mô hình VHDL được thực bằng cách quan sát hoạt động mô các giá trị thu được đem so sánh với yêu cầu thiết kế Môi trường kiểm tra hiểu mạch kiểm tra ảo Môi trường kiểm tra sinh các tác động lên bản thiết kế cho phép quan sát so sánh kết quả hoạt động bản mô tả thiết kế Thông thường thì các bản mô tả cung cấp chương trình thử Nhưng ta tự xây dựng chương trình thử (testbench) Mạch thử thực chất kết hợp tổng hợp nhiều thành phần Nó gồm ba thành phần: mô hình VHDL qua kiểm tra, nguồn liệu quan sát Hoạt động mô hình VHDL được kích thích các nguồn liệu kiểm tra tính đắn thông qua quan sát Hiện nay, có nhiều nhà cung cấp sản phẩm FPGA thị trường Altera, Xilinx, Actel… Sản phẩm môi nhà cung cấp lại có ưu, nhược điểm riêng các hãng sản xuất ĐH Bách Khoa Hà nội Page 10 ĐỒ ÁN II December 10, 2014 • Các búp bên (side-lobes) sinh các gợn sóng có hình dạng cả dải thông dải chắn Với các tiêu lọc cho, chọn chiều dài lọc hàm cửa sổ w(n) với độ rộng main-lobe hẹp nhất hệ số suy giảm side-lobe bé nhất được Từ nhận xét nêu ta ý rằng dung sai dải thông δ1 dung sai dải chắn δ2 ấn định cách độc lập Ta lấy chung δ = δ Tiếp theo xem xét các hàm cửa sổ thường được dùng, bao gồm: cửa sổ chữ nhật (Rectangular), cửa sổ tam giác (Bartlett), cửa sổ Hanning, cửa sổ Hamming, cửa sổ Blackman cửa sổ Kaiser 2.2.1 Cửa sổ chữ nhật (Rectangular Window) Trong miền n cửa sổ chữ nhật được định nghĩa sau: w(n) = 0≤ n ≤ M-1 Các trường hợp khác 2.2.2 Cửa sổ tam giác (Bartlett Window) Với mục đích giảm biên độ các đỉnh thứ cấp cửa sổ chữ nhật, chọn cửa sổ khác có dạng tam giác cân, gọi cửa sổ tam giác hay cửa sổ Bartlett Trong miền n cửa sổ tam giác được định nghĩa sau: w(n) = 2n M-1 - 2n M-1 0≤ n ≤ M-1 M-1 ≤ n ≤ M - Các trường hợp khác 2.2.3 Cửa sổ Hanning (Hanning Window) w(n) =  2Π n   4Π n  0.42 − 0.5 cos  + 0.08 cos   M   M  0≤ n ≤ M Các trường hợp khác ĐH Bách Khoa Hà nội Page 23 ĐỒ ÁN II December 10, 2014 2.2.4 Cửa sổ Hamming (Hamming Window) w(n) =  2Π n  0.54 − 0.46 cos   M  Các trường hợp khác 0≤ n ≤ M 2.2.5 Cửa sổ Blackman (Blackman Window) w(n) =  2Π n   4Π n  0.42 − 0.5 cos  + 0.08 cos   M   M  Các trường hợp khác ĐH Bách Khoa Hà nội 0≤ n ≤ M Page 24 ĐỒ ÁN II December 10, 2014 Hình 10: Hình dạng số cửa sổ thường dùng Trên hình 11 cho so sánh các hàm cửa sổ thường dùng các đặc tính: độ rộng dải chuyển tiếp ∆w, độ suy giảm dải chắn As Hình 11: Tóm tắt đặc tính số loại cửa sổ thường dùng ĐH Bách Khoa Hà nội Page 25 ĐỒ ÁN II December 10, 2014 2.2.6 Cửa sổ Kaiser (Kaiser Window) Để đạt được độ suy giảm dải chặn mong muốn, các nhà thiết kế tìm hàm cửa sổ đáp ứng được các yêu cầu thiết kế Nhưng các hàm cửa sổ có mức búp bên thấp thì độ rộng búp lại lớn dẫn đến độ rộng dải chuyển tiếp tăng Do phải tăng bậc lọc để đạt được dải thông mong muốn Cửa sổ Kaiser có thông số β điều chỉnh được, điều chỉnh được độ rộng búp bên so với đỉnh búp Cũng giống các hàm cửa sổ khác, độ rộng búp thay đổi được bằng cách điều chỉnh chiều dài cửa sổ, điều chỉnh được độ rộng dải chuyển tiếp Với mục tiêu này, các lọc số được thiết kế rất có hiệu quả dùng hàm cửa sổ Kaiser Cửa sổ Kaiser được định nghĩa sau:  2n    I  β − 1 −    M −   , với 0≤ n ≤ M-1  w(n) = I 0[ β ] Trong I0[.] hàm Bessel bậc không được hiệu chỉnh (modified zero-order Bessel function), β tham số phụ thuộc vào bậc lọc M chọn để có được độ rộng dải chuyển tiếp khác có được độ suy giảm dải chặn gần tối ưu Cửa sổ cung cấp độ rộng dải chuyển tiếp khác với hệ số M, điều mà các hàm cửa sổ khác không làm được Tuy nhiên, tính phức tạp hàm Bessel nên việc thiết kế lọc với cửa sổ Kaiser không phải dễ dàng Thật may mắn Kaiser phát triển phương trình thiết kế theo kinh nghiệm (empirical design equation) sử dụng mà không cần phải chứng minh Phương trình thiết kế sau: (đối với lọc thông thấp LPF) • Cho trước các tiêu lọc cần thiết kế: ws, wp, Rp As • Độ rộng dải chuyển tiếp: ∆f = • Bậc lọc: M = ĐH Bách Khoa Hà nội ws − w p 2π A s − 7.59 +1 14.36∆f Page 26 ĐỒ ÁN II December 10, 2014 • Tham số: β = 0.1102(A - 8.7), s As ≥ 50 0.5842 (As - 21)0.4 + 0.07886(As – 21), 21 < As < 50 ĐH Bách Khoa Hà nội Page 27 ĐỒ ÁN II December 10, 2014 Hình 12: Khảo sát đặc tính cửa sổ Kaiser ĐH Bách Khoa Hà nội Page 28 ĐỒ ÁN II December 10, 2014 Để tổng kết phần so sánh các loại cửa sổ thông dụng thường được dùng, khảo sát tương ứng với cửa sổ Kaiser với hệ số β khác nhau, hình 13 dưới Hình 13: So sánh loại cửa sổ dùng Ta có nhận xét rằng: Ngoại trừ cửa sổ Kaiser, đối với các loại cửa sổ khác thì độ gợn sóng (ripple) dải thông dải chắn không phụ thuộc vào bậc M lọc, thay đổi bằng cách thay đổi hình dạng cửa sổ (nghĩa thay đổi loại cửa sổ sử dụng) 2.2.7 Thực SystemVue SystemVue cung cấp sẵn lọc FIR : Hình 14: lọc FIR SystemVue ĐH Bách Khoa Hà nội Page 29 ĐỒ ÁN II December 10, 2014 CHƯƠNG III THỰC NGHIỆM 3.1 MÔ PHỎNG TRÊN SYSTEMVUE Khối NCO Hình 15 Khối NCO Sơ đồ toàn mạch thiết kế Hình 16: Sơ đồ toàn mạch thiết kế ĐH Bách Khoa Hà nội Page 30 ĐỒ ÁN II December 10, 2014 Tín hiệu đầu Hình 17: Tién hiệu đầu (Màu đỏ : tín hiệu chưa qua lọc, màu xanh: qua lọc) Phổ tín hiệu chưa lọc Hình 18: Phổ tín chưa lọc ĐH Bách Khoa Hà nội Page 31 ĐỒ ÁN II December 10, 2014 Phổ tín hiệu lọc Hình 19 : phổ tín hiệu lọc ( màu xanh ) 3.2 MÔ PHỎNG TRÊN FPGA Thực mô Kis ML403 Các khối chức ĐH Bách Khoa Hà nội Page 32 ĐỒ ÁN II December 10, 2014 ĐH Bách Khoa Hà nội Page 33 ĐỒ ÁN II December 10, 2014 Tín hiệu đầu ĐH Bách Khoa Hà nội Page 34 ĐỒ ÁN II December 10, 2014 KẾT LUẬN Sau tìm hiểu nghiên cứu lý thuyết mô lọc FIR FPGA giúp chúng em có cách nhìn trực quan lọc FIR Được tìm hiểu thực hành chip FPGA hãng Xilinx, biết sử dụng phần mềm ISE, thực thành công lọc FIR thông thấp bằng phương pháp cửa sổ FPGA Do giới hạn thời gian kiến thức nhiều hạn chế nên đồ án em mới dừng mức độ nghiên cứu cách bản, khái quát lọc FIR thông thấp bằng phương pháp cửa số Vì chúng em rất mong các thầy các bạn sinh viên quan tâm đến đề tài đóng góp ý kiến để đề tài hoàn chỉnh Chúng em xin chân thành cảm ơn thầy TS Phạm Hải Đăng tận tình giúp đỡ chúng em hoàn thành đồ án Chúng em xin chân thành cám ơn ! ĐH Bách Khoa Hà nội Page 35 ĐỒ ÁN II December 10, 2014 TÀI LIỆU THAM KHẢO [1] Simon Haykin Adaptive filter theory, Third edition [2] Uwe Meyer-Baese.Digital Signal Processing with Field Programmable Gate Arrays, Third Edition [3] John G.Proaskis,Dimitris G.Manolakis Digital Signal Processing, Third edition [4] Alexander D.Poularikas, Zayed M.Ramanda Adaptive filtering primer with matlab, 2006 [5] Douglas L.Perry VHDL: Programming by Example McGraw – Hill, Fourth Edition [6] Volnei A.Pedroni, Circuit Design With VHDL, MIT Press, 2004 [7] Jan Van der Spiegel VHDL tutorial [8] http://en.wikipedia.org [9] http://www.xilinx.com [10] http://www.fpga4fun.com ĐH Bách Khoa Hà nội Page 36 ĐỒ ÁN II December 10, 2014 ĐH Bách Khoa Hà nội Page 37 [...]... cho ta biết các thiết kế đã sẵn sàng để chạy (bao gồm cả mô phỏng và thực thi) hay chưa (ví dụ khi bạn muốn chạy một thiết kế trong file nguồn đã chọn) Để chạy một thiết kế, ta click đúp vào thiết kế đó, khi thiết kế đã được thực thi thành công, một dấu tích xanh se xuất hiện bên cạnh thiết kế đó Khi chạy một thiết kế, ISE se tự động chạy các thiết kế nhỏ hỗ trợ cho thiết kế đó Các bước... NCO Sơ đồ toàn mạch thiết kế Hình 16: Sơ đồ toàn mạch thiết kế ĐH Bách Khoa Hà nội Page 30 ĐỒ ÁN II December 10, 2014 Tín hiệu đầu ra Hình 17: Tién hiệu đầu ra (Màu đỏ : là tín hiệu chưa qua bộ lọc, màu xanh: là đã qua bộ lọc) Phổ tín hiệu khi chưa lọc Hình 18: Phổ tín hiện khi chưa lọc ĐH Bách Khoa Hà nội Page 31 ĐỒ ÁN II December 10, 2014 Phổ tín hiệu khi đã lọc Hình 19 : phổ tín hiệu khi đã lọc (... MÔ PHỎNG TRÊN FPGA Thực hiện mô phỏng trên Kis ML403 Các khối chức năng ĐH Bách Khoa Hà nội Page 32 ĐỒ ÁN II December 10, 2014 ĐH Bách Khoa Hà nội Page 33 ĐỒ ÁN II December 10, 2014 Tín hiệu đầu ra ĐH Bách Khoa Hà nội Page 34 ĐỒ ÁN II December 10, 2014 KẾT LUẬN Sau khi tìm hiểu và nghiên cứu về lý thuyết và mô phỏng bộ lọc FIR trên FPGA đã giúp chúng em có cách nhìn trực quan hơn về bộ lọc FIR Được... tham số thiết kế quan trọng nhất là các dung sai dải tần và các tần số cạnh-dải (tolerance or ripples and band-edge frequencies) Bởi vậy, trong phần 1 về cơ sở lý thuyết này chúng ta chỉ tập trung vào bộ lọc FIR thông thấp Việc thiết kế cụ thể cho bộ lọc FIR thông dải bằng kỹ thuật cửa sổ se được phát triển trên cơ sở lọc thông thấp và se được mô tả chi tiết trong phần 2 Việc thiết kế và... phần mềm ISE của Xilinx là một môi trường thiết kế tích hợp bao gồm thiết kế chương trình, mô phỏng và thực hiện các thiết kế trên các thiết bị FPGA hay CPLD ISE có thể tham gia vào việc điều khiển mọi giai đoạn trong quy trình thiết kế. Thông qua giao diện của ISE, người dùng có thể can thiệp vào các thiết kế và sử dụng các công cụ thực hiện thiết kế Ngoài ra người dùng còn có thể can thiệp... chỉ tiêu của bộ lọc chúng ta se xem xét việc thiết kế một bộ lọc thông thấp như một ví dụ cơ sở Có 2 nhóm chỉ tiêu: Các chỉ tiêu tuyệt đối (Absolute Specifications) và các chỉ tiêu tương đối (Relative Specifications - DB) ĐH Bách Khoa Hà nội Page 17 ĐỒ ÁN II December 10, 2014 Trên hình 8 là mô tả các chỉ tiêu của bộ lọc FIR thông thấp (Low Pass Filter): |H(ejw)| 1+δ 1 Độ gợn dải thông 1 1-δ 1... những phương trình thiết kế theo kinh nghiệm (empirical design equation) và chúng ta có thể sử dụng mà không cần phải chứng minh Phương trình thiết kế như sau: (đối với lọc thông thấp LPF) • Cho trước các chỉ tiêu của bộ lọc cần thiết kế: ws, wp, Rp và As • Độ rộng dải chuyển tiếp: ∆f = • Bậc của bộ lọc: M = ĐH Bách Khoa Hà nội ws − w p 2π A s − 7.59 +1 14.36∆f Page 26 ĐỒ ÁN II December 10, 2014... December 10, 2014 Kết thúc bước này ta có thể đưa thiết kế vào phần cứng và quan sát trên các lối vào ra của phần cứng bằng những thiết bị hỗ trợ quan sát như giao động ký hay đèn LED CHƯƠNG II BỘ LỌC FIR 2.1 DẪN NHẬP Việc thiết kế một bộ lọc số tiến hành theo 3 bước: • Đưa ra các chỉ tiêu: Trước khi thiết kế một bộ lọc chúng ta cần xác định các chỉ tiêu Các chỉ tiêu được xác định bởi các ứng... (ripple) ở dải thông và dải chắn là như nhau và không phụ thuộc vào bậc M của bộ lọc, và chỉ có thể thay đổi bằng cách thay đổi hình dạng của cửa sổ (nghĩa là thay đổi loại cửa sổ sử dụng) 2.2.7 Thực hiện trên SystemVue SystemVue cung cấp sẵn bộ lọc FIR : Hình 14: bộ lọc FIR trong SystemVue ĐH Bách Khoa Hà nội Page 29 ĐỒ ÁN II December 10, 2014 CHƯƠNG III THỰC NGHIỆM 3.1 MÔ PHỎNG TRÊN SYSTEMVUE... quan hơn về bộ lọc FIR Được tìm hiểu và thực hành trên chip FPGA của hãng Xilinx, biết sử dụng phần mềm ISE, thực hiện thành công bộ lọc FIR thông thấp bằng phương pháp cửa sổ trên FPGA Do giới hạn về thời gian cũng như kiến thức còn nhiều hạn chế nên đồ án của em mới chỉ dừng ở mức độ nghiên cứu một cách cơ bản, khái quát về bộ lọc FIR thông thấp bằng phương pháp cửa số Vì vậy chúng ... trung vào lọc FIR thông thấp Việc thiết kế cụ thể cho lọc FIR thông dải bằng kỹ thuật cửa sổ se được phát triển sở lọc thông thấp se được mô tả chi tiết phần Việc thiết kế thực lọc FIR có... muốn chạy thiết kế file nguồn chọn) Để chạy thiết kế, ta click đúp vào thiết kế đó, thiết kế được thực thi thành công, dấu tích xanh se xuất bên cạnh thiết kế Khi chạy thiết kế, ISE se... Xilinx môi trường thiết kế tích hợp bao gồm thiết kế chương trình, mô thực các thiết kế các thiết bị FPGA hay CPLD ISE tham gia vào việc điều khiển giai đoạn quy trình thiết kế. Thông qua giao

Ngày đăng: 04/04/2016, 15:33

Từ khóa liên quan

Mục lục

  • MỤC LỤC

    • 2.1 DẪN NHẬP

    • 2.2 CÁC KỸ THUẨT THIẾT KẾ CỦA SỔ

      • 2.2.1 Cửa sổ chữ nhật (Rectangular Window)

      • 2.2.2 Cửa sổ tam giác (Bartlett Window)

      • 2.2.3 Cửa sổ Hanning (Hanning Window)

      • 2.2.4 Cửa sổ Hamming (Hamming Window)

      • 2.2.5 Cửa sổ Blackman (Blackman Window)

      • 2.2.6 Cửa sổ Kaiser (Kaiser Window)

      • 2.2.7 Thực hiện trên SystemVue

      • THỰC NGHIỆM

        • 3.1 MÔ PHỎNG TRÊN SYSTEMVUE

        • 3.2 MÔ PHỎNG TRÊN FPGA

Tài liệu cùng người dùng

Tài liệu liên quan