Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 62 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
62
Dung lượng
578,5 KB
Nội dung
Luận văn tốt nghiệp Vật lý K42 Thuật toán biến ®ỉi Fourier nhanh Trong ch¬ng tríc chóng ta ®· giíi thiệu tổng quan thuật toán biến đổi fourier nhanh Nguyên tắc tất thuật toán FFT dựa vào việc phân tách DFT N điểm thành DFT nhỏ ( tức số điểm tích DFT nhỏ ) Theo cách khai thác tính đối xứng tính tuần hoàn hàm N Tính đối xứng Tính tuần hoàn Wk(N-n) = (Wkn)* Wkn = Wk(n+N) Thuật toán phân chia dựa việc phân chia dÃy x(n) thành dÃy nhỏ đợc gọi thuật toán phân chia theo thời gian, chữ số n thờng đợc gắn liền với thời gian Nguyên tắc thuật toán đợc minh häa râ nhÊt ta xem xÐt tỉng hỵp N lấy giá trị đặc biệt: N lũy thừa ( có tên FFT có số N=2M) N số chẵn nên ta tính X(k) cách tách x(n) thành hai dÃy có chứa N/2 điểm dÃy chứa điểm lẻ, dÃy chứa điểm chẵn Cụ thể từ công thức tÝnh X(k) ta cã: X( k ) = N −1 ∑ x( n)W kn Víi k = 0,1,2 , N n=0 Sau tách dÃy x(n) thành dÃy đánh số chẵn dÃy đánh số lẻ ta có: X( k ) = N −1 N −1 n = ch ½ n n = lỴ ∑ x(n)W kn + ∑ x(n)W kn Chuyên ngành: Vô tuyến tin học truyền thông 44 Luận văn tốt nghiệp Vật lý K42 Hoặc cách thay biến n = 2r n chẵn, n = 2r+1 ®èi víi n N −1 N −1 r =o N −1 r =0 N −1 r =o r =0 X( k ) = lỴ: = ∑ x(2r )W rk + ∑ x(2r + 1)W (2 r +1) k ∑ x(2r)(W ) rk + W k ∑ x(2r + 1)(W ) rk Song W = W N W = e − j2(2 π / N ) = e − j2 π( N / ) Do ®ã ta cã: X( k ) = N −1 x(2r )WNrk/ r =o Đặt Ta cã X (k) = X1 (k) = N −1 ∑ x(2r)WNrk/ + WNk N −1 ∑ x(2r + 1)WNrk/ r =0 (X0 t¬ng øng víi r ch½n) r =o N −1 ∑ x(2r + 1)WNrk/ (X1 tơng ứng r lẻ) r =0 X(k) = X0(k) + Wk.X1(k) (*) Ta thÊy X0(k) vµ X1(k) DFT N/2 điểm, X0(k) DFT N/2 điểm điểm đánh số chẵn dÃy x(n) ban đầu, X1(k) DFT N/2 điểm đánh số lẻ dÃy ban đầu Mặt dù tính số k X(k) chạy qua N giá trị k= 0, 1, 2, , N-1 Do X0(k) X1(k) tuần hoàn theo k với chu kỳ N/2, sau 2DFT X (k) X1(k) tơng ứng ®ỵc tÝnh, chóng sÏ ®ỵc kÕt hỵp víi ®Ĩ tạo DFT N điểm X(k) Chuyên ngành: Vô tuyến tin học truyền thông 45 Luận văn tốt nghiệp Vật lý K42 Để minh họa hình vẽ ta chọn ví dụ N=8, hình vẽ sau minh họa c¸ch tÝnh X(k) theo biĨu thøc (*) cho mét d·y điểm Nhánh nút giá trị nút xuất phát nhân với hệ số truyền nhánh Nếu nhánh không ghi hệ số ta hiểu hệ số truyền nhánh ã Ví dụ: §Ĩ tÝnh X(k) víi k = ta cã X(4) = X0(4) + WN4 X1(4) Song tính tuần hoàn ta có X0(4) = X0(0) X1(4) = X1(0) Nên X(4) = X0(4) + WN4 X1(0) Ta cã thĨ s¬ tính số phép nhân cộng cần có cho cách tính DFT kiểu DFT N điểm tính trực tiếp cần có N phép nhân phức khoảng N2 phép cộng phức (chính xác N(N-1) phép cộng phức song để rễ so sánh ta giả thiÕt r»ng N ®đ lín ®Ĩ cã thĨ cã N-1 xấp xỉ N) Sau phân tách thành 2DFT N/2 điểm ta cần 2(N/2) phép nhân phức 2(N/2)2 phép cộng phức để thực X 0(k) X1(k) thêm N phép cộng phức để tính X(k) tõ X0(k) vµ X1(k) X(0) X0(0) W0 X(0) X(2) X0(1) W1 X(1) DFT X(4) W2 X(2) N/2 ®iĨm X0(2) X(6) X0(3) W3 X(3) X(1) X(3) X(5) X(7) X1(0) X1(1) X1(2) DFT N/2 ®iĨm X1(3) W4 X(4) W5 X(5) W6 X(6) W7 X(7) Hình 4.2.1: DFT điểm đợc tách thành 2DFT điểm Chuyên ngành: Vô tuyến tin học truyền thông 46 Luận văn tốt nghiệp Vật lý K42 Tổng cộng lại ta cần N + 2(N/2) = N + N2/2 phép nhân phức phép cộng phức để tính tất giá trị X(k) Ta có thĨ kiĨm tra víi N>2, N + N 2/2 nhá N/2 Vậy với N chẵn ta đà chia nhỏ 2DFT N/2 điểm với số phép tính đơng nhiên thời gian tính nhỏ Với N/2 lại số chẵn hoàn toàn tơng tự, ta lại có chia DFT N/2 điểm thành DFT N/4 điểm Nừu số điểm có dạng N = M ta tiếp tục chia đôi nh M lận, cho ®Õn sè ®iĨm tÝnh DFT lµ b»ng ®Ĩ phân biệt với FFT số N = 4M ã X0(k) đợc nh sau: X (k) = N −1 ∑ x(2r)WNrk/ = r =o N −1 ∑ g(r)WNrk/ r =o T¬ng tù, ta đặt l = 2r để tách g(r) thành dÃy lẻ: X(0) X00(k) W0N/2 X0(0) DFT N/4 điểm X(4) X01(k) W1N/2 X0(1) X(2) X02(k) W2N/2 X0(2) DFT N/4 ®iĨm X(6) X03(k) W3N/2 X0(3) Hình 2: Lu đồ phân tích DFT N/2 điểm thành DFT N/4 điểm Điểm với (N=8) theo phơng pháp phân chia theo thời gian vẽ cho X0(k) X (k) = X (k) = N −1 N −1 ∑ g(2l)WN2lk + ∑ g(2l + 1)WN2(l+1) k l=0 l =0 N −1 N −1 l=0 l = 0 ∑ g(2l)WNlk + WNk ∑ g(2l + 1)WNlk 4 DFT N diÓm DFT Chuyên ngành: Vô tuyến tin học truyền thông N diểm 47 Luận văn tốt nghiệp Vật lý K42 Nh X0(k) lại đợc tách thành hai DFT: X 00(k) vµ X01(k) víi X00(k) lµ DFT cđa d·y g(r) có số chẵn X01(k) DFT dÃy g(r) có số lẻ Hình 4.2.2, minh họa cách chia DFT N/2 điểm Khi hệ số W thực mang gí trị đặc biệt -1 nên thực tế ta làm phép nhân phép chia dừng lại ã Kết việc kết hợp hình (4.1) (4.2) nh sau X(0) DFT N/4 ®iĨm X(4) X(2) X(6) X(1) X(5) X(3) DFT N/4 ®iĨm DFT N/4 ®iĨm X00(0) W0 X0(0) X00(1) X00(2) W1 W2 X0(1) X0(2) X00(3) X01(0) W3 W4 X0(3) X0(4) X01(2) X01(3) W5 W6 X0(5) X0(6) X(7) X01(4) W7 X0(7) DFThọa DFT N điểm phân chia theo thời gian sau Hình 4.2.3 Lu đồ N/4 minh điểm hai lần phân chia (N =8) X(0) WN0 = X(4) W2 = WNN / = −1 Lu ®å tÝnh cho DFT ®iĨm, ¸p dơng cho hai ®iĨm vµo X(0) vµ X(4) Víi N = 2m sè lần phân chia số tầng phân chia lu đồ M lần Số phép tính nhân cộng phức cần thực sau M = log2(N) phân tích chia dựa vào hình sau: Nó tơng ứng với tầng sơ đồ, ta cần N phép nhân phức để nhân kết qủa DFT tầng trớc với hệ số W tơng ứng N phép cộng phức để nhóm kết qủa lại víi Tỉng céng ta chØ cÇn N.log 2(N) phÐp nhân phức N.log2(N) phép cộng phức để thực toàn FFT Chuyên ngành: Vô tuyến tin học truyền thông 48 Luận văn tốt nghiệp Vật lý K42 X(0) X(4) -1 X(2) X(6) -1 X(1) W0 W0 W2 W1 W4 W2 X(2) W6 W3 X(3) W0 X(5) -1 X(3) X(0) X(1) W4 W2 W5 W4 W6 X(4) X(5) X(6) X(7) -1 W6 W7 X(7) Hình 2.4 sơ đồ minh hoạ tính DFT N điểm phân chia theo thời gian sau ba lần phân chia (N=8) Để tiện cho việc tính toán ta quy ớc nút i tầng thứ m đợc ký hiệu Xin(i) Mỗi tầng có N nút có M=log 2(N) tầng Để thuận tiện ta ký hiệu dÃy vào x(n) nh tầng thứ Nh tầng thứ m+1 ta có thĨ coi d·y vµo x(n) nh lµ d·y Xin(i) nh dÃy vào Xm+1(i) kết tính toán nh lµ d·y N = ta cã X0(0) = x(0) X4(4) = x(4) X1(1) = x(1) X5(5) = x(5) X2(2) = x(2) X6(6) = x(6) X3(3) = x(3) X7(7) = x(7) X m +1 ( p ) = X m (q ) + WNr + X m ( q) r+ X m +1 ( p ) = X m (q ) + WN N X m (q) = X m (q ) − WNr X m (q) Xm(p) Chuyên ngành: Vô tuyến tin học truyền thông Xm+1(p) 49 Luận văn tốt nghiệp Vật lý K42 Xm+1(q) Xm(q) WNr WNr + N / = − WNr H×nh 4.5 Sơ đồ tính toán hình Bớm Nhờ cã tÝnh chÊt: WNr + N / = − WNr nên ta tiếp tục rút bớt phép tính nhân số hạng T = WNr X m (q ) X m +1 ( p) = X m (p) + T X m +1 ( q) = X m (q ) − T Xm(p) Xm+1(p) = Xm(p)+T Xm(q) Xm+1(p) = Xm(p)-T H×nh 2.6 Lu đồ tính toán hình Bớm đà đợc cải tiến Lu đồ ta cần phép nhân Tóm lại: Với cách sử dụng thuật toán ta thấy giảm đáng kể đợc số phép nhân, thời gian làm phép nhân lớn nhiều thời gian làm phép cộng Thuật toán tính chỗ (Inplace) Các sơ đồ tính FFT trình bày cho ta thấy hiệu tính toán, mà cho ta thấy cách cất giữ số liệu vào x(n) kết qủa X(k) ta thấy tầng hình có N nút vào N nút Nếu nh ta cho nút tơng ứng với biến phức lập chơng trình số ô nhớ cần dùng lớn (tỷ lê Nlog2N) DÃy vào đợc bố trí theo thứ tự phân chia nh hình vẽ ta nhận đợc kết qủa theo thứ tự tăng dần Và sau lần tính tầng ta dùng ô nhớ chứa dÃy vào để chứa dÃy với số ô nhớ phụ trợ thêm trình tính toán Cụ thể hình bớm ta thấy Xm(P) Xm(q) không cần dùng đến nên ta chứa vào kết qủa Chuyên ngành: Vô tuyến tin học truyền thông 50 Luận văn tốt nghiệp Vật lý K42 Xm+1(P) Xm+1(q) tơng ứng Nh nút nằm hàng ngang tầng đợc hiểu chứa ô nhớ chỗ Sau làm nh tất tầng kết qủa cuối dÃy X(k) nhận đợc ô nhớ chứa dÃy vào x(n) thuật toán chỗ VÝ dơ: N=8, chØ sè cđa d·y vµo lµ n cã thĨ biĨu diƠn b»ng bits lµ n 2, n1, n0, việc lúc đầu dÃy x(n) đợc phân thành hai dÃy chẵn lẻ quy việc phân dÃy x(n) thành dÃy có bit n = dÃy có bit n = 1(tơng ứng số lẻ) Sau việc phân chia chẵn lẻ hai dÃy lại đợc tiến hành thông qua bit n1 hay Công việc tiÕp tơc nh vËy víi bit n2 VËy thø tù bít biểu diễn số dÃy x(n) đợc phân chia nÃy n0, n1, n2 tức ngợc với thứ tự bit biểu diễn số dÃy vào x(n) lúc đầu n2, n1, n0 Do việc phân chia kiểu gọi kiểu đảo bít (bit reserse) n2 n1 x(000) = x(0) n0 x(100) = x(4) x(010) = x(2) X(n2, n1, n0) x(110) = x(6) x(001) = x(1) 1 x(101) = x(5) x(011) = x(3) x(111) = x(7) H×nh 4.2.7 Minh họa việc phân chia dÃy vào x(n) theo nguyên tắc đảo bít Chuyên ngành: Vô tuyến tin học truyền thông 51 Luận văn tốt nghiệp Vật lý K42 X(0) X(1) W0 X(2) W0 X(3) W0 W2 W2 X(4) -1 X(5) -1 X(6) W2 X(7) -1 W2 -1 W1 W3 -1 -1 -1 Lu ®å minh häa tÝnh DFT N điểm phân chia theo thời gian với dÃy vào đợc xếp theo thứ tự tự nhiên dÃy đợc xếp theo thứ tự đảo bít Đây lu đồ xếp lại từ hình II thuật toán FFT số phân chia theo tần số: Nguyên tắc chung: Thuật toán FFT dựa việc phân chia nhỏ dÃy vào x(n) để tách việc tính DFT N điểm thành DFT Chuyên ngành: Vô tuyến tin học truyền thông 52 Luận văn tốt nghiÖp VËt lý K42 X(0) X(1) X(2) X(3) g(0) X(4) X(5) X(6) X(7) W g(1) g(2) g(3) W W W X) X(0) X(2) X(4) X(6) DFT N/2 ®iĨm X(1) X(3) X(5) X(7) DFT X N/2 ®iĨm H×nh 4.8 Sơ đồ phân chia theo tần số DFN N ®iĨm thµnh DFT N/2 ®iĨm (cơ thĨ N = 8) ta xem xét thuật toán FFT dựa việc phân chia dÃy X(k) thành dÃy nhỏ theo cách phân tách dÃy x(n) Do số k X(k) đợc gắn liền với thang tần số nên thuật toán gọi thuật toán FFT phân chia theo tần số Giả thiết N = 2M, ta cã thĨ chia d·y vµo lµm hai nửa, nửa đầu chứa N/2 mẩu đầu: {x(n)} với n = 0, 1, …, N/2 - Nưa cßn lại chứa N/2 mẩu lại Ta có: X( k ) = N / −1 ∑ n=0 X( k ) = N / −1 ∑ n =0 x( n )WNnk x( n )WNnk + WN( N / ) k N / −1 ∑ n =0 N −1 + ∑ x(n)WNnk n=N / x( n + N / 2).WNnk víi WNnk = −1 vµ ta kết hợp hai tổng lại ta có: X( k ) = N / −1 ∑ n=0 [x(n) + (−1) k ] x( n + N / 2) WNnk x(0) Chuyên ngành: Vô tuyến tin học truyền thông X(0) 53 Luận văn tốt nghiệp Vật lý K42 Chơng 4: thuật toán lọc biến đổi Fourier nhanh Thuật toán lọc Khái quát: Một lọc tần số đợc lọc cách đa tín hiệu vào có tần sè lµ F(Hz) sư dơng bé läc FIR (Filter Infenifi Respon) Tín hiệu vào đợc chuyển thành tín hiệu số sử dụng biến đổi ADC TI TMS320 F240 EVM Ta so sánh kết qủa sau FIR giá trị đặt vào cách sử dụng DAC EVM Khi tín hiệu đặt vào tần số F(Hz) đợc xuất đèn sáng tín hiệu đèn tắt, việc áp dụng đợc thực sử dụng (?) Bộ phËn sư dơng läc: - Bé phËn ®iỊu khiĨn - Bé phèi phÐp thêi gian - Bé ADC - Bé DAC - Cỉng vµo ADC INO - Cỉng DAC DAC Led - DS1 - DS8 C¸c bíc phơng pháp thực lọc: Công việc khởi đầu chơng trình quan trọng để thực lọc FIR đòi hỏi phải có phân chia tần số lấy mẫu, cần có tần số lấy mẫu xác định Do đó, phận PLL, cổng I/O, ADC phận điều khiển cần xếp liên lạc, thông qua phối hợp thời gian ®Ĩ ®iỊu khiĨn tÇn sè lÊy mÉu ADC b»ng viƯc xử lý ngắt PLL (mạch vòng bám pha) Ngoài phơng pháp tổ hợp tần số trực tiếp thông thờng , tạo tần số khác từ dao động chủ đợc trình bày hình H.4.1.1 Bộ dao động Chuẩn (mẫu) Bộ tạo tần số (máy phát hài) Chuyên ngành: Vô tuyến tin học truyền thông Bộ lọc hẹp dải 91 Luận văn tốt nghiệp Vật lý K42 m H 4.1.1 tổ hợp tần số trực tiếp Bộ dao động cao tần đợc tạo phơng pháp tổ hợp tần số gián tiếp Bộ tổ hợp tần số gián tiếp sử dụng mạch vòng bám pha Sơ đồ khối mạch vòng bám pha đợc trình bày nh sau: Máy chuẩn phát Bộ tách sóng pha Máy VCO phát Bộ lọc tần Bộ điều Hình 4.1.2 Mạch vòng bám pha khiển VCO thấp Tín hiệu từ máy tần số chuẩn máy phát điều chỉnh đợc tới tách sóng pha Điện áp tách sóng pha hiệu pha điện áp tác dụng vào đầu vào Điện áp qua lọc tần thấp tác động lên bé ®iỊu khiĨn Khi bé phèi ghÐp thêi gian cđa EVM đợc sử dụng để điều chỉnh tần số lấy mẫu lọc FIR, mạch vòng bám pha đà đợc thiết kế cách hợp lý để tạo nên tần số lấy mẫu tơng ứng, hay nói cách khác mạch vòng bám pha chia nhân thêm với hệ số tỷ lệ để đợc tần số lấy mẫu mong ớc Ví dụ: Ta có tần sô 100Hz nhân với ta đợc tần số lấy mẫu mong ớc 400Hz Sơ đồ nhân tần dùng mạch vòng bám pha đợc trình bày hình vẽ Hình 4.1.3: Chuyên ngành: Vô tuyến tin học truyền thông 92 Luận văn tốt nghiệp fo TÝn hiÖu f1 VËt lý K42 Chia hÖ số N1 So sánh pha Bộ lọc Thông thấp Thành phần chiều Chia hệ Số N2 Hình 4.1.3 Nhân tần dùng mạch vòng bám pha f0 f = N1 N Hay f = N f0 N1 f0: TÝn hiƯu vµo f1: TÝn hiƯu N1,N2: lµ hệ số Khi ta thay đổi hệ số chia tần tần số lấy mẫu khác từ tần số cho trớc Chuyên ngành: Vô tuyến tin học truyền thông 93 Luận văn tốt nghiệp Vật lý K42 ã Cổng vào I/O: Thanh ghi điều khiển đầu đợc thiết kế hợp lý để chuyển đổi ADC nhận đợc thông tin đa vào ADC INO đầu vào kết hợp với IOPAO ã Bộ phận điều khiển: thiết bị vào mạch vòng bám pha đợc lắp đặt ghi phận điều khiển đợc lắp đặt để tạo nên tần số lấy mẫu phối ghép thời gian cần đợc xây dựng có điều khiển sử lý ngắt cách Tạo hàm so sánh ghi so sánh để rút ngắn thời gian xuống mẫu đặt vào ã Bộ chuyển đổi số - tơng tự ADC: Bộ biến đổi tơng tự số lọc lắp đặt cách đơn giản tần số lấy mẫu đợc ®iỊu chØnh bëi bé phËn phèi ghÐp thêi gian cđa EVM, xây dựng ADC để chuyển đổi điểm đơn lẻ tốt so với việc chuyển đổi điểm liên tục ã Bộ lọc FIR tần số lấy mẫu đợc lắp đặt phối ghép thời gian điều khiển FIR đợc tiến hành Hệ số lọc đợc thiết kế cách sử dụng phần mềm chuyên dụng môi trờng phát triển ứng dụng DSP phổ biến , ngời ta có thêt sử dụng ngôn ngữ Matlabe Hệ sô lọc đợc lắp đặt tùy thuộc vào việc yêu cầu tần số lọc Thực bớc làm nh sau: Lấy giá trị đà đợc chuyển từ ADC FIFO (Analog - Digital - Convert - Firt in - Firt on) Đặt giá trị vào nhớ số liệu tạm thời lọc FIR Chuyên ngành: Vô tuyến tin học truyền thông 94 Luận văn tốt nghiệp Vật lý K42 Thực việc tính toán lọc FIR Lấy giá trị đầu DAC Đèn led sáng theo tỷ lệ giá trị đầu ra/ giá trị đầu vào Khởi động lại ADC chờ cho ngắt giai đoạn Thuật toán lọc số Sử dụng DSP Hiện hÃng sản xuất DSP giới sản xuất phần mềm kèm theo phần cøng xư lÝ tÝn hiƯu DSP chuyªn dơng , cho phÐp ph¸t triĨn c¸c øng dơng cđa DSP tõ viƯc viết chơng trình phần mềm điều khiển xử lí , dịch chơng trình nguồn nh Assamply C tới vi xư lÝ DSP (Compiler) tíi viƯc tÝnh to¸n c¸c hƯ số thuật toán lọc số , mô trình xử lí (Emulation) nh cung cấp tiện ích gỡ rối chơng trình (Debugging tools) ,v v cho phép phát triển nhúng liên kết ứng dụng thuận lợi Các mảng mạch EVM chuyên dụng DSP cho phÐp ph¸t triĨn c¸c tht to¸n läc sè thuận lợi * Bộ lọc đáp ứng xung vô hạn : Cấu trúc lọc phản ánh cấu trúc dạng lọc tơng ứng với hàm truyền khác nhau.Dới mô tả hàm truyền đáp ứng xung vô hạn Cấu trúc thuận đợc mô tả phơng trình bậc hai (phơng trình tắc lọc đáp ứng xung vô hạn bậc hai) sau: y n = b x n + b x n −1 + b x n −2 − a y n −1 − a y n −2 H( z ) = b + b z −1 + b z −2 + a 1z −1 + a2z −2 CÊu tróc chÝnh t¾c cđa lọc gọi tắc chøa tèi thiĨu sè lỵng bé nhí : xn yn Z-1 xn-1 xn-2Z-1 Chuyên ngành: Vô tuyến tin học truyền thông Z-1 yn-1 Z-1yn-2 95 Luận văn tốt nghiệp Vật lý K42 v n = x n − a v n −1 − a x n −2 Ta cã : y n = b v n + b v n −1 + b v n −2 CÊu tróc chÝnh t¾c cđa bé läc hai tầng đáp ứng xung vô hạn nh sau: xn b0 yn -1 -a1 Z vn-1b1 -a2 Z-1 vn-2b2 y n = b x n + v n −1 Víi: v n = b x n − a y n + d n −1 dn = b2xn a2y n Cấu trúc chứa tối thiểu phần tử giữ chậm tơng tự : xn dn dn-1 -1 yn Z Z Cấu trúc tầng lọc đáp ứng xung vô hạn chứa tầng lớn chia thành nhiều tÇng -1 N −1 ∑ b k z −k k =0 M −1 H( z ) = (1 + xn b01 ∑ a k z −r ) R = ∏ H i (z ) i =1 k =0 Z-1 Chuyªn ngành: Vô tuyến Z-1 tin học truyền thông b01 yn Z-1 96 Luận văn tốt nghiệp Vật lý K42 -a11 b11 -a22 -a22 b12 b21 Cấu trúc đáp ứng xung vô hạn bậc ba mô tả hai lọc bậc hai lọc bậc môt, hai lọc mô tả dạng phơng trình tắc * Bộ lọc đáp ứng xung hữu hạn: mô tả hàm truyền nh sau Hàm truyền: ~ H( z ) = ~ yn = N −1 ∑ b k z −k k =0 N −1 ∑ b k x nk k =0 bk hệ số lợng tử lọc, phơng trình mô tả thuật toán xư lý tÝn hiƯu bé läc sè xn Z-1 b0 xn-1 Z-1 xn-2 b2 b1 Z-1 xn-N+1 bN-1 yn Chuyên ngành: Vô tuyến tin học truyền thông 97 Thuật toán biến đổi Fourier nhanh Trong chơng trớc ®· giíi thiƯu tỉng quan vỊ tht to¸n biÕn ®ỉi fourier nhanh Nguyên tắc tất thuật toán FFT dựa vào việc phân tách DFT N điểm thành DFT nhỏ ( tức số điểm tích DFT nhỏ ) Theo cách khai thác tính đối xứng tính tuần hoàn hàm N Tính đối xứng Tính tuần hoàn Wk(N-n) = (Wkn)* Wkn = Wk(n+N) Thuật toán phân chia dựa việc phân chia dÃy x(n) thành dÃy nhỏ đợc gọi thuật toán phân chia theo thời gian, chữ số n thờng đợc gắn liền với thời gian Nguyên tắc thuật toán ®ỵc minh häa râ nhÊt ta xem xÐt tỉng hợp N lấy giá trị đặc biệt: N lũy thừa ( có tên FFT có số N=2M) N số chẵn nên ta tính X(k) cách tách x(n) thành hai d·y míi cã chøa N/2 ®iĨm mét d·y chøa điểm lẻ, dÃy chứa điểm chẵn Cụ thể từ c«ng thøc tÝnh X(k) ta cã: X( k ) = N −1 ∑ x( n)W kn Víi k = 0,1,2 , N n=0 Sau tách dÃy x(n) thành dÃy đánh số chẵn dÃy đánh số lẻ ta cã: X( k ) = N −1 ∑ x( n ) W n = ch ½ n kn + N x(n)W kn n = lẻ Hoặc cách thay thÕ biÕn n = 2r n ch½n, n = 2r+1 ®èi víi n N −1 N −1 r =o N −1 r =0 N −1 r =o r =0 X( k ) = lỴ: = ∑ x(2r )W rk + ∑ x(2r + 1)W (2 r +1) k ∑ x(2r)(W ) rk + W k ∑ x(2r + 1)(W ) rk Song W = W N W = e − j2(2 π / N ) = e − j2 π( N / ) Do ®ã ta cã: X( k ) = N −1 x(2r )WNrk/ r =o Đặt Ta có X (k) = X1 (k) = N −1 ∑ x(2r)WNrk/ + WNk N −1 ∑ x(2r + 1)WNrk/ r =0 (X0 t¬ng øng víi r ch½n) r =o N −1 ∑ x(2r + 1)WNrk/ (X1 tơng ứng r lẻ) r =0 X(k) = X0(k) + Wk.X1(k) (*) Ta thÊy X0(k) vµ X1(k) DFT N/2 điểm, X0(k) DFT N/2 điểm điểm đánh số chẵn dÃy x(n) ban đầu, X1(k) DFT N/2 điểm đánh số lẻ dÃy ban đầu Mặt dù tính số k X(k) chạy qua N giá trị k= 0, 1, 2, …, N-1 Do X0(k) vµ X1(k) tuần hoàn theo k với chu kỳ N/2, sau 2DFT X (k) X1(k) tơng ứng đợc tính, chúng đợc kết hợp với để tạo DFT N điểm X(k) Để minh họa b»ng h×nh vÏ ta chän vÝ dơ N=8, h×nh vÏ sau minh họa cách tính X(k) theo biểu thức (*) cho dÃy điểm Nhánh nút giá trị nút xuất phát nhân với hệ số truyền nhánh Nếu nhánh không ghi hệ số ta hiểu hệ số truyền nhánh ã Ví dụ: Để tính X(k) với k = ta cã X(4) = X0(4) + WN4 X1(4) Song tính tuần hoàn ta có X0(4) = X0(0) X1(4) = X1(0) Nªn X(4) = X0(4) + WN4 X1(0) Ta sơ tính số phép nhân cộng cần có cho cách tính DFT kiểu DFT N điểm tính trực tiếp cần có N phép nhân phức khoảng N2 phép cộng phức (chính xác N(N-1) phép cộng phức song để rễ so sánh ta giả thiết N đủ lớn để cã thĨ cã N-1 xÊp xØ lµ N) Sau phân tách thành 2DFT N/2 điểm ta cần 2(N/2) phép nhân phức 2(N/2)2 phép cộng phức để thực X 0(k) X1(k) thêm N phép cộng phức để tính X(k) từ X0(k) X1(k) X(0) X0(0) W0 X(0) X(2) X0(1) W1 X(1) DFT X(4) W2 X(2) N/2 ®iĨm X0(2) X(6) X0(3) W3 X(3) X(1) X(3) X(5) X(7) X1(0) X1(1) X1(2) DFT N/2 ®iĨm X1(3) W4 X(4) W5 X(5) W6 X(6) W7 X(7) H×nh 4.2.1: DFT điểm đợc tách thành 2DFT điểm Tổng cộng lại ta cÇn N + 2(N/2) = N + N2/2 phép nhân phức phép cộng phức để tính tất giá trị X(k) Ta kiểm tra víi N>2, N + N 2/2 nhá h¬n N/2 Vậy với N chẵn ta đà chia nhỏ 2DFT N/2 điểm với số phép tính đơng nhiên thời gian tính nhỏ Với N/2 lại số chẵn hoàn toàn tơng tự, ta lại có chia DFT N/2 điểm thành DFT N/4 điểm Nừu số điểm có dạng N = M ta tiếp tục chia đôi nh M lận, số điểm tính DFT để phân biệt với FFT số N = 4M ã X0(k) đợc nh sau: X (k) = N ∑ x(2r)WNrk/ = r =o N −1 g(r)WNrk/ r =o Tơng tự, ta đặt l = 2r để tách g(r) thành dÃy lẻ: X(0) X00(k) W0N/2 X0(0) DFT N/4 ®iĨm X(4) X01(k) W1N/2 X0(1) X(2) X02(k) W2N/2 X0(2) DFT N/4 ®iĨm X(6) X03(k) W3N/2 X0(3) Hình 2: Lu đồ phân tích DFT N/2 điểm thành DFT N/4 điểm Điểm với (N=8) theo phơng pháp phân chia theo thời gian vẽ cho X0(k) X (k) = X (k) = N −1 N −1 ∑ g(2l)WN2lk + ∑ g(2l + 1)WN2(l+1) k l=0 l =0 N −1 N −1 l=0 l = 0 ∑ g(2l)WNlk + WNk ∑ g(2l + 1)WNlk 4 DFT N diÓm 4 DFT N diểm Nh X0(k) lại đợc tách thành hai DFT: X 00(k) vµ X01(k) víi X00(k) lµ DFT dÃy g(r) có số chẵn X01(k) DFT dÃy g(r) có số lẻ Hình 4.2.2, minh họa cách chia DFT N/2 điểm Khi hệ số W thực mang gí trị đặc biệt -1 nên thực tế ta làm phép nhân phép chia dừng lại ã Kết việc kết hợp hình (4.1) (4.2) nh sau X(0) DFT N/4 điểm X(4) X(2) X(6) X(1) X(5) X(3) DFT N/4 ®iĨm DFT N/4 ®iÓm X00(0) W0 X0(0) X00(1) X00(2) W1 W2 X0(1) X0(2) X00(3) X01(0) W3 W4 X0(3) X0(4) X01(2) X01(3) W5 W6 X0(5) X0(6) X(7) X01(4) W7 X0(7) DFThäa DFT N ®iĨm phân chia theo thời gian sau Hình 4.2.3 Lu đồ N/4 minh điểm hai lần phân chia (N =8) X(0) WN0 = X(4) W2 = WNN / = Lu đồ tính cho DFT điểm, áp dụng cho hai điểm vào X(0) X(4) Với N = 2m số lần phân chia số tầng phân chia lu đồ M lần Số phép tính nhân cộng phức cần thực sau M = log2(N) phân tích chia dựa vào hình sau: Nó tơng ứng với tầng sơ đồ, ta cần N phép nhân phức để nhân kết qđa cđa DFT cđa tÇng tríc víi hƯ sè W tơng ứng N phép cộng phức để nhóm kết qủa lại với Tổng cộng ta cần N.log 2(N) phép nhân phức N.log2(N) phép cộng phức để thùc hiƯn toµn bé FFT X(0) W0 W0 X(0) X(4) -1 X(2) X(6) -1 X(1) W2 W1 W4 W2 X(2) W6 W3 X(3) W0 X(5) -1 X(3) X(1) W4 W2 W5 W4 W6 X(4) X(5) X(6) X(7) -1 W6 W7 X(7) Hình 2.4 sơ đồ minh hoạ tính DFT N điểm phân chia theo thời gian sau ba lần phân chia (N=8) Để tiện cho việc tính toán ta quy ớc nút i tầng thứ m đợc ký hiệu Xin(i) Mỗi tầng có N nút có M=log 2(N) tầng Để thuận tiện ta ký hiệu dÃy vào x(n) nh tầng thứ Nh tầng thứ m+1 ta coi dÃy vào x(n) nh lµ d·y Xin(i) nh lµ d·y vµo vµ Xm+1(i) kết tính toán nh dÃy N = ta cã X0(0) = x(0) X4(4) = x(4) X1(1) = x(1) X5(5) = x(5) X2(2) = x(2) X6(6) = x(6) X3(3) = x(3) X7(7) = x(7) X m +1 ( p ) = X m (q ) + WNr + X m ( q) r+ X m +1 ( p ) = X m (q ) + WN N X m (q) = X m (q ) − WNr X m (q) Xm(p) Xm+1(p) Xm(q) Xm+1(q) − WNr WNr + N / = − WNr H×nh 4.5 Sơ đồ tính toán hình Bớm Nhờ cã tÝnh chÊt: WNr + N / = − WNr nên ta tiếp tục rút bớt phép tính nhân số hạng T = WNr X m (q ) X m +1 ( p ) = X m (p ) + T X m +1 ( q) = X m (q ) − T Xm(p) Xm+1(p) = Xm(p)+T Xm(q) Xm+1(p) = Xm(p)-T H×nh 2.6 Lu đồ tính toán hình Bớm đà đợc cải tiến Lu đồ ta cần phép nhân Tóm lại: Với cách sử dụng thuật toán ta thấy giảm đáng kể đợc số phép nhân, thời gian làm phép nhân lớn nhiều thời gian làm phép cộng Thuật toán tính chỗ (Inplace) Các sơ đồ tính FFT trình bày cho ta thấy hiệu tính toán, mà cho ta thấy cách cất giữ số liệu vào x(n) kết qủa X(k) ta thấy tầng hình có N nút vào N nút Nếu nh ta cho nút tơng ứng với biến phức lập chơng trình số ô nhớ cần dùng lớn (tỷ lê Nlog2N) DÃy vào đợc bố trí theo thứ tự phân chia nh hình vẽ ta nhận đợc kết qủa theo thứ tự tăng dần Và sau lần tính tầng ta dùng ô nhớ chứa dÃy vào để chứa dÃy với số ô nhớ phụ trợ thêm trình tính toán Cụ thể hình bớm ta thấy Xm(P) Xm(q) không cần dùng đến nên ta chứa vào kết qủa Xm+1(P) Xm+1(q) tơng ứng Nh nút nằm hàng ngang tầng đợc hiểu chứa ô nhớ chỗ Sau làm nh tất tầng kết qủa cuối dÃy X(k) nhận đợc ô nhớ chứa dÃy vào x(n) thuật toán chỗ Ví dụ: N=8, chØ sè cđa d·y vµo lµ n cã thĨ biĨu diƠn b»ng bits lµ n 2, n1, n0, viƯc lúc đầu dÃy x(n) đợc phân thành hai dÃy chẵn lẻ quy việc phân dÃy x(n) thµnh d·y cã bit n = vµ d·y có bit n = 1(tơng ứng số lẻ) Sau việc phân chia chẵn lẻ hai dÃy lại đợc tiến hành thông qua bit n1 hay b»ng C«ng viƯc cø tiÕp tơc nh vËy víi bit n2 VËy thø tù c¸c bÝt biĨu diễn số dÃy x(n) đợc phân chia nÃy n0, n1, n2 tức ngợc với thứ tự bit biểu diễn số dÃy vào x(n) lúc đầu n2, n1, n0 Do việc phân chia kiểu gọi kiểu đảo bít (bit reserse) n2 n1 x(000) = x(0) n0 x(100) = x(4) x(010) = x(2) X(n2, n1, n0) x(110) = x(6) x(001) = x(1) 1 x(101) = x(5) x(011) = x(3) x(111) = x(7) H×nh 4.2.7 Minh häa viƯc phân chia dÃy vào x(n) theo nguyên tắc đảo bít X(0) ... tích chuỗi Fourier luận văn này,hay ngời ta gọi The Discrete Fourier Transform Chuyên ngành: Vô tuyến tin học truyền thông 67 Luận văn tốt nghiệp Vật lý K42 Biến đổi Fourier rời rạc biến đổi chuỗi... đảo bít Chuyên ngành: Vô tuyến tin học truyền thông 51 Luận văn tốt nghiệp Vật lý K42 X(0) X(1) W0 X(2) W0 X(3) W0 W2 W2 X(4) -1 X(5) -1 X(6) W2 X(7) -1 W2 -1 W1 W3 -1 -1 -1 Lu ®å minh häa tÝnh... File A B - Bộ D: Lu trữ thông tin lấy đa vào nhớ địa 32 bit, D lu trữ truyền tải thông tin bit, 16 bit 32 bit Chuyên ngành: Vô tuyến tin học truyền thông 87 Luận văn tèt nghiƯp VËt lý K42 - Bé S: