Xây dựng bộ điều khiển và nhận dạng tiếng nói phần 8

7 602 8
Xây dựng bộ điều khiển và nhận dạng tiếng nói phần 8

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

Thông tin tài liệu

Xây dựng bộ điều khiển và nhận dạng tiếng nói bằng sử lý tín hiệu số DSP 56002

GVHD:Thầy Lê Tuấn Anh Biến Đổi FourierBIẾN ĐỔI FOURIERTrong chương này sẽ trình bày về phép biến đổi Fourier với các tín hiệu liên tục rời rạc. Đồng thời giới thiệu về thực hiện phép biến đổi nhanh Fourier FFT trên DSP56002 sử dụng giải thuật phân chia theo thời gian DIT (decimation-in-time). Đây là công cụ toán học cơ bản chuẩn cho việc nhận dạng tiếng nóiphần sau. A . BIẾN ĐỔI FOURIER LIÊN TỤC: Cho hàm khả tích tuyệt đối f(t) ta có biến đổi Fourier của nó là :∫∞∞−ω−= dt.e).t(f)w(Ftj Biến đổi Fourier ngược là:∫∞∞−ωωωπ= d.e).(F21)t(ftj Ta ký hiệu biến đổi Fourier Fourier ngược của nó là:)(F)t(f ω↔Các tính chất của biến đổi Fourier Cho cặp biến đổi Fourier: )(F)t(f ω↔ )t(f)(F ↔ω SVTH:Huỳnh Quốc Trâm 7-94 GVHD:Thầy Lê Tuấn Anh Biến Đổi FourierPhép biến đổi Fourier có các tính chất sau:1. Tuyến tính:)(G)(F)t(g)t(f ωβ+ωα↔β+α2. Tính đối xứng:F(t)↔2.)(f. ω−π3. Tính chất dòch chuyển : Nếu tín hiệu trong miền thời gian dòch chuyển một khoảng tothì trong miền tần số tương ứng sẽ dòch đi một hệ số pha:)(Fe)tt(fotjoω↔−ω− Ngược lại sự dòch chuyển trong miền tần số một oω thì trong miền thời gian sẽ nhân với một hệ số pha :)(Fe)t(footjω−ω↔ω4. Tính chất co giãn :ω↔aFa1)at(f5. Tính chất vi phân tích phân :)(F)j(t)t(fnnnωω↔∂∂ωω↔ττ∫∞−j)(Fd)(ft6. Mômen:gọi nmlà mômen cấp n của f(t)∫∞∞−= dt)t(ftmnn, n=0,1,2, .Khi đó :0nnnn)(Fm)j(=ωω∂ω∂=− , n=0,1,2, .7. Tích chập :h(t) là tích chập của f(t) g(t) ,ký hiệu là h(t) =f(t)*g(t) h(t) được tính bởi công thức : ∫∞∞−ττ−τ= d)t(g)(f)t(hBiến đổi Fourier của tích chập :)(G)(F)t(g*)t(f ωω↔)(G)(F21)t(g)t(f ωωπ↔SVTH:Huỳnh Quốc Trâm 7-95 GVHD:Thầy Lê Tuấn Anh Biến Đổi Fourier8. Bất đẳng thức Paserval :phép biến đổi Fourier là một phép biến đổi trực giao nên nó thỏa mãn tính chất bảo toàn năng lượng theo biểu thức Paserval:∫∫∞∞−∞∞−ωωωπ= d)(G)(F21dt)t(g)t(f**Trong trường f(t) = g(t) thì biểu thức trên trở thành:∫∫∞∞−∞∞−ωωπ= d)(F21dt)t(f22Đây là công thức tính năng lượng tín hiệu qua miền tần số .B . BIẾN ĐỔI FOURIER RỜI RẠC: Cho một chuỗi { }Zn]n[x∈ biến đổi Fourier rời rạc của nó được cho bởi công thức:∑∞−∞=ω−ω=nnjje]n[x)e(X(*)Công thức biến đổi Fourier ngược của nó là:∫ππ−ωωωπ= de).e(X21]n[xnjjĐiều kiện để biểu thức (*) hội tụ là chuỗi f[n] phải có tổng giá trò tuyệt đối giới hạn. Giả sử chuỗi f[n] là kết quả lấy mẫu của tín hiệu liên tục f(t) tại những thời điểm nT:X[n] = X[nT]Khi đó mối liên hệ giữa biến đổi Fourier rời rạc XT(ω) biến đổi Fourier liên tục được thể hiện qua biểu thức sau:∑ ∑∞−∞=∞−∞=ω−π−ω==ωn kcTjnTt2kXT1e).nT(x)(XC . PHÂN TÍCH BIẾN ĐỔI NHANH FOURIER: Biến đổi Fourier rời rạc (DFT) được sử dụng rộng rãi trong các ứng dụng của xử lý tín hiệu số để xác đònh thành phần tần số của tín hiệu để thực hiện lọc tín hiệu trong miền tần số. Phương pháp chuyển đổi Fourier nhanh (FFT) là một thuật giải hữu hiệu, tốc độ cao cho việc tính toán trong chuyển đổi Fourier (DFT). Nguyên do FFT đạt được tốc độ tính toán cao như vậy là nhờ cách chia nhỏ tập dữ liệu mẫu ra thành các tập con nhỏ hơn nhờ đó mà loại bỏ được các phép tính toán không cần thiết. Hai phương pháp phổ biến trong việc chia nhỏ tập dữ liệu mẫu là:1. Thuật giải FFT phân chia mười theo thời gian (decimation-in-time)2. Thuật giải FFT phân chia mười theo tần số (decimation-in-frequency)SVTH:Huỳnh Quốc Trâm 7-96 GVHD:Thầy Lê Tuấn Anh Biến Đổi FourierTập lệnh của bộ xử lý DSP56002 cung cấp các ưu điểm của nó cho thuật giải FFT phân tích lấy một phần mười theo thời gian. Thuật giải FFT phân tích lấy một phần mười theo tần số cũng ứng dụng được DSP56002 nhưng tốc độ thực thi thấp hơn. Cho nên ở đây chúng ta chỉ xét thuật giải FFT phân tích lấy một phần mười theo thời gian.I. KHÁI QUÁT FFT:Phép chuyển đổi Fourier rời rạc (DFT) có thể đònh nghóa như sau:X(k)=∑−=1N0knkNW).n(x(7.1)Trong đó : WN = eN/2j π− WnkN= eN/nk2j π−(7.2)Đối với một chuỗi tuần tự x(n) rời rạc thời gian thực hay ảo có chiều dài N, tổng trong phương trình (7.1) cho một X (k) theo tần số có chiều dài N, được coi là hệ số “twiddle”. Với N=2m, trong đó m là một số dương.FFT có thể được tính toán bằng cách phân tích tập dữ liệu mẫu ra thành các tập con nhỏ hơn theo thuật giải FFT chia mười theo thời gian. Điều đó có nghóa là trước tiên phải tách các mẫu trong tổng DFT ra thành hai nhóm, một nhóm thì chứa các mẫu có n là chẵn, còn một nhóm thì chứa các mẫu có n là lẻ. Đặt n=2r đối với các mẫu chẵn, còn n=2r+1 cho các mẫu lẻ, lúc đó DFT có thể được viết lại như sau:X(k) =∑∑−=+−=++1)2/N(ork)1r2(N1)2/N(0rrk2NW).1r2(xW).r2(x =∑∑−=−=++1)2/N(orrk2NkN1)2/N(0rrk2NW).1r2(xWW).r2(x(7.3)Vì N là một số nguyên chẵn 2NW=2/NW= eN/n4j π−, phương trình trên có thể được viết lại:Xm,1(k) = )k(X.W)k(X1m,2kN1m,1 −−+(7.4)Xm,1(k) = X(k)Trong đó:∑−=−=1)2/N(0rrk2N1m,1W).r2(x)k(X∑−=−+=1)2/N(0rrk2N1m,2W.k).1r2(x)k(XVà trong đó mỗi )k(X1m,1 −và )k(X1m,2 −là một DFT N/2 mẫu.Tương tự ta có hai DFT N/2 mẫu có thể được viết lại là:SVTH:Huỳnh Quốc Trâm 7-97 GVHD:Thầy Lê Tuấn Anh Biến Đổi Fourier)k(X.W)k(X)k(X2m,2k2N2m,11m,1 −−−+=)k(X.W)k(X)k(X2m,4k2N2m,31m,2 −−−+=Trong đó :)k(X2m,1 − , )k(X2m,2 − ,)k(X2m,3 − ,)k(X2m,4 − là các DFT 4 mẫu.Quá trình phân tích có thể được tiếp tục cho đến khi có được kết quả là một nhóm N/2 DFT 2-mẫu (radix-2) đối với cổng đầu tiên của phép tính DFT N-mẫu, khi đó tổng số cổng m = log2(N).1. Phương pháp tính con bướm: Phương pháp tính chung cho mỗi nhóm của mỗi cổng của DFT được dựa trên phép Buterfly. Hai giá trò phức trong cùng một cổng được rút ra từ hai giá trò phức ở cổng trước đó thông qua phương trình:]q[X.W]p[X]p[X1j,irN1j,iij −−+=(7.5)]q[X.W]p[X]q[X1j,i2/NrN1j,iij −+−+=(7.6) Trong đó i là số nhóm, j là số cổng, p q là vò trí bộ nhớ RAM dữ liệu dành cho bướm.Giá trò của i, p, q r thay đổi từ cổng này đến cổng khác. Lưu ý rằng các giá trò ]p[Xj,i ]q[Xj,iđược chứa trên cùng vò trí RAM của các giá trò ]p[X1j,i − ]q[X1j,i − tương ứng. Vì vậy phép thế chỗ của FFT Butterfly tối thiểu hóa được tổng vò trí RAM cần thiết cho tính toán DFT.Các hệ số NWcủa Butterfly luôn là mũ r hay r+N/2 vìrNrNj2/NNrN2/NrNWW.eW.WW −===π−+⇒ ]q[X.W]p[X]p[X1j,irN1j,iij −−+=(7.7)]q[X.W]p[X]q[X1j,irN1j,iij −−−=(7.8)Số cổng j thay đổi từ một đến m. Mỗi cổng j cójm2− nhóm mỗi nhóm i trong mỗi cổng j có 1j2−con bướm. Khoảng cách vò trí bộ nhớ giữa p q trong mỗi con bướm được tham chiếu như là một offset nhóm on,1jo2n−=. Sự sai khác giữa các giá trò của hệ số mũ r trong một nhóm i của cổng j được xem là hệ số offset 2n,jm22n−=.Offset nhóm 1jo2n−= j=1,2, .,mHệ số offset jm22n−= j=1,2, .,mTrong tính toán DFT, j được tăng từ 1 đến m, i 2n được giảm từ 1m2− đến 02, còn on được tăng từ 02đến 1m2−.2. Sắp xếp lại thứ tự dữ liệu nhập “Bit-Reversed”: Để thực hiện phép thế chỗ (in-place), thì các thành phần của ngỏ nhập tuần tự x(n) cần phải được sắp xếp lại theo một cách đặc biệt được lưu vào các vò trí ô nhớ RAM liên tiếp. Để minh hoạ kỹ thuật này, hãy xem mỗi thành SVTH:Huỳnh Quốc Trâm 7-98 GVHD:Thầy Lê Tuấn Anh Biến Đổi Fourierphần của x(n) có một đòa chỉ nhò phân tương ứng, mà đòa chỉ của x(0) được gọi là đòa chỉ nền L m bit thấp nhất của L được gán là zero.Ví dụ với n ngỏ nhập tuần tự 8 mẫu: x(0), x(1), x(2), x(3), x(4), x(5), x(6), x(7) Ba bit thấp nhất của các đòa chỉ nhò phân tương ứng là:000,001,010,011,100,101,111 Để sắp xếp lại ngỏ nhập tuần tự, thì m bit thấp nhất của đòa chỉ của mỗi mẫu cần phải được đảo bit “Bit-Reversed”.BẢNG ĐẢO BIT THỨ TỰ NGỎ NHẬP TUẦN TỰNgõ nhập tuần tự có thứ tự bình thường.Các bit thấp nhất của đòa chỉ Đảo các bit thấp nhất của đòa chỉ.Mô tả sự thay thế từ đòa chỉ nền LNgõ nhập tuần tự ở thứ tự đảo bitx(0) 000 000 0 x(0)x(1) 001 100 4 x(4)x(2) 101 010 2 x(2)x(3) 011 110 6 x(6)x(4) 100 001 1 x(1)x(5) 101 101 5 x(5)x(6) 110 011 3 x(3)x(7) 111 111 7 x(7)II .CÁCH THỰC HIỆN FFT: Các chương trình DSP56002 sau được sử dụng để thực hiện FFT trên DSP56002:1. Một macro biên dòch của DSP56002 để tạo ra các hệ số “twiddle”2. Một macro biên dòch DSP56002 để thực hiện đảo bit sắp xếp lại thứ tự của ngỏ nhập tuần tự x(n)3. Ba thủ tục khác nhau để thực hiện FFT trên DSP560024. Thủ tục để tính toán offset nhóm của FFT tính hệ số offset của FFT5. Ba macro biên dòch DSP56002 thực hiện hoàn thành FFT N-mẫu.1 . Tạo ra các hệ số “twiddle”: Hệ số twiddle ở trong phương trình (7.2) có thể được ghi lại:)N/k2sin(j)N/k2cos(eWN/k2jkNπ−π==π− Trong đó :k =0,1,…, (N-1)/2 Macro biên dòch DSP56002 SINCOS. ASM tạo ra các bảng tra đối với hệ số twiddle. Bù của các giá trò phần được tạo ra bởi phương nhớ X, còn phần ảo được chứa trong bộ nhớ Y. Mỗi bảng chứa một nửa chu kỳ sóng sin cos. SVTH:Huỳnh Quốc Trâm 7-99 GVHD:Thầy Lê Tuấn Anh Biến Đổi Fourier Vì các giá trò sin cosin có tầm từ -1 đến +1 bộ xử lý DSP56002 có tầm phân số là từ -1 đến 1-232(nhỏ hơn 1) nên cần phải chọn bù giá trò cos(0) để tránh trường hợp cos(0)= +1.2 . Lưu tín hiệu nhập tuần tự x(n) theo thứ tự đảo bit (Bit-Reversed Order): Đơn vò đònh đòa chỉ tổng quát của DSP56002 (AGU) có một chế độ đònh đòa chỉ tự động thực hiện đảo bit. Khi sử dụng chế độ đònh đòa chỉ này trong cách tính FFT, thì DSP56002 sẽ tự động lựa chọn thành phần nhập (xuất) tuần tự thích hợp. Thuật giải đảo bit có thể được sử dụng để thực hiện một sự đảo m bit thấp nhất của đòa chỉ bộ nhớ. Điều này có thể thực hiện được bằng cách cộng thêm một offset N=1m2− vào giá trò đòa chỉ cứ thế tiếp tục với các bit còn lại theo hướng đảo.3. Phương pháp tính toán bướm: Các phương trình (7.7) (7.8) được dùng để tính toán bướm. Nếu các phần thực ảo của ]p[Xj,i,]p[X1j,i −,]q[Xj,i,]q[X1j,i − rNWlà:]p[Xj,i = ar’+j.ai’]p[X1j,i − = ar+j.ai]q[Xj,i = br’+j.bi’]q[X1j,i − =br+j.birNW=wr+j.wi Vì hệ số twiddle được dùng trong các phương trình (7.7) (7.8) có dạng N/rjeπ− 2, có biên độ nhỏ hơn một, nên biên độ củaar’ = ar + wr * br – wi * biai’ = ai + wi * br + wr * bibr’ = ar – wr * br + wi * bi = 2 * ar - ar’bi’= ai – wi * br – wr * bi = 2 * ai - ai’ ở đây sau khi tính bướm, ar br’ được chứa vào bộ nhớ X; ai bi’ đươc chứa vào bộ nhớ Y.SVTH:Huỳnh Quốc Trâm 7-100 . * br – wr * bi = 2 * ai - ai’ Và ở đây sau khi tính bướm, ar và br’ được chứa vào bộ nhớ X; ai và bi’ đươc chứa vào bộ nhớ Y.SVTH:Huỳnh Quốc Trâm . (decimation-in-time). Đây là công cụ toán học cơ bản chuẩn bò cho việc nhận dạng tiếng nói ở phần sau. A . BIẾN ĐỔI FOURIER LIÊN TỤC: Cho hàm khả tích tuyệt

Ngày đăng: 16/11/2012, 09:21

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan