Xử lý số tín hiệu - Chương 8: Biến đổi DFT và FFT

Khi đã thực hiện xong việc tính toán cho 1 tầng thì ta không cần lưu kết quả của tầng trước nữa. Do đó, tổng cộng ta chỉ cần 2N thanh ghi để lưu giá trị phức của ngõ vào, kết quả cũng như toàn bộ quá trình tính toán -> có thể thực hiện tính toán tại chỗ.  Giải thuật dựa vào sự chia nhỏ chuỗi thời gian rời rạc x(n) được gọi là giải thuật chia nhỏ trên miền thời gian (decimation-in-time).  Cho phép ghép nối nhiều khối FFT N điểm để tính FFT nhiều điểm hơn.

pdf34 trang | Chia sẻ: nguyenlam99 | Lượt xem: 3407 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Xử lý số tín hiệu - Chương 8: Biến đổi DFT và FFT, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 8: Biến đổi DFT và FFT Xử lý số tín hiệu 1. Lấy mẫu tần số: Biến đổi Fourier rời rạc (DFT)  Công thức DTFT cho chuỗi thời gian rời rạc x(n):  Nhận xét:  X(ω) là hàm liên tục -> không thể thực hiện trên phần cứng các phép biến đổi tín hiệu trong miền tần số.  Cần rời rạc phổ của tín hiệu trong miền tần số hay lấy mẫu tần số.  Lấy mẫu bao nhiêu là “đủ” để có thể khôi phục lại được tín hiệu x(n) hay X(ω) ban đầu?     n njenxX  )()( Discrete Time Fourier Transform 1. Lấy mẫu tần số: Biến đổi Fourier rời rạc (DFT) (tt)  Do phổ X(ω) lặp lại với chu kỳ 2, ta chỉ cần lấy mẫu X(ω) trong khoảng [0,2].  Giả sử trong khoảng tần số này ta lấy N mẫu cách đều nhau ω=2/N thì các mẫu này được cho bởi:  Đổi biến n=m-lN với m=0,1,,N-1, l=- ∞,,∞ 1,...,1,0 ,)( 2 2           Nkenxk N X n kn N j   1,...,1,0 ,)( 2 1 0 2 )(                   NkelNmxk N X N m km N j mx l p      1. Lấy mẫu tần số: Biến đổi Fourier rời rạc (DFT) (tt)  có thể tính được từ x(n) bằng cách lặp lại x(n) sau mỗi N mẫu.  Giả sử x(n) dài L mẫu, ta có 2 trường hợp:     lp lNnxnx )()( 1. Lấy mẫu tần số: Biến đổi Fourier rời rạc (DFT) (tt) Nhận xét:  Nếu N≥L: ta có thể khôi phục hoàn toàn x(n) từ xp(n) bằng cách chọn  Nếu N<L: ta không thể khôi phục x(n) từ xp(n). 10 ),()(  Nnnxnx p 1. Lấy mẫu tần số: Biến đổi Fourier rời rạc (DFT) (tt)  Cách khôi phục lại x(n) từ X(k): do xp(n) tuần hoàn nên có thể được biểu diễn bằng khai triển chuỗi Fourier: Trong đó:  So sánh ck với X(2k/N):  Suy ra: 10 ,)( 1 0 /2    Nnecnx N k Nknj kp  10 ,)( 1 1 0 /2      Nkenx N c N k Nknj pk  10 ,)( 2 1 0 2           Nkenxk N X N n kn N j p   10 , 21        Nkk N X N ck  1. Lấy mẫu tần số: Biến đổi Fourier rời rạc (DFT) (tt)  Thế vào công thức của khai triển chuỗi Fourier ta suy ra cách khôi phục x(n) từ X(ω):  Kết luận: Phổ của tín hiệu rời rạc bất kỳ có chiều dài L có thể được khôi phục chính xác từ các mẫu của nó ở các tần số ωk=2k/N nếu N ≥L. 10 , 21 )( 1 0 /2           Nnek N X N nx N k Nknj  2. Biến đổi DFT  Do X(k) được lấy từ X(ω) bằng cách lấy mẫu ở N tần số cách đều nhau nên biến đổi giữa X(k) và x(n) được gọi là biến đổi Fourier rời rạc (DFT).  Công thức DFT N điểm của x(n):  IDFT  Tính chất của biến đổi DFT: (đọc thêm) 1,...,1,0 ,)()( 1 0 /2     NkenxkX N n Nknj    1,...,1,0 , 1 )( 1 0 /2     NnekX N nx N k Nknj  2. Biến đổi DFT (tt)  Ảnh hưởng của chiều dài N(số điểm DFT): Giả sử x(n) có chiều dài L, ta thực hiện DFT N điểm cho tín hiệu này (N≥L). Do x(n) chỉ có L điểm, ta cần thêm vào N-L zero. ⇒ Phổ X(k) thay đổi như thế nào khi tăng N? Ví dụ: Tìm biến đổi DFT N điểm của x(n) cho bởi:      khác 0 101 )( n Ln nx 2. Biến đổi DFT (tt) Giải:  Biến đổi Fourier của tín hiệu x(n): )2/sin( )2/sin( )( 2/)1( 1 1     L eeX Lj L n nj     2. Biến đổi DFT (tt)  Biến đổi DFT N điểm cho x(n)  Nếu N=L, X(k) trở thành:       1,...,2,10 0 )( Lk kL kX )/sin( )/sin( )( /)1( 1 1 /2 Nk NkL eekX NLkj L n Nknj       2. Biến đổi DFT (tt)  Tăng N:  N=50.  N=100. ⇒ Tăng N sẽ giúp ta có được biểu diễn tốt hơn của X(ω). 2. Biến đổi DFT (tt)  Phân tích phổ tần số của tín hiệu sử dụng biến đổi DFT – Độ phân giải tần số.  Giả sử ta có một tín hiệu rời rạc x(n) là kết quả của quá trình lấy mẫu x(t) ở tần số lấy mẫu fs.  Giả sử x(n) và fs thoả định lý lấy mẫu ⇒ tần số cao nhất của x(n) là fs/2.  Chọn L mẫu trong x(n) (0≤n≤L-1) để phân tích DFT. ⇒ Việc giới hạn chiều dài x(n) tương đương với nhân x(n) với cửa sổ chữ nhật chiều dài L: Với )()()( nwnxnx       khác 0 101 )( n Ln nw 2. Biến đổi DFT (tt)  Giả sử x(n)=cos(ω0n), phổ của x’(n) là Với  Nhận xét:  Theo lý thuyết, phổ X(ω) là 2 xung diract ở ±ω0.  Phổ của X’(ω) tập trung ở ±ω0 nhưng rải trong 1 khoảng tần số chứ ko tập trung tại 1 tần số như X(ω).  Độ phân giải tần số hay khoảng cách tối thiểu của 2 tần số nằm gần nhau có thể phân biệt đc trên phổ DFT chính bằng ½ độ rộng của cửa sổ chữ nhật 2/L hay fs/L.  )()( 2 1 )( 00   WWX 2/)1( )2/sin( )2/sin( )(  Lje L W     2. Biến đổi DFT (tt) VD: Tín hiệu gồm 2 thành phần tần số được phân tích DFT với cửa sổ có chiều dài 64. ⇒ Độ phân giải tần số: /32  Khi khoảng cách giữa 2 tần số thu hẹp nhỏ hơn độ phân giải tần số của cửa sổ chữ nhật thì trên phổ DFT không phân biệt được 2 tần số này. 3. Biến đổi FFT  Nhu cầu: cần một giải thuật thực hiện DFT hiệu quả về mặt tính toán và đơn giản, dễ ứng dụng trên phần cứng số.  Công thức DFT: đặt WN=e -j2/N.  Để tính N điểm X(k), ta cần thực hiện:  N2 phép nhân phức.  N(N-1) phép cộng phức. ⇒ Chi phí tính toán lớn! 1,...,1,0 ,)()( 1 0    NkWnxkX N n kn N 3. Biến đổi FFT (tt) Giải thuật FFT Radix-2:  Giả sử N=2v, DFT N điểm của x(n) có thể được tính theo phương pháp chia nhỏ khối tính DFT thành nhiều khâu như sau:  F1(k), F2(k) là DFT N/2 điểm của chuỗi x(2m) và x(2m+1)     odd even 1 0 )()( n kn N n kn N N n kn N x(n)Wx(n)WWnxkX       12/ 0 )12(12/ 0 2 )12()2( N m mk N N m mk N WmxWmx      )( 12/ 0 2/ )( 12/ 0 2/ 21 )12()2( kF N m km N k N kF N m km N WmxWWmx       3. Biến đổi FFT (tt)  So sánh chi phí tính toán:  DFT N điểm: N2 phép nhân phức.  2 DFT N/2 điểm: N2/2+N/2 phép nhân phức. Khi N lớn: độ lợi tính toán: ⇒ Khi chia nhỏ khối DFT N điểm thành 2 khối DFT N/2 điểm, ta giảm được ½ chi phí tính toán! ⇒ Càng chia nhỏ càng tiết kiệm được chi phí tính toán! 2 122lim 2 2    N NN N 3. Biến đổi FFT (tt) Cách thực hiện FFT: giả sử ta cần tính DFT 8 điểm: 8-point DFT x(0) x(2) x(4) x(6) x(1) x(3) x(5) x(7) X(0) X(1) X(2) X(3) X(4) X(5) X(6) X(7) 3. Biến đổi FFT (tt) Chia khối DFT 8 điểm thành 2 khối DFT 4 điểm: 4-point DFT x(0) x(2) x(4) x(6) x(1) x(3) x(5) x(7) X(0) X(1) X(2) X(3) X(4) X(5) X(6) X(7) 4-point DFT F1(0) F1(1) F1(2) F1(3) F2(0) F2(1) F2(2) F2(3) W80 W81 W82 W83 W85 W86 W87 W84 3. Biến đổi FFT (tt) Chia khối DFT 4 điểm thành 2 khối DFT 2 điểm: 2-point DFT x(0) x(4) x(2) x(6) x(1) x(5) x(3) x(7) X(0) X(1) X(2) X(3) X(4) X(5) X(6) X(7) W80 W81 W82 W83 W85 W86 W87 W84 2-point DFT 2-point DFT 2-point DFT W80 W82 W84 W86 W82 W84 W86 W80 3. Biến đổi FFT (tt) Tính các khối DFT 2 điểm x(0) x(4) x(2) x(6) x(1) x(5) x(3) x(7) X(0) X(1) X(2) X(3) X(4) X(5) X(6) X(7) W80 W81 W82 W83 W85 W86 W87 W84 W80 W82 W84 W86 W82 W84 W86 W80 W80 W84 W80 W84 W80 W84 W80 W84 3. Biến đổi FFT (tt) Do WN r+N/2=WN rWN N/2=-WN r, ta rút gọn được: x(0) x(4) x(2) x(6) x(1) x(5) x(3) x(7) X(0) X(1) X(2) X(3) X(4) X(5) X(6) X(7) -1 -1 -1 -1 W80 W82 W82 W80 W80 W80 W80 W80 W80 W81 W82 W83 -1 -1 -1 -1 -1 -1 -1 -1 3. Biến đổi FFT (tt) Nhận xét:  Ở mỗi tầng, phép tính toán cơ bản được cho bởi sơ đồ bướm:  Mỗi sơ đồ bướm gồm 1 phép nhân phức và 2 phép cộng phức. Với N=2v, ta có log2N=v tầng, mỗi tầng có N/2 sơ đồ bướm. Như vậy chi phí tính toán là:  (N/2)log2N phép nhân phức. (Tính trực tiếp cần N 2)  Nlog2N phép cộng phức. (Tính trực tiếp cần N(N-1)) a b A=a+WNrb B=a-WNrb WNr -1 3. Biến đổi FFT (tt) 3. Biến đổi FFT (tt) Nhận xét (tt):  Khi đã thực hiện xong việc tính toán cho 1 tầng thì ta không cần lưu kết quả của tầng trước nữa. Do đó, tổng cộng ta chỉ cần 2N thanh ghi để lưu giá trị phức của ngõ vào, kết quả cũng như toàn bộ quá trình tính toán -> có thể thực hiện tính toán tại chỗ.  Giải thuật dựa vào sự chia nhỏ chuỗi thời gian rời rạc x(n) được gọi là giải thuật chia nhỏ trên miền thời gian (decimation-in-time).  Cho phép ghép nối nhiều khối FFT N điểm để tính FFT nhiều điểm hơn. 27 0 4 1w  1 4 w j  1 11 1 0 1x  2 3x  1 2x  3 4x  0 X 1 X 2 X 3 X 4 -2 6 -2 10 -2+2j -2 -2-2j 3. Biến đổi FFT (tt)  VD: Tính DFT 4 điểm x(n)=[1,2,3,4] 3. Biến đổi FFT (tt) Giải thuật chia nhỏ trên miền tần số (Decimation-in- frequency) Chia X(k)thành các mẫu chẵn và lẻ thì:       1 2/ 12/ 0 )()()( N Nn kn N N n kn N WnxWnxkX       12/ 0 2/12/ 0 )2/()( N n kn N kN N N n kn N WNnxWWnx      12/ 0 )2/()1()( N n kn N k WNnxnx   1-N/20,1,...,k ,)2/()()2( 12/ 0 2/ )(    N n kn N ng WNnxnxkX      1-N/20,1,...,k ,)2/()()12( 12/ 0 2/ )(              N n kn N n N nh WWNnxnxkX    3. Biến đổi FFT (tt) Sơ đồ thực hiện: 3. Biến đổi FFT (tt) Chia đôi 3. Biến đổi FFT (tt) Chia đôi lần nữa! 3. Biến đổi FFT (tt)  VD: Tính DFT 4 điểm x(n)=[1,2,3,4] 0 1x  2 3x  1 2x  3 4x  0 X 1 X 2 X 3 X 1 1 1 1 0 4 w 1 4 w 4 6 2 2 j 10 2 2 2 j  2 2 j  4. Biến đổi IFFT  Tính IFFT bằng giải thuật FFT 1 0 1 1 0 0 1 1 * * ( ) ( ) ( ) ( ) ( ) ( ) N kn N n N N kn kn N N k k X k x n w x n X k w x n X k w N N              X* X*DFT 1/NX(k) X *(k) x(n) 4. Biến đổi IFFT  VD: Tính IDFT 4 điểm X(k)=[10,-2+2j,-2,-2-2j] X*(k)=[10,-2-2j,-2,-2+2j] 1 1 1 1 0 4 w 1 4 w 10 -2 -2-2j -2+2j 8 -4 12 -4 4 12 8 16 1 x(0) 3 x(2) 2 x(1) 4 x(3) 1/4 1/4 1/4 1/4 4 2 1( ) ( )n n n nw j w   

Các file đính kèm theo tài liệu này:

  • pdfdsp_chuong_8_bien_doi_dft_va_fft_053.pdf