Bài giảng Xử lý tín hiệu nâng cao - Chương 2: Tín hiệu rời rạc
Trong DSP, tín hiệu thời gian rời rạc, được biểu thị bằng một dãy rời rạc:
x[n]={-3 , 2, 4, -4, 0, 1 }
Quá trình rời rạc hóa còn gọi là quá trình lấy mẫu tín hiệu
Dãy xung đơn vị: hay còn gọi là hàm Delta, có giá trị bằng đơn vị khi đối số = 0 và có giá trị bằng 0 trong các trường hợp còn lại:
Một tín hiệu thời gian rời rạc bất kỳ có thể được khai triển từ các dãy xung đơn vị
Trong Matlab ta có thể biểu diễn như sau:
function[x,n]=impseq(n0,n1,n2)
n=[n1:n2];
x=[(n-n0)==0];
Ví dụ: Tạo dãy xung đơn vị trong khoảng [-5:5]
n=[-5:5]
x=impseq(0,-5,5)
stem(x)
Kết quả:
Dãy nhảy bậc đơn vị: Dãy nhảy bậc đơn vị có giá trị bằng đơn vị khi đối số lớn hơn hoặc bằng 0, và bằng 0 khi đối số nhỏ hơn 0.
Một dãy tín hiệu rời rạc theo thời gian bất kỳ x[n] để có thể khai triển thành một tổng các dãy xung nhảy bậc đơn vị
Tóm tắt nội dung tài liệu: Bài giảng Xử lý tín hiệu nâng cao - Chương 2: Tín hiệu rời rạc
CHƯƠNG II Xử lý tín hiệu nâng cao Tín hiệu rời rạc Khái niệm về tín hiệu rời rạc Trong DSP, tín hiệu thời gian rời rạc, được biểu thị bằng một dãy rời rạc : x[n]={-3 , 2, 4, -4, 0, 1} Quá trình rời rạc hóa còn gọi là quá trình lấy mẫu tín hiệu Các tín hiệu cơ sở Dãy xung đơn vị : hay còn gọi là hàm Delta, có giá trị bằng đơn vị khi đối số = 0 và có giá trị bằng 0 trong các trường hợp còn lại: Một tín hiệu thời gian rời rạc bất kỳ có thể được khai triển từ các dãy xung đơn vị Dãy xung đơn vị (tiếp) Trong Matlab ta có thể biểu diễn như sau: function[x,n]=impseq(n0,n1,n2) n=[n1:n2]; x=[(n-n0)==0]; Ví dụ: Tạo dãy xung đơn vị trong khoảng [-5:5] n=[-5:5] x=impseq(0,-5,5) stem(x) Kết quả: Các tín hiệu cơ sở (tiếp) Dãy nhảy bậc đơn vị : Dãy nhảy bậc đơn vị có giá trị bằng đơn vị khi đối số lớn hơn hoặc bằng 0, và bằng 0 khi đối số nhỏ hơn 0. Một dãy tín hiệu rời rạc theo thời gian bất kỳ x[n] để có thể khai triển thành một tổng các dãy xung nhảy bậc đơn vị Dãy nhảy bậc đơn vị (tiếp) Trong Matlab để tạo ra dãy xung nhảy bậc đơn vị ta xây dựng hàm stepseq : function [x,n]=stepseq(n0,n1,n2) n=[n1:n2]; x=[(n-n0)>=0]; Ví dụ: tạo dãy nhảy bậc đơn vị trong khoảng [-5:5] x=stepseq(0,-5,5) stem(x) Kết quả: Thực hành Vẽ đồ thị tín hiệu : x[n]=2*δ[n-5]-4*δ[n+7] trên đoạn [-10:10] Vẽ đồ thị tín hiệu: x[n]=e -0.3(n-10) {u(n-5)-u(n-15)} trên đoạn [0:20] Các tín hiệu cơ sở (tiếp) Dãy tín hiệu hình sin : Dãy tín hiệu hình sin được biểu thị bằng hàm số sin (hoặc cos). Trong Matlab, hàm sin (hoặc cos) được sử dụng để tạo ra dãy tín hiệu này. Ví dụ tạo dãy tín hiệu: trên đoạn [0:50] Kết quả: Dãy tín hiệu hình sin (tiếp) Ví dụ 2: Tín hiệu (trong ví dụ trên) bị ảnh hưởng bởi nhiễu Gauss: y[n]=x[n]+0.2*w[n] Kết quả: Các tín hiệu cơ sở (tiếp) Dãy e-mũ phức: được định nghĩa bởi hệ thức: Trong Matlab ta sử dụng hàm exp để tạo ra các dãy e-mũ phức. Ví dụ với dãy trên đoạn [-10:30] clc n=[-10:30]; x=exp(0.1j*n*pi); subplot(221);stem(real(x));title('Phan thuc'); subplot(222);stem(imag(x));title('Phan ao'); subplot(223);stem(abs(x));title('Bien do'); subplot(224);stem(angle(x));title('Pha cua x'); Dãy e-mũ phức (tiếp) Hàm e-mũ phức là một hàm tuần hoàn Các phép toán trên tín hiệu Phép dịch chuyển Phép nhân, cộng tín hiệu Phép nhân chập 2 tín hiệu Thực hành Tạo hàm dịch chuyển sigshift , thực hiện dịch tín hiệu xung đơn vị trễ pha 5 mẫu Thực hiện nhân chập 2 tín hiệu sau: x[n]=[1, 2, 3, 4, 5] và h[n]=[2, 2] Phương trình sai phân Với kích thích đầu vào x(n) và đáp ứng ra y(n) của hầu hết các hệ thống tuyến tính thỏa mãn: Phương trình sai phân Biểu diễn trong Matlab, người ta sử dụng một hàm filter, hàm này có định dạng y=filter(b,a,x), Ví dụ: y(n)-y(n-1)+0.9y(n-2)=x(n) cần tính h(n) a=[1,-1,0.9]; b=[1]; x=impseq(0,-10, 100); h=filter(b,a,x); stem(h); Phương trình sai phân Tín hiệu hai chiều (ảnh số) Biểu diễn ảnh Một ảnh được biểu diễn dưới dạng một hàm f(x,y) Đối với ảnh số đơn sắc, giá trị f tại (x,y) được gọi là mức xám Kết quả của quá trình lấy mẫu và lượng tử hóa là một ma trận số liệu. Một ảnh có kích thước M x N là một ma trận có M hàng và N cột, mỗi một giá trị trên ma trận gọi là một điểm ảnh (pixel). Biểu diễn ảnh Một ma trận tọa độ ảnh trong Matlab được biểu diễn Đọc ảnh, hiển thị ảnh Trong Matlab sử dụng hàm imread(‘filename’) để đọc một ảnh: Hàm imshow(image) trong được sử dụng để hiện ảnh. Lưu một ảnh từ ma trận I ra một file, sử dụng hàm imwrite(image,’filename’): Cải thiện ảnh Biểu đồ histogram của ảnh I figure, imhist(I) Cân bằng Histogram I2 = histeq(I); Hiệu chỉnh Histogram I = imread('pout.tif'); J = imadjust(I,[0.3 0.7],[]); imshow(I), figure, imshow(J); Tạo ảnh nhị phân level = graythresh(I); (graythresh: xác định ngưỡng mức xám của ảnh sử dụng phương pháp Otsu) bw = im2bw(I,level); figure, imshow(bw)
File đính kèm:
- bai_giang_xu_ly_tin_hieu_nang_cao_chuong_2_tin_hieu_roi_rac.ppt