Biến đổi fourier rời rạc part 1 doc

10 312 0
Biến đổi fourier rời rạc part 1 doc

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

Thông tin tài liệu

75 Chơng 6 Biến đổi Fourier rời rạc 6.1 Chỉ dẫn Trong chơng 2,chúng ta đã chứng minh rằng đáp ứng tần số của hệ thống của hệ thống tuyến tính bất biến (LSI ) 2-D đợc cho bởi: 1 2 2211 )( 2121 ),(),( k k kkj ekkhH (6.1) Nếu h(k 1 ,k 2 ) chỉ có chỉ tồn tại với k 1 0, k 2 0 và tổng quát đợc xác định trong miền hữu hạn có kích thớc N N thì 1 0 1 0 )( 2121 1 2 2211 ),(),( N k N k kkj ekkhH (6.2) Công thức này chứng tỏ rằng H( , ) 1 2 là tuần hoàn, chu kỳ tuần hoàn là 2. Nếu chúng ta lấy mẫu dới dạng 1 , 2 , và miền xác định là (0 1 2) và (0 2 2), N N mẫu, chúng ta có thể viết: 1 1 2 N n và 2 2 2 N n (6.3) vì thế 1 0 2 1 0 2121 1 2211 2 ),(),( N k knkn N j N k ekkhnnH (6.4) Biểu thức (6.4) đợc gọi là biến đổi Fourier rời rạc 2-D hay còn gọi là DFT. Công thức này đợc áp dụng vào nhiều ứng dụng nh lọc, nén ảnh, phóng đại ảnh. Trong chơng này chúng ta sẽ nghiên cứu 2-D DFT và các kỹ thuật tính toán. Đầu tiên, chúng ta sẽ xem xét 1-D DFT, sau đó mở rộng ra cho 2-D. 6.2 Biến đổi Fourier 1-D Biến đổi Fourier 1-D cho tín hiệu thời gian rời rạc f(kT) tính theo công thức : 76 1 0 2 )()( N k nk N j ekTfnF (6.5) Công thức này có thể viết lại dới dạng 1 0 Ư)()( N n nk N WkfnF (6.6) ở đây f(k) = f(kT) và W N = e - j2 /N . W N đợc gọi là hạt nhân của phép biến đổi. Tổng quát, F(n) có dạng )( )()( nj enAnF (6.7) Ký hiệu A(n), (n) gọi là phổ khuyếch đại và phổ pha của F(n). 6.2.1 Biến đổi ngợc DFT Hàm f(k) là biến đổi ngợc DFT của F(n) cho bởi theo biểu thức 1 0 2 )( 1 )( N n nk N j enF N kf (6.8) Chứng minh: Từ định nghĩa của DFT 1 0 1 0 )( 1 0 1 0 1 0 )( 1 )( 1 )( 1 N m N n mkn N kn N N n N m nm N N n nk N Wmf N WWmf N WnF N (6.9) Đặt 1 0 )( N n mkn N WS Nếu (k = m) thì S = N. Nếu (k m), chúng ta có thể viết: S = 1 + W N (k -m ) + W N 2(k -m ) + + W N (N-1)(k -m ) hoặc 77 )( 2 ))(2( m)-(k N m)-N(k N 1 1 W-1 W-1 mk N j mkj e e S Khi e j2 (k-m) = 1 và e j2 /N. (k-m) 1 với (k m), vì vậy S = 0 với (k m ). Vì vậy, biểu thức (6. 9) có thể rút gọn thành f(k).N 1 )( 1 1 0 N WnF N N n nk N Kết quả này giống nh biểu thức (6.8). Khi f(k) có thể rút ra từ F(n) và ngợc lại, chúng gọi là cặp biến đổi. Cặp biến đổi này có dạng )()( nFkf Chú ý từ biểu thức (6.8) ta có thể dễ dàng chứng minh: )( )( 1 )( 1 1 0 . 2 1 0 )( 2 kf enF N enF N N n nk N j N n Nkn N j (6.10) Mặc dù f(k) đợc xác định trên miền k [0,N], nó vẫn là tín hiệu tuần hoàn với chu kỳ NT. (T đợc bao hàm và rút ra từ biểu thức 6.5). 6.2.2 Một vài tính chất của DFT Tuyến tính. Nếu ta có hai dãy tuần hoàn cùng f 1 (n) và f 2 (n), và cả hai dãy này tuần hoàn với chu kỳ N, đợc dùng để tính f 3 (k) = af 1 (k) + bf 2 (k) (6.11) là kết quả của biến đổi DFT f 3 (n) cho bởi F3(n) = aF1(n) + bF2(n) (6.12) ở đây a, b là hằng số và )( Nkf 78 F 1 (n) = DFT của f 1 (k) F2(n) = DFT của f2(k) Tính đối xứng. Tính đối xứng của DFT rất hay đợc dùng. nk N j N k nk N j N k N N j N k nNk N eekf eekf WkfnNF 2 1 0 2 1 0 2 1 0 )( )( )( )()( Nếu f(k) là thực thì )()()( 1 0 . 2 nFekfnNF N k nk N j (6.13) Dấu * có nghĩa là liên hợp phức. Tích chập tuần hoàn. Coi f 1 (k) và f 2 (k) là hai dãy tuần hoàn có chu kỳ N, với biến đổi Fourier rời rạc là F 1 (n) và F 2 (n). Xem xét tích F(n 1 ).F(n 2 ) khi )()( 1 0 1111 1 11 N k kn N WkfnF )()( 1 0 2222 2 22 N k kn N WkfnF và tại các vị trí n 1 = n 2 = n W = .= 2 n- N 2 1 11 1 2 22 1 11 1 0 2211 1 0 1 0 12 1 0 111111 )()( )()()().( k N k kn N N n N k kn N N k kn N Wkfkf WkfWkfnFnF 79 Đặt f 3 (k) = IDFT của F 1 (n).F 2 (n) hay nk N n WnFnF N kf 1 0 213 )().( 1 )( vì vậy 1 0 )( 1 0 22 1 0 11 1 0 1 0 1 0 )( 2211 21 21 1 2 21 1 )()( )()( 1 N n kkkn N N k N k nk N N n N k N k kkn N 3 W N kfkf WWkfkf N (k)f Chú ý là 0 1 1 1 0 )( 21 N n kkkn W N ở đây l là số nguyên. Vì vậy mà )()()( 12 1 01 113 lNkkfkfkf N k (6.14) ở đây k = 0 đến 2N - 1. Biểu thức trên biểu diễn tích chập của hai tín hiệu tuần hoàn. Chú ý rằng biêủ thức này chỉ áp dụng cho hai dãy có chung một chu kỳ, và chiều dài của dãy tính theo biểu thức trên là 2N - 1. Kết quả này chứng minh rằng trong DFT, tín hiệu có số mẫu lớn hơn N sẽ đợc biến đổi thành dãy tuần hoàn có chu kỳ N. Khi dùng DFT cho một tín hiệu không có chu kỳ, mà kết quả thu đợc từ tích hai dãy, ta sẽ phạm một sai lầm gọi là lỗi wraparound. Đó là lý do ta phải làm cho cả hai dãy có chu kỳ bằng nhau. Để sửa lỗi này, một số số 0 cần phải thêm vào cả hai dãy để chiều dài hai dãy bằng nhau. Ví dụ, nếu một dãy có chiều dài A, một dãy có chiều dài B, kết quả ta phải thêm các số 0 cho cả hai dãy có chiều dài ít nhất là A + B - 1. Bài tập 6.1 Cho hai dãy sau 0 1 )( 1 kf cho k = k 1 + k 2 + lN các trờng hợp còn lại. 0 k 1 4 các trờng hợp còn lại. 80 0 1 )( 2 kf 1. Tính bằng tay tích chập của hai dãy trên. Vẽ một lu đồ biểu diễn thuật toán. 2. Làm lại phần 1, nhng lần này sử dụng tích chập tuần hoàn. 3. Lập một chơng trình C rút ra f 3 (k) từ biểu thức f 3 (k) = IDFTDFT[f 1 (k)]. DFT[f 1 (k)]. So sánh kết quả của phần 1 và phần hai. 4. Bây giờ thêm các số không vào f 1 (k) và f 2 (k) để chu kỳ của chúng = 5 + 6 - 1. Làm lại phần 3 và so sánh kết quả. 6.3 Thuật toán biến đổi nhanh Fourier Tính trực tiếp giá trị của DFT bao gồm N phép nhân phức và N - 1 phép cộng phức cho mỗi giá trị của F(n). Khi N giá trị đợc tính toán thì N 2 phép nhân và N(N - 1) phép cộng đợc tính toán. Cũng nh vậy, cho N có giá trị rất lớn, tính trực tiếp giá trị của DFT sẽ đòi hỏi một số phép tính lớn đến mức không thể chấp nhận đợc. Để ví dụ, cho N = 1024 = 2 10 ta sẽ phải tính 2 20 = 1,048,576 phép nhân số phức và một số gần bằng nh vậy các phép cộng. Hoàn thiện có nghĩa là phải giảm số phép tính trong biến đổi Fourier xuống. Dới đây chúng ta sẽ giới thiệu hai thuật toán hay dùng là thuật toán phân chia thời gian và thuật toán phân chia tần số. DFT dùng các thuật toán trên gọi là Fast Fourier transform (FFT). 6.3.1 Thuật toán phân chia thời gian Xem xét tính toán của DFT cho bởi (5.6) với N= 2 r (r là một số nguyên bất kỳ). Cơ sở của thuật toán phân chia thời gian thì rõ ràng. Tuy nhiên, việc thiết kế phần mềm cũng đòi hỏi một số phân tích chi tiết. Để làm rõ các bớc của thuật toán này chúng ta sẽ bắt đầu phân tích với N = 16 và sau đó mở rộng ra áp dụng cho N bất kỳ. Cơ sở của thuật toán phân chia thời gian dựa trên cơ sở chiến lợc chia và chiếm. Các bớc sau sẽ làm sáng tỏ thuật toán. Vì trong trờng hợp này N =16; nên, 0 k 1 5 các trờng hợp còn lại. 81     15 0 16 )()( k nk WkfnF Chia d·y f(k) thµnh hai d·y, mét d·y ®îc rót ra tõ phÇn tö ch½n vµ mét d·y tõ nh÷ng phÇn tö lÎ. §ã lµ,       15 0 16 15 0 16 )()()( k nk k nk WkfWkfnF k ch½n k lÎ Chóng cã thÓ viÕt thµnh       7 0 )12( 16 7 0 )2( 16 )12()2()( k kn k kn WkfWkfnF (6.15) Chó ý lµ nk nkjknj kn W eeW      8 . 8 2 )2(. 16 2 )2( 16  v× thÕ       7 0 816 7 0 8 )12()2()( k nkn k nk WkfWWkfnF ®Æt f(2k)(k)f 10  1)f(2k(k)f 11  Ta ®îc       7 0 81116 7 0 810 )()()( k nkn k nk WkfWWkfnF (6. 16) §Æt     7 0 81010 )()( k nk WkfnF (6.17) 82 7 0 81111 )()( k nk WkfnF (6.18) Viết lại biểu thức (6.16) chúng ta đợc (n)FW (n)F F(n) 11 -n 1610 (6.19) Cũng nh vậy, phát triển cho một biểu thức (n)FW -(n)F 8)F(n 11 -n 1610 (6.20) Biểu thức (6.19) và (6.20) định dạng những đơn vị tính toán gọi là bớm. Hình 6.1 là biểu đồ của phần tử bớm. Ký hiệu W 16 -n thờng gọi là trọng lợng hay hệ số xoay. Hai biểu thức này biểu diễn bớc cuối cùng trong lu đồ tính toán của hình 6.2. Bây giờ xem xét biểu thức 7 0 81010 )()( k nk WkfnF Xử lý nh trên chúng ta có 7 0 4108 3 0 41010 )12()2()( k nkn k nk WkfWWkfnF Dễ thấy -2n 16 -n 8 WW đặt 1)(2kf(k)f (2k)f(k)f 1021 1020 F 10 (n) F(n) F 11 (n) F(n+8) F 10 (n) F(n) F 11 (n) F(n+8) W 16 - n n 83 Hình 6.1 (a) Bớm; (b) Biểu diễn rút gọn. Hình 6.2 Bớc cuối cùng của thuật toán biến đổi FFT phân chia miền thời gian. X(k) ký hiệu vector chứa giá trị đợc tính qua phép biến đổi FFT. Vì vậy, 3 0 421 3 0 2 1642010 )()()( k nk k nnk WkfWWkfnF (n)FW (n)F (n)F 21 -2n 162010 (6.21) (n)FW - (n)F 4)(nF 21 -2n 162010 (6.22) 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 F 10 (n) F(n) F 11 (n) X(k) X(k) 84 ở đây 3 0 42020 )()( k nk WkfnF (6.23) 3 0 42121 )()( k nk WkfnF (6.24) Tơng tự (n)FW (n)F (n)F 23 -2n 162211 (6.25) (n)FW - (n)F 4)(nF 23 -2n 162211 (6.26) ở đây 3 0 42222 )()( k nk WkfnF (6.27) 3 0 42323 )()( k nk WkfnF (6.28) và (2k)f (k)f 11 22 1)(2kf (k)f 1123 Biểu thức (6.21), (6.22), (6.25) và (6.26) có thể biểu diễn bằng sơ đồ hình 6.3. Biểu thức (6.23), (6.24), (6.27) và (6.28) có thể tiếp tục chia nhỏ ra nh các bớc đã làm ở trên nh sau: (n)FW (n)F (n)F 31 -4n 163020 (6.29) (n)FW - (n)F 2)(nF 31 -4n 163020 (6.30) (n)FW (n)F (n)F 33 -4n 163221 (6.31) (n)FW - (n)F 2)(nF 33 -4n 163221 (6.32) (n)FW (n)F (n)F 35 -4n 163422 (6.33) (n)FW - (n)F 2)(nF 35 -4n 163422 (6.34) . W = .= 2 n- N 2 1 11 1 2 22 1 11 1 0 2 211 1 0 1 0 12 1 0 11 111 1 )()( )()()().( k N k kn N N n N k kn N N k kn N Wkfkf WkfWkfnFnF 79 Đặt f 3 (k) = IDFT của F 1 (n).F 2 (n) hay. hay nk N n WnFnF N kf 1 0 213 )().( 1 )( vì vậy 1 0 )( 1 0 22 1 0 11 1 0 1 0 1 0 )( 2 211 21 21 1 2 21 1 )()( )()( 1 N n kkkn N N k N k nk N N n N k N k kkn N 3 W N kfkf WWkfkf N (k)f . với biến đổi Fourier rời rạc là F 1 (n) và F 2 (n). Xem xét tích F(n 1 ).F(n 2 ) khi )()( 1 0 11 11 1 11 N k kn N WkfnF )()( 1 0 2222 2 22 N k kn N WkfnF và tại các vị trí n 1 =

Ngày đăng: 29/07/2014, 04:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan