Tải bản đầy đủ (.pdf) (6 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (236.5 KB, 6 trang )


245

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ó:
2 2
2 1 1 2
0
2 2
2 1 1 2
( )
2 2 2 2

2 2 2 2
ix ix ix ix
ix ix ix ix
a a a a
f x e e a e e
b b b b
e e e e
 
 
      
    

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)=.
ikx
k
k
c e





246
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)= .
ikx
k
k
c e




Lấy đạo hàm cả 2 vế theo x ta được:
)(x
dx
df
=
ikx
k

k
ikc e




Từ đó ta thấy:
f(x)  {c
k
}
)(x
dx
fd
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(N
2
),
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

247
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ó:
( )
ikt
k
k

h t h e


, ( )
ilt
l
l
g t g e


.

248
Thế vào biểu thức tính tương quan ta được:
 
( , , )
il t
ikt
k l
k l
Corr h g h g e e dt








.

Rút gọn biểu thức trên ta có:
 
( , , )
i k l t
il
k l
k l
Corr h g h g e e dt








.
Các tích phân trên có thể được tính như sau:
 
1 khi 0
0 khi 0
i k l t
k l
e dt
k l



 





 

.
Do đó:




m
im
mm
m
im
mm
egheghghCorr


*
),,( .
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
*
m m

h g
và 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
mm

gh
*

h(t), g(t)

( ) ( )
h t g t dt







249
% 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)');

250

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).







×