1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giáo trình tính toán khoa học - Chương 10 docx

6 351 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Biểu Diễn Phổ Dữ Liệu Và Lọc
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Tính Toán Khoa Học
Thể loại Giáo Trình
Thành phố Hà Nội
Định dạng
Số trang 6
Dung lượng 236,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chương 10 BIỂU DIỄN PHỔ DỮ LIỆU VÀ LỌC 10.1 BIỂU DIỄN PHỔ DỮ LIỆU Phân tích phổ dữ liệu là một trong các phương pháp phân tích một hàm số đã cho thành một chuỗi dãy các hàm đã biết.. Đ

Trang 1

Chương 10 BIỂU DIỄN PHỔ DỮ LIỆU VÀ LỌC

10.1 BIỂU DIỄN PHỔ DỮ LIỆU

Phân tích phổ dữ liệu là một trong các phương pháp phân tích một hàm số

đã cho thành một chuỗi dãy các hàm đã biết Một trong các phương pháp này rất quen thuộc, đó là chuỗi Taylor Trong trường hợp này, chúng ta khai triển hàm

đã cho bởi tổng của các đa thức đơn giản có dạng x n Khi đó hàm f(x) có dạng:

f(x) = a 0 + a 1 x + a 2 x 2 + a 3 x 3 +

trong đó các hệ số có thể tìm được một cách khá dễ dàng Biểu diễn một hàm theo phương pháp chuỗi Taylor là một phương pháp khác để mô tả hàm Điều đó

nghĩa là việc mô tả hàm f(x) và tập các hệ số của chuỗi Taylor là tương đương Thí dụ, hàm exp(x) và tập {1, 1, ,

! 4

1 ,

! 3

1 ,

! 2

1

} tương đương với nhau vì cả hai cùng biểu diễn hàm luỹ thừa

Một biểu diễn phổ khác sử dụng ý tưởng tương tự nhưng với các hàm khai triển khác Người ta sử dụng các hàm lượng giác và cố gắng khai triển hàm số đã cho dưới dạng chuỗi Fourier như sau:

f(x) = a 0 + a 1 cosx + a 2 cos2x + a 3 cos3x +

+ b 1 sinx + b 2 sin2x + b 3 sin3x +

Vì tất cả các số hạng của chuỗi đều tuần hoàn với chu kì 2 , nên hàm f(x)

cũng tuần hoàn với chu kì 2 Như vậy hàm f(x) có thể biểu diễn bởi 2 dãy số thực {a k } và {b k} Bằng cách sử dụng dạng Euler của số phức:

e ix = cos x + i sin x và cos nx =

2

1

(e inx + e -inx ) và sin nx =

i

2

1

(e inx - e -inx ),

Do đó ta có:

0

Bằng cách kí hiệu: c k =

2

1

(a k -ib k ) ta nhận được chuỗi Fourier dạng phức:

f(x)= k ikx k

c e



Trang 2

Hãy chú ý quan hệ c k =c -k * Dấu * dùng để chỉ phép tính lấy liên hợp của số

phức Quan hệ này luôn luôn đúng nếu hàm thực f(x)R được khai triển thành

chuỗi Fourier

Câu hỏi được dặt ra lúc này là làm sao tính được dãy hệ số {c k} đại diện cho

một hàm f(x) cho trước Quá trình này được gọi là phép biến đổi Fourier (bạn đọc

cần xem lại phần giải tích toán học) Matlab cho chúng ta một công cụ để tạo ra

dãy các hệ số Fourier của mỗi hàm f(x) đã cho và một công cụ để khôi phục hàm

f(x) từ một dãy hệ số {c k} cho trước (còn gọi là phép biến đổi ngược Fourier):

+ Phép biến đổi Fourier (TF) : f(x)  {c k};

+ Phép biến đổi ngược Fourier (ITF): {c k }  f(x)

