Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 189 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
189
Dung lượng
2,88 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA NGÀNH KỸ THUẬT ĐIỆN TỬ LUẬN VĂN THẠC SĨ CẤU TRÚC VLSI CHO BIẾN ĐỔI WAVELET RỜI RẠC VLSI ARCHITECTURES FOR THE DISCRETE WAVELET TRANSFORM GVHD : TS LÊ TIẾN THƯỜNG HVTH : TRƯƠNG QUANG VINH TP HCM Tháng 07 năm 2002 Lời Cảm Ơn Luận án tốt nghiệp bước ngoăïc then chốt quan trọng học viên Nó cầu nối vô hình lý thuyết thực tế Em xin gởi đến thầy Lê Tiến Thường lời cảm ơn chân thành với trân trọng lòng biết ơn sâu sắc hướng dẫn đầy chu đáo nhiệt tình Thầy dẫn dắt em suốt thời gian thực đề tài luận văn này_ kết tinh kiến thức tảng quý giá Và em xin chân thành gởi lời cảm ơn nhiều đến thầy cô Khoa Điện - Điện tử tận tình, hết lòng bảo truyền đạt cho em kiến thức vô quý giá để góp phần lớn trình bước hoàn chỉnh luận văn Nhân dịp này, em xin gởi đến gia đình, bạn bè, đồng nghiệp lời cảm ơn chân tình_ người hết lòng giúp đỡ, động viên, tạo điều kiện thuận lợi suốt thời gian qua để em có hội hoàn thành luận án tốt nghiệp ABSTRACT Multirate signal processing is a sophisticated technology that brings DSP techniques to applications required low-cost and high sample rates Programmable logic devices (PLDs) provide system-level hardware solutions for signal processing architectures demanded both highperformance and flexibility The thesis provides VLSI architechtures for Discrete Wavelet transform (DWT) These architechtures represente Mallat’s pyramid algorithm for the Wavelet Haar By implementing of the wavelet based structures with Field Programmable Gate Arrays (FPGA) using Hardware Describe Language (HDL), the report will show a powerful tool to develop hardware for digital signal processings (DSPs) TÓM TẮT Xử lý tín hiệu đa tần công nghệ ứng dụng kỹ thuật DSP vào vấn đề đòi hỏi phải đạt tốc độ cao với giá thành rẻ Thiết bị logic lập trình (PLDs) cung cấp giải pháp phần cứng cho cấu trúc xử lý tín hiệu với yêu cầu tốc độ thực thi cao tính linh hoạt Luận án trình bày số cấu trúc VLSI hiệu để thực biến đổi Wavelet rời rạc (DWT) Cấu trúc VLSI thực thuật toán thuật toán hình tháp Mallat cho Wavelet Haar Với việc thực thi cấu trúc wavelet FPGA ngôn ngữ mô tả phần cứng HDL, luận án cho thấy công cụ phát triển phần cứng mạnh mẽ cho hệ thống xử lý số tín hiệu Mục lục Lời Cảm Ơn Abstract Giới thiệu……………………………………………………………………………………………………………………… 1-1 1.1 Tổng quan đề tài…………………………………………………… 1-2 1.2 Tổ chức báo cáo luận án………………………………………… 1-3 1.3 Những công việc liên quan…………………………………………… 1-3 Wavelets………………………………………………………………………………………………………………………… 2-1 2.1 Khai triển chuỗi tín hiệu loại vector hàm sở ……… 2-2 2.1.1 Khai triển chuỗi tín hiệu……………………………….… 2-3 2.1.2 Các loại vector hàm sở……………………………………… 2-3 2.1.3 Xử lý tín hiệu đa tần…………………………………………… 2-5 2.2 Cơ sở Wavelets rời rạc………………… .… 2-9 2.2.1 Đặc điểm sở Wavelets rời rạc .….…… 2-9 2.2.2 Khai triển chuỗi tín hiệu rời rạc .…… 2-10 2.3 Bộ lọc hai kênh … …… 2-18 2.3.1 Phân tích lọc .……………………………… 2-19 2.3.2 Phân tích theo khía cạnh thời gian ………… ….…… 2-19 Thiết kế số đại với VHDL…………………………………………………………………………… 3-1 3.1 Khuynh hướng phát triển ngành thiết số……………………….… 3-2 3.2 Những công cụ hỗ trợ thiết kế số……………………………………… 3-3 3.2.1 Các thiết bị logic lập trình được………………………………… 3-3 3.2.2 Ngôn ngữ mô tả phần cứng…………………………………… 3-4 3.2.3 Phần mềm hỗ trợ thiết kế số…………………………………… 3-5 3.3 Công nghệ FPGA……………………………………………………… 3-6 3.3.1 Giới thiệu FPGA……………………………………………… 3-6 3.3.2 Sự phát triển thiết bị lập trình được……………….… 3-7 3.3.3 Cấu trúc FPGA ………………………………………………… 3-9 3.3.4 Các công nghệ lập trình chip………………………………… 3-14 3.3.5 Các loại FPGA………………………………………………… 3-20 3.4 Ngôn ngữ VHDL……………………………………………………… 3-22 3.4.1 Khái quát VHDL…………………………………………… 3-22 3.4.2 Cấu trúc ngôn ngữ VHDL…………………………………… 3-25 3.4.3 Các kiểu liệu……………………………………………… 3-46 3.4.4 Các toán tử…………………………………………………… 3-59 Cấu trúc VLSI cho biến đổi Haar Wavelets ………………………………………………… 4-1 4.1 Mô tả thuật toán……………………………………………………… 4-2 4.1.1 Hàm sở rời rạc Haar Wavelets ………………………… 4-2 4.1.2 Biểu diễn khai triển Haar Wavelets lọc phân tích…… 4-2 4.1.3 Khôi phục khai triển Haar Wavelets lọc tổng hợp…… 4-3 4.1.4 Thực lọc Haar Wavelets cấu trúc số…………… 4-4 4.2 Các cấu trúc khai triển Haar Wavelets …………………………….… 4-5 4.2.1 Cấu trúc song song…………………………………………… 4-6 4.2.2 Cấu trúc nối tiếp……………………………………………… 4-12 4.2.3 Cấu trúc dùng dual-port RAM………………………………… 4-17 4.3 Cấu trúc khôi phục khai triển Haar Wavelets ………………………… 4.3.1 Cấu trúc khôi khai triển Haar Wavelets song song…………… 4-20 4-20 4.3.2 Ứng dụng cấu trúc khôi phục khai triển Wavelets để triệt nhiễu tín hiệu (denoise)………………………………… 4-23 Thiết kế phần cứng với FPGA…………………………………………………………………………… 5-1 5.1 Ý tưởng thiết kế……………………………………………………… 5-2 5.1.1 Mô hình 1……………………………………………………… 5-2 5.1.2 Mô hình 2……………………………………………………… 5-3 5.2 Phần cứng hỗ trợ_ Kit UP1 Altera…………………………….… 5.2.1 Giới thiệu……………………………………………………… 5-3 5-3 5.2.2 Hai device Kit UP1………………………………….…… 5-4 5.2.3 Các thành phần Kit UP1………………………………… 5-4 5.3 Mạch giao tiếp máy tính……………………………………………… 5-11 5.3.1 Vài nét cổng máy in……………………………… 5-11 5.3.2 Sơ đồ mạch giao tiếp………………………………………… 5-14 5.4 Mạch biến đổi AD_DA…………………………………………… 5-17 5.4.1 Khối biến đổi AD……………………………………………… 5-17 5.4.2 Khối biến đổi DA……………………………………………… 5-24 5.4.3 Sơ đồ chi tiết mạch AD_DA………………………………… 5-26 5.5 Thiết kế chi tiết mô hình………………………………………… 5-28 5.5.1 Mô hình 1……………………………………………………… 5-28 5.5.2 Mô hình 2……………………………………………………… 5-29 Thực biến dổi Wavelets FPGA……………………………………………………… 6-1 6.1 Thử nghiệm mô hình 1……………………………………………… 6-2 6.1.1 Thiết lập cấu hình phần cứng………………………………… 6-2 6.1.2 Kết thử nghiệm…………………………………………… 6-3 6.2 Thử nghiệm mô hình 2………………………………………………… 6-6 6.2.1 Thiết lập cấu hình phần cứng………………………………… 6-6 6.2.2 Kết thử nghiệm…………………………………………… 6-7 Đánh giá kết hướng phát triển…………………………………………………………… 7-1 7.1 Đánh giá kết quả……………………………………….…………… 7-2 7.2 Hướng phát triển……………………………………………………… 7-3 Tài liệu tham khảo Phụ lục VLSI Architectures for DWT THD: TS Lê Tiến Thường GIỚI THIỆU 1.1 Tổng quan đề tài…………………………………………………………………… 1-2 1.2 Tổ chức báo cáo luận án….… .… 1-3 1.3 Các công việc liên quan .… … 1-3 Giới thiệu 1-1 HVTH: Trương Quang Vinh VLSI Architectures for DWT 1.1 THD: TS Lê Tiến Thường Tổng quan đề tài: Trong thập niên gần đây, biến đổi wavelets nhiều nhà khoa học quan tâm, đặc biệt sau thuật toán biến đổi wavelets rời rạc (DWT) phát triển Mallat đời DWT xem phương pháp phân tích tín hiệu với độ phân giải đa tần Điều có nghóa phân tích tín hiệu thành thành phần dải tần số khác Biến đổi DWT ngược tái tạo lại xác tín hiệu gốc Những ứng dụng phép biến đổi đa dạng, lọc nhiễu, xử lý ảnh hay nén tín hiệu… Trên giới nay, có công trình thực DWT VLSI Cấu trúc phần cứng để tính toán DWT thiết kế Knowles Cấu trúc không phù hợp tốt cho VLSI sử dụng nhiều multiplexor cho chương trình tính kết trung gian Sau Lewis Knowles thiết kế phần cứng để tính 2-D DWT Mặt hạn chế cấu trúc phụ thuộc nhiều vào tính chất dạng wavelets Daubechies 4-tap Thực không cần nhân phần cứng, lại không thích hợp cho dạng wavelets khác Hãng Aware Inc cho đời hệ chip gọi xử lý biến đổi wavelets ( WTP – Wavelet Transform Processor) Nó bao gồm lọc 4- tap (chính tế bào nhân tích lũy), nhớ , điều khiển Bộ xử lý đặc điểm bật cấu trúc phần cứng tính toán DWT mà dựa chủ yếu vào phần mềm để tính DWT Gần đây, Parhi Nishitani phát minh cấu trúc “cuộn” cấu trúc chuỗi số cho 1-D DWT Cấu trúc không tỉ lệ với kích thước lọc số lần tính toán theo bậc mũ Đề tài luận văn trình bày cấu trúc VLSI cho biến đổi wavelets rời rạc với thuật toán hình tháp đệ quy kết hợp với cấu trúc lọc đa tần tối ưu để đạt tính xử lý thời gian thực Mô hình biến đổi wavelets thi công để minh hoạ cho đề tài Giới thiệu 1-2 HVTH: Trương Quang Vinh VLSI Architectures for DWT 1.2 THD: TS Leâ Tiến Thường Tổ chức báo cáo luận án: Chương giới thiệu tổng quan đề tài luận án, công trình khoa học thực liên quan đến đề tài Chương trình bày khái quát kiến thức Wavelets, đặc tính, ứng dụng phương pháp phân tích Wavelets dùng lọc kênh Trong chương 3, báo cáo luận án giới thiệu phương pháp thiết kế số đại với ngôn ngữ VHDL kết hợp với công cụ phần cứng FPGA Chương cho thấy nhìn thiết kế số Chương trình bày các thiết kế cho cấu trúc biến đổi Haar Wavelets Chương trình bày cấu trúc biến đổi wavelet cấu trúc song song, nối tiếp cấu trúc dùng RAM Các cấu trúc minh hoạ phần mềm Max+plusII Chương trình bày thiết kế mô hình thi công minh hoạ cho đề tài, bao gồm hai mô hình phần cứng với sơ đồ mạch chi tiết Chương mô tả thử nghiệm hai mô hình Mô hình phần cứng kiểm tra ghi nhận lại kết Chương trình bày kết luận, đánh giá hướng phát triển đề tài Các kết sau chạy thực nghiệm (bằng mô hình phần cứng) chạy mô (bằng phần mềm Max+plusII) tổng hợp để đánh giá 1.3 Các công việc liên quan Ngoài nhiệm vụ Luận án thiết kế cấu trúc VLSI cho biến đổi Wavelets, tác giả nghiên cứu thiết kế mạch giao tiếp analog – digital mạch giao tiếp với máy tính để thực mô hình thi công minh hoạ cho đề tài Để thực thi cấu trúc Wavelet FPGA, tác giả phải hiểu rõ FPGA ngôn ngữ VHDL để lập trình cho thiết bị Công cụ để thực mô hình phần mềm Max+plus II phần cứng KIT UP1 hãng Altera, hãng tiếng công nghệ FPGA Giới thiệu 1-3 HVTH: Trương Quang Vinh VLSI Architectures for DWT THD: TS Lê Tiến Thường WAVELETS 2.1 Khai triển chuỗi tín hiệu loại vector hàm sở 2-2 2.1.1 Khai triển chuỗi tín hiệu……………………………… 2-2 2.1.2 Các loại vector hàm sở………………………………… 2-3 2.1.3 Xử lý tín hiệu đa tần……………………………………… 2-5 2.2 Cơ sở Wavelets rời rạc………………… .… 2-9 2.2.1 Đặc điểm sở Wavelets rời rạc .….… 2-9 2.2.2 Khai triển chuỗi tín hiệu rời rạc .… 2-10 2.3 Bộ lọc hai kênh … … 2-18 2.3.1 Phân tích lọc .…………………………… 2-19 2.3.2 Phân tích theo khía cạnh thời gian ………… … 2-19 Wavelets 2-1 HVTH: Trương Quang Vinh VLSI Architectures for DWT THD: TS Lê Tiến Thường function average(x,y:in signed(7 downto 0)) return signed is variable temp,kq :signed(7 downto 0); variable sign_bit :std_logic; begin temp:= x + y; sign_bit:=( x(7)or y(7) )and temp(7); kq:= sign_bit&temp(7 downto 1); return (kq); end average; Tinh gia tri sai biet (x-y)/2 function difference(x,y:in signed(7 downto 0)) return signed is variable temp,kq :signed(7 downto 0); variable sign_bit :std_logic; begin temp:=x-y; sign_bit:=( x(7)or (not y(7)) )and temp(7); kq:= sign_bit&temp(7 downto 1); return(kq); end difference; end pe_pack; - Chuong trinh chinh Processing element LIBRARY IEEE; USE ieee.std_logic_1164.all; USE ieee.std_logic_arith.all; USE work.pe_pack.all; entity PE is PORT ( Load_A,Load_B :in STD_LOGIC; Pr,Sel :in STD_LOGIC; Din :in signed(7 downto 0); Dout :out signed(7 downto 0) ); end PE; ARCHITECTURE behavior OF PE IS signal tempA,tempB: signed(7 DOWNTO 0); BEGIN stage1: PROCESS (Load_A,Load_B,pr,Sel) BEGIN IF rising_edge(Load_A) THEN tempA