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

Tín hiệu số và xử lý ảnh sử dụng MATLAB mở đầu nguyễn văn định dịch

25 115 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

Định dạng
Số trang 25
Dung lượng 438,78 KB

Nội dung

TÍN HIỆU SỐ VÀ XỬ LÝ ẢNH SỬ DỤNG MATLAB Gérard Blanchet Maurice Charbit Người dịch: Nguyễn Văn Định NỘI DUNG LỜI MỞ ĐẦU KÝ HIỆU VÀ CHỮ VIẾT TẮT GIỚI THIỆU VỀ MATLAB Các biến 1.1 Vec-tơ ma trận 1.2 Mảng 1.3 Ô nhớ cấu trúc Các phép toán hàm 2.1 Phép toán ma trận 2.2 Phép toán điểm 2.3 Hằng số khởi tạo 2.4 Định nghĩa ma trận 2.5 Các hàm toán học 2.6 Các hàm ma trận 2.7 Một số hàm hữu ích khác 2.8 Các phép tốn biến lơgic 2.9 Vịng lặp chương trình Hiển thị kết đồ thị Chuyển số sang chuỗi ký tự Đầu vào/đầu Viết chương trình LỜI NĨI ĐẦU Cách tiếp cận thực tế thơng qua mô Mô công cụ thiết yếu có liên quan đến nhiều lĩnh vực ngành kỹ thuật, cho dù sử dụng cho mục đích giảng dạy nghiên cứu phát triển Khi giảng dạy môn học kỹ thuật, công việc phịng thí nghiệm đóng vai trị quan trọng, buổi thực hành để giúp sinh viên tiếp thu lý thuyết Những công cụ mô đưa vào gần mở hướng cho công việc, bước trung gian buổi làm tập làm phịng thí nghiệm Đây trường hợp đặc biệt xử lý tín hiệu số, mà ngơn ngữ sử dụng MATLAB® khơng thể thiếu Ngôn ngữ dễ học dễ sử dụng có khả minh họa khái niệm cách nhanh chóng Đối với việc nghiên cứu phát triển, kết đạt thường có sử dụng chương trình mơ dựa “Phương pháp thực nghiệm” xác, thay cho thí nghiệm thực tế ngành hóa học vật lý Những đặc điểm dẫn cho đến giai đoạn đầu tiên, việc thử nghiệm để xây dựng tập với giải pháp phần lớn phần dựa mơ phỏng, sau chúng tơi cố gắng để thiết kế khóa học giới thiệu chủ yếu dựa tập Mặc dù giải pháp thay cho kết hợp truyền thống lý thuyết thực nghiệm, liệu có hiệu khơng có liên kết thực hành lý thuyết Đây hướng để thảo luận phương pháp giảng dạy giá trị thực nghiệm quản lý trường đại học kỹ thuật cho thấy ý tưởng đa dạng chủ đề Những khái niệm DSP Với phát triển kỹ thuật thời gian gần đây, trải qua thành công thời kỳ công nghệ cho phép hệ thống dựa vào vi điều khiển vi xử lý để làm chủ lĩnh vực tín hiệu số xử lý ảnh Được tối giản dạng đơn giản nhất, tín hiệu xử lý tạo tập hợp liệu dựa việc lấy mẫu tín hiệu tương tự Tín hiệu số xử lý ảnh, DSIP, định nghĩa thủ thuật làm việc với chuỗi số học Định lý lấy mẫu Định lý lấy mẫu thường nhân tố được tìm thấy tiến trình DISP, minh chứng cho hoạt động thay tín hiệu thời gian liên tục tín hiệu rời rạc Nó cho thấy tín hiệu tái tạo lại hồn tồn chuỗi mẫu đó, tần số lấy mẫu lớn giới hạn gọi tần số Nyquist Nếu không thuộc trường hợp này, kết tác động khơng mong muốn gọi quang phổ Chuỗi số DTFT Phép biến đổi thời gian rời rạc Fourier, DTFT, giới thiệu với định lý lấy mẫu, đặc trưng quang phổ tín hiệu số Phép loại suy DTFT phép biến đổi thời gian liên tục Fourier xét đến, với mô tả chi tiết thuộc tính chúng như: tuyến tính, phép chuyển đổi, biến điệu, phép nhân chập, liên hệ Parseval, tượng Gibbs,… Trong thực nghiệm, đối tượng xem xét giai đoạn định Khoảng thời gian bị hạn chế làm cho quang phổ bị nhấp nhô gây khó khăn việc tách dạng tần số nhiễu có Đây hướng dẫn đến khái niệm độ phân giải tần số DTFT hướng đơn giản việc tách dạng tần số, so sánh mặt thời gian có khác biệt trái ngược dạng tần số Tuy nhiên, nhiều giải thích đầy đủ khái niệm độ phân giải thực làm nhiễu tín hiệu ngun nhân, nghiên cứu nhiều mà phương pháp ngẫu nhiên xem xét Phép biến đổi rời rạc Fourier hay DFT cơng cụ dùng để tính tốn số học DTFT, kết tính tốn có liên quan đến số hữu hạn giá trị tần số Bài tốn độ xác xem xét Ở có vài thuộc tính khác DFT DTFT, đặc biệt liên quan đến việc lập mục chuỗi thời gian, tạo theo mođun N Một số ví dụ việc tính tốn DTFT DFT dạng hình sin, mối quan hệ chập rời rạc DFT Ở thời điểm này, việc tính tốn nhanh thuật toán DFT gọi FFT (Fast Fourier Transform), mô tả chi tiết Phép lọc yếu tố thiết kế lọc Lọc tuyến tính ban đầu sử dụng để trích xuất tín hiệu có liên quan từ nhiễu Các cơng cụ giới thiệu: chập rời rạc, đáp ứng xung, tần số đáp ứng, phép biến đổi z Chúng tập trung vào mối quan hệ lọc tuyến tính với hàm chuyển đổi hợp lý số - hệ số phương trình đệ quy tuyến tính Thiết kế lọc mơ tả dựa vài ví dụ chi tiết, đặc biệt phương pháp cửa sổ biến đổi song tuyến tính Các khái niệm lấy mẫu mẫu giới thiệu tiếp theo, số ứng dụng số thay đổi tần số giảm lượng tử hóa nhiễu Ở góc độ rộng hơn, xử lý lọc nhóm đa tỷ lệ mơ tả đây, hai đối tượng thu hút nhiều ý lĩnh vực DSIP Giới thiệu hình ảnh Xử lý hình ảnh mơ tả chương riêng biệt Nhiều khái niệm sử dụng xử lý tín hiệu sử dụng xử lý ảnh Sự khác biệt hai số sử dụng thay Tuy nhiên hình ảnh có tính chất đặc thù mà yêu cầu xử lý cụ thể như: bào mịn, giãn nở,…Thời gian tính tốn cho hình ảnh thường lâu cho tín hiệu Tuy nhiên tiến hành xử lý hình ảnh với MATLAB® Chủ đề thảo luận sử dụng ví dụ lọc 2D, phát biên, loại xử lý trường hợp tính chất hình ảnh 2D khơng làm cho chúng q khác xa từ tín hiệu ID Chương hội để thảo luận nén ảnh mã hóa entropy Các q trình ngẫu nhiên Cho đến nay, tín hiệu sử dụng mơ hình quan sát mơ tả hàm mà phụ thuộc vào số hữu hạn thông số biết nhiều hàm biết đến như: hàm sin, hàm đơn vị bước, hàm xung,… Đây loại tín hiệu cho xác định Có tình khác, mà hàm tất định cung cấp cho hiểu xác đáng biến đổi tượng Điều đòi hỏi việc sử dụng trình ngẫu nhiên, mà trình tự thời gian lập mục biến ngẫu nhiên Các trình ổn định diện rộng, WSSP, thể loại quan trọng trình ngẫu nhiên Việc nghiên cứu trình chủ yếu dựa khái niệm mật độ phổ lượng, PSD PSD thể tương tự cho WSSP mơ-đun vng biến đổi Fourier cho tín hiệu xác định Các cơng thức cho việc lọc tuyến tính WSSP đặt sau Như vậy, suy WSSPs mơ tả q trình lọc tuyến tính nhiễu trắng Kết dẫn đến chủng loại lớn trình cố định: trình AR, trình MA, trình ARMA Quang phổ lượng Một vấn đề DSIP có liên quan với việc đánh giá PSD WSSPs Trong trường hợp quang phổ liên tục, giải cách sử dụng phương pháp tiếp cận phi tham số (biểu đồ chu kỳ đồng nhất, biểu đồ chu kỳ trung bình,…) phương pháp tham số dựa mô hình tuyến tính (AR, MA, ARMA) Đối với tuyến quang phổ, phương pháp thông dụng biểu đồ chu kỳ gọi phương pháp có độ phân giải cao, sử dụng cấu trúc tín hiệu nhiễu như: Prony, Pisarenko, MUSIC, ESPRIT,… Bình phương bé Chương thảo luận việc sử dụng phương pháp bình phương bé để giải vấn đề Phương pháp sử dụng số vấn đề, lĩnh vực phân tích quang phổ, mơ hình, dự đốn tuyến tính, thơng tin liên lạc,… Chúng tơi thảo luận phương pháp Wiener, RLS, LMS, Kalman, Ứng dụng Chương cuối trình bày nghiên cứu sâu ví dụ mơ tả trước Tầm quan trọng đặt vào xử lý tín hiệu âm thanh, việc nén khơi phục giảm nhiễu cho lời nói âm nhạc, điều chế, hoàn điệu cân vấn đề cho truyền thông kỹ thuật số Chương hội để khám phá phương pháp điển hình thuật tốn như: phát khoảng cách, PSOLA, DTW, ACP, LBG, Viterbi, … Kết luận Một vấn đề đặt nhiều người sử dụng xử lý tín hiệu làm với khía cạnh nhân tạo giới thiệu cách mơ Ví dụ, sử dụng tần số lấy mẫu 1, tần số khơng có kích thước Ở có nguy sinh viên tiếp xúc với khía cạnh vật chất tượng, lý đó, khơng có trực giác tượng Đó lý chúng tơi cố gắng, chương đầu tiên, để cung cấp cho tập có sử dụng giá trị với đơn vị vật lý: giây, Hz,… Các tập bàn tính chất định lý quan trọng, mục tiêu khơng phải để có sách tốn học Nó vấn đề cần quan tâm tới tín hiệu xử lý ảnh Bằng cách cung cấp chủ đề nghiên cứu, chúng tơi chọn chúng ví dụ hay, đơn giản, cố gắng không nhiều Tất đối tượng nghiên cứu bao phủ xa với kiến thức yêu cầu lĩnh vực Tuy nhiên chúng dường trở thành tảng vững cho kỹ sư, người giải vấn đề xảy với DSIP CÁC KÝ HIỆU VÀ VIẾT TẮT φ Tập hợp rỗng ∑ k , n =∑ k ∑ n 1 |t| < T/2 rectT (t ) =  0 trường hợp khác sincx = sin( x) x 1 ( x ∈ A) =  0 x ∈ A (Hàm thị A) trường hợp khác (a, b] = {x : a < x ≤ b} δ (t ) Re (z) Im (z) i j = Phân bố Dirac t ∈ R Ký hiệu Kronecker t ∈ Z Số thực z Số ảo z −1 (x*y) (t) Phép biến đổi Fourier Phép nhân hàm thời gian liên tục = ∫ x(u )t (t − u )du R (x*y) (t) Phép nhân hàm thời gian gián đoạn = ∫ x(u )t (t − u ) u ∈Z IN A* AT A-1 P (X ∈ A) E{X} XC=X - E{X} var(X) = E{|XC|}2 (NxN) – Ma trận đồng dạng kích thước Tập số phức A Ma trận chuyển vị A Ma trận nghịch đảo A Xác suất X ∈ A Giá trị kỳ vọng X Phép biến đổi ngẫu nhiên trung bình Phương sai X Điều kiện kỳ vọng X cho Y E{X|Y} ADC ADPCM AMI AR ARMA BER bps cdf CF CZT DAC DCT d.e./de DFT DTFT DTMF dsp e.s.d./esd FIR FFT FT HDB IDFT i.i.d./iid IIR ISI LDA lms MA MAC OTF PAM PCA p.d ppi p.s.d./PSD PSF PSK QAM rls rms r.p./rp Chuyển đổi tương tự sang số Vi phân thích nghi PCM Phép đảo dấu luân chuyển Hồi quy AR MA Tỉ lệ bít lỗi Bít giây Hàm phân bố tích lũy Hệ số cắt Nguyên nhân biến đổi z Chuyển đổi Số sang Tương tự Biến đổi cosin rời rạc Phương trình sai phân Biến đổi Fourier gián đoạn Biến đổi Fourier thời gian gián đoạn Âm sắc kép đa tần Xử lý tín hiệu số Mật độ quang Phản hồi xung hữu hạn Biến đổi nhanh Fourier Biến đổi Fourier thời gian liên tục Mật độ lưỡng cực cao Biến đổi ngược Fourier Phân bố riêng lẻ đồng Phản hồi xung vô hạn Nhiễu xuyên ký tự Phân tích biệt số tuyến tính Bình phương trung bình bé Trung bình cộng di chuyển Phép nhân tích lũy Hàm truyền quang học Điều chế biên độ xung Phân tích thành phần Phân bố xác suất Điểm Inch Cường độ quang phổ Hàm phân tán điểm Giai đoạn ngưng biến đổi Điều chế biên độ xung vng Đệ quy bình phương nhỏ Nghiệm bình phương trung bình Phương pháp ngẫu nhiên SNR r.v./rv STFT TF WSS ZOH zT Tỉ số tín hiệu nhiễu tạp âm Biến ngẫu nhiên Biến đổi Fourier ngắn hạn Hàm truyền Quá trình ổn định theo nghĩa rộng Mạch giữ bậc Phép biến đổi z GIỚI THIỆU MATLAB Trong sách từ MATLAB® (viết tắt từ Matrix Laboratory) đề cập đến: - Chương trình mở đầu cách sử dụng tập lệnh Matlab môi trường DOS Unix cách bấm chuột môi trường đồ họa chẳng hạn x11, Windows, MacOS,… - Ngôn ngữ định nghĩa từ vựng qui tắc cú pháp MATLAB® cơng cụ minh họa, chương trình cịn lưu lại nhớ máy tính mở MATLAB® hiển thị cửa sổ lệnh dùng cho việc giải thích lệnh Nếu lệnh kiểm tra xác, MATLAB® tiến hành thực thi chúng Sự thực kiểm nghiệm lại Ví dụ (Giải thích trực tiếp) Nhập a=2*log10(5) enter Kết hiển thị môi trường PC (Hình 1) Dịng lệnh Kết Dấu nhắc Hình Cửa sổ lệnh MATLAB® MS-Windows Các lệnh tập hợp lại với thành tập tin gọi chương trình matlab Người sử dụng đặt tên tập tin để gọi từ dấu nhắc Tài liệu MATLAB® hướng dẫn cách sử dụng trình soạn thảo để tạo tập tin Trình soạn thảo tích hợp bên phần mềm để riêng (theo sở thích người soạn thảo) Tập tin chương trình sử dụng phần mở rộng “.m” Nếu chương trình gọi “prog1.m” người dùng phải nhập “prog1” cửa sổ lệnh MATLAB® để thực thi Sau MATLAB® tìm tập tin trình tự thư mục Nếu khơng tìm thấy, tìm tập tin “prog1.m” theo dạng khác xác định đường dẫn thư mục Cuối định nghĩa xác cửa sổ lệnh windows cách dùng chương trình thực thi lệnh đường dẫn: path, addpath, rmpath, genpath, pathtool, savepath (xem thêm tài liệu, hỗ trợ trực tuyến, nhập path phần trợ giúp) 10 Hình Giao diện MATLAB® mơi trường X-windows Các định nghĩa theo thứ tự thư mục thực trực tiếp cách bấm vào biểu tượng “…” góc bên phải cửa sổ Định nghĩa đường dẫn thư mục thực cách lựa chọn set path trình đơn file Bản MATLAB® có sẵn Một số thuộc phạm vi cơng cộng Cũng có trình biên dịch cho phép người dùng chuyển từ chương trình MATLAB® sang ngôn ngữ máy, làm cho việc thực nhanh có nghĩa khơng cần thiết phải sở hữu dịch CÁC BIẾN 1.1 Các vectơ ma trận Ngơn ngữ MATLAB® chun dụng để tính tốn ma trận tối ưu hóa phối cảnh Các biến xử lý ưu tiên ma trận số thực số phức Đại lượng vô hướng ma trận 1x1, vec-tơ cột ma trận có cột vec-tơ hàng ma trận có hàng Ký hiệu (l x c) biến xem có l hàng c cột Ví dụ (Phép gán ma trận số thực): Nhập a=[1 3; 6] dịng nhắc MATLAB® cửa sổ lệnh, kết thể Hình 11 Gán ma trận cho a Kết (2 hàng, cột) Hình Phép gán cho ma trận Các giá trị gán cho phần tử ma trận cách sử dụng dấu ngoặc vuông Khoảng trắng (hoặc dấu phẩy) dấu cách để có cột kế tiếp, dấu chấm phẩy để tạo hàng Chỉ số phần tử bắt đầu Chỉ số thứ hàng, số thứ hai cột Trong ví dụ chúng tơi, a(1,1)=1 a(2,1)=4 Phép gán a=[1 2; 5] tất nhiên dẫn đến thơng báo lỗi số cột hàng thứ thứ hai khác Chuỗi ký tự gán vào phần tử ma trận Tuy nhiên, chiều dài chuỗi phải tương thích với cấu trúc ma trận Ví dụ như, N=[‘paul’; ‘john’] đúng, N=[‘paul’; ‘peter’] gây lỗi Khi chuỗi giá trị thành phần vec-tơ tách theo khoảng giá trị, gọi đơn giản lặp “ẩn trị” có dạng (indD : step : indF) Công thức đề cập đến chuỗi giá trị bắt đầu indD đến indF với bước tăng step Các giá trị khơng thể vượt ngồi indF Giá trị khoảng tăng step bỏ qua Ví dụ (Liệt kê ngầm): Nhập a=(0:1:10) a=(0:10), MATLAB® trả về: Ví dụ (Liệt kê khoảng tăng ngầm): Nhập a=(0:4:10), MATLAB® trả về: Phần tử cuối vec-tơ định danh từ riêng end Trong ví dụ trước, a(end) cho giá trị Có thể mở rộng kích thước ma trận Trình biên dịch tạo khoảng trống có sẵn cách phân bố nhớ động suốt q trình phân tích kiểu đối tượng Ví dụ (Sự mở rộng ma trận): Nhập lệnh sau, kết trả sau lệnh: 12 Chú thích: - Khi định nghĩa biến đối tượng, ngơn ngữ đưa vào tài khoản cho dù ký tự hoa hay thường - Nhập dấu “;” cuối hàng lệnh để ngăn chương trình hiển thị kết cho phép tính tốn - Định dạng điều chỉnh cách sử dụng lệnh format Ví dụ như, thực format long, để thay đổi số chữ số từ sang 15 - Người sử dụng phải nhớ MATLAB® dành nhớ cho biến dùng cho lần Tất biến dùng suốt trình hoạt động lưu nhớ máy tính, có nghĩa không gian vùng trống điều cần thiết theo thời gian không để xuất thông báo lỗi OUT OF MEMORY (xem lệnh clear tài liệu nhập help clear) 1.2 Mảng Mảng nhiều chiều (không hỗ trợ cho tất phiên bản) mở rộng ma trận chiều thông thường Một cách để tạo mảng bắt đầu ma trận chiều sẵn có để mở rộng Nhập: Hàm repmat cat cung cấp để tạo mảng nhiều chiều 13 1.3 Ô nhớ cấu trúc Trong hầu hết phiên gần MATLAB®, có nhóm liệu hồn thiện so với mảng vơ hướng mảng chuỗi ký tự: nhóm thứ gọi nhớ nhóm thứ gọi cấu trúc Trong mảng ô nhớ, phần tử chất, giá trị số, chuỗi ký tự, mảng,… Nhập: langcell tạo phần tử: thứ chuỗi ký tự, thứ hai vec-tơ cột, thứ đại lượng vô hướng Ví dụ cho thấy khác cú pháp mảng ô nhớ, dấu ngoặc bên trái ({) bên phải (}) dùng để thay cho dấu ngoặc vuông trái ([) dấu ngoặc vuông phải (]) Với nội dung trên, langcell(2) đề cập đến vec-tơ [6.5000 ; 2.3], langcell{2} nội dung vec-tơ này, langcell{2}(1) giá trị 6.5 Cấu trúc định nghĩa lệnh dẫn struct Ví dụ sau định nghĩa cấu trúc, gọi langstruc, bao gồm trường: Language, Version Year Qui trình gán chuỗi ký tự MATLAB đến trường thứ nhất, chuỗi ký tự 6.5 đến trường thứ hai giá trị 2002 đến trường thứ 3: Chỉ dẫn thứ thành phần langstruc.Year, 2002 Một ma trận kích thước 1x1 xếp giống ma trận nhớ có kích thước nx1, n số trường cấu trúc Vì nhớ so sánh với cấu trúc với khơng có tên trường Ví dụ sau định nghĩa cấu trúc với tên langstruc, bao gồm ghi Mỗi ghi bao gồm tất trường Language, Version Year Chuỗi ký tự gán tương ứng theo thứ tự MATLAB C, hai giá trị 6.5 15.1, giá trị 2002 2003: 14 Các đối tượng dùng hàm: isstruct, fieldnames, setfield, rmfield, cellfun, celldisp, num2cell, cell2mat, cell2struct, struct2cell,… Một ví dụ cho nội dung này: Số phần cấu trúc lệnh cell2struct(langcell, chps, 2) kích thước langcell cần lấy phép tính để định nghĩa số trường Ví dụ như, size(langcell,2) có nghĩa số trường CÁC PHÉP TỐN VÀ HÀM 2.1 Phép tốn ma trận Các phép tốn ma trận sau: - Các phép toán (+, x), cộng nhân hai ma trận Ví dụ (Phép nhân ma trận): Nhập lệnh sau: Lệnh size(a) trả “1 2” cho số hàng số cột a 15 - Dấu chéo ngược cho ta giải pháp tốn tuyến tính Ax=b cơng thức x=A\b Nếu A ma trận vuông, giá trị phép nhân bên trái ma trận nghịch đảo Mặt khác, giải pháp sai phương bé Ví dụ (Lời giải hệ tuyến tính) Nhập: - Giá trị phép tốn A/B biểu diễn phép toán B’\A’ - Phép toán ^ thực hàm mũ đối số, phân số vô hướng, số dương số âm, ma trận - Dấu nháy đơn ‘ sử dụng cho ma trận chuyển vị-liên hợp chuyển vị Cần nhớ rằng, ma trận A(NxN) ma trận chuyển vị-liên hợp B, A=BH có [aij]=[bij*] với ≤ i,j ≤ N Ví dụ (Một vài phép tốn) Nhập dịng lệnh sau: Vec-tơ a, b vec-tơ dòng (4x1) Ma trận vô hướng c kết đại lượng vô hướng vec-tơ a b Mặc khác, d ma trận “cửu chương” có dạng (4x4) 2.2 Phép toán điểm 16 Các phép toán “.x”, “./” “.^” làm việc có giới hạn Cụm từ phép tốn điểm sử dụng Ví dụ, A=[aij] B=[bij] ma trận có kích thước, A.*B trả ma trận [aijbij] Ví dụ (Các phép tốn điểm) Nhập dịng lệnh sau kiểm tra kết quả: Theo trình tự dẫn này: - a b hai ma trận hàng cột Chúng có cách nhân vec-tơ có kích thước hàng với vec-tơ có kích thước cột - c ma trận với ci=ai*bi phần tử giống - d ma trận có phần tử di=ai/bi - e ma trận có phần tử ei = a i Ví dụ 10 (Chuỗi xen kẻ) (-1).^[0:9] dẫn đến chuỗi xen kẻ -1 Chú thích: - Trong điều kiện phép toán, ma trận phải có kích thước với - Trong phép toán ‘ (dấu nháy đơn) ma trận chuyển vị liên hợp, phép tốn ’ (dấu chấm-nháy đơn) phép chuyển vị khơng kết hợp Ví dụ 11 (Sự chuyển vị chuyển vị liên hợp) Nhập: 2.3 Hằng số khởi tạo Các số pi, i, j phải định nghĩa trước: pi=3.14159265358979…, i = j = − Cần nhớ thực việc truyền cho pi=4 làm cho pi giá trị định nghĩa trước Cũng khun khơng nên sử dụng pi, i, j biến chương trình 17 eps, realmin realmax số khác cung cấp cho mục đích kiểm tra giới hạn Các giá trị chúng là: 2.220446049250313e- 16, 2.225073858507201e - 308 1.797693134862316e+ 308 2.4 Định nghĩa ma trận Các lệnh sau dùng cho việc tạo ma trận riêng biệt: - ones(L,C) trả ma trận với L hàng C cột bao gồm số ones(1,N) trả vec-tơ hàng N số - zeros(L,C) trả ma trận với L hàng C cột bao gồm số - eye(N) trả ma trận đơn vị NxN (đường chéo tất vị trí lại 0) - eye(L,C) trả NxN ma trận đơn vị IN, với N giá trị tham chiếu nhỏ L C, tạo ma trận số 0, tồn ma trận với L hàng C cột Ví dụ eye(1,N), trả vec-tơ số số “1” theo sau N-1 “0” - randn(L,C) trả ma trận với L hàng C cột bao gồm phân bố mẫu gauss với phương sai -1 - rand(L,C) trả ma trận với L hàng C cột bao gồm phân bố mẫu khoảng (0-1) - Ngồi ma trận thơng dụng Hilbert, Hadamard, Vander- monde,… số lượng lớn ma trận định nghĩa trước hàm gallery Để có hàm này, nhập help gallery Hàm reshape để thay đổi kích thước ma trận, ví dụ để chuyển ma trận (2x6) thành ma trận (3x4) (xem thêm tài liệu nhập help) Sự thay đổi kích thước thực cách trực tiếp, thể ví dụ sau đây: % ma trận 2x6 % Đổi kích thước % Tạo theo cột tương đương với c=reshape(a,3,4) Lệnh khởi tạo ones(3,4) chọn cho kích thước ma trận c Mục đích dân c(:)=a để điền vào ma trận c, 12 giá trị tạo theo cột từ ma trận a a c phải chắn có số phần tử Ví dụ 12 (Định nghĩa trước ma trận) Chỉ dẫn tạo vec-tơ hàng gồm 10 số xen kẻ -1 Như thấy, việc giống thực với (-1).^(0:9) 2.5 Các hàm toán học 18 Các hàm toán học xử lý ma trạn mảng giá trị Đó hàm như: abs, sqrt, exp, cos, sin, log, tan, acos, as in, atan,… Ví dụ 13 (Hàm số mũ) Nhập: % tần số % Tạo tín hiệu % Hiển thị số thực hàm mũ % Cho q=0.01 điều nói lên cos(2*pi*0.01*n) tims vec-tơ hàng (1x1024) tims’*fq ma trận (1024x3) Có thể xem lại kết cuối đoạn chương trình, nhập lệnh whos: Lệnh sig = exp(2*j*pi*tims’*fq); gắn vào hàm mũ phần tử ma trận 2*j*pi*tims’*fq Kết có ma trận sig (1024x3) Ở lệnh cuối plot (tims,real(sig(: ,1))), sig(:,1) đề cập đến cột cuối ma trận sig Xây dựng hàm Có lượng lớn thư viện hàm gọi sử dụng ngơn ngữ MATLAB® Một số cung cấp trình biên dịch MATLAB®, số khác phải trả phí phần modul mở rộng Trong số hàm sẵn có phiên chuẩn, người dùng tìm thấy hàm tốn học để làm ví dụ, chẳng hạn hàm mũ exp, loga-rít log, hàm lượng giác thơng dụng,… hàm phức tạp làm việc với tín hiệu ảnh phép biến đổi Fourier fft, phép biến đổi tích chập 2D conv2,… Một vài hàm viết ngơn ngữ MATLAB®, hàm khác viết ngôn ngữ máy, số lý tốc độ thực Ví dụ 14 (“Chương trình nguồn” chương trình biên dịch) Nhập: type compan, MATLAB® hiển thị chuỗi hàm compan, tìm thấy thư mục ổ đĩa cứng Tuy nhiên, lệnh type fft gọi, MATLAB® trả về: Có nghĩa hàm biên dịch khơng truy cập mã nguồn 19 Trong hầu hết phiên gần MATLAB® nhiều hàm sử dụng viết dạng “.m” (xem nội dung 6), chương trình viết lại xuất “Built-in” 2.6 Các hàm ma trận Như thấy, lệnh exp(a) để tính tốn số mũ cho phần tử ma trận a Khơng nhầm lẫn phép tốn với hàm mũ ma trận Ký tự “m” cuối hàm expm(A), logm(A), sqrtm(A) làm việc với hàm ma trận Ví dụ: eA định nghĩa: eA = I + Ak A + + + k! 1! có với dùng hàm expm(A) Với hàm funm gọi, dùng để tính tốn hàm ma trận Nhập help funm để biết thêm chi tiết 2.7 Một số hàm hữu ích khác Hàm eig trả giá trị riêng vec-tơ đặc trưng ma trận Hàm poly trả đa thức liên kết đặc trưng ma trận đa thức đại số mà nghiệm có từ vec-tơ Hàm roots trả nghiệm biểu thức đại số Ví dụ 15 (Một vài hàm – 1) Nhập: Giá trị nghiệm phức biểu thức đại số a(x)=x2+x+1 có với lệnh roots(a) Ví dụ 16 (Một vài hàm – 2) Nhập: 20 Trong ví dụ này, a ma trận (2x2), đặc trưng đa thức poly(a) det( λI – a) = λ2 - 2λ - Vec-tơ riêng a cho vp md ma trận đường chéo chứa giá trị riêng đường chéo nó, tất nghiệm đa thức riêng 2.8 Các phép tốn biến lơgic Các phép tốn logic AND (ký hiệu &), OR (ký hiệu |) NOT (ký hiệu ~) làm việc số lôgic Giá trị lơgic “sai” có mã “đúng” có giá trị khác Đại lượng lơgic sử dụng cấu trúc “if … elseif … else … end”, “switch … case … otherwise … end” “while … end” Ví dụ 17 (Các hàm lôgic) Nhập: isnan, isinf, isfinite, isstr, ischar,… hàm lơgic dùng cho mục đích kiểm nghiệm 2.9 Vịng lặp chương trình Cấu trúc chương trình for … end làm việc vịng lặp tính tốn Ví dụ 18 (Vòng lặp) Nhập: % Ma trận đơn vị % Tính tốn liên tục với hệ số A Vịng lặp viết lại với hàng for k=l:5; M = M * A; end Đây nhiều trường hợp trình biên dịch Vịng lặp làm giảm đáng kể chất lượng tính tốn Vì người dùng khuyên không nên sử dụng chúng, thay chúng với hàm ma trận 21 Ví dụ 19 (Sự ngăn ngừa vịng lặp) Nhập: Lệnh cuối trả ma trận c giống ma trận b Tuy nhiên thực nhanh Hiển thị kết dạng đồ thị Kết hiển thị chọn cách sử dụng lệnh figure(n), n số cửa sổ Bên cạnh cửa sổ kích hoạt, lệnh plot dùng để hiển thị kết dạng biểu đồ: - Nếu x y hai vec-tơ thực có chiều dài, lệnh plot(x,y) hiển thị đồ thị y tương ứng với hàm x - Nếu x y hai ma trận thực có kích thước, lệnh plot(x,y) hiển thị cột y ứng với hàm cột x, cột thứ y ứng với cột thứ x khơng cịn cột bên phía trái Mỗi dịng có màu riêng - Nếu x vec-tơ thực với chiều dài N, y ma trận thực có kích thước (NxK), lệnh plot(x,y) hiển thị đồ thị K với K cột y tương ứng với hàm x - Nếu x vec-tơ phức, lệnh plot(x,y) hiển thị đồ thị phần ảo x ứng với hàm phần thực x (xem ví dụ 20) - Nếu lệnh subplot(3,2,4) subplot(324) thêm vào trước lệnh plot, đồ thị chia thành “cửa sổ phụ” xếp thành hàng cột, hình hiển thị cửa sổ phụ số Ví dụ 20 (Vẽ đường trịn) Nhập đoạn chương trình sau: Lệnh axis (’square’) có tác dụng hiển thị hình vng, lệnh thứ axis có tác dụng hiển thị giá trị riêng biệt nhỏ lớn tọa độ x-y Lệnh thứ thực việc tính tốn cách tự động Lệnh zoom dùng để phóng phần đồ thị Trong phiên gần MATLAB®, cửa sổ đồ thị đối tượng mà thuộc tính tra cứu thay đổi cách sử dụng lệnh get set Các thuộc tính truy cập từ trình đơn sổ xuống, có nghĩa người dùng khơng phải viết lại chương trình cho chúng Xem tập 2.8 trang 80 với mô tả cách khác để làm việc 22 Ví dụ 21 (Vẽ hình elip) Các số mũ T H đề cập đến chuyển vị chuyển vị liên hợp Nếu ma trận số thực đương nhiên YH=YT Ở dạng ma trận, công thức elip là: (X – X0)H E(X – X0) = c c số dương, X0 vec-tơ chiều đặc trưng tâm elip, E ma trận dương 2x2, có nghĩa với vec-tơ phức Y, YHEY số dương Một cách đơn giản để có ma trận dương lấy ma trận thực G tính GTG Bằng cách chéo hóa E, có E=PDPH D ma trận đường chéo với tất phần tử đường chéo dương P ma trận đơn vị, điều nói PPH = PHP = I, với I ma trận đồng Giả thiết F = PD1/2PH Ngẫu nhiên ta có F=FH FHF=E F gọi bậc hai E Để bắt đầu điều này, ta có (X – X0)H E(X - X0) = (X - X0)HFHF(X - X0) Giả sử Y = F(X - X ), ta có Y H Y=c cơng thức đường trịn tâm O bán kính c thiết lập tọa độ trực chuẩn Điều dẫn đến qui trình tính tốn N điểm đặc trưng elip X0, E c: Tính Y = c [cosθ sin θ ] cho θ từ đến bước 2/N Làm biến thay đổi X=X + F -1 Y Để bắt đầu với qui trình này, viết hàm tâm elip định nghĩa vec-tơ X0, ma trận dương E số c tham biến đầu vào Trợ giúp: Nhập: Kiểm tra hàm (lưu hàm lại với tên ellipse.m) với chương trình sau, chọn vài giá trị c và: 23 Chúng ta hiển thị Hình với kết có cho c={1,2,3,4,5} Hình Vẽ số elip Chuyển đổi số sang chuỗi ký tự Như ví dụ, xét lệnh text(x,y, ‘text ’) Nó cho phép người dùng thêm văn vào đồ thị, vị trí gốc tọa độ (x,y) Để thêm giá trị số vào lệnh text, phải chuyển sang chuỗi ký tự Điều thực với lệnh num2str Ví dụ 22 (Số chuỗi ký tự) Nhập: Lệnh sprintf dùng để thiết kế chuỗi Thật ra, sử dụng hàm num2str Ví dụ 23 (Tạo chuỗi ký tự) Nhập: Lệnh sprintf(…) đưa chuỗi ký tự chứa chuyển đổi giá trị số sang định dạng tiêu chuẩn lệnh format Ví dụ như, chuyển đổi định dạng %10.4f cho định dạng với số thập phân Để thêm chi tiết, đọc thêm mô tả hàm printf ngôn ngữ C Các hàm str2num hex2num nên tìm hiểu Đầu vào/ Đầu MATLAB® có khả thực phép tốn nhập-xuất thơng qua bàn phím, hình (nếu giải thích trước đồ thị lệnh sprintf) tập tin Sau số hàm chính: - input, ginput, cho bàn phím - disp, sprintf, để hiển thị hình - gtext, plot, grid, title, để hiển thị đồ thị 24 - load, save để tải lưu thành phần biến tập tin, tất định dạng riêng biệt MATLAB® Theo định dạng, tập tin có phần mở rộng mat Trong phiên MATLAB-4, cịn đảm bảo tập tin tương thích với phiên cách sử dụng lựa chọn –v4 lệnh save - fopen, fread, fwrite cho nhập-xuất định dạng Ví dụ 24 (Nhập/Xuất tập tin) Nhập: % Ghi % Đọc Chương trình tạo tập tin tryl.dat dạng 16 bít đọc nội dung tập tin biến y Viết chương trình Chúng tơi nhận thấy số lệnh tạo nhóm với thực nhập tên cửa sổ lệnh Như chương trình thường dùng hàm tương ứng với tên tập tin m có chứa nội dung chúng không lệnh khai báo với từ dành riêng function! Tuy nhiên để ghép hàm tập tin m, hàm phải gọi từ bên tập tin chúng khơng diện bên ngồi Dịng ghi (bắt đầu với ký tự %) chương trình (hoặc hàm) hữu lệnh help theo tên chương trình Cũng nhấn mạnh để sử dụng cách có hệ thống chức cần ghi tổng hợp thích hàm dùng MATLAB® cho phép sử dụng thủ tục để viết ngơn ngữ có liên quan C, Pascal Fortran Những chương trình có tên gọi MEX Trong suốt phần cịn lại sách này, sử dụng hàm định nghĩa trước tất chúng xây dựng ngơn ngữ MATLAB® MATLAB® tạo chương trình với giao diện đồ họa, nút nhấn kết hợp, trình đơn, cửa sổ cuộn,… Khi sử dụng khả hướng tốt thí nghiệm mơ tả đặc trưng đối tượng Những mô tả nguồn tài liệu tuyệt vời để tạo chương trình MATLAB® 25 ... dựa vào vi điều khiển vi xử lý để làm chủ lĩnh vực tín hiệu số xử lý ảnh Được tối giản dạng đơn giản nhất, tín hiệu xử lý tạo tập hợp liệu dựa việc lấy mẫu tín hiệu tương tự Tín hiệu số xử lý ảnh, ... ảnh Xử lý hình ảnh mơ tả chương riêng biệt Nhiều khái niệm sử dụng xử lý tín hiệu sử dụng xử lý ảnh Sự khác biệt hai số sử dụng thay Tuy nhiên hình ảnh có tính chất đặc thù mà yêu cầu xử lý cụ... gian tính tốn cho hình ảnh thường lâu cho tín hiệu Tuy nhiên tiến hành xử lý hình ảnh với MATLAB? ? Chủ đề thảo luận sử dụng ví dụ lọc 2D, phát biên, loại xử lý trường hợp tính chất hình ảnh 2D

Ngày đăng: 17/02/2021, 08:49

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w