Đề tài môn xử lý tín hiệu số - Các phương pháp tính tích chập

Chia sẻ: Hoàng Anh Tuấn | Ngày: | Loại File: DOC | Số trang:6

0
593
lượt xem
153
download

Đề tài môn xử lý tín hiệu số - Các phương pháp tính tích chập

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nội dung : 1. Lý thuyết về tích chập 2. Các phương pháp tính tích chập 3. Ví dụ minh họa 1. Lý thuyết về tích chập 1.1 Định nghĩa phép tích chập: Định nghĩa tích chập tuyến tính : Tích chập tuyến tính giữa hai dãy x1(n) và x2(n) là dãy y(n) được xác định và ký hiệu theo biểu thức sau :

Chủ đề:
Lưu

Nội dung Text: Đề tài môn xử lý tín hiệu số - Các phương pháp tính tích chập

  1. B¸o c¸o ®Ò tµi m«n HỌC “ Xö lý tÝn hiÖu sè “  ®Ò tµi 1 Các phương pháp tính tính chập Nội dung : 1. Lý thuyết về tích chập 2. Các phương pháp tính tích chập 3. Ví dụ minh họa 1. Lý thuyết về tích chập 1.1 Định nghĩa phép tích chập: Định nghĩa tích chập tuyến tính : Tích chập tuyến tính giữa hai dãy x1(n) và x2(n) là dãy y(n) được xác định và ký hiệu theo biểu thức sau : ∞ ∑ y ( n) = x1 ( k ).x 2 ( n − k ) = x1 (n) * x 2 (n) [1] k =−∞ Tích chập tuyến tính thường được gọi ngắn gọn tích chập 1.2 Các tính chất của tích chập: a. Tính giao hoán : x1 (n) * x 2 (n) = x 2 (n) * x1 (n) [2] Chứng minh : Theo công thức định nghĩa tích chập [1.2-20] có ∞ ∑ x (k ).x x1 ( n) * x 2 (n) = − k) 2 (n 1 k =−∞ Đổi biến cho biểu thức ở vế phải, đặt m = n - k ⇒ k = n - m Khi k → - ∞ thì m → ∞ và khi k → ∞ thì m → - ∞ , ta được : ∞ −∞ ∑ x (k ).x ∑ x (n − m).x − k) = 2 (n 2 ( m) 1 1 k =−∞ m =∞ Đảo cận và đổi biến m trở về k đối với biểu thức ở vế phải, ta được : ∞ ∞ ∑ x (k ).x ∑x − k) = − k) 2 (n 2 ( k ).x1 ( n 1 k =−∞ k =−∞ Đây chính là biểu thức [1.2-21] : Khoa cntt ­ trƯỜNG ĐẠI HỌC SPKT VINH
  2. B¸o c¸o ®Ò tµi m«n HỌC “ Xö lý tÝn hiÖu sè “  x1 (n) * x 2 ( n) = x 2 (n) * x1 (n) b. Tính kết hợp : x1 (n) * [ x 2 (n) * x3 (n)] = [ x1 (n) * x2 (n)] * x3 (n) [3] Chứng minh : áp dụng tính giao hoán cho vế trái của [1.2-22] : x1 (n) * [ x 2 (n) * x3 (n)] = [ x 2 (n) * x3 (n)] * x1 (n) = ∞  ∞ ∑∑ = x 2 (k ) . x3 (n − k )  .x1 (n − k ) =  k =−∞  k =−∞ ∞  ∞ ∑∑ = x 2 (k ) . x1 (n − k )  .x3 (n − k ) = [ x1 (n) * x 2 (n)] * x 3 (n)   k = −∞  k = −∞ Đây chính là biểu thức ở vế phải của [3] c. Tính phân phối : x1 (n) * [ x 2 (n) + x3 (n)] = x1 (n) * x 2 (n) + x1 (n) * x3 (n) [4] Chứng minh : Viết vế trái của [1.2-23] theo công thức tích chập [1.2-20] : ∞ x1 (n) * [ x 2 (n) + x3 (n)] = ∑ x (k ).[ x (n − k ) + x (n − k )] 1 2 3 k = −∞ ∞ ∞ x1 (n) * [ x 2 (n) + x3 (n)] = ∑ x (k ).x (n − k ) + ∑ x (k ).x (n − k ) 1 2 1 2 k = −∞ k = −∞ [ ] Vậy : x1 ( n) * x 2 ( n) + x 3 ( n) = x1 (n) * x 2 ( n) + x1 ( n) * x 3 ( n) Đây chính là biểu thức ở vế phải của [4]. 2. Các phương pháp tính tích chập 2.1. Phương pháp giải tích tính tích chập Tính tích chập bằng phương pháp giải tích chỉ thực hiện được nếu x(n) hoặc h(n) có độ dài hữu hạn, và phải tính từng giá trị của y(n). Khoa cntt ­ trƯỜNG ĐẠI HỌC SPKT VINH
  3. B¸o c¸o ®Ò tµi m«n HỌC “ Xö lý tÝn hiÖu sè “  Xét trường hợp tác động x(n) và đặc tính xung h(n) đều là dãy nhân quả và có độ dài hữu hạn. Giả sử x(n) có độ dài M, và h(n) có độ dài L , khi đó có thể dùng [1.5-18] hoặc [1.5-19]. Nếu sử dụng [1.5-18] thì : ∞ M −1 ∑ x ( k ) h( n − k ) = ∑ x ( k ) h( n − k ) y ( n) = [1.6-1] k=0 k=0 Vì y(n) là dãy nhân quả, nên chỉ cần tính từ y(0). Do h(n − k ) = 0 với mọi (n − k ) < 0 và (n − k ) > ( L − 1) , theo [1.6-1] tính được : M −1 ∑ x(k ).h(− k ) = x(0).h(0) + x(1).h(−1) + ... = x(0).h(0) y ( 0) = k =0 M −1 1 ∑ ∑ x(k ).h(1 − k ) y (1) = x(k ).h(1 − k ) = x(0).h(1) + x(1).h(0) + x(2).h( − 1) + ... = k =0 k =0 ........... M−1 ∑x(k ).h( L −1 − k ) y ( L −1) = k =0 M −1 M −1 M −1 ∑ ∑ ∑ x(k ).h( L − k ) y ( L) = x(k ).h( L − k ) = x(0).h( L) + x( k ).h( L − k ) = k =0 k =1 k =1 M −1 M −1 ∑ x(k ).h( L + 1 − k ) = ∑ x(k ).h( L + 1 − k ) y ( L + 1) = k =0 k =2 ........... M −1 M −1 ∑ ∑ x(k ).h( L + M − 3 − k ) y ( L + M − 3) = x(k ).h( L + M − 3 − k ) = k =0 k =M −2 M −1 ∑ x(k ).h( L + M − 2 − k ) = x(M − 1).h( L − 1) y ( L + M − 2) = k =0 M −1 ∑ x(k ).h( L + M − 1 − k ) = x(M − 1).h( L) = 0 y ( L + M − 1) = k =0 y ( n) = 0 với mọi n ≥ ( L + M − 1) . Như vậy : Nếu hệ xử lý số TTBBNQ có đặc tính xung h(n) hữu hạn với độ dài L , và tác động x(n) hữu hạn có độ dài M, thì phản ứng y(n) có độ dài hữu hạn N = (L + M – 1). Khoa cntt ­ trƯỜNG ĐẠI HỌC SPKT VINH
  4. B¸o c¸o ®Ò tµi m«n HỌC “ Xö lý tÝn hiÖu sè “  2.2. Thuật toán tính tích chập Bắt đầu Xét trường hợp tác động x(n) và đặc tính xung h(n) đều có độ dài Tạo dãy x(k)L = x(n)L hữu hạn. Giả sử x(n) có độ dài M, và và dãy h(k) = h(n) M M h(n) có độ dài L. Khi đó phản ứng y(n) có độ dài N = (L + M -1). Mẫu N = (L + M - 1) y(n0) của phản ứng được xác định theo [1.6-1] : Tạo dãy y(n) = 0 M −1 N ∑ x(k ).h(n y (n0 ) = − k) [1.6-2] 0 k =0 , Theo [1.6-2], trước hết xác định Lấy đối xứng h(k)M nhận được h(-k)M dãy biến đảo h(-k) ứng với n0 = 0. Sau đó, tại mỗi điểm n0 , tính tổng N0 = 0 [1.6-2], dịch phải dãy h(n0 - k), rồi tăng n0 lên một. M −1 Lặp lại các bước trên cho tới ∑ x(k ).h(n y (n0 ) = − k) 0 khi n0 = (N - 1) = (L + M - 2) , sẽ nhận k =0 được N mẫu của phản ứng y(n). Theo các bước như trên, xây dựng Dịch phải dãy được lưu đồ thuật toán tính tích h(k - n0)M một mẫu chập [1.6-1] trên hình 1.27. n0 = n0 Sai n0 = (N- Đúng Kết thúc Hình 1.27 : Thuật toán tính tích chập [1.6-1]. 2.3. Tính tích chập bằng cách lập bảng số liệu Theo thuật toán trên hình 1.27, có thể tính tích chập [1.6-1] bằng cách lập bảng số liệu các dãy x(k) , h(k), và h(-k), sau đó lần lượt dịch phải dãy h(-k) để nhận được h(n0 - k). Cuối cùng, dựa vào bảng số liệu đã có, tính các mẫu y(n0) của phản ứng theo biểu thức [1.6-1] . 2.4. Tính tích chập bằng đồ thị Khoa cntt ­ trƯỜNG ĐẠI HỌC SPKT VINH
  5. B¸o c¸o ®Ò tµi m«n HỌC “ Xö lý tÝn hiÖu sè “  Phương pháp đồ thị để tính tích chập [1.6-1] được thực hiện theo thứ tự sau : Vẽ các đồ thị x(k), h(-k), sau đó lần lượt dịch phải đồ thị h(- k) để nhận được các đồ thị h(n0 - k). Dựa vào các đồ thị h(n0 - k) , x(k) và theo biểu thức [1.6-1], tính các mẫu y(n0) của phản ứng. 3. Ví dụ minh họa Cài đặt thử nghiệm • Input: x1(k),x2(l)( số mẫu mỗi tín hiệu <=50) • Output: Y(ny)=x1(k)*x2(l) Ngôn ngữ lập trình: Pascal. ******************** Chương trình ********************* program nhanchap; var st1,st2:string; tam,y,x1,x2:array[-15..40] of real; tg:real; k,l,i,j,m,n,ny,t1,t2,vtc1,vtc2:integer; {===================kiem tra xau==============} procedure ktra(x:string;var vtd,dod:integer); var ch,cht:string[1]; xauso:string; len,i1,l1,dem,co2,vtk:integer; doiso:real; begin ch:=copy(x,1,1); len:=length(x); if ch='{' then begin dem:=1; xauso:=''; for i1:=2 to (len) do begin cht:=copy(x,i1,1); if ((cht <> (',')) and (cht <> ('*')) and (cht<>'}')) then xauso:=xauso+cht else if ((cht=',') or (cht='}')) then begin val(xauso,doiso,co2); tam[dem]:=doiso; xauso:=''; Khoa cntt ­ trƯỜNG ĐẠI HỌC SPKT VINH
  6. B¸o c¸o ®Ò tµi m«n HỌC “ Xö lý tÝn hiÖu sè “  if cht=',' then dem:=dem+1; end else vtk:=dem; end; vtd:=1-vtk; dod:=dem; end; end; {==============chuong trinh chinh===============} begin writeln('neu day tin hieu thi vi tri 0 thi nhap * phia sau so do'); Writeln('nhap tin hieu so huu han x1(n) ');readln(st1); Writeln('nhap tin hieu so huu han x2(n) ');readln(st2); ktra(st1,k,m); for i:=1 to m do x1[k-1+i]:=tam[i]; ktra(st2,l,n); for i:=1 to n do x2[l-1+i]:=tam[i]; if k<l then t1:=k else t1:=l; t2:=t1; for i:=k to m-1+k do begin ny:=t2; for j:=l to n-1+l do begin tg:=x1[i]*x2[j]; y[ny]:=y[ny]+tg; ny:=ny+1; end; t2:=t2+1; end; writeln; for i:=t1 to ny-1 do write(y[i]:4:2,' '); readln; end. Khoa cntt ­ trƯỜNG ĐẠI HỌC SPKT VINH
Đồng bộ tài khoản