Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 65 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
65
Dung lượng
732,21 KB
Nội dung
ĐH Công Nghệ- ĐHQG Hà Nội Khoá luận tốt nghiệp MỤC LỤC BẢNG KÝ HIỆU VIẾT TẮT LỜI MỞ ĐẦU CHƯƠNG 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 1.1.2 Khái niệm cấu trúc FPGA 1.1.3 Các ứng dụng FPGA 1.2 TỔNG QUAN VỀ NGÔN NGỮ VHDL 1.2.1 Giới thiệu ngôn ngữ mô tả phần cứng VHDL 1.2.2 Cấu trúc mô hình hệ thống mô tả ngôn ngữ VHDL 10 CHƯƠNG 12 BỘ LỌC FIR 12 2.1 BỘ LỌC FIR TRUYỀN THỐNG 12 2.2 BỘ LỌC FIR SỬ DỤNG KIẾN TRÚC SYSTOLIC ARRAY 13 2.2.1 Tổng quan systolic array 13 2.2.2 Bộ lọc FIR thực theo kiến trúc systolic array chiều 14 CHƯƠNG 16 BỘ LỌC FIR THÍCH NGHI DÙNG THUẬT TOÁN LMS 16 3.1 ĐẶT VẤN ĐỀ 16 3.2 CẤU TRÚC CỦA MẠCH LỌC THÍCH NGHI 18 3.3 MẠCH LỌC WIENER FIR 19 3.4 CÁC THUẬT TOÁN THÍCH NGHI VÀ ỨNG DỤNG 22 3.4.1 Phương pháp giảm bước nhanh 22 3.4.2 Thuật toán toàn phương trung bình tối thiểu (LMS) 25 CHƯƠNG 29 HỆ THỐNG SỐ BÙ HAI VÀ CÁC PHÉP TOÁN 29 4.1 BIỂU DIỄN SỐ ÂM TRONG HỆ THỐNG SỐ BÙ HAI 29 4.2 THỰC HIỆN CÁC PHÉP TÍNH TRONG HỆ THỐNG SỐ BÙ HAI 30 4.2.1 Thực phép cộng hệ thống số bù hai 30 4.2.2 Thực phép trừ hệ thống số bù hai 31 4.2.3 Hiện tượng tràn số 32 4.2.4 Thực phép nhân số bù hai 33 CHƯƠNG 35 THỰC NGHIỆM 35 5.1 MÔ TẢ PHẦN CỨNG CỦA KIT VIRTEX-II PRO 35 5.2 KẾT QUẢ THU ĐƯỢC VỚI BỘ LỌC FIR TRUYỀN THỐNG 36 5.3 KẾT QUẢ THU ĐƯỢC VỚI BỘ LỌC FIR THEO KIẾN TRÚC SYSTOLIC 38 5.4 KẾT QUẢ THU ĐƯỢC VỚI BỘ LỌC FIR THÍCH NGHI 38 KẾT LUẬN 41 TÀI LIỆU THAM KHẢO 42 PHỤ LỤC 43 http://www.ebook.edu.vn Nguyễn Anh Cường ĐH Công Nghệ- ĐHQG Hà Nội Khoá luận tốt nghiệp BẢNG KÝ HIỆU VIẾT TẮT Ký Hiệu Diễn Giải ASIC Application Specific Integrated Circuit ADC Analog to Digital Converter ALU Arithmetic Logic Unit ASM Auto Senquencing Memory CPLD Complex Programmable Logic Device CPU Central Processing Unit DSP Digital Signal Processing DAC Digital to Analog Converter DPU Data Processing Unit FIR Finite Impulse Response FPGA Field Programmable Gate Array HDL Hardware Description Language IC Integrated Circuit IEEE Institute of Electrical and Electronics Engineers JTAG Joint Test Action Group LED Light Emitting Diode LUT Look Up Table LMS Least Mean Square PAL Programmable Array Logic PLA Programmable Logic Array PCI Peripheral Component Interconnect PE Process Element RAM Random Access Memory ROM Read Only Memory RS232 Recommended Standard 232 http://www.ebook.edu.vn Nguyễn Anh Cường ĐH Công Nghệ- ĐHQG Hà Nội Khoá luận tốt nghiệp SoC System on chip SRAM Static Random Access Memory SPLD Simple Programable Logic Device USB Universal Serial Bus VHDL Very High Speed Itergrated Circuit Hardware Description Language VHSIC Very High Speed Itergrated Circuit http://www.ebook.edu.vn Nguyễn Anh Cường ĐH Công Nghệ- ĐHQG Hà Nội Khoá luận tốt nghiệp LỜI MỞ ĐẦU Ngày nay, xử lý tín hiệu lọc số ngành phát triển mạnh mẽ, công nghệ, thuật toán ngày đổi tối ưu hoá nhằm nâng cao tính hiệu Tuy nhiên, công nghệ phát triển cao đò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 cho ứng dụng thực tế Tính linh động cao 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 ứng dụng cho toán đòi hỏi khối lượng tính toán lớn dùng hệ thống làm việc theo thời gian thực Những ứng dụng thực tế FPGA rộng rãi, bao gồm: hệ thống hàng không, vũ trụ, quốc phòng, tiền thiết kế mẫu ASIC(ASIC prototyping), 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ế vài Chính tính thiết thực mà FPGA mang lại, em định chọn FPGA làm hướng nghiên cứu 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ích nghi dùng thuật toán LMS” Đề tài thực phòng thí nghiệm mục tiêu “Các hệ tích hợp thông minh ( SIS LAB)” trực thuộc trường Đại học Công nghệ - ĐHQG HN Em xin chân thành cảm ơn thầy cô giáo đặc biệt PGS.TS Trần Quang Vinh Th.S Nguyễn Kiêm Hùng tận tình hướng dẫn giúp đỡ em để hoàn thành luận vă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, em mong nhận ý kiến đóng góp thầy cô bạn Em xin chân thành cảm ơn ! Hà Nội, Ngày 27 Tháng Năm 2008 Nguyễn Anh Cường http://www.ebook.edu.vn Nguyễn Anh Cường ĐH Công Nghệ- ĐHQG Hà Nội Khoá luận tốt nghiệp Chương 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 thiết kế Ross Freeman, người sáng lập công ty Xilinx vào năm 1984, kiến trúc FPGA cho phép tích hợp số lượng tương đối lớn 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ố PAL, PLA thấp đạt vài nghìn đến 10.000 CPLD cấu trúc từ số lượng định 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ó kích thước xác định chứa số lượng hạn chế phần tử nhớ đồng (clocked register) Cấu trúc hạn chế khả thực 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 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 phần tử logic phát huy tối đa khả lập trình phần tử logic hệ thống mạch kết nối, để đạt mục đích 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 tích hợp nhiều logic số học tối ưu hóa, hỗ trợ RAM, ROM, tốc độ cao, hay 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 phận khác http://www.ebook.edu.vn Nguyễn Anh Cường ĐH Công Nghệ- ĐHQG Hà Nội Khoá luận tốt nghiệp 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 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 mô tả hình 1: Hình 1: Kiến trúc tổng quan FPGA http://www.ebook.edu.vn Nguyễn Anh Cường ĐH Công Nghệ- ĐHQG Hà Nội Khoá luận tốt nghiệp Vi mạch FPGA cấu thành từ phận: • Các khối logic lập trình (logic block) Phần tử FPGA khối logic (logic block) Khối logic cấu thành từ LUT phần tử nhớ đồng flip-flop LUT (Look up table) khối logic thực hàm logic từ đầu vào, kết 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 mô tả hình 2: Hình 2: Khối logic lập trình FPGA Trong tài liệu hướng dẫn 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 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ấu thành từ đường kết nối theo hai phương ngang đứng, tùy theo loại FPGA mà đường kết nối chia thành nhóm khác nhau, ví dụ XC4000 Xilinx có loại kết nối: ngắn, dài dài Các đường kết nối nối với thông qua khối chuyển mạch lập trình (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 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 kết nối với 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 khối logic, tùy theo loại FPGA khác mà 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 http://www.ebook.edu.vn Nguyễn Anh Cường ĐH Công Nghệ- ĐHQG Hà Nội Khoá luận tốt nghiệp hiệu số FPGA tích hợp 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ố, hệ thống hàng không, vũ trụ, quốc phòng, tiền thiết kế mẫu ASIC(ASIC prototyping), 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 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, nhờ mật độ cổng logic lớn FPGA ứng dụng cho toán đòi hỏi khối lượng tính toán lớn dùng 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 thực chủ yếu ngôn ngữ mô tả phần cứng HDL VHDL, Verilog hãng sản xuất FPGA lớn Xilinx, Altera thường cung cấp gói phần mềm thiết bị phụ trợ cho trình thiết kế, có số hãng thứ ba cung cấp gói phần mềm kiểu Synopsys, Synplify Các gói phần mềm có khả thực tất 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 mạch tích hợp tốc độ cao, loại ngôn ngữ mô tả phần cứng 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ó ngôn ngữ mô phần cứng tiêu chuẩn thống cho phép thử nghiệm hệ thống số nhanh cho phép dễ dàng đưa hệ thống vào ứng dụng thực tế Ngôn ngữ VHDL 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 công bố vào tháng 8-1985 Sau VHDL đề xuất để tổ chức http://www.ebook.edu.vn Nguyễn Anh Cường ĐH Công Nghệ- ĐHQG Hà Nội Khoá luận tốt nghiệp 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 phát triển để giải khó khăn việc phát triển, thay đổi lập tài liệu cho hệ thống số Như ta biết, hệ thống số có 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 tài liệu mô tả trở nên dễ dàng tài liệu thực thi để mô hoạt động hệ thống Như ta xem xét toàn phần tử hệ thống hoạt động mô hình thống VHDL phát triển ngôn ngữ độc lập không gắn với 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ữ Và đem so sánh với ngôn ngữ mô phần cứng khác kể ta thấy VHDL có số ưu điểm hẳn ngôn ngữ khác: - Thứ tính công cộng: VHDL phát triển bảo trợ phủ Mỹ tiêu chuẩn IEEE VHDL 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ế nhiều phương pháp, ví dụ phương pháp thiết kế từ xuống, hay từ lên dựa vào 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 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 chuyển thành tổng hợp mạch khác tuỳ thuộc công nghệ chế tạo phần cứng đời áp dụng cho 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 chẽ thống cho mức Như ta mô thiết kế bao gồm hệ mô tả chi tiết http://www.ebook.edu.vn Nguyễn Anh Cường ĐH Công Nghệ- ĐHQG Hà Nội Khoá luận tốt nghiệp - Thứ năm khả trao đổi kết quả: Vì VHDL tiêu chuẩn chấp nhận, nên mô hình VHDL chạy mô tả đáp ứng tiêu chuẩn VHDL Các kết mô tả hệ thống trao đổi 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 hệ thống hệ thống lớn (trong hệ 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 thiết kế: VHDL phát triển ngôn ngữ lập trình bậc cao, 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 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 nhằm giới thiệu sơ qua cấu trúc khung 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ấu hình Đôi ta xử dụng 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 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 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 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 khai báo tín hiệu bên trong, phần tử bên hệ thống, hay hàm thủ tục mô tả hoạt động hệ thống Tên kiến trúc nhãn đặ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 mô tả theo mô hình hoạt động mô tả theo mô hình cấu trúc http://www.ebook.edu.vn 10 Nguyễn Anh Cường ĐH Công Nghệ- ĐHQG Hà Nội Khoá luận tốt nghiệp Chương trình thiết kế lọc FIR theo kiến trúc systolic array library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_ARITH.all; use IEEE.STD_LOGIC_UNSIGNED.all; entity Toplevel is port ( main clock input from oscilator CLK1_FB : in std_logic; main reset input from mb RESETl : in std_logic; configuration done signal CONFIG_DONE : out std_logic; dac 14 bit data outputs DAC1_D : out std_logic_vector(13 downto 0); DAC2_D : out std_logic_vector(13 downto 0); adc 14 bit data inputs ADC1_D : in std_logic_vector(13 downto 0); ADC2_D : in std_logic_vector(13 downto 0); dac reset signals DAC1_RESET : out std_logic; DAC2_RESET : out std_logic; dac setup DAC1_MOD0 : out std_logic; DAC1_MOD1 : out std_logic; DAC2_MOD0 : out std_logic; DAC2_MOD1 : out std_logic; dac clock divider setup DAC1_DIV0 : out std_logic; DAC1_DIV1 : out std_logic; DAC2_DIV0 : out std_logic; DAC2_DIV1 : out std_logic; led flash signals LED1_Red : out std_logic; LED2_Red : out std_logic; LED1_Green : out std_logic; LED2_Green : out std_logic ); end Toplevel; architecture Behavioral of Toplevel is clock components component BUFG port ( I : in std_logic; O : out std_logic ); end component; component IBUFG port ( I : in std_logic; O : out std_logic ); end component; http://www.ebook.edu.vn 51 Nguyễn Anh Cường ĐH Công Nghệ- ĐHQG Hà Nội Khoá luận tốt nghiệp component DCM generic ( DLL_FREQUENCY_MODE : string := DUTY_CYCLE_CORRECTION : string := STARTUP_WAIT : string := ); port ( CLKIN : in std_logic; CLKFB : in std_logic; DSSEN : in std_logic; PSINCDEC : in std_logic; PSEN : in std_logic; PSCLK : in std_logic; RST : in std_logic; CLK0 : out std_logic; CLK90 : out std_logic; CLK180 : out std_logic; CLK270 : out std_logic; CLK2X : out std_logic; CLK2X180 : out std_logic; CLKDV : out std_logic; CLKFX : out std_logic; CLKFX180 : out std_logic; LOCKED : out std_logic; PSDONE : out std_logic; STATUS : out std_logic_vector(7 ); end component; end of clock components "LOW"; "TRUE"; "FALSE" downto 0) internal clock and reset signals Component FIR_Filter Generic(n: integer :=14; width of data m: integer := 51); order of FIR Port ( Xin: in std_logic_vector(n-1 downto 0); clk,reset: in std_logic; Yout: out std_logic_vector(n-1 downto 0) ); end Component; component chiatan port( clk_i : in sochia clk_o : ); std_logic; : in integer; out std_logic end component; signal CLKIN_OSC, CLKFB_OSC, CLK_OSC, RESET, RSTl : std_logic; temporary registers signal ADC1, ADC2 : std_logic_vector(13 downto 0); signal DAC1 :std_logic_vector(13 downto 0); signal DAC2 :std_logic_vector(13 downto 0); signal data :std_logic_vector(13 downto 0); common ground signal GND : std_logic; signal clk:std_logic; http://www.ebook.edu.vn 52 Nguyễn Anh Cường ĐH Công Nghệ- ĐHQG Hà Nội Khoá luận tốt nghiệp begin GND CLKIN_OSC ); BUFG Instantiation for CLKFB U0_BUFG : BUFG port map ( I => CLKFB_OSC, O => CLK_OSC ); DCM Instantiation for internal deskew of CLK0 U0_DCM : DCM port map ( CLKIN => CLKIN_OSC, CLKFB => CLK_OSC, DSSEN => GND, PSINCDEC => GND, PSEN => GND, PSCLK => GND, RST => RESET, CLK0 => CLKFB_OSC, LOCKED => RSTl ); -end of clock deskew - module configured CONFIG_DONE =j) then i:=0;temp:=not(temp); ;j:=j+1; if(j>=sochia) then j:=0; temp:=not(temp); end if; end if; end if; clk_o Interface GENERIC (W1 : INTEGER := 8; Input bit width W2 : INTEGER := 16; Multiplier bit width 2*W1 L : INTEGER := Filter length ); PORT ( clk : IN STD_LOGIC; x_in : IN STD_LOGIC_VECTOR(W1-1 DOWNTO 0); d_in : IN STD_LOGIC_VECTOR(W1-1 DOWNTO 0); e_out : OUT STD_LOGIC_VECTOR(W2-1 DOWNTO 0); y_out :OUT STD_LOGIC_VECTOR(W2-1 DOWNTO 0) ); END component; component chiatan port( clk_i sochia clk_o ); : : : in std_logic; in integer; out std_logic end component; signal CLKIN_OSC, CLKFB_OSC, CLK_OSC, RESET, RSTl : std_logic; temporary registers signal ADC1, ADC2 : std_logic_vector(7 downto 0); signal DAC1 :std_logic_vector(13 downto 0); signal DAC2 :std_logic_vector(13 downto 0); signal data :std_logic_vector(13 downto 0); common ground signal GND : std_logic; signal clk:std_logic; http://www.ebook.edu.vn 60 Nguyễn Anh Cường ĐH Công Nghệ- ĐHQG Hà Nội signal e,y: Khoá luận tốt nghiệp std_logic_vector(15 downto 0); begin GND CLKIN_OSC ); BUFG Instantiation for CLKFB U0_BUFG : BUFG port map ( I => CLKFB_OSC, O => CLK_OSC ); DCM Instantiation for internal deskew of CLK0 U0_DCM : DCM port map ( CLKIN => CLKIN_OSC, CLKFB => CLK_OSC, DSSEN => GND, PSINCDEC => GND, PSEN => GND, PSCLK => GND, RST => RESET, CLK0 => CLKFB_OSC, LOCKED => RSTl ); -end of clock deskew - module configured CONFIG_DONE [...]... ĐƯỢC VỚI BỘ LỌC FIR TRUYỀN THỐNG Lưu đồ tiến hành thực hiện bộ lọc FIR truyền thống như hình 15: Dao động ký Máy phát ADC FPGA DAC Hình 15: Lưu đồ thực hiện bộ lọc FIR truyền thống Sau khi qua biến đổi ADC, dữ liệu được biểu diễn dưới dạng số bù hai sẽ được đưa vào FPGA để xử lý FPGA có nhiệm vụ thực hiện thuật toán lọc theo yêu cầu của người lập trình Sơ đồ thực hiện thuật toán đối với bộ lọc FIR được... triển thành nhiều thuật toán mới nhờ tính chất đơn giản và bền vững của thuật toán này Nó là thuật toán lọc thích nghi tuyến tính bao gồm hai quá trình: quá trình lọc và thích nghi Trong quá trình lọc, thuật toán này sử dụng mạch lọc ngang tuyến tính có lối vào x(n) và lối ra y(n) Quá trình thích nghi được thực hiện nhờ sự điều khiển tự động các táp trọng số của các hệ số của mạch lọc sao cho nó tương... tốt nghi p 3.2 CẤU TRÚC CỦA MẠCH LỌC THÍCH NGHI Cấu trúc thường được sử dụng trong mạch lọc thích nghi được mô tả như hình 10: x[n] -1 z x[n-1] z wN-1[n] w1[n] wo[n] x x[n-N+1] z-1 -1 x x x + y[n] e[n] Thuật toán thích nghi + + Hình 10: Cấu trúc của mạch lọc FIR thích nghi Trong đó: x[n] : Vector tín hiệu đầu vào của mạch lọc x[n] = [xn xn-1 xn-2… xn-N+1]T w: Là vector trọng số của bộ lọc thích nghi. .. thì thuật toán này hội tụ đến nghi m của phương trình Wiener-Hopf Nói cách khác, thuật toán LMS là một sơ đồ thực tế để thực hiện các mạch lọc Wiener-Hopf, nhưng không giải một cách tường minh phương trình Wiener-Hopf Nó là một thuật toán tuần tự được sử dụng để thích nghi táp trọng số của mạch lọc nhờ sự quan sát liên tục tín hiệu lối vào x[n] và tín hiệu lối ra mong muốn d[n] Như vậy, thuật toán LMS. .. Wiener-Hopf, nghĩa là nghi m tối ưu ở (3.22) http://www.ebook.edu.vn 21 Nguyễn Anh Cường ĐH Công Nghệ- ĐHQG Hà Nội Khoá luận tốt nghi p 3.4 CÁC THUẬT TOÁN THÍCH NGHI VÀ ỨNG DỤNG Trong phần này, chúng ta nghi n cứu chủ yếu thuật toán toàn phương trung bình tối thiểu LMS Thuật toán này được áp dụng rộng rãi trong xử lý số thích nghi và thống kê do tính chất bền vững và đơn giản của nó Nhờ thuật toán này mà dãy... thay đổi vị trí của các thanh ghi chốt, trước bộ nhân và bộ cộng ta chèn thêm một thanh ghi chốt vào để chia nhỏ đường truyền tín hiệu Do đó, làm cho tần số hoạt động của mạch tăng lên http://www.ebook.edu.vn 15 Nguyễn Anh Cường ĐH Công Nghệ- ĐHQG Hà Nội Khoá luận tốt nghi p Chương 3 BỘ LỌC FIR THÍCH NGHI DÙNG THUẬT TOÁN LMS 3.1 ĐẶT VẤN ĐỀ Thuật ngữ lọc dùng để chỉ tất cả các hệ thống có khả năng khôi... đồng với tín hiệu sai số là hiệu của tín hiệu lối ra với tín hiệu mong muốn d(n) Sơ đồ của thuật toán như trong hình x[n] z-1 x[n-1] z-1 wN-1[n] w1[n] wo[n] x z-1 x x + x y[n] Thuật toán LMS e[n] + + d[n] Hình 12: Mạch lọc FIR thích nghi dùng thuật toán LMS Giả sử mạch lọc ngang có N- táp trọng số và là dãy số thực, khi đó tín hiệu lối ra được viết: y[n] = N −1 ∑ w k[n] x[n-k] (4.20) k =0 Trong đó... x[n] của bộ lọc chính là các giá trị sau khi qua biến đổi ADC, các hệ số h[n] là các hằng số đã được cho trước(được tính toán bằng Matlab) và y[n] là kết quả sau khi đã qua bộ lọc FIR Các kết quả này cũng được biểu diễn dưới dạng số bù hai và được đưa qua bộ biến đổi DAC để hiện lên trên dao động ký Trong bài luận văn này, em thiết kế bộ lọc FIR thông thấp, với bậc bộ lọc là 50, tần số mà bộ lọc bắt... thử thực chất là sự kết hợp của 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 dữ liệu và bộ quan sát Hoạt động của mô hình VHDL được kích thích bởi các nguồn dữ liệu và kiểm tra tính đúng đắn thông qua bộ quan sát http://www.ebook.edu.vn 11 Nguyễn Anh Cường ĐH Công Nghệ- ĐHQG Hà Nội Khoá luận tốt nghi p Chương 2 BỘ LỌC FIR 2.1 BỘ LỌC FIR TRUYỀN THỐNG Bộ lọc FIR. .. tính toán đã được thực hiện trước đó Với việc chia đường truyền dài nhất của mạch thành những đoạn nhỏ nhờ các thanh ghi chốt, ta còn có thể tối ưu bộ lọc FIR systolic hơn nữa Hình 8 mô tả cấu trúc tối ưu của bộ lọc FIR systolic Yin + yout … x aN + x ao xin … xout Hình 8: Cấu trúc tối ưu của bộ lọc FIR systolic bậc N Mô hình này về ý tưởng vẫn giống mô hình trước, bao gồm các thanh ghi chốt, bộ cộng, bộ ... chọn FPGA làm hướng nghi n cứu 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ích nghi dùng thuật toán LMS Đề tài thực phòng thí nghi m mục tiêu “Các... thông qua quan sát http://www.ebook.edu.vn 11 Nguyễn Anh Cường ĐH Công Nghệ- ĐHQG Hà Nội Khoá luận tốt nghi p Chương BỘ LỌC FIR 2.1 BỘ LỌC FIR TRUYỀN THỐNG Bộ lọc FIR lọc có đáp ứng xung chiều... hoạt động mạch tăng lên http://www.ebook.edu.vn 15 Nguyễn Anh Cường ĐH Công Nghệ- ĐHQG Hà Nội Khoá luận tốt nghi p Chương BỘ LỌC FIR THÍCH NGHI DÙNG THUẬT TOÁN LMS 3.1 ĐẶT VẤN ĐỀ Thuật ngữ lọc dùng