Cần chú ý rằng có một số hạn chế nhất định về toán học đối với phép biến đổi Fourier Điều đó liên quan đến phép tính tích phân để tính các hệ số Fourier của một hàm Để một hàm có thể biến đổi thành chuỗi Fourier được thì nó phải khả tích và hội tụ

Một lợi ích dễ thấy của việc thay một hàm số bởi một dãy hệ số Fourier là

dễ lấy vi phân và tích phân

Thí dụ 1 Giải sử:

f(x)= k ikx

k

c e



Lấy đạo hàm cả 2 vế theo x ta được:

)

(x

dx

df

k

ikc e



Từ đó ta thấy:

f(x)  {c k}

)

(x dx

f d n

n

 {(ik) n c k} Như vậy, việc lấy đạo hàm của một hàm số (đôi khi khá phiền phức) tương

ứng với việc nhân các hệ số Fourier của nó với luỹ thừa của ik

Một vấn đề được đặt ra là độ phức tạp của việc tính các hệ số Fourier của một hàm (và ngược lại) như thế nào ? Cho tới giữa những năm 60 của thế kỉ 20,

các thuật toán để tính dãy hệ số Fourier đòi hỏi độ phức tạp tính toán là O(N2),

với N là cỡ của bài toán Sự phụ thuộc bậc 2 này làm cho việc tính toán các hệ số

Fourier khá chậm và vất vả

Đến năm 1965, Cooley và Tucker ở Trung tâm nghiên cứu IBM T.J Watson, đã đưa ra một bài báo ngắn gợi ý một phương pháp tính các hệ số

Fourier chỉ với một độ phức tạp tính toán là O(log 2 N) Bài báo này lập tức được

các nhà khoa học quan tâm Cho tới bây giờ nó vẫn được phổ biến để sử dụng

Trang 3

làm kĩ thuật cho phép biến đổi Fourier trong nhiều lĩnh vực như : Các phương pháp phổ, các phương pháp giải bài toán Poisson nhanh, biểu diễn hình ảnh, nén ảnh, nhận dạng tiếng nói và phân tích sóng v.v

Lợi ích của biểu diễn phổ dữ liệu:

- Phân tích dạng sóng cho nhiều quá trình vật lí và hệ thống dao động

- Âm thanh là sự kết hợp của các tần số cao và sự thật chúng có thể phân

biệt khá rõ ràng về tín hiệu ( hãy xem mục "Thiết kế lọc tối ưu " ở sau)

- Áp dụng lọc để quản lí dữ liệu được thực hiện với biểu diễn phổ dễ dàng hơn với biểu diễn vật lí

Việc áp dụng các phép biến đổi Fourier rất phổ bién trong khoa học và kĩ thuật Tuy nhiên, trong mục này chúng ta chỉ nghiên cứu 2 vấn đề:

- Tính toán mức độ tương quan giữa 2 tín hiệu;

- Thiết kế và ứng dụng lọc

10.2 TƯƠNG QUAN GIỮA HAI CHUỖI THỜI GIAN

Khi thu hai tín hiệu khác nhau từ một thí nghiệm (thí dụ như nhiệt độ và áp suất của chất khí), có một câu hỏi thường đặt ra là liệu hai tín hiệu này có liên kết với nhau và liệu một tác động vào tín hiệu này có kích thích vào tín hiệu kia

hay không? Bằng cách quan sát hai chuỗi thời gian h(t) và g(t) biểu diễn dưới

đây, chúng ta sẽ phân tích được mối tương quan giữa hai tín hiệu Tuy nhiên, với những tín hiệu phức tạp hơn ( hoặc nhiều nhiễu hơn) việc nghiên cứu mối tương quan giữa hai tín hiệu bằng phương pháp kiểm duyệt hầu như không thể làm được và cần rất nhiều công cụ toán học để đo mối tương quan giữa hai tín hiệu

Tương quan giữa hai tín hiệu h(t) và g(t) được định nghĩa như sau:

( , , ) ( ) ( ) ,

Corr h g  h t g t  dt





trong đó tham số  là độ trễ của tín hiệu Biểu tích trên là tích phân của tích hai

chuỗi thời gian, trong đó chuỗi thời gian thứ hai bị tịnh tiến một khoảng thời gian

 Nếu cả hai tín hiện h(t) và g(t+  ) cùng có giá trị lớn, nó chứng tỏ rằng một

hành động h(t) xảy ra thì hành động g(t) sẽ đáp lại sau  đơn vị thời gian Tích phân (tương quan) giữa các tín hiệu sẽ lớn hơn rất nhiều so với trường hợp mà

h(t) không kích thích phản ứng g(t)

Bản thân tích phân trên rất khó tính, nhưng biểu diễn phổ của tín hiệu thời gian của chúng rất có lợi cho việc tính toán Ta có:

( ) k ikt

k

h t  h e , ( ) l ilt

l

g t  g e

Trang 4

Thế vào biểu thức tính tương quan ta được:

  ( , , ) k l ikt il t

k l





Rút gọn biểu thức trên ta có:

  ( , , ) k l il i k l t

k l





Các tích phân trên có thể được tính như sau:

0 khi 0





 

 

Do đó:

m

im m m m

im m

h g

h

) , ,

Như vậy tương quan của hai tín hiệu được biểu diễn dưới dạng chuỗi Fourier với các hệ số là tích của hệ số của một chuỗi thời gian với số phức liên hợp của hệ số của chuỗi thời gian thứ hai

Đây là một phương pháp rất tiện lợi và hiệu quả để tính tương quan của 2 tín hiệu thời gian Đầu tiên ta biến đổi Fourier chúng thành hai chuỗi thời gian, sau đó tính các tích h g m* mvà biến đổi ngược tập hệ số kết quả để tìm được tương quan, đây là một hàm của thời gian trễ  Sơ đồ sau đây sẽ mô tả các cách tính:

Dễ

Khó

Sử dụng 2 tín hiệu thời gian có tương quan khá rõ để tính toán và vẽ đồ thị Kết quả nhận được mô tả trong hình dưới đây

Các hàm Matlab được sử dụng:

fft(x) Hàm thực hiện phép biến đổi Fourier nhanh Việc thực hiện nhanh

nhất đạt được khi vector x có 2 N entries

ifft(x) Hàm thực hiện phép biến đổi Fourier ngược nhanh của vector x gồm

các hệ số Fourier được lưu trữ theo phương pháp chuẩn (text) Việc thực hiện

nhanh nhất đạt được khi vector x có 2 N entries

Sau đây là chương trình tính toán:

h m , g m

m

m g

h*





Trang 5

% Matlab code for computing the correlation between two signals clear ;

load signal1.m ;

load signal2.m ;

sig1 = fft(signal1(:,2)) ;

sig2 = fft(signal2(:,2)) ;

corrfft = conj(sig1).*sig2 ;

corr = ifft(corrfft) ;

plot(signal1,corr) ;

grid on ;

xlablel(' Time Lag') ; ylabel(' Corr(g,h)');

Trang 6

TÀI LIỆU THAM KHẢO

1 Giải tích số, Phạm Kỳ Anh, ĐHQG Hà Nội ,1998

2 Nhập môn tính toán khoa học, Nguyễn Đức Nghĩa,ĐHBK Hà Nội,2000

3 Beginning scientific computing ,(Lecture notes for AMATH301), Peter J

Schmid, University of Washington

4 Applied numerical methods using Matlab, W.Y.Yang, W.Cao, T.S Chung,

J.Morris,John Wiley & Sons, New Jersey, 2005

5 Numerical analysis using Malab and spreadsheets,S.T Karris, John Wiley &

Sons, New Jersey, 2005

6 Tính tích phân số với sự trợ giúp của máy tính, N T Toàn, N.N Quân, Tạp

chí Nghiên cứu KH&CN Quân sự, 6 (2010)

Ngày đăng: 11/07/2014, 09:20

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm