Tiểu luận môn xử lý số nâng cao biến đổi FFT

16 760 4
Tiểu luận môn xử lý số nâng cao biến đổi FFT

Đ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

Tiểu luận môn xử lý số nâng cao biến đổi FFT

Tiểu luận môn xử lý số nâng cao: Biến đổi FFT LỜI NÓI ĐẦU Như biết phổ tín hiệu rời rạc hàm liên tục theo biến tần số Để thuận tiện cho việc ứng dụng máy tính tính toán biểu diễn phổ tín hiệu, người ta phải thực rời rạc hóa phổ miền tần số Quá trình phép biến đổi Fourier rời rạc DFT (Discrecte Fourier Transform) Biến đổi Fourier rời rạc đóng vai trò quan trọng không lý thuyết, mà đặc biệt nhiều ứng dụng thực tế xử lý tín hiệu số Tuy nhiên biểu thức tính DFT cần có nhiều phép nhân Các thuật toán FFT (Fast Fourier Transform) cho phép ta khắc phục nhược điểm này, nghĩa cho phép ta giảm số phép nhân xuống tính DFT Các thuật toán yêu cầu có Nlog2N phép nhân Nội dung chủ yếu tiểu luận giới thiệu biến đổi Fourier nhanh, thuật toán FFT số thuật toán FFT số Tuy nhiên khả nhiều hạn chế thời gian có hạn nên không tránh khỏi thiếu sót Nhóm chúng em mong nhận đóng góp thầy giáo bạn học viên để nhóm chúng em hoàn thiện tốt Xin chân thành cảm ơn ! Tiểu luận môn xử lý số nâng cao: Biến đổi FFT Mở đầu Biến đổi Fourier – FT (Fourier Transform) phép biến đổi thuận nghịch, cho phép chuyển đổi thuận – nghịch thông tin gốc (miền không gian thời gian) tín hiệu xử lý (được biến đổi) Tuy nhiên thời điểm tồn miền thông tin thể Nghĩa tín hiệu miền không gian xuất thông tin tần số tín hiệu sau biến đổi Fourier xuất thông tin thời gian FT cho biết thông tin tần số tín hiệu, cho biết tần số có tín hiệu, nhiên không cho biết tần số xuất tín hiệu Nếu tín hiệu ổn định (stationary – có thành phần tần số không thay đổi theo thời gian) việc xác định thành phần tần số xuất tín hiệu không cần thiết Phép biến đổi FT thuận nghịch định nghĩa sau: X (e iω ∞ ) = ∑ x ( n )e − jnω n =−∞ π x (n) = 2π ω ω ∫π X ( e )e d ω j j n − Phép biến đổi FT áp dụng cho tín hiệu không ổn định (nonstationary) quan tâm đến thành phần phổ có tín hiệu mà không quan tâm đến xuất tín hiệu Tuy nhiên, thông tin thời gian xuất phổ tín hiệu cần thiết, phép biến đổi FT khả đáp ứng yêu cầu này, hạn chế phép biến đổi Để có biến đổi Fourier rời rạc –DFT (Discrete Fourier Transform) phép tích phân biểu thức toán học biến đổi FT, ta thay phép tổng tính toán với mẫu hữu hạn Hệ số phép biến đổi DFT thứ k chuỗi gồm N mẫu {x(n)} định nghĩa: Trong WN = e −j W =e kn N 2π N −j = cos 2π 2π − j sin N N 2π kn N Tiểu luận môn xử lý số nâng cao: Biến đổi FFT 2π WN0 = ; W −1 = e j N N W =e N − j 2π N =e − j 2π N /2 = WN /2 Chuỗi {x(n)} khôi phục DFT ngược sau: Biến đổi Fourier nhanh (FFT) ∞ ( ) = ∑ x ( n )e Từ công thức biến đổi FT thuận X e iω − jnω n =−∞ N −1 X ( k ) = ∑ x ( n)e − jkn 2π N n =0 kn  − j 2Nπ  = ∑ x ( n)  e ÷ n =0   N −1 2π Ở phần ta ký hiệu WN = e− j N nên N −1 X ( k ) = ∑ x ( n ) WNkn n =0 Ta khai triển X ( ) = x (0)WN0 + x (1)WN0 + x(2)WN0 + .x( N − 1)WN0 X ( 1) = x(0)WN0 + x(1)WN1 + x(2)WN2 + x( N − 1)WNN −1 X ( ) = x(0)WN0 + x(1)WN2 + x(2)WN4 + .x( N − 1)WN2( N −1) X ( N − 1) = x(0)WN0 + x(1)WNN −1 + x(2)WN2( N −1) + .x( N − 1)WN( N −1)( N −1) Trong biểu thức tính DFT ta thấy có N phương trình, phương trình có tất N phép nhân Nên để tính DFT cần N2 phép nhân Các thuật toán FFT cho phép ta khắc phục nhược điểm này, nghĩa cho phép ta giảm số phép nhân xuống tính DFT Các thuật toán yêu cầu có Nlog2N phép nhân * Nguyên lý chung phép biến đổi Fourier nhanh FFT (Fast Fourier Transform) Ý tưởng việc tăng hiệu tính toán DFT dựa việc tách DFT N điểm thành DFT có kích thước nhỏ nhiều Sau kết hợp với tính đối xứng tuần hoàn hàm W N để tính toán Tất thuật toán FFT tận dụng ưu điểm : WNn + N = WNn WNn + N /2 = − WNn WNNk = WN2 = WN /2 Tiểu luận môn xử lý số nâng cao: Biến đổi FFT Chúng ta xem xét việc tính toán DFT N điểm, N phân tích thành tích hai số nguyên tố, có nghĩa N = L.M Nếu N số nguyên tố, thêm số mẫu dãy có giá trị Lưu trữ x(n) vào mảng chiều LxM (l : số hàng ; m : số cột) N-1 n x(0) x1) x2) ……… x(N-1) Sau xếp dãy x(n) vào mảng chiều theo công thức theo dòng n=Ml+m ; theo cột : n = l+mL l m x(0,1) x(1,1) x(2,1) ………… x(L-1,1) …… ………… ……… ……… ………… ………… x(0,0) x(1,0) x(2,0) ……… x(L-1,0) L-1 Tương tự, giá trị DFT X(k) tính LxM (p : số hàng, q : số côt) Theo dòng : k=Mp+q Theo cột : k= p+qL M-1 x(0,M-1) x(1,M-1) x(2,M-1) x(L-1,M-1) lưu trữ ma trận N −1 X ( k ) = ∑ x ( n ) WNkn n =0 Với x(n): theo cột X(k): theo hàng M −1 L −1 X ( p, q ) = ∑ ∑ x ( l , m ) WN( Mp + q )( mL +l ) m =0 l =0 Trong WN( Mp + q )( mL +l ) = WNMLmp WNmLq WNMpl WNlq WNNmp = WNmqL = WNmq/ L = WMmq WNMpl = WNpl/ M = WLpl Tiểu luận môn xử lý số nâng cao: Biến đổi FFT  lq  M −1  X ( p, q ) = ∑  WN  ∑ x ( l , m ) WMmq   WNlp l =0   m=0  L −1 Trong biểu thức liên quan đến việc tính toán DFT có chiều dài M L Để tính toán ta chia nhỏ việc tính toán thành ba bước sau: Bước 1: Tính DFT M điểm M −1 F ( l , q ) = ∑ x ( l , m ) WMmq ≤ q ≤ M −1 m =0 Với hàng l=0,1,2,…….L-1 Bước 2: Tính mảng chữ nhật G(l,q) xác định sau G ( l , q ) = WNlq F ( l , q ) ≤ l ≤ L −1 ≤ q ≤ M −1 Bước 3: Tính toán DFT L điểm L −1 X ( p, q ) = ∑ G ( l , q ) WLlp l =0 Từ ta đưa giải thuật - Lưu trữ tín hiệu theo cột - Tính DFT M điểm hàng - lq Nhân ma trận kết với hệ số pha WN - Tính DFT L điểm cột - Đọc ma trận kết theo hàng Giải thuật - Lưu trữ tín hiệu theo hàng - Tính DFT L điểm cột - Nhân ma trận kết với hệ số pha WNpm - Tính DFT M điểm hàng - Đọc ma trận kết theo cột Người ta thường chọn độ dài N tín hiệu số lũy thừa (N=2 v) Trong thực tế hầu hết ứng dụng chọn số hay gọi thuật toán FFT số Thuật toán FFT số 3.1 Thuật toán FFT phân chia theo thời gian Ta xem xét việc tính toán DFT với số điểm N = 2v phương pháp chia hạn chế cụ thể hoá biểu thức (2.7) đến (2.9) Chúng ta chọn M = Tiểu luận môn xử lý số nâng cao: Biến đổi FFT N L = Sự lựa chọn dẫn đến việc chia dãy số liệu N điểm thành hai dãy số liệu N/ điểm f1(n) f2 (n) tương ứng với mẫu chẵn lẻ dãy x(n), có nghĩa là: f1(n) = x(2m) f2(n) = x(2m + 1) (13) Do f1(n) f2(n) có cách làm chia dãy x(n) hệ số nên kết thuật toán FFT gọi thuật toán chia miền thời gian Bây DFT N điểm biểu diễn tổng DFT dãy số liệu chia sau: (14) = N −1 ∑ x ( 2m ) W mk N m= N −1 + WNk ∑ x ( 2m + 1) WN2 km m= Nhưng WN = WN /2 nên ta viết lại sau = ( N /2) −1 ∑ m= f1 ( m ) W km N /2 +W k N ( N /2) −1 Như X(k) = F1(k) + WNk F2(k) ∑ m= f (m)WNkm/2 k = 0, 1,……N/2-1 Trong F1(k) F2(k) DFT N/2 điểm tương ứng dãy f 1(m) f2(m) Vì F1(k) F2(k) tuần hoàn với chu kỳ N/2 nên ta có F 1(k+N/2) = F1(k) F2(k+N/2) WN = e − j 2π N = F2(k) ⇒W N /2 N =e Hơn − j 2π N N ta có WNk + N / = WNk WNN /2 k + N /2 = − WNk Do = e − jπ = cosπ − j sin π = −1 Vì WN ta có : X(k) = F1(k) + WNk F2(k) k = 0,1,N/2-1 Tiểu luận môn xử lý số nâng cao: Biến đổi FFT ⇒ X (k + N N N   ) = F1  k + ÷+ WNk + N /2 F2  k + ÷ 2 2   N  ⇒ X  k + ÷ = F1 ( k ) − WNk F2 ( k ) 2  k= 0,1,2,… (N/2)-1 Ta có cấu trúc ‘hình bướm’ thuật toán FFT theo thời gian sau A+BWt A B A-BWt t W x(0) X(0) DFT N/2 x(2) điểm x(1) DFT N/2 x(3) X(1) W0 X(2) -1 điểm W1 -1 X(3) Chúng ta thực việc chia theo thời gian lần, lặp lại trình cho dãy f1(n) f2(n) Do dãy f1(n) chia nhỏ thành dãy N/4 điểm V11(n) = f1(2m) m = 0,1…… (N/4)-1 V12(n) = f2(2m+1) m = 0,1,……(N/4)-1 Và f2(n) chia thành dãy V21(n) = f1(2m) =0,1…… (N/4)-1 V22(n) = f2(2m+1) m= 0,1,……(N/4)-1 Bằng cách tính toán DFT N/4 điểm, nhận DFT N/2 điểm F1(k) F2(k) từ quan hệ: k F1(k) = V11(k) + WN /2 V12(k) F1(k+ N ) = V11(k) - WNk /2 V12(k) k= 0,1,……… N -1 k= 0,1,……… N -1 Tiểu luận môn xử lý số nâng cao: Biến đổi FFT k F2(k) = V21(k) + WN /2 V22(k) F1(k+ N ) = V21(k) - WNk /2 V22(k) k= 0,1,……… N -1 k= 0,1,……… N -1 Việc chia dãy số liệu lại tiếp tục lặp lặp lại dãy cuối giảm đến điểm Với N=2 v, việc chia thực v=log2N lần Hình sau mô tả việc tính toán biến đổi DFT N=8 điểm Ta thấy việc tính toán thực theo mức, tính 4DFT điểm, tính DFT điểm cuối tính DFT điểm x(0) x(4) DFT cho điểm điểm x(2) x(6) x(1) x(5) x(3) x(7) DFT cho điểm Tổ hợp DFT cho điểm DFT cho X(1) X(2) Tổ hợp DFT cho điểm DFT cho điểm X(0) X(3) X(4) X(5) Tổ hợp DFT cho điểm X(6) X(7) điểm Hình minh họa bước FFT điểm số phân chia theo thời gian Tiểu luận môn xử lý số nâng cao: Biến đổi FFT Với N = 2v có N/2 có N/2 cánh bướm cho bước tính trình tính toán có tổng cộng log2N bước Một điểm quan trọng cần quan tâm trật tự dãy số liệu đầu vào chia nhỏ (v-1) lần Ví dụ trường hợp N =  v = Trong lần chia nhỏ nhận dãy x(0), x(2), x(4), x(6), x(1), x(3), x(5), x(7) Và lần chia nhỏ thứ ta nhận dãy x(0), x(4), x(2), x(6), x(1), x(5), x(3), x(7) Sự đảo lộn dãy tín hiệu đầu vào có trật tự hoàn toàn xác định Bộ nhớ Địa Số liệu thập phân (decimal) (binary) 000 X(0) X(0) X(0) 001 X(1) X(2) X(4) 010 X(2) X(4) X(2) 011 X(3) X(6) X(6) 100 X(4) X(1) X(1) 101 X(5) X(3) X(5) 110 X(6) X(5) X(3) 111 X(7) X(7) X(7) Trật tự tự nhiên Số liệu thập phân Trật tự bít bị đảo ngược Tiểu luận môn xử lý số nâng cao: Biến đổi FFT Trong dãy x(n), việc biểu thị số n dạng nhị phân ta dễ dàng tìm thấy trật tự dãy số liệu chia nhỏ cách đọc số nhị phân biểu thị số n theo chiều đảo ngược Do điểm số liệu x(3) = x(011) xếp vị trí m=110 m=6 mảng số liệu chia nhỏ Như nói liệu x(n) sau chia nhỏ lưu theo trật tự đảo bít n2n1n0  n0n2n1  000  000  (000) 001  100  100 010  001  010 011  101  110 100  010  001 101  110  101 110  011  011 n0n1n2  theo tần  111 111 3.2 Thuật toán111 FFT phân số Thuật toán nhận với việc chọn M=2 L = N/2 Lựa chọn tham số có nghĩa việc lưu dãy tín hiệu đầu vào theo kiểu cột Để tạo thuật toán này, ta bắt đầu việc tách công thức tính DFT thành tổng, tổng liên quan đến việc tính tổng N/2 điểm số liệu tổng thứ liên quan đến việc tính tổng N/2 điểm số liệu lại Do ta nhận N −1 X (k ) = ∑ x ( n ) WNkn + n =0 N −1 ∑ x ( n)W n= N / kn N 10 Tiểu luận môn xử lý số nâng cao: Biến đổi FFT N −1 N −1 N  X (k ) = ∑ x ( n ) W + ∑ x  n + ÷WNk ( n + N /2) 2 n =0 n =0  kn N N −1 N −1 N  X (k ) = ∑ x ( n ) WNkn + WNkN /2 ∑ x  n + ÷WNkn 2 n =0 n =0  N /2 Do WN = −1 nên WNkN / = ( −1) N −1  k ⇒ X ( k ) = ∑  x ( n ) + ( −1) n =0  k N   x  n + ÷WNkn   Bây ta chia nhỏ X(k) thành mẫu chẵn mẫu lẻ Khi nhận N −1  N   X ( 2k ) = ∑  x ( n ) + x  n + ÷WNkn/2   n =0  N −1   Và X ( 2k + 1) = ∑   x ( n ) − x  n + N ÷ WNkn/2 WNkn/ n =0     k = 0, 1,2…… N −1 k = 0, 1,2…… N −1 k = 0, 1,2…… N −1 2 (Do WN = WN /2 ) Đặt g1(n) =x(n) +x(n+ N )  N   g ( n ) =  x ( n ) − x  n + ÷ WNn    Khi N −1 X ( 2k ) = ∑ g1 ( n ) WNkn/ n=0 N −1 X ( 2k + 1) = ∑ g ( n ) WNkn/2 n =0 Nguyên lý thuât toán FFT số phân chia theo tần số thể hình 11 Tiểu luận môn xử lý số nâng cao: Biến đổi FFT Để trực quan ta xét ví dụ sau Ví dụ : Hãy tính DFT 16 điểm dãy x(n)10 thuật toán FFT số hai phân chia theo thời gian Giải : Để tính DFT 16 điểm, cần thêm mẫu vào cuối dãy x(n)10 : { x ( 0) x(1) x(2) x(3) x(4) x(5) x(6) x(7) x(8) x(9) 0 0 0 } Với M = N/2 = 16/2 = L = , nghĩa mảng x(m, l) có cột hàng - Bước : Lưu giữ dãy x(n)16 mảng x(m, l) xắp xếp theo cột :  x ( 0)   x(1) x ( 2) x(3) x(8) 0   x (9 ) 0  x ( 4) x ( ) x(5) x(7) Khi chuyển sang số mảng hai chiều, nhận mảng x(m, l) :  x(0, 0)   x(1, 0) x(0, 1) x(1, 1) x(0, 2) x(1, 2) x(0, 4) x(0, 5) x(0, 6) x(0, 7)   x(1, 4) x(1, 5) x(1, 6) x(1, 7)  x(0, 3) x(1, 3) Mỗi hàng có ba phần tử cuối 0, hàng có số l = mẫu chẵn x(2n)16, hàng có số l = mẫu lẻ x(2n+1)16 - Bước hai : Tính hai DFT điểm ứng với hai hàng nhận mảng F(l, q): F (0, q ) = − jq π m ∑ x(0, m) e F (1, q ) = m =0  F (0, 0)   F (1, 0) ∑x(1, m) e − jq π m m =0 F (0, 1) F (0, 2) F (0, 3) F (0, 4) F (0, 5) F (0, 6) F (0, 7)  F (1, 1) F (1, 2) F (1, 3) F (1, 4) F (1, 5) F (1, 6) F (1, 7)   2π - Bước ba : Tính mảng G (l , q ) = F (l , q).e − jq N l :  G (0, 0) G (0, 1) G (0, 2) G (0, 3) G (0, 4) G (0, 5) G (0, 6) G (0, 7)     G (1, 0) G (1, 1) G (1, 2) G (1, 3) G (1, 4) G (1, 5) G (1, 6) G (1, 7)  - Bước bốn : Tính tám DFT điểm ứng với tám cột mảng G(l, q) nhận mảng X(p, q) : ∑ G(l , q).e X ( p, q ) = − jp π2 l l =0  X (0, 0)   X (1, 0) với q = ÷ X (0, 1) X (0, 2) X (0, 3) X (0, 4) X (0, 5) X (0, 6) X (0, 7)  X (1, 1) X (1, 2) X (1, 3) X (1, 4) X (1, 5) X (1, 6) X (1, 7)   - Bước năm : Chuyển mảng X(p, q) thành dãy X(k)N xắp xếp theo hàng :  X ( 0)   X (8) X (1) X ( 2) X (3) X ( 4) X (5) X (6 ) X (7 )  X (9) X (10) X (11) X (12) X (13) X (14) X (15)   12 Tiểu luận môn xử lý số nâng cao: Biến đổi FFT Thuật toán FFT số Khi số điểm số liệu N tính toán DFT số mũ số (tức N = v ), tất nhiên ta sử dụng thuật toán số để tính toán, trường hợp này, việc tính toán có hiệu sử dụng thuật toán FFT số Ta bắt đầu việc mô tả thuật toán FFT số chia theo thời gian, thuật toán nhận cách lựa chọn L = M = N/4 trình bày trên, với lựa chọn này, ta có l, p = 0, 1, 2, 3; m, q = 0, 1, …, N/4-1; n=4m+l; k = (N/ 4)p+q Từ ta chia số liệu đầu vào N điểm thành dãy số liệu x(4n), x(4n +1), x(4n + 2), x(4n + 3) với n = 0, 1, …, N/ -1 Khi ta có (29) Với F(l, q) xác định: (30) l = 0,1,2,3 q = 0,1,2,….N/4 – Và Từ (29) (30) ta có: Lưu đồ cánh bướm số dạng rút gọn minh hoạ hình 7.9 Chú ý rằng, W0N = nên cánh bướm cần phép nhân số phức 12 phép cộng số phức Thủ tục chia theo thời gian trình bày đệ qui v lần Do thuật toán FFT có v bước, bước chứa N/ lưu đồ cánh bướm Kết 13 Tiểu luận môn xử lý số nâng cao: Biến đổi FFT nhiệm vụ việc tính toán theo thuật toán 3v N/ = (3N/ 8)log2N phép nhân số phức (3N/ 2)log2N phép cộng số phức Ta thấy số phép nhân giảm 25%, số lượng phép cộng lại tăng 50% từ N log2N lên (3N/ 2)log2N Tuy nhiên, đáng ý việc thực phép cộng theo hai bước, ta giảm số phép cộng lưu đồ cánh bướm từ 12 xuống Việc giảm thực việc biểu diễn dạng ma trận chuyển đổi tuyến tính (2.33) thành tích hai ma trận sau Bây phép nhân ma trận cần đến phép cộng, cho toàn hai ma trận phép cộng Từ tổng số phép cộng số phức giảm xuống Tính ưu điểm thuật toán chỗ giảm 25% số lượng phép nhân số phức cần phải thực Hình 7.9 Minh hoạ cho thuật toán FFT số chia theo thời gian với N = 16 trình bày hình vẽ 7.10 Chú ý thuật toán dãy số liệu đầu vào có trật tự bình thường dãy đầu DFT bị đảo trật tự Trong thuật toán FFT số việc chia 14 Tiểu luận môn xử lý số nâng cao: Biến đổi FFT thực theo hệ số nên trật tự dãy chia xác định việc đảo trật tự số n theo cụm (tức hệ thống số lập từ số 0,1,2,3) Thuật toán FFT số chia theo tần số nhận việc lựa chọn l = N/ 4, M = 4, l; p = 0, 1, …, N/ -1; m, q = 0, 1, 2, 3; n = (N/ 4)m + l k = p + q Với việc lựa chọn tham số biểu thức tổng quát cho (2.6) viết : Để thấy trực quan thuật toán FFT số bốn, xét ví dụ sau Ví dụ : Hãy tính DFT 16 điểm dãy x(n)10 thuật toán FFT số bốn phân chia theo thời gian Giải : Để tính , cần thêm mẫu vào cuối dãy x(n)10 : { x ( 0) x(1) x(2) x(3) x(4) x(5) x(6) x(7) x(8) x(9) 0 0 0 } Với M = N/4 = 16/4 = L = , mảng x(m, l) có cột hàng - Bước : Lưu giữ dãy x(n)16 mảng x(m, l) xắp xếp theo cột :  x ( 0)  x(1)    x ( 2)   x(3) x ( 4) x(5) x ( 6) x (7 ) 0 x(8) x(9)  0  0 0  0 ⇔  x(0, 0)  x(1, 0)    x(2, 0)   x(3, 0) x(0, 1) x(0, 2) x(0, 3)  x(1, 1) x(1, 2) x(1, 3)    x(2, 1) x(2, 2) x(2, 3)  x(3, 1) x(3, 2) x(3, 3)   Trong hai hàng đầu có phần tử cuối 0, hai hàng cuối có hai phần tử cuối - Bước hai : Tính bốn DFT điểm ứng với bốn hàng mảng x(m, l) nhận mảng F(l, q) : F (l , q ) = ∑ x(l , m).e − jq π2 m với l = ÷ m =0 2π - Bước ba : Tính mảng G (l , q ) = F (l , q).e − jq N l :  F (0, 0) F (0, 1) F (0, 2) F (0, 3)   G (0, 0) G (0, 1)  F (1, 0) F (1, 1) F (1, 2) F (1, 3)   G (1, 0) G (1, 1)      ⇔   F (2, 0) F (2, 1) F (2, 2) F (2, 3)  G (2, 0) G (2, 1)     F (3, 0) F (3, 1) F (3, 2) F (3, 3)   G (3, 0) G (3, 1) G (0, 2) G (0, 3)  G (1, 2) G (1, 3)   G (2, 3)  G (2, 2) G (3, 2)  G (3, 3)   - Bước bốn : Tính bốn DFT điểm ứng với bốn cột mảng G(l, q) nhận mảng X(p, q) : X ( p, q ) = ∑ G(l , q).e l =0 - − jp π2 l với q = ÷ Bước năm : Chuyển mảng X(p, q) thành dãy X(k)N xắp xếp theo hàng: 15 Tiểu luận môn xử lý số nâng cao: Biến đổi FFT 16 [...]... (14) X (15)   12 Tiểu luận môn xử lý số nâng cao: Biến đổi FFT 4 Thuật toán FFT cơ số 4 Khi số điểm số liệu N trong tính toán DFT là số mũ cơ số 4 (tức là N = 4 v ), tất nhiên là ta luôn có thể sử dụng thuật toán cơ số 2 để tính toán, nhưng trong trường hợp này, việc tính toán sẽ có hiệu quả hơn khi chúng ta sử dụng thuật toán FFT cơ số 4 Ta bắt đầu bằng việc mô tả thuật toán FFT cơ số 4 chia theo thời... 25% số lượng phép nhân số phức cần phải thực hiện Hình 7.9 Minh hoạ cho thuật toán FFT cơ số 4 chia theo thời gian với N = 16 được trình bày trong hình vẽ 7.10 Chú ý rằng trong thuật toán này dãy số liệu đầu vào có trật tự bình thường còn dãy đầu ra DFT bị đảo trật tự Trong thuật toán FFT cơ số 4 việc chia 14 Tiểu luận môn xử lý số nâng cao: Biến đổi FFT được thực hiện theo hệ số 4 nên trật tự của dãy... ( 2k ) = ∑ g1 ( n ) WNkn/ 2 n=0 N −1 2 X ( 2k + 1) = ∑ g 2 ( n ) WNkn/2 n =0 Nguyên lý của thuât toán FFT cơ số 2 phân chia theo tần số được thể hiện như hình dưới 11 Tiểu luận môn xử lý số nâng cao: Biến đổi FFT Để trực quan hơn ta xét ví dụ sau Ví dụ 1 : Hãy tính DFT 16 điểm của dãy x(n)10 bằng thuật toán FFT cơ số hai phân chia theo thời gian Giải : Để tính DFT 16 điểm, cần thêm 6 mẫu 0 vào cuối... trình bày ở trên có thể được đệ qui v lần Do đó thuật toán FFT có v bước, trong đó mỗi bước chứa N/ 4 lưu đồ cánh bướm Kết quả là 13 Tiểu luận môn xử lý số nâng cao: Biến đổi FFT nhiệm vụ của việc tính toán theo thuật toán này là 3v N/ 4 = (3N/ 8)log2N phép nhân số phức và (3N/ 2)log2N phép cộng số phức Ta thấy rằng số phép nhân được giảm 25%, nhưng số lượng phép cộng lại tăng 50% từ N log2N lên (3N/ 2)log2N.. .Tiểu luận môn xử lý số nâng cao: Biến đổi FFT N −1 2 N −1 2 N  X (k ) = ∑ x ( n ) W + ∑ x  n + ÷WNk ( n + N /2) 2 n =0 n =0  kn N N −1 2 N −1 2 N  X (k ) = ∑ x ( n ) WNkn + WNkN /2 ∑ x  n + ÷WNkn 2 n =0 n =0  N /2... bốn cột của mảng G(l, q) và nhận được mảng X(p, q) : X ( p, q ) = 3 ∑ G(l , q).e l =0 - − jp π2 l với q = 0 ÷ 3 Bước năm : Chuyển mảng X(p, q) thành dãy X(k)N xắp xếp theo hàng: 15 Tiểu luận môn xử lý số nâng cao: Biến đổi FFT 16 ... đảo trật tự của các chỉ số n theo cụm 4 (tức là hệ thống số lập từ các số 0,1,2,3) Thuật toán FFT cơ số 4 chia theo tần số có thể nhận được bằng việc lựa chọn l = N/ 4, M = 4, l; p = 0, 1, …, N/ 4 -1; m, q = 0, 1, 2, 3; n = (N/ 4)m + l và k = 4 p + q Với việc lựa chọn các tham số này biểu thức tổng quát cho trong (2.6) có thể viết là : Để thấy được trực quan thuật toán FFT cơ số bốn, xét ví dụ sau Ví... giảm số phép cộng của mỗi lưu đồ cánh bướm từ 12 xuống 8 Việc giảm này có thể được thực hiện bằng việc biểu diễn dạng ma trận của chuyển đổi tuyến tính trong (2.33) thành một tích của hai ma trận như sau Bây giờ mỗi phép nhân ma trận cần đến 4 phép cộng, cho toàn bộ hai ma trận là 8 phép cộng Từ đó tổng số phép cộng số phức được giảm xuống Tính ưu điểm của thuật toán này chính là ở chỗ giảm được 25% số. .. 4)p+q Từ ta chia số liệu đầu vào N điểm thành 4 dãy số liệu con x(4n), x(4n +1), x(4n + 2), x(4n + 3) với n = 0, 1, …, N/ 4 -1 Khi đó ta có (29) Với F(l, q) được xác định: (30) l = 0,1,2,3 q = 0,1,2,….N/4 – 1 Và Từ (29) và (30) ta có: Lưu đồ cánh bướm cơ số 4 và dạng rút gọn được minh hoạ trong hình 7.9 Chú ý rằng, do W0N = 1 nên mỗi cánh bướm cần 3 phép nhân số phức và 12 phép cộng số phức Thủ tục... (9 ) 0 0 0  x ( 4) x ( 6 ) x(5) x(7) Khi chuyển sang chỉ số mảng hai chiều, nhận được mảng x(m, l) :  x(0, 0)   x(1, 0) x(0, 1) x(1, 1) x(0, 2) x(1, 2) x(0, 4) x(0, 5) x(0, 6) x(0, 7)   x(1, 4) x(1, 5) x(1, 6) x(1, 7)  x(0, 3) x(1, 3) Mỗi hàng có ba phần tử ở cuối bằng 0, và hàng có chỉ số l = 0 là các mẫu chẵn x(2n)16, còn hàng có chỉ số l = 1 là các mẫu lẻ x(2n+1)16 - Bước hai : Tính hai DFT ... (14) X (15)   12 Tiểu luận môn xử lý số nâng cao: Biến đổi FFT Thuật toán FFT số Khi số điểm số liệu N tính toán DFT số mũ số (tức N = v ), tất nhiên ta sử dụng thuật toán số để tính toán, trường... Nguyên lý thuât toán FFT số phân chia theo tần số thể hình 11 Tiểu luận môn xử lý số nâng cao: Biến đổi FFT Để trực quan ta xét ví dụ sau Ví dụ : Hãy tính DFT 16 điểm dãy x(n)10 thuật toán FFT số. . .Tiểu luận môn xử lý số nâng cao: Biến đổi FFT Mở đầu Biến đổi Fourier – FT (Fourier Transform) phép biến đổi thuận nghịch, cho phép chuyển đổi thuận – nghịch thông tin

Ngày đăng: 21/04/2016, 00:22

Từ khóa liên quan

Mục lục

  • 4. Thuật toán FFT cơ số 4

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

Tài liệu liên quan