Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 80 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
80
Dung lượng
1,98 MB
Nội dung
HƯỚNG DẪN THỰC HÀNH THÍ NGHIỆM Mơn học: XỬ LÝ SỐ TÍN HIỆU MỤC LỤC MỤC LỤC MỞ ĐẦU BÀI MƠ PHỎNG HỆ THỐNG VÀ TÍN HIỆU RỜI RẠC BẰNG MATLAB A GIỚI THIỆU VỀ MATLAB: B TÍN HIỆU VÀ HỆ THỐNG RỜI RẠC Ở MIỀN THỜI GIAN RỜI RẠC N Yêu cầu trước làm thí nghiệm Mục đích phần thí nghiệm Tóm tắt lý thuyết Một số lệnh hàm MATLAB 10 Các bước thực hành 11 Mở rộng 15 C TÍN HIỆU VÀ HỆ THỐNG RỜI RẠC Ở MIỀN Z, MIỀN TẦN SỐ LIÊN TỤC ω, VÀ MIỀN TẦN SỐ RỜI RẠC K 16 Yêu cầu trước làm thí nghiệm 16 Mục đích phần thí nghiệm 16 Tóm tắt lý thuyết 16 Một số lệnh hàm MATLAB 21 Các bước thực hành 21 Mở rộng 27 BÀI THIẾT KẾ BỘ LỌC SỐ BẰNG MATLAB 28 A THIẾT KẾ BỘ LỌC SỐ CÓ ĐÁP ỨNG XUNG CHIỀU DÀI HỮU HẠN (BỘ LỌC SỐ FIR) 28 Yêu cầu trước làm thí nghiệm 28 Mục đích phần thí nghiệm 28 Tóm tắt lý thuyết 28 Một số lệnh hàm MATLAB 42 Các bước thực hành 43 Mở rộng 51 B THIẾT KẾ BỘ LỌC SỐ CĨ ĐÁP ỨNG XUNG CHIỀU DÀI VƠ HẠN (BỘ LỌC SỐ IIR) 51 Yêu cầu trước làm thí nghiệm 51 Mục đích phần thí nghiệm 52 CuuDuongThanCong.com https://fb.com/tailieudientucntt Tóm tắt lý thuyết 52 Một số lệnh hàm MATLAB 60 Các bước thực hành 60 Mở rộng 66 BÀI GIỚI THIỀU VỀ DIGITAL SIGNAL PROCESSOR 67 Mục đích: 67 Cơ sở lý thuyết 67 Yêu cầu thiết bị 73 BÀI LÀM QUEN VỚI BỘ THÍ NGHIỆM LABVOLT - DSP 74 Mục đích 74 Thảo luận 74 Tiến trình thí nghiệm 76 Kết luận 78 Câu hỏi ôn tập 79 TÀI LIỆU THAM KHẢO: 80 LINKS 80 CuuDuongThanCong.com https://fb.com/tailieudientucntt MỞ ĐẦU Xử lý số tín hiệu mơn học nghiên cứu phương trình tốn học, giải thuật tính tốn dựa phương pháp tính gần cho tín hiệu hệ thống rời rạc Nội dung mơn học Xử lý số tín hiệu giảng dạy Khoa Điện tử - Viễn thông trường Đại học bách khoa Hà nội, chịu trách nhiệm mơn Mạch Xử lý tín hiệu, tập trung vào bao trùm vấn đề sau: • Phân tích tín hiệu hệ thống • Thiết kế lọc Phương pháp học tốt để sinh viên hiểu, nhớ, vận dụng tự đánh giá kiến thức lý thuyết trực tiếp bắt tay vào giải tập Để hỗ trợ thêm cho việc nhìn nhận vấn đề cách trực quan, đồng thời giúp sinh viên hiểu sâu lý thuyết môn học, biên soạn phần thực hành Phần thực hành bao gồm phần lớn: phân tích tín hiệu số thiết kế hệ thống xử lý tín hiệu số MATLAB; làm quen với cơng việc thực phát triển hệ thống xử lý số tín hiệu xử lý tín hiệu số với tên gọi Digital Signal Processor – DSP Hiện có nhiều cơng cụ phần mềm tiện ích mạnh để hỗ trợ tính tốn Hai số MATHCAD Mathsoft MATLAB MathWorks Chúng gói phần mềm dễ dàng kiếm Việt Nam vào thời điểm Ngoài ra, gói phần mềm MATHEMATICA Wolfram giới khoa học kỹ thuật giới ưa dùng Khả tính tốn dựa phương pháp tính gần điểm mạnh phần mềm Phần mềm MATHCAD có đặc điểm hiển thị kết tính tốn sau người dùng trực tiếp đánh công thức vào giao diện người sử dụng Tuy nhiên sử dụng phần mềm có khó khăn người dùng muốn đóng gói kế thừa tái sử dụng thiết kế trước Về điểm phần mềm MATLAB tương đối mạnh, cho phép người dùng thiết kế phần mềm thông qua câu lệnh, dễ dàng mơđun hố dạng kịch hàm để sử dụng, phát triển qua trình thiết kế tốn thiết kế khác Vì lý đó, MATLAB lựa chọn cho phần thí nghiệm Tốc độ xử lý nhanh DSP tính linh hoạt hỗ trợ đầy đủ phần mềm phát triển, dùng để khởi tạo đề án, viết chương trình nguồn, gỡ rối tối ưu hố chương trình, Texas Instrument (TI) làm số lượng lớn nhà nghiên cứu phát triển xử lý tín hiệu số lựa chọn DSP TI công cụ dùng để nghiên cứu phát triển sản phẩm Bằng chứng thể tăng trưởng số tiêu thụ sản phẩm thị phần DSP TI đăng tạp chí chuyên ngành Tốc độ xử lý DSP cải thiện không ngừng Vào thời điểm nay, dòng sản phẩm DSP Texas Instrument TMS320C64xx chí thực với xung đồng hồ lên đến 1GHz, không thua xa so với vi xử lý mục đích chung thông thường bù lại tốc độ xung đồng hồ DSP có cấu trúc chun biệt cho chức phục vụ xử lý số tín hiệu Bộ DSP sử dụng thí nghiệm TSM320C50 nhúng bo thí nghiệm LABVOLT Về tổ chức thí nghiệm, thí nghiệm Xử lý số tín hiệu chia làm bài: • Bài 1: Mơ hệ thống tín hiệu rời rạc MATLAB CuuDuongThanCong.com https://fb.com/tailieudientucntt • Bài 2: Thiết kế lọc số MATLAB • Bài 3: Giới thiệu Digital Signal Processor • Bài 4: Làm quen với thí nghiệm LABVOLT - DSP Mỗi thí nghiệm lại chia làm số phần Phần A giới thiệu đặc điểm MATLAB, giúp sinh viên làm quen với cơng cụ tiện ích Phần B phần C trình bày u cầu làm thí nghiệm để mơ với tín hiệu hệ thống miền thời gian miền gián tiếp bao gồm: miền Z, miền ω, miền k Phần A phần B trình bày u cầu thí nghiệm để thiết kế lọc FIR lọc IIR Với phần thí nghiệm tổ chức theo mục, nêu rõ yêu cầu kiến thức cần chuẩn bị trước mối phần, mục đich sinh viên cần đạt phần, số lệnh hàm MATLAB sử dụng phần đó, bước cần phải giải buổi thí nghiệm cuối gợi ý thực hành mở rộng cho phần Đối với vấn đề làm quen với xử lý tín hiệu số (Digital Signal Processor), chia làm số mục nhằm làm sinh viên quen dần với phần cứng, việc xử lý phần mềm, đo đạc đánh giá kết bo mạch thí nghiệm Trong điều kiện sở vật chất phịng thí nghiệm mơn Mạch Xử lý tín hiệu điện tử, thực hành sinh viên chia làm nhóm từ đến sinh viên giải bước đưa mục Các bước thực hành phần Chúng tơi cho để hồn thành tốt phần thí nghiệm, sinh viên cần chuẩn bị nhà đồng hồ cho phần thí nghiệm Cơng việc chuẩn bị bao gồm: Đọc tổng kết lại kiến thức lý thuyết sách giáo trình, tìm hiểu kỹ u cầu, mục đích thí nghiệm, xem lai phần tóm tắt lý thuyết trình bày phần thí nghiệm hình dung công việc phải làm buối thực hành Nếu có điều kiện có máy tính, đồng thời có phần mềm MATLAB sinh viên chuẩn bị trước số bước làm buổi thí nghiệm Đánh giá kết thực hành dựa hai tiêu chí: phần thực hành hồn thành trả lời câu hỏi đặt giáo viên hướng dẫn thí nghiệm Sau buổi thực hành, nhóm sinh viên cần nộp báo cáo trình bày lại chương trình, kết đồ thị theo câu hỏi phần Các bước thực hành Tại cuối buổi thực hành sinh viên phải trả lời câu hỏi giáo viên hướng dẫn đặt vấn đề sau: • Kiến thức lý thuyết Xử lý số tín hiệu thực hành • Các câu lệnh hàm MATLAB sinh viên sử dụng thực hành Phần viết báo cáo đánh giá với thang điểm tối đa 40 dành cho tất thành viên nhóm, phần trả lời câu hỏi đánh giá với thang điểm tối đa 60 dành cho cá nhân Nếu đạt 60 điểm tổng cộng hai phần, sinh viên coi đạt yêu cầu thực hành CuuDuongThanCong.com https://fb.com/tailieudientucntt BÀI MÔ PHỎNG HỆ THỐNG VÀ TÍN HIỆU RỜI RẠC BẰNG MATLAB A GIỚI THIỆU VỀ MATLAB: MABLAB, viết tắt Matrix Labotary, công cụ phần mềm hỗ trợ tính tốn ma trận MATLAB tích hợp mơi trường chung loạt khả bao gồm tính tốn, hiển thị kết lập trình nhằm giải vấn đề liên quan đến tốn học Các vấn đề bao gồm: • Các phương trình tốn học tính tốn • Phát triển giải thuật • Thu thập liệu • Mơ hình hố, mơ tạo mẫu theo thiết kế • Phân tích, khảo sát thể liệu hình ảnh • Biểu diễn biểu đồ mang tính khoa học tính kỹ thuật • Phát triển ứng dụng, bao gồm việc phát triển với giao diện với người sử dụng Ưu điểm bật MATLAB, đề cập trên, khả tính tốn, đặc biệt toán liên quan đến ma trận vector, với thời gian nhiều lần so với cơng việc tính tốn ngơn ngữ lập trình khác C hay Fortran Khả lập trình MATLAB linh hoạt, cụ thể việc tạo câu lệnh riêng hàm riêng người sử dụng Hệ thống MATLAB bao gồm phần sau: • Mơi trường phát triển: Là tập hợp công cụ, phần lớn chúng giao diện đồ hoạ, giúp người dùng sử dụng câu lệnh hàm MATLAB • Thư viện hàm tốn học: Là tập hợp hàm toán học bao gồm từ hàm sin, cosin, phép tính đại số phức đến hàm phức tạp tìm ma trận đảo, tìm ma trận riêng, hàm Bessel biến đổi Fourier nhanh (Fast Fourier Transform – FFT) • Ngơn ngữ lập trình: Là ngơn ngữ bậc cao liên quan đến ma trận mảng Trong MATLAB có đầy đủ đặc trưng ngơn ngữ lập trình bao gồm lệnh rẽ nhánh, hàm, cấu trúc liệu, nhập/xuất liệu, đặc tính liên quan đến lập trình hướng đối tượng (object-oriented programming) • Đồ hoạ: Là tập hợp công cụ để biểu diễn ma trận vector đồ hoạ Bên cạnh công cụ mức thấp để thể liệu dạng chiều chiều, xử lý hình ảnh tĩnh, ảnh động cịn có cơng cụ mức cao dùng để CuuDuongThanCong.com https://fb.com/tailieudientucntt tạo biểu diễn đồ hoạ theo ý đồ người sử dụng tạo giao diện đồ hoạ người sử dụng • Các API: Là thư viện cho phép người sử dụng gọi hàm viết ngôn ngữ C Fortran Chúng bao gồm công cụ cho phép gọi hàm từ MATLAB dạng liên kết động, để đọc ghi tệp MAT MATLAB, bên cạnh khả tính tốn ma trận, đồng thời ngôn ngữ lập trình mạnh Các tệp chương trình MATLAB ghi dạng m, gọi M-files Có hai loại tệp dạng m: • Tệp kịch (scripts): Loại tệp khơng có biến đầu vào đầu ra, đơn xử lý liệu với biến vùng làm việc thời (work space) MATLAB Khi gõ tên tệp cửa sổ lệnh (command window), lệnh lưu nội dung tệp gọi theo kịch từ xuống • Tệp mô tả hàm (functions): Loại tệp cần khai báo biến đầu vào đầu Các biến khai bên loại tệp biến địa phương (local variables) có phạm vi ảnh hưởng hàm số Nội dung tệp nhằm mục đích tính tốn thơng số đầu dựa tham số đầu vào hàm số Tên tệp loại cần trùng với tên hàm số khai báo mô tả bên nội dung tệp Để khởi động MATLAB, người sử dụng nháy đúp chuột vào biểu tượng MATLAB 6.5 hình desktop vào menu Start -> All Programs -> MATLAB 6.5 -> MATLAB 6.5 từ giao diện Windows Sau MATLAB khởi động, hình người sử dụng hiển thị lên mơi trường phát triển tích hợp MATLAB bao gồm số cửa sổ, có cửa số quan trọng sau: • Cửa sổ lệnh (Command Window): có chức thể dấu nhắc để nhập vào lệnh từ bàn phím, hiển thị kết tính toán sau gõ lệnh gọi hàm • Cửa sổ lệnh dùng (Command History): thể danh mục lệnh gõ hàm gọi theo phiên làm việc • Cửa sổ thư mục thời (Current Directory): thể danh sách tệp dạng đuôi m tồn thư mục thời Để thay đổi thư mục thời cửa sổ nhỏ nằm bên cửa số lệnh • Vùng làm việc (Workspace): thể danh mục tất biến bao gồm: tên biến, giá trị thời biến, kiểu biến tồn phiên làm việc Ngồi cịn loạt cửa sổ khác kích hoạt hiển thị gọi lệnh chọn mục phần Menu MATLAB Để biết thêm cửa số tham khảo thêm phần trợ giúp (Help) MATLAB cách nhấn phím F1 Để soạn thảo kịch hàm, thực chọn menu File -> New -> M-File nhắp chuột vào biểu tượng New M-File công cụ (Toolbar) Trên CuuDuongThanCong.com https://fb.com/tailieudientucntt hình hiển thị lên cửa sổ soạn thảo (Editor) có đầy đủ chức soạn thảo giống môi trường soạn thảo ngơn ngữ lập trình khác Để xem trợ giúp lệnh hay hàm có sẵn MATLAB, gõ lệnh help kèm theo tên lệnh hàm từ cửa sổ lệnh MATLAB, ví dụ: >> help fft cửa số lệnh đưa nội dung chức năng, cú pháp cho tham số vào/ra cho hàm thực phép biến đổi Fourier nhanh MATLAB đặt tên fft B TÍN HIỆU VÀ HỆ THỐNG RỜI RẠC Ở MIỀN THỜI GIAN RỜI RẠC n Yêu cầu trước làm thí nghiệm Sinh viên nắm vững kiến thức “Tín hiệu hệ thống rời rạc” bao gồm: • Các tín hiệu • Hệ thống tuyến tính bất biến Đáp ứng xung hệ thống tuyến tính bất biến • Phương trình sai phân tuyến tính hệ số Mục đích phần thí nghiệm Sinh viên dùng MATLAB mô nội dung sau: • Các tín hiệu miền thời gian • Tính tích chập • Đáp ứng hệ thống mơ tả phương trình sai phân tuyến tính hệ số Tóm tắt lý thuyết Xử lý số tín hiệu, chất, tìm hiểu phép tốn giải thuật liên quan đến tín hiệu rời rạc hệ thống rời rạc Các tín hiệu rời rạc thường thể dạng dãy số sau: {…, x(-3), x(-2), x(-1), x(0), x(1), x(2), x(3), …} Tuy nhiên, MATLAB có khả biểu diễn dãy số với độ dài hữu hạn Khi dãy số khai báo lưu trữ dạng vector, ví dụ: >> x = [3, 2, -1, 7, -5] Với cách khai báo vậy, dãy số số thành phần dãy Vì vậy, để biểu diễn dãy rời rạc có độ dài hữu hạn, ta cần khởi tạo lưu trữ chúng dạng vector Ví dụ: >> n = [-2:2] >> x = [3, 2, -1, 7, -5] CuuDuongThanCong.com https://fb.com/tailieudientucntt hiểu dãy gồm phần tử xuất phát từ -2 đến có: x(-2)=3, x(-1)=2, x(0)=-1, x(1)=7 x(2)=-5 Trong tất thí nghiệm MATLAB mơn học này, nên tuân theo nguyên tắc Định nghĩa số dãy a Dãy xung đơn vị: ⎧1 n = ⎩0 n ≠ δ (n ) = ⎨ Dãy xung đơn vị trễ (dịch) n0 mẫu: ⎧1 n = n0 ⎩0 n ≠ n0 δ (n − n0 ) = ⎨ b Dãy nhảy đơn vị: ⎧1 n ≥ u (n ) = ⎨ ⎩0 n < c Dãy hàm mũ thực: x(n ) = a n , ∀n a ∈ R d Dãy hàm mũ phức: x(n ) = e (σ + jω0 )n , ∀n σ độ suy giảm tín hiệu, ω0 tần số góc tính theo đơn vị radians e Dãy lượng giác: Dãy lượng giác dãy thể tín hiệu có dạng hàm tốn học tổ hợp tuyến tính hàm sin cosin Một ví dụ dãy lượng giác sau: x(n ) = cos(ω n + θ ), ∀n với θ pha ban đầu tín hiệu f Dãy ngẫu nhiên: Là dãy mà phần tử dãy có giá trị ngẫu nhiên Sự phân bố ngẫu nhiên điều chỉnh phân bố hay tuân theo quy luật phân bố xác suất Trong MATLAB có sẵn số hàm cho phép khởi tạo dãy ngẫu nhiên theo phân bố theo phân bố Gauss g Dãy tuần hoàn: Dãy tuần hoàn dãy có giá trị phần tử lặp lại tuần hoàn sau số mẫu định x(n ) = x(n + mN ) m ∈ Z x (n ) đọc ‘x ngã’ Chúng ta biểu Dãy tuần hồn thường ký hiệu ~ diễn dãy với số chu kỳ tuần hoàn MATLAB cách đặt liên tiếp số hữu hạn dãy xuất phát từ dãy có chiều dài hữu hạn Mỗi dãy thể chu kỳ dãy tuần hoàn Một số định nghĩa khác CuuDuongThanCong.com https://fb.com/tailieudientucntt a Cộng hai dãy: Dãy thu có phần tử tổng hai giá trị tương ứng với số hai dãy ban đầu Vấn đề đặt ta cần mơ MATLAB việc tìm dãy tổng hai dãy có số bắt đầu kết thúc khác Khi với phần tử dãy thứ mà dãy thứ hai khơng có phần tử có số tương ứng, cần bổ sung vào dãy thứ hai phần tử có giá trị khơng Q trình thực cho hai dãy có số phần tử đầu số phần tử cuối b Nhân hai dãy: Dãy thu có phần tử tổng hai giá trị tương ứng với số hai dãy ban đầu Tương tự việc cộng hai dãy, ta cần có trình xử lý mơ MATLAB cho hai dãy có số đầu số cuối c Nhân với số: Một dãy đem nhân với số thu dãy có giá trị phần tử giá trị phần tử tương ứng dãy ban đầu nhân với số a{x(n )} = {ax(n )} d Dịch (Trễ): Làm trễ dãy khoảng n0 mẫu thu dãy mới: {y(n )} = {x(n − n0 )} hay phần tử thứ m dãy ban đầu trở thành phần tử thứ m+n0 dãy e Biến số n đảo: Dãy thu dãy ban đầu lấy đối xứng qua trục vng góc với trục biểu diễn số n gốc toạ độ (trục tung) {y(n)} = {x(− n )} f Năng lượng: Dãy tính lượng dãy thực dãy phức: Ex = ∞ ∞ ∑ x(n )x (n ) = ∑ x(n ) * n = −∞ n = −∞ g Cơng suất: Cơng suất trung bình dãy tuần hoàn: Px = N N −1 ∑ x(n ) n=0 Hệ thống rời rạc Trong xử lý tín hiệu, khái niệm hệ thống (system) để đến khối, thể hình vẽ khối chữ nhật trông hộp đen có ký hiệu đầu vào đầu ra, có chức tiếp nhận tín hiệu từ đầu vào, xử lý chúng đưa tín hiệu xử lý tới đầu Xử lý số tín hiệu liên quan tới tín hiệu rời rạc nên hệ thống xét đến hệ thống rời rạc Tín hiệu vào gọi đầu vào (input) hay kích thích (excitation) hệ thống Tín hiệu gọi đầu (output) hay đáp ứng (response) hệ thống Trong MATLAB, hệ thống định chung khái niệm “filter” Một hệ thống tuyến tính bất biến (Linear Time-Invariant – LTI) hội đủ hai tính chất tuyến tính (linearity) bất biến theo thời gian (time-invariance) Tính chất tuyến tính nói lên đáp ứng hệ thống với kích thích tổ hợp tuyến tính CuuDuongThanCong.com https://fb.com/tailieudientucntt tín hiệu rời rạc với tổ hợp tuyến tính đáp ứng, với đáp ứng đầu cho thành phần đầu vào qua hệ thống Tính chất bất biến theo thời gian nói lên đáp ứng hệ thống có dạng giống hệt với kích thích mà khơng phụ thuộc vào thời điểm đưa kích thích tới đầu vào Trong mơn học Xử lý số tín hiệu, tất hệ thống xét tới tuyến tính bất biến Một hệ thống tuyến tính bất biến ln có đáp ứng y(n) tích chập (convolution sum) đầu vào x(n) với dãy đáp ứng xung h(n) hệ thống, đáp ứng hệ thống đưa kích thích δ(n) tới đầu vào Thể tích chập công thức: y (n ) = T [x(n )] = x(n ) * h(n ) = h(n ) * x(n ) = ∞ ∑ x(k )h(n − k ) = n = −∞ ∞ ∑ h(k )x(n − k ) n = −∞ Một hệ thống nhân đáp ứng thời điểm khơng phụ thuộc vào kích thích vào thời điểm tương lai Một hệ thống tuyến tính bất biến nhân đáp ứng xung thoả mãn: h(n ) = n < Một hệ thống ổn định (Bounded In Bounded Out Stable – BIBO Stable) với kích thích bị chặn ln sinh đáp ứng bị chặn, tức giá trị đáp ứng không tiến đến vô Một hệ thống tuyến tính bất biến ổn định đáp ứng xung thoả mãn: ∞ ∑ h( n) < ∞ n = −∞ Nói chung, tất hệ thống tuyến tính bất biến thực được, thông qua phần cứng mô tả phần mềm, mơ tả phương trình sai phân tuyến tính hệ số có dạng sau: N M k =0 r =0 ∑ a k y(n − k ) = ∑ br x(n − k ) hay viết dạng sau thích hợp với thể mơ hình sơ đồ khối hệ thống: M N r =0 k =1 y (n ) = ∑ br x(n − k ) − ∑ a k y (n − k ) Các bước để giải phương trình sai phân tuyến tính hệ số trình bày cụ thể sách giáo trình Trong MATLAB có hàm filter cho phép tìm dãy đáp ứng đầu y(n) biết trước biến đầu vào hệ số phương trình sai phân, dãy ak br, kích thích đầu vào x(n) Chúng ta dùng lệnh để phác hoạ định dạng đầu hệ thống với tham số nêu Một số lệnh hàm MATLAB Phần đưa danh mục lệnh hàm MATLAB sử dụng phần thí nghiệm Để biết cụ thể chức hàm cú pháp lệnh gọi hàm, gõ lệnh help kèm theo tên hàm cửa số lệnh MATLAB zeros: tạo ma trận với toàn phần tử có giá trị 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt 2.20 Viết chương trình chuyển đổi từ lọc thơng thấp theo thiết kế câu 2.17 sang lọc thông cao có tần số cắt ωc=0,6π Tính biểu diễn đồ thị: a Độ lớn đáp ứng tần số b Hàm đáp ứng pha lọc c Hàm độ lớn tương đối tính theo dB đáp ứng tần số d Trễ nhóm theo tần số Mở rộng Viết chương trình mơ thiết kế lọc thông thấp tương tự theo định dạng khác bao gồm: Butterworth, Chebyshev-2, Elliptic Viết chương trình mơ thiết kế việc chuyển đổi từ mộ lọc thông thấp số sang lọc số khác bao gồm: chuyển đổi thông thấp – thông thấp, chuyển đổi thông thấp – thông dải, chuyển đổi thông thấp – chắn dải 66 CuuDuongThanCong.com https://fb.com/tailieudientucntt BÀI GIỚI THIỀU VỀ DIGITAL SIGNAL PROCESSOR Mục đích: Kết thúc thí nghiệm này, sinh viên giải thích khác xử lý tín hiệu số (DSP) xử lý mục đích chung Xa bước, sinh viên làm quen với trình thiết kế cho chương trình cho DSP Cơ sở lý thuyết Bộ xử lý tín hiệu số (Digital Signal Processor - DSP) phận xử lý mạnh nhanh, điều khiển q trình phân tích tín hiệu thời gian thực Bởi phần tử khoá cho mạch logic thiết kế chuyên dụng cho phép toán nhân cộng nên thời gian tính tốn DSP nói chung thường nhanh so với vi xử lý khác Các xử lý tín hiệu số đặc trưng bởi: • Các cấu trúc chuyên mơn hố cho phép chúng thực lệnh cách nhanh chóng hiểu • Các thị nhận nhanh • Một số rút gọn lệnh làm cho trình lập trình DSP đơn giản 67 CuuDuongThanCong.com https://fb.com/tailieudientucntt Các DSP làm cách mạng cơng nghệ điện tử viễn thơng DSP coi trái tim hàng loạt thiết bị đại điện thoại di động, thiết bị nhận dạng tổng hợp tiếng nói, chơi DVD (Digital Versatile), thiết bị an toàn mức cao Không vậy, nhiều ứng dụng ngày tích hợp DSP trung tâm điều khiển hệ thống bao gồm điều khiển đĩa cứng, hệ thống treo xe ô tô, mạng xử lý tín hiệu ảnh y tế, hệ thống radar DSP bắt đầu xuất vào cuối năm 1970 vào đầu năm 1980 với DSP1 Bell Lab, 2920 Inlel, uPD7720 NEC Vào năm 1982, Texas Instrument đưa TMS32010, thành viên họ DSP dấu phẩy tĩnh 16 bit DSP có tốc độ tính tốn 8MIPS Các bước nhảy vọt liên tiếp xuất Cụ thể vào năm 1998, DSP sử dụng xử lý song song đạt tới tốc độ tính tốn 1600MIPS 68 CuuDuongThanCong.com https://fb.com/tailieudientucntt Trong hệ thống thí nghiệm Lab-Volt DIGITAL SIGNAI PROCESSOR, loại DSP sử dụng Texas Instrument TMS320C50 Đây loại DSP hệ thứ ba với thiết kế bên dựa DSP hệ thứ TMS320C10 Cũng vào năm 1982, xử lý dấu phẩy động sản xuất Hitachi Khn dạng số tăng đáng kể khoảng tính tốn động DSP Hai năm sau NEC đưa DSP 32 bit dấu phẩy động có tốc độ tính tốn 6,6MIPS Nói chung, tín hiệu giới thực (ví dụ: âm thanh, radar) xử lý tốt DSP dấu phẩy động Các tín hiệu xây dựng (ví dụ như: viễn thơng, ảnh điều khiển) nói chung xử lý tốt DSP dấu phẩy tĩnh Trên giới, xu phát triển sản phẩm dựa DSP tăng nhanh vì: • Chúng cho phép xử lý phức tạp mạng tương tự • Chúng cung cấp tính xử lý tín hiệu lặp lặp lại • Mã nguồn dễ dàng sửa đổi việc cập nhật Nói cách khác, thay đổi thiết kế mềm dẻo 69 CuuDuongThanCong.com https://fb.com/tailieudientucntt • Chúng thường cho giá thành phát triển thấp thiết kế tương tự với bậc tính tương đương Một hệ thống muốn vận hành cần phải thông qua thị từ phần mềm lập trình từ trước Phần mềm bao gồm tập dẫn, hay gọi lệnh, để bảo cho hệ thống biết làm cơng việc cách hệ thống cần thao tác có điều kiện dự đoán trước xỷa Chương trình lưu trữ mã máy bên DSP Hỏi: Lựa chọn lựa chọn lệnh nằm chương trình? a ADD #214, b F9E7h c 1011,1110 0001 0110 d Tất lựa chọn Xây dựng chương trình DSP mà đơn từ mã máy khơng khả thi Vì lý này, ngơn ngữ assembler (hợp ngữ) phát triển để viết chương trình cho DSP Đây ngơn ngữ lập trình mà thị dạng gợi nhớ biểu tượng thường tương ứng – với thị máy 70 CuuDuongThanCong.com https://fb.com/tailieudientucntt Bộ dịch (assembler) liên kết (linker) sử dụng để dịch chương trình viết hợp ngữ thành mã máy DSP Assembler dịch tệp chương trình thành tệp đích, tệp sau liên kết với (link) để tạo tệp mã máy vận hành bên DSP Hỏi: Sự lựa chọn câu lệnh viết hợp ngữ? a IF (i.NE.27) THEN (omega=2*sin(x)) b 982Eh c 1011 1110 0001 0110 d DMOV *, AR1 Ngôn ngữ C ngôn ngữ bậc cao sử dụng ngày nhiều để lập trình DSP phức tạp thực thi thuật tốn có độ phức tạp cao Lập trình C đơn giản hố thiết kế ứng dụng DSP người lập trình khơng cịn bị giới hạn tập thị nhỏ ngôn ngữ bậc thấp (như hợp ngữ) Bộ biên dịch (compiler) C sử dụng để dịch mã nguồn C thành mã hợp ngữ DSP thích hợp 71 CuuDuongThanCong.com https://fb.com/tailieudientucntt Phần cuối lập trình bao gồm việc kiểm tra lỗi chương trình làm thay đổi thực tốt chức mong muốn Quá trình cuối chuỗi trình phát triển phần mềm thường gọi gỡ rối (debugging) Chương trình giúp cho việc gỡ rối phần mềm gọi gỡ rối (debugger) Một gỡ rối cho phép người lập chương trình khả phân tích vấn đề kết hợp với chương trình DSP họ Điều thực trước gỡ rối sử dụng với DSP mà ta làm thí nghiệm C5x Visual Development Environment (C5x VDE) gỡ rối sử dụng với DSP mà làm thí nghiệm 72 CuuDuongThanCong.com https://fb.com/tailieudientucntt Những người phát triển hệ thống DSP gỡ rối DSP mà không sử dụng gỡ rối hay debugger Vì vậy, họ thường sử dụng EVMs, emulators simulators để trợ giúp cho việc Bộ DSP sử dụng với mạch phận module TM320C5x DSK (Digital Signal Processing Kit) Khi sử dụng EVMs, emulators simulators, người phát triển thay đổi q trình phát triển mơ hình DSP dang thí nghiệm Một hoạt động được, thử nghiệm cuối chương trình cài đặt hệ thống DSP Các chương trình bao gồm sử dụng Digital Signal Processor viết hợp ngữ Hợp ngữ sử dụng đặc trưng TM320C5x EVMs, cộng thêm thị nó, gọi thị DSK Yêu cầu thiết bị Để hoàn thành tập sau đây, ta cần: • FACET base unit • Bọ mạch DIGITAL SIGNAL PROCESSOR • Chương trình C5x VDE • Các tệp chương trình (dsk) hợp ngữ (asm) 1_1, Exl_2 • Máy sóng • Đồng hồ đo điện đa chức 73 CuuDuongThanCong.com https://fb.com/tailieudientucntt BÀI LÀM QUEN VỚI BỘ THÍ NGHIỆM LABVOLT DSP Mục đích Kết thúc này, sinh viên làm quen với vị trí chức linh kiện khác hệ thống DSP Thảo luận Bo mạch có hai vùng chức năng: vùng chứa phụ kiện bo mạch vùng chứa DSP ngoại vi Vùng chứa phụ kiện bo mạch bao gồm: • DOWER SUPPLY với AUXILIARY POWER INPUT • DC SOURCE • MICROPHONE PRE-AMPLIFIEF • AUDIO AMPLIFIER Chức năng: • Khối mạch POWER SUPPLY cung cấp nguồn DC chỉnh lưu lọc cho tồn bọ mạch Bo mạch vận hành theo hai cách khác : điện áp vào Power Supply nhận từ Lab-BoIl FACET base Unit nhận từ kết nối ± 15V ngồi tìm thấy khối AUXILIARY POWER INPUT • Khối DC SOURCE cung cấp điện áp DC thay đổi phụ thuộc vào vị trí chiết áp, -3,5V de + 3,5Vdc Khối DC SOURCE dùng nguồn tín hiệu tham chiến đầu vào cho chương trình chạy DSP • Khối MICROPIIONE PRE-AMPLIFIER sử dụng để điều chỉnh tín hiệu micro thành mức thích hợp với đầu vào DSP Chiết áp GAIN thay đổi mức giá trị thấp giá trị cao • Để nghe thấy tín hiệu từ ANALOG OUTPUT, định vị khối CODEC, khối AUDIO AMPLIER sử dụng Vùng chức thứ hai bọ mạch DSP ngoại vi bao gồm: • DSP • CODEC • I/O INTERFACE • INTERRUPTS • AUXILIARY I/O • SERIAL PORT 74 CuuDuongThanCong.com https://fb.com/tailieudientucntt DSP coi trái tim hệ thống xử lý tín hiệu số • Khối DSP chứa vi mạch DSP TM320C50 chíp 132 chân dán bề mặt (surface mount) Nó đạt tới tốc độ thực 50MIPS Có nhiều lại DSP chúng thay đổi tốc độ chu trình Tuy nhiện, tốc độ giới hạn ràng buộc hệ thống bên vi mạch DSP sử dụng tạo dao động bên để thiết lập đồng hồ sử dụng tạo dao dơng ngồi DSP dùng bọ mạch thí nghiệm đặt cấu hình để sử dụng tạo dao động ngồi • Khối OSCILATOR đặt bọ mạch cung cấp cho tín hiệu tham chiến 40 MHz DSP chia tín hiệu để tạo tín hiệu bên 20Mhz (tần số tín hiệu chủ) mà sử dụng để tính tốn thời gian chu trình thị • Khối CODEC thường cấu thành bới linh kiện sau: - đầu vào GAIN lập trình - ANTI-ALISING FILTER (bộ lọc chống trùm phổ) - biến đổi tương tự - số - biến đổi số - tương tự - POST-GILER (bộ lọc sau) • Khối I/O INTERFACE phương tiện để hiển thị nạp thông tin chương trình Chuyển mạch DIP8 có chức đưa bit vào cấu hình DSP Phụ thuộc vào chương trình sử dụng, thơng tin xử lý theo nhiều cách khác Các hiển thị LED sử dụng để đưa thông tin chương trình cho người sử dụng DSP Như hầu hết vi xử lý, DSP có khả điều khiển ngắt Hai nút sử dụng thiết bị vào người sử dụng cho chương trình Khi nút nhấn nhấn ngắt sinh bên DSP mã chương trình kết hợp với thực • Vùng AUXILARY I/0 cộng thêm vào cho mục đích giám sát tín hiệu để để làm nguyên mẫu cho tập DSP thêm vào thực bo mạch Các đầu khối AUXILARY I/O sử dụng để giao tiếp DSP với mạch Mạch cấp nguồn đầu 10 chân đặt khối AUXILARY I/O Vùng AUXLIIARY I/O có ba cổng: - Các điểm kết nối ± 5Vdc ± 5Vdc có sẵn để sử dụng đầu phải có 10 chân, chúng sử dụng để cấp nguồn cho mạch Các cung cấp bo mạch có điểm đặt - Đầu trái chân LSB (được đánh nhãn từ D0 đến D7) bus liệu DSP ngoài, bao gồm đường địa tiền mã hoá (được đánh nhãn từ PA0# đến PA3#) - Đầu có phần vào/ra (I/O) bao gồm: 75 CuuDuongThanCong.com https://fb.com/tailieudientucntt ¾ chọn liệu (DS#), chương trình (PS#), khoảng vào/ra (IS#) ¾ đầu định thời ¾ chọn đầu (RD#) cho ghi (WE#) cho thiết bị ngồi ¾ chọn đọc/ghi (R/W#) cho truy nhập ngồi ¾ tín hiệu báo cho biết nhận ngắt (IACK#) ¾ đầu vào ngắt ngồi (INT4#) ¾ chọn hướng (DIR) chọn chíp (CS#) để điều khiển việc truyền liệu ngồi DSP bo mạch lập trình để thành vai trị server máy tính vai trị client Để DSP hoạt động, bo mạch SERIAL, PORT phải nối với cổng nối tiếp máy tính bạn Chú ý: Nếu máy tính chủ khơng có kết nối tiếp thứ hai vào thời điểm thích hợp tiến trình thực tập sinh viên tháo kết nối tiếp Base Unit dùng để nối bo mạch SERIAL PORT với máy tính C5x VDE (C5x Visual Davelopment Environment) quản lý việc bắt tay bo mạch máy tính Nó điều khiển tất đầu vào đầu từ nhớ DSP cổng nối tiếp Một kết nối liên lạc máy tính bạn bo DSp thiết lập, C5x VDE sử dụng để nạp chương trình vào DSP Tiến trình thí nghiệm Giới thiệu bo mạch: Trong phần này, bạn làm quen với m ột số linh kiện khối mạch bọ mạch DIGIAL SIGNAL PROCESSOR Định vị bo mạch DIGITAL SIGNAL PROCESSOR tất thiết bị đầu cuối chung Dùng điện trở kể để kiểm tra thiết bị đầu cuối nối với hay chưa Hỏi: Tất thiết bị đầu cuối nối với nhau? Có khơng Bật nguồn cung cấp cho bọ mạch DIGITAL SIGNAL PROCESSOR Dùng volt kế để kiểm tra điện áp chiều cách thay đổi chiết áp DC SOURCE từ giá trị nhỏ giá trị lớn Đo điện áp DC đầu DC source Điện áp DC nhỏ (VDC min) điện áp DC lớn (VDC max) đưa từ DC source? VDC = …………………V VDC max = …………………V Thực kết nối với DIGITAL SIGNAL PROCESSOR 76 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chú ý: Nếu chất lượng audio từ loa không tốt, dùng tai nghe kèm theo bo mạch Nối tai nghe vào đầu cắm tai nghe đặt khối mạch AUDIO AMPLIFIER Nói vào micro, xem xét thay đổi âm phát thực thay đổi chiết áp MICROPHONE PRE-AMPLIFIER AUDIO AMPLIFIER Tháo toàn kết nối có bọ mạch Làm quen với bọ mạch dùng chương trình DSP: Trong mục này, C5x VDE dùng để nạp chạy chương trình bên DSP Chú ý: Trước sử dụng C5x VDE, chắn nguồn bọ mạch bật kết nối nối tiếp có máy tính khối mạch DIGITAL SIGNAL PROCESSOR đánh nhãn SERIAL PORT Mở chương trình C5x VDE: Dùng lệnh Load Program menu File để nạp chương trình ex1_1.dsk vào DSP Hỏi: Hai cửa sổ mở C5x VDE? a C5x Registers Peripheral Registers b Dis-Assembly Periphearal Registers c C5x Registers Dis-Assembly d Peripheral Registers File Selection Kết nối bo mạch hình vẽ Điều cho phép chương trình ex1_1.dsk vận hành đắn Chú ý: Dùng tai nghe cần thiết 10 Thực lện RUN công cụ C5x VDE 11 Quan sát đọc hiển thị bên khối mạch I/O INTERFACE Điều chỉnh chuyển mạch DIP (tất bit vị trí 0) cho hiển thị đọc 0000 77 CuuDuongThanCong.com https://fb.com/tailieudientucntt 12 Nhấn nút thứ INT# bo mạch INTERRUPTS để chuyển tới DSP giá trị nhập vào thông qua chuyển mạch DIP 13 Dùng micro, cho tín hiệu (giọng nói) vào DSP Chú ý: Điều chỉnh chiết áp GAIN MICROPHONE PRE-AMPLIFIER AUDIO AMPLIFIER để cải thiện âm đầu 14 Lưu ý nói vào micro, chấm hình khối mạch I/O INTERFACE bật sáng 15 Điều chỉnh chuyển mạch DIP cho hình I/O INTERFACE đọc 0015 16 Truyền giá trị chuyển mạch DIP vào DSP cách nhấn nút nhấn INT# 17 Quan sát kết thay đổi xử lý tín hiệu âm giọng nói 18 Lặp lại bước từ 15 đến 17 cho giá trị hiển thị I/O INTERFACE sau đây: 0031, 0063, 0127, 0255 Nhớ nhấn nút INT # sau đặt chuyển mạch DIP tới giá trị Hỏi: Sự lựa chọn sau mơ tả đắn chương trình ex1_1.dsk nạp vào DSP? a Đây ghi tiếng nói b Đây hệ điều hành Base Unit c Đây máy phát chức d Đây máy phát tiếng vọng Hỏi: Con số hiển thị I/O INTERFACE tỉ lệ với gì? a Thời gian trễ (theo ms) tiếng vọng liên tiếp b Số tiếng vọng tạo c Thời gian cần dùng (theo ms) để sinh tiếng vọng cho âm d Số mẫu phải lấy tín hiệu giây 19 Thực lệnh Halt công cụ C5x VDE Đóng C5x VDE Kết luận • DIGITAL SIGNAL PROCESSOR có hai vùng: vùng phụ kiện bo mạch vùng DSP với ngoại vi • Bo mạch chia thành khối mạch riêng rẽ • Trước chương trình DSP nạp sử dụng, nguồn cung cấp DIGITAL SIGNAL PROCESSOR phải bật lên kết nối nối tiếp khối mạch SERIAL PORT máy tính phải thực • Các khối mạch CODEC, I/O INTERFACE, INTERRUPT AUXILIARY I/O áp dụng người sử dụng chương trình nạp vào DSP địi hỏi việc sử dụng chúng 78 CuuDuongThanCong.com https://fb.com/tailieudientucntt Câu hỏi ôn tập Trước bo mạch DIGITAL SIGNAL PROCESSOR sẵn sàng để sử dụng có số bước bắt buộc cần phải theo Mệnh đề sau bước cần thiết phải thực trước sử dụng bo mạch ? a Chắc chắn chuyển mạch I/O INTERFACE vị trí b Chắc chắn kết nối nối tiếp có máy tính chủ khối mạch DIGITAL, SIGNAL PROCESSOR đánh nhãn SERIAL PORT c Chắc chắn nguồn cung cấp bo mạch bật d Các mệnh đề b c Khoảng điện áp DC mà chiết áp cho nguồn DC điều chỉnh bao nhiêu? a –3,3V đến +3,6V b –3,0V đến + 3,0V c –3,5V đến + 3,5V d Khơng có mệnh đề mệnh đề Chân số chân sau đặt đầu bo mạch AUXILIARY I/O ? a đường địa tiền mã hoá (được đánh nhãn từ PA0# đến PA3#) b TOUT, IACK #, INT4#, RD# c DS#, D0, D1, D2 d CS#, INT4#, DS#, PA1# DSP TMS320C50 bo mạch DIGITAL SIGNAL PROCESSOR sử dụng đồng hồ hệ thống có tần số (nhắc lại đồng hồ đặt tốc độ tính tốn cho DSP)? a DSP dùng tạo dao động bên 20MHZ b DSP dùng tạo dao động bên ngồi 40MHZ c Thơng qua kết nối nối tiếp, DSP dùng tạo dao động bên 33.3MHz CODEC d Thông qua kết nối bo mạch SERIAL PORT, DSP dùng dao động máy tính chủ Linh kiện linh kiện sau thường tìm thấy CODEC a Một lọc chống trùm phổ b Một biến đổi tương tự – số c Một biến đổi số – tương tự d Tất nói 79 CuuDuongThanCong.com https://fb.com/tailieudientucntt TÀI LIỆU THAM KHẢO: [1] Ingle V., Proakis J., Digital Signal Processing using MATLAB v.4, 1997, PWS Publishing Company, ISBN 0-534-93805-1 [2] Nguyễn Quốc Trung, Xử lý tín hiệu lọc số, Tập Tập 2, Nhà xuất KHKT 2004 [3] Proakis J., Manolakis D., Digital Signal Processing, Principles, Algorithms, and Applications, Third Edition, 1996, Prentice-Hall International Inc., ISBN 0-13394336-9 [4] Rorabaurg Britton, Digital Filter Designer’s Handbook Featuring C Routines, McGraw-Hill Education –Europe, 1993, ISBN 0-07-911166-1 [5] Lab-Volt Ltd, Digital Signal Processors, Student Workbook, First Edition, 2000, ISBN 2-89289-473-5 LINKS MATLAB website: www.mathworks.com LABVOLT website: www.labvolt.com Texas Instrument website: www.ti.com 80 CuuDuongThanCong.com https://fb.com/tailieudientucntt ... hiệu đầu vào đầu ra, có chức tiếp nhận tín hiệu từ đầu vào, xử lý chúng đưa tín hiệu xử lý tới đầu Xử lý số tín hiệu liên quan tới tín hiệu rời rạc nên hệ thống xét đến hệ thống rời rạc Tín hiệu. .. phần Các bước thực hành Tại cuối buổi thực hành sinh viên phải trả lời câu hỏi giáo viên hướng dẫn đặt vấn đề sau: • Kiến thức lý thuyết Xử lý số tín hiệu thực hành • Các câu lệnh hàm MATLAB sinh... viên hiểu sâu lý thuyết môn học, biên soạn phần thực hành Phần thực hành bao gồm phần lớn: phân tích tín hiệu số thiết kế hệ thống xử lý tín hiệu số MATLAB; làm quen với công việc thực phát triển