TIỂU LUẬN XỬ LÝ TÍN HIỆU SỐ NÂNG CAO BIẾN ĐỔI FOURIER NHANH

33 936 3
TIỂU LUẬN XỬ LÝ TÍN HIỆU SỐ NÂNG CAO BIẾN ĐỔI FOURIER NHANH

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Lợi ích của xử lý số tín hiệu càng ngày càng được khẳng định rõ ràng. Nó được ứng dụng ở nhiều dạng ngày càng khác nhau với những hiệu quả to lớn đặc biệt trong các lĩnh vực thông tin, truyền dẫn, nhận dạng,… Ngày nay xử lý tín hiệu đã trở thành một ngành khoa học chứ không phải là một môn học. Với mức độ phát triển ngày càng cao về cơ bản, về các phương pháp và về khả năng ứng dụng nó đã lôi cuốn được các kỹ sư, các nhà vật lý cũng như các nhà toán học dồn hết tâm lực để nghiên cứu nó.

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA QUỐC TẾ VÀ SAU ĐẠI HỌC  TIỂU LUẬN XỬ LÝ TÍN HIỆU SỐ NÂNG CAO BIẾN ĐỔI FOURIER NHANH Giảng viên: TS. Nguyễn Ngọc Minh Nhóm 10 : 1. Nguyễn Xuân Đức 2. Vương Bảo Trung 3. Hà Minh Phú 4. Trần Bích Phương Lớp : M12CQDT02-B Hà Nội-Tháng 4/2013 1 MỤC LỤC 2 BIẾN ĐỔI FOURIER NHANH 1. Mở đầu Lợi ích của xử lý số tín hiệu càng ngày càng được khẳng định rõ ràng. Nó được ứng dụng ở nhiều dạng ngày càng khác nhau với những hiệu quả to lớn đặc biệt trong các lĩnh vực thông tin, truyền dẫn, nhận dạng,… Ngày nay xử lý tín hiệu đã trở thành một ngành khoa học chứ không phải là một môn học. Với mức độ phát triển ngày càng cao về cơ bản, về các phương pháp và về khả năng ứng dụng nó đã lôi cuốn được các kỹ sư, các nhà vật lý cũng như các nhà toán học dồn hết tâm lực để nghiên cứu nó. Trong lĩnh vực xử lý số tín hiệu, biển đổi Fourier chiếm một vị trí hàng đầu nhờ sự tồn tại các thuật toán hiệu quả biến đổi Fourier rời rạc đóng một vai trò rất quan trọng trong xử lý số tín hiệu. Từ khi Cooley phát hiện ra thuật toán tính nhanh biến đổi Fourier rời rạc vào năm 1965 (người ta quen gọi là biến đổi Fourier, tiếng Anh là Fast Fourier Transform viết tắt là FFT), các thuật toán này càng ngày càng khẳng định vai trò của mình trong xử lý số tín hiệu. Tầm quan trọng của FFT là rất lớn vì những lý do sau đây: - FFT đã nâng cao tốc độ, độ mềm dẻo, độ chính xác của xử lý số tín hiệu. - FFT đã mở ra một lĩnh vực ứng dụng rất rộng lớn của phân tích phổ: Viễn thông, thiên văn, chẩn đoán y học… - FFT đã khơi lại lợi ích của nhiều ngành toán học mà trước đây người ta chưa khai thác hết. - FFT đã đặt nền móng cho việc tính toán nhanh các biến đổi khác như: Biến đổi Walsh, biến đổi Hadamard, biển đổi Haar, biển đổi Wavelet. 2. Bản chất của biến đổi Fourier rời rạc (DFT) 2.1 Đánh giá cách tính trực tiếp DFT Trong nhiều tài liệu chúng ta đã nghiên cứu khá chi tiết biến đổi Fourier rời rạc, bây giờ chúng ta sẽ đánh giá hiệu quả của cách tính trực tiếp thông qua việc tính số lượng phép tính cần thực hiện.Chúng ta đã có cặp biến đổi Fourier rời rạc sau đây: 1 0 ( ) 0 1 0 ( ) [ ( )]= N kn N n x n W k N X k DFT x n − = ≤ ≤ −  ∑  =    2.1 3 1 0 1 ( ) 0 1 0 ( ) D [X(k)]= N kn N k X k W n N N x n I FT − − = ≤ ≤ −  ∑  =    2.2 Theo các biểu thức (1.1) và (1.2) ở trên chúng ta có những nhận xét sau đây: - x(n) và X(k) là phức (về tổng quát) - Cả hai biểu thức trên chỉ khác nhau bởi một hệ số nhân tỷ lệ 1/N và dấu của hàm mũ W N . Để thấy rõ điều này chúng ta thử xây dựng thủ tục tính trực tiếp DFT ngược như sau: * 1 1 * 0 0 1 1 ( ) ( ) ( ) N N kn kn N N k k x n X k W X k W N N − − − = =   = =     ∑ ∑ 2.3 (*: là dấu hiệu liên hợp phức) dẫn đến: 1 * * 0 . ( ) ( ) N kn N k N x n X k W − = = ∑ 2.4 So sánh hai biểu thức (1.1) và (1.3) thấy rằng chúng gần như giống nhau. Như thế ta có thể thấy rằng các thuật toán FFT được sử dụng cho cả biến đổi Fourier rời rạc thuận. Sau đây chúng ta tiến hành nghiên cứu hiệu quả của cách tính trực tiếp DFT thuận thông qua việc tính số lượng phép nhân và cộng phức và thực. - Tính toán số lượng phép nhân và cộng phức Nhìn vào biểu thức (10.2.1.1) ta thấy ngay rằng đối với mỗi giá trị của k, cách tính trực tiếp DFT phải thực hiện N phép nhân phức và N - 1 phép cộng phức. Nhưng k lấy N giá trị từ 0 đến N – 1: X(0), X(1),…,X(N-1) Vậy cách tính trực tiếp DFT phải thực hiện: N 2 phép nhân phức và N(N-1) phép cộng phức (khi - Tính toán số lượng phép nhân và cộng số thực Tổng quát ta thấy rằng x(n) là phức và là phức Vậy ta có thể viết DFT như sau: 4 2.5 Từ đây ta thấy rằng số lượng phép nhân và phép cộng số thực sẽ được tính như sau: - phép nhân số thực - N [4(N-1)+3]=N(4N-1) phép cộng số thực khi Nhận xét: - Việc tính toán trực tiếp N mẫu của X(k) N đòi hỏi số lượng các phép toán cỡ N 2 phép - Khi N rất lớn thì N 2 sẽ là con số quá lớn như vậy thời gian tính toán sẽ quá dài và dung lượng nhớ của máy tính sẽ phải rất lớn. Ta thấy rằng phải tìm ra các phương pháp tính nhanh DFT thì ta mới có thể sử dụng DFT một cách hiệu quả trong quá trình xử lý tín hiệu. 2.2. Các tính chất của Hầu như tất cả các phương pháp tính DFT một cách hiệu quả đều phải dựa trên hai tính chất của , đó là tính tuần hoàn và tính đối xứng. Sau đây chúng ta sẽ xét hai tính chất này: • Tính tuần hoàn ' ' ' ( ) 'kn k n iN k n N N N W W W + = = 2.6 (Hoặc ta có thể viết: theo modulo N) • Tính đối xứng '' '' '' '' ' '' '' '' '' ( ) ' * 1 ( ) kn N k n N k n N N N N k n k n k n N N N W W W W W W W − − − = = = = = 2.7 Nhận xét: - Tất cả các thuật toán tính nhanh DFT đều dựa trên cùng một nguyên tắc là phân việc tính toán DFT của một dãy có chiều dài N thành nhiều DFT có chiều dài nhỏ hơn bằng cách khai thác các tính chất đối xứng và tính chất tuần hoàn của hàm mũ phức . - Việc đưa nguyên tắc này vào tính DFT sẽ dẫn đến một số phương pháp khác nhau mà hiệu quả của các phương pháp đó có thể so sánh với nhau được. 5 3. Biến đổi Fourier nhanh phân thời gian (FFT) 3.1 Định nghĩa Thuật toán tính nhanh biến đổi Fourier rời rạc dựa trên việc phân dãy x(n) thành các dãy con có chiều dài ngắn hơn được gọi là thuật toán biến đổi Fourier nhanh phân thời gian. Để minh họa thuật toán này trước hết chúng ta nghiên cứu trường hợp đặc biệt mà (N là chiều dài của dãy x(n)). 3.2 Thuật toán FFT phân tần thời gian trong truờng hợp a. Thủ tục tổng quát Nếu , thì N sẽ là một số nguyên chẵn. Vậy chúng ta có thể phân chia dãy x(n) N thành hai dãy có chiều dài N/2 là hai dãy x(n) N như sau: - Dãy thứ nhất được hình thành bởi các giá trị chẵn, - Dãy thứ hai được hình thành bởi các giá trị lẻ. Về mặt toán học, ta có thể viết hai dãy này như sau: 2 2 (2 ) à (2 1) N N x r v x r + Vậy ta có thể viết: 2.8 Chúng ta đặt: 6 2.9 Ở đây: (2 ) ( ) (2 1) ( ) x r g r x r h r = + = 2.10 Hoặc ta có thể viết: 2.11 Ở đây: - là biến đổi Fourier rời rạc có chiều dài - là biến đổi Fourier rời rạc có chiều dài Và: - là biến đổi Fourier rời rạc của các mẫu lẻ của x(n) - là biến đổi Fourier rời rạc của các mẫu chẵn của x(n) Nhận xét + Như vậy các phép toán được tiến hành với và chỉ trong khoảng , tức là: 7 2.12 + Như thế thực chất ta đã phân một DFT có chiều dài N thành hai DFT có chiều dài . Để thuận lợi cho việc theo dõi ta có ký hiệu sau đây: (DFT) N : là biến đổi Fourier rời rạc có chiều dài N. (DFT) N : là biến đổi Fourier rời rạc có chiều dài Ví dụ 1 Giả sử cho chiều dài cửa DFT N = 8, hãy trình bày thuật toán FFT phân thời gian để phân đôi DFT này. Sau đó dùng đồ hình có hướng để minh họa thuật toán này cho rõ ràng hơn. Giải Áp dụng biểu thức (2.10) trong trường hợp N = 8 chúng ta có thể viết: 8 Chú ý rằng nếu thay các giá trị của k từ 0 đến 7 vào biểu thức (2.10) ta sẽ thấy xuất hiện các giá trị G(4) 4 , G(5) 4 , G(6) 4, G(7) 4 , H(4) 4 , H(5) 4 , H(6) 4 , H(7) 4 , nhưng các giá trị này không tồn tại vì chiều dài của G(k) 4 và H(k) 4 chỉ từ 0 đến 3. Vậy các giá trị sẽ vòng vào trong khoảng từ 0 đến 3 như sau: Đồ hình có hướng để minh họa thuật toán này được cho trên hình sau đây. 9 Hình 1: Bây giờ chúng ta sẽ đánh giá hiệu quả của phép phân một DFT có chiều dài là N thành DFT có chiều dài là N/2. Việc đánh giá hiệu quả này dựa trên cơ sở việc so sánh số lượng các phép tính số học cần phải thực hiện của cách tính trực tiếp (DFT) N và phân thành hai (DFT) N/2 . Chúng ta đã biết rằng để tính toán N mẫu của x(k) N đòi hỏi số lượng các phép toán có N 2 phép tính phức (tức là có N 2 phép nhân phức và N 2 phép cộng phức).Như vậy để tính chúng ta phải đòi hỏi phép nhân phức và phép cộng phức. Để tính toán , tương tự chúng ta cũng phải đòi hỏi phép tính phức. Để kết hợp và , theo biểu thức (10.3.2.1), chúng ta phải thực hiện phép toán nhân phức (k chạy từ 0 đến N-1), tức là chúng ta cần phải thực hiện N phép nhân phức. Ngoài ra chúng ta còn cần phải thực hiện phép toán: , tức là đòi hỏi N phép cộng phức. Tóm lại để tính toán x(k) N bằng cách phân thành và , theo biểu thức (2.10) chúng ta cần số lượng các phép tính phức như sau: - phép phân thức - phép cộng phức Cuối cùng ta có thể nói rằng để tính toán N mẫu của x(k) N thì số lượng phép tính phức cần thực hiện là phép. Ví dụ 2 Hãy tính hiệu quả của FFT với N = 8. Khi phân (DFT) 8 thành hai (DFT) 4. Giải 10 [...]... phải tính bước này, và chúng ta có thể kết luận như sau: Sau lần phân hạch, việc tính gián tiếp dãy X(k)N sẽ đòi hỏi số phép tính là: phép, mà: Vậy số phép tính khi dùng thuật toán FFT sẽ chỉ còn là: Ví dụ 6 Giả sử chúng ta cần phải tính DFT với chiều dài N = 8 = 23 + Hãy tính số phép tính cần phải thực hiện khi tính trực tiếp DFT + Hãy tính số phép tính cần phải thực hiện qua từng giai đoạn khi tính... chúng ta cần phép tính phép tính ……………………………………………………………………………………………… + Bước ta cần: mà: chính là DFT 1 điểm và đây chính là (công thức) Vậy để tính toán tất cả các giá trị của X(k) N chúng ta cần: phép tính (phép cộng và phép nhân) Chú ý rằng nếu thì chúng ta cần phép tính và nếu B = 2 thì ta cần phép tính 4 Biến đổi Fourier nhanh phân tần số 4.1 Định nghĩa Thuật toán tính nhanh biến đổi Fourier rời rạc... hai , khi đó số phép tính đòi hỏi phải thực hiện là: 2.25 Bởi vì để tính mỗi trực tiếp, yêu cầu số phép tính là , còn để tính mỗi gián tiếp qua hai đòi hỏi số phép tính là: Bước thứ ba chúng ta lại phân mỗi thành hai , khi đó số phép tính đòi hỏi phải thực hiện là: 2.26 Quá trình cứ như thế tiếp tục đến bước thứ thì số phép tính đòi hỏi phải thực hiện là: 2.27 Còn đến bước thứ thì số phép tính đòi hỏi... theo định nghĩa của DFT thì để tính toán tất cả N điểm của DFT chúng ta cần phải đòi hỏi số phép tính cỡ N2 Còn nếu chúng ta thực hiện tính DFT gián tiếp theo thuật toán FFT thì chúng ta sẽ thu được hiệu quả rất cao, cụ thể chúng ta sẽ đánh giá hiệu quả theo số phép tính cần phải thực hiện để tính N điểm của X(k)8 Bước đầu tiên chúng ta phân DFTN thành , khi đó số phép tính (nhân hoặc cộng) đòi hỏi... qua thuật toán FFT phân thời gian Giải + Tính trực tiếp: Số phép tính cần phải thực hiện là: + Tính gián tiếp qua thuật toán FFT: - Giai đoạn thứ nhất: Số phép tính cần phải thực hiện là: - Giai đoạn hai: số phép tính cần phải thực hiện là: - Giai đoạn thứ ba: là giai đoạn cuối cùng nên khi phân DFT 2 thành hai DFT1, mà ta lại không cần phải tính DFT1 vậy số phép tính cần phải thực hiện là: c Cải thiện...Nếu tính trực tiếp x(k)8 ta cần thực hiện số phép tính là N2 phép: N = 8 N2 = 64 phép Nếu phân thành x(k)8 thành G(k)4 và H(k)4 thì số phép tính cần thực hiện là phép: N N = 8 ⇒ N + 2( ) 2 = 8 + 2(4) 2 = 40 2 Vậy số phép tính tiết kiệm được là: 64-40 = 24 phép Nhận xét: + Khi N rất lớn thì , tức là khi N rất lớn thì số phép toán cần thực hiện sẽ giảm rõ rệt + Bởi vì Để nâng cao hiệu quả hơn... con có chiều dài ngắn hơn được gọi là thuật toán biến đổi Fourier nhanh phân tần số Để minh họa thuật toán biến đổi Fourier nhanh phân tần số này trước hết chúng ta xét trường hợp sau đây: 29 4.2 Thuật toán FFT phân tần trong trường hợp a Thủ tục tổng quát Nếu thì chúng ta có thể phân dãy x(n)N thành hai dãy x1(n) và x2(n) như sau: 4.1 Vậy ta có thể tính X(k)N như sau: 4.2 Chúng ta biết rằng: 4.3 Vậy... Để tính toán chúng ta cần phép nhân và phép cộng, chúng ta phải tính B 1 dãy , vậy muốn để tính toán tất cả thì ta cần phép nhân và phép cộng Để tính mỗi giá trị của X(k)N ta cần (B1-1) phép cộng và phép nhân Nhưng k = 1 (N-1), vậy để tính tất cả các giá trị của X(k) N chúng ta cần N(B1-1) phép cộng và phép nhân Tổng cộng ta cần số phép tính ở các bước tính toán như sau: + Bước 1 chúng ta cần phép tính... phép tính = phép tính ……………………………………………… + Bước chúng ta cần phép tính Ở bước ta thấy rằng , tức là ta tính DFT 1 điểm mà chúng ta không cần phải tính DFT 1 điểm Tổng kết lại qua bước, để tính tất cả các giá trị của X(k)N chúng ta cần đòi hỏi: phép nhân phức Và phép cộng phức Vậy hiệu quả thuật toán có thể đánh giá như sau: 3.9 Như thế ta thấy rằng khi N càng lớn thì hiệu quả càng cao 3.5 Thuật toán... X(k)N có thể viết như sau: 24 3.3 3.4 Thay xi(n) vào và đổi biến số ta có: Đặt: 3.5 Và trong miền k ta cũng đặt: 25 3.6 Từ đây ta có: 3.7 Hoặc ta có thể viết: 3.8 Nhận xét Sau đó chúng ta lại tiếp tục chia dãy thành B dãy có chiều dài là và quá trình cứ thế tiếp tục cho đến khi chỉ còn tính DFT có chiều dài B điểm Ví dụ 10 Giả sử cho biến đổi Fourier rời rạc với chiều dài N = 9 + Hãy trình bày thuật . quan trọng trong xử lý số tín hiệu. Từ khi Cooley phát hiện ra thuật toán tính nhanh biến đổi Fourier rời rạc vào năm 1965 (người ta quen gọi là biến đổi Fourier, tiếng Anh là Fast Fourier Transform. cho việc tính toán nhanh các biến đổi khác như: Biến đổi Walsh, biến đổi Hadamard, biển đổi Haar, biển đổi Wavelet. 2. Bản chất của biến đổi Fourier rời rạc (DFT) 2.1 Đánh giá cách tính trực. vai trò của mình trong xử lý số tín hiệu. Tầm quan trọng của FFT là rất lớn vì những lý do sau đây: - FFT đã nâng cao tốc độ, độ mềm dẻo, độ chính xác của xử lý số tín hiệu. - FFT đã mở ra một

Ngày đăng: 23/09/2014, 02:16

Từ khóa liên quan

Mục lục

  • 1. Mở đầu

  • 2. Bản chất của biến đổi Fourier rời rạc (DFT)

    • 2.1 Đánh giá cách tính trực tiếp DFT

    • 2.2. Các tính chất của

    • 3. Biến đổi Fourier nhanh phân thời gian (FFT)

      • 3.1 Định nghĩa

      • 3.2 Thuật toán FFT phân tần thời gian trong truờng hợp

      • 3.3. Các dạng khác của thuật toán

      • 3.4. Thuật toán FFT phân thời gian trong trường hợp

      • 3.5. Thuật toán FFT phân tần thời gian trong trường hợp N=B1.B2

      • 4. Biến đổi Fourier nhanh phân tần số

        • 4.1. Định nghĩa

        • 4.2. Thuật toán FFT phân tần trong trường hợp

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

Tài liệu liên quan