Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học đồ án tốt nghiệp đại học nghiên cứu thuật toán fft và xây dựng ứng dụng phân tíc...

Tài liệu đồ án tốt nghiệp đại học nghiên cứu thuật toán fft và xây dựng ứng dụng phân tích phổ.

.DOC
106
119
73

Mô tả:

Mục Lục Mở đầu..........................................................................................3 Chương 1: Tổng quan về Tín hiệu số và hệ thống xử lý tín hiệu số............................................................................................5 1.1. Tín hiệu và hệ thống xử lý tín hiệu số.............................................5 1.1.1. Tín hiệu rời rạc theo thời gian:....................................................5 1.1.2. Các hệ thống xử lý tín hiệu số...................................................14 1.2. Lấy mẫu và khôi phục tín hiệu......................................................19 1.2.1. Lấy mẫu.....................................................................................20 1.2.2. Khôi phục tín hiệu.....................................................................22 1.3. Xử lý tín hiệu trong miền thời gian và miền tần số....................25 1.3.1. Xử lý tín hiệu trong miền thời gian...........................................25 1.3.2. Xử lý tín hiệu trong miền tần số................................................32 Chương 2: Biến đổi Fourier rời rạc..........................................44 2.1. Lấy mẫu trong miền tần số: Biến đổi Fourier rời rạc.................44 2.1.1. Lấy mẫu trong miền tần số và khôi phục lại tín hiệu rời rạc theo thời gian...............................................................................................44 2.1.2. Biến đổi Fourier rời rạc(DFT)...................................................48 2.2. Phân tích tín hiệu trong miền tần số bằng DFT..........................49 2.3. Trình ứng dụng của DFT...............................................................53 2.3.1. Phân tích phổ của tín hiệu.........................................................53 2.3.2. Đáp ứng của hệ thống trong miền tần số...................................54 2.3.3. Công thức tổng chập trong miền tần số.....................................56 Chương 3: thuật toán biến đổi nhanh Fourier( FFT ) - cấu trúc file wave...............................................................................57 3.1. Tính toán nhanh DFT – các thuật toán FFT...............................57 3.1.1. Phương pháp tính trực tiếp của DFT.........................................57 3.1.2. Phương pháp chia nhỏ để tính DFT..........................................58 3.1.3. Thuật toán FFT cơ số 2 phân chia theo thời gian......................64 3.1.4.Ví dụ về tính toán fft cơ số hai với n=16...................................71 3.2. Cấu trúc file Wave..........................................................................78 3.2.1. Multimedia Windows................................................................78 3.2.2. Cấu trúc Wave file....................................................................80 CHƯƠNG 4: Thiết kế và xây dựng chương trình hiển thị phổ tín hiệu file wave.........................................................................87 4.1. lưu đồ thuật giải và cấu trúc dữ liệu.............................................87 4.1.1. Sơ đồ khối.................................................................................87 4.1.2. Cấu trúc dữ liệu và định nghĩa..................................................88 4.2. Giao diện và thuyết minh chương trình.......................................91 Kết luận.......................................................................................94 Tài liệu tham khảo.....................................................................96 2 Mở đầu Cuộc cách mạng khoa học và công nghệ đang diễn ra một cách sôi động chưa từng thấy như hiện nay trên toàn thế giới thúc đẩy loài người nhanh chóng bước sang một kỷ nguyên mới. Đó là kỷ nguyên của nền văn minh dựa trên cơ sở công nghiệp trí tuệ. Mở đầu cho cho cuộc cách mạng khoa học và công nghệ lần này có thể được đánh dấu bằng sự ra đời và phát triển của máy tính cũng như các phương tiện xử lý thông tin khác, đặc biệt là các hệ thống sử lý song song với tốc độ ngày càng cao. Cùng với sự phát triển ngày càng nhanh chóng các công cụ sử lý tín hiệu số hiện đại. Đặc biệt các phương pháp sử lý số này phải áp dụng có hiệu quả trong các lĩnh vực thông tin liên lạc,phát thanh truyền hình,tự động điều khiển và các nghành công nghệ khác. ở bất cứ nơi đâu bạn cũng sẽ gặp rất nhiều những vật dụng trong cuộc sống được áp dụng kỹ thuật số, từ những vật dụng rất đơn giản như những món đồ chơi trẻ em đến các vật dụng loại Hi – End đắt tiền trong gia đình, ứng dụng trong truyền thông, các thiết bị chuyên dùng trong truyền thông, phát thanh, truyền hình, các thiết bị của ngành khoa học, y tế, giáo dục… đều được các nhà sản xuất tận dụng tối đa những ưu thế của công nghệ số đưa vào trong sản phẩm của mình. Những chiếc máy ảnh kỹ thuật số, máy tính số … với tốc độ phân giải cao nhưng kích thước chỉ cỡ một bao thuốc lá, thậm chí là mỏng và nhỏ hơn, rất thời trang và rất nhẹ đang dần thay thế những chiếc máy ảnh vận hành bằng cơ khí cổ điển rất thịnh hành ở những năm cuối thế kỷ trước mà có lẽ bây giờ khi đi du lịch, mang theo nó là một vấn đề cần phải cân nhắc, xem xét. Còn về các dịch vụ viễn thông đa phương tiện, chắc chúng ta còn nhớ đến những chiếc máy điện thoại để bàn quay tay, muốn thực hiện cuộc gọi thì phải đăng ký với tổng đài, thì bây giờ tổng đài số đã được thay thế, các cuộc điện thoại 3 dùng cách gọi trực tiếp quay số IDD hết sức dễ dàng, tiện dụng. Sự phát triển bùng nổ của công nghệ thông tin làm cho các dịch vụ Internet trở nên gần gũi và giúp cho con người trên toàn thế giới có thể trao đổi và cập nhật thông tin trực tuyến. Đó chính là những thành quả thấy rất rõ của việc áp dụng kỹ thuật số mà trong đó phân tích và xử lý tín hiệu số là vấn đề cốt lõi, căn bản của hệ thống số. Đề tài: “ Nghiên cứu thuật toán FFT và xây dựng ứng dụng phân tích phổ của tín hiệu” sẽ làm rõ hơn về vấn đề này. Trong phạm vi của đề tài, em đã giải quyết được một số vấn đề sau:  Chương I: Tổng quan về tín hiệu và hệ thống xử lý tín hiệu số  Chương II: Biến đổi tín hiệu Fourier rời rạc  Chương III: Thuật toán biến đổi nhanh Fourier (FFT) và Cấu trúc file Wave.  Chương IV: Thiết kế và xây dựng chương trình hiển thị phổ tín hiệu file Wave. Qua thời gian nghiên cứu, tìm hiểu ứng dụng. Đặc biệt được sự giúp đỡ tận tình của Thầy giáo Tiến sỹ Dương Tử Cường, đề tài của em đã được hoàn thành. Tuy vậy, không thể không có những thiếu sót vì đây là một vấn đề còn mới, ít tài liệu đề cập đến hoặc có đề cập thì cũng chỉ sơ sài chung chung, khó có thể thuật toán hoá, chương trình hoá. Em rất mong được sự đóng góp chân thành của các thầy cô giáo và những người quan tâm đến vấn đề này để đề tài của em được hoàn thiện hơn. Em xin chân thành cảm ơn sự giúp đỡ nhiệt tình của bạn bè, thầy cô giáo đặc biệt là Thầy giáo TS Dương Tử Cường đã hướng dẫn và quan sát quá trình thực hiện đề tài của em. 4 Chương 1: Tổng quan về Tín hiệu và hệ thống xử lý tín hiệu số 1.1. Tín hiệu và hệ thống xử lý tín hiệu số. 1.1.1. Tín hiệu rời rạc theo thời gian: Định nghĩa tín hiệu: Tín hiệu là biểu diễn vật lý của thông tin. Về mặt toán học, tín hiệu được biểu diễn bởi hàm của một hoặc nhiều biến số độc lập. Nếu biến độc lập của sự biểu diễn toán học của một tín hiệu là liên tục thì tín hiệu đó được gọi là tín hiệu liên tục. Còn nếu tín hiệu được biểu diễn bởi hàm của các biến rời rạc, thì tín hiệu đó được gọi là tín hiệu rời rạc( rời rạc ở đây được hiểu là rời rạc theo biến số). Hàm của tín hiệu rời rạc là rời rạc thì tín hiệu đó được gọi là tín hiệu số. Tín hiệu rời rạc theo thời gian là một chuỗi số có chỉ số( được định chỉ số) các số thực hoặc số phức. Như vậy tín hiệu rời rạc theo thời gian là hàm của biến độc lập có kiểu số nguyên n( biến nguyên n), ta kí hiệu là x(n). Một điều quan trọng cần phải lưu ý là tín hiệu rời rạc theo thời gian không được định nghĩa ở các thời điểm nằm giữa hai mẫu liên tiếp nhau. Cũng sẽ không đúng nếu cho rằng x(n) sẽ có giá trị bằng 0 nếu giá trị của x(n) không phải là số nguyên. Rất đơn giản, tín hiệu x(n) chỉ được định nghĩa đối với các giá trị nguyên của n. Do vậy một tín hiệu có giá trị thực x(n) sẽ được biểu diễn bằng đồ thị ở dạng giản đồ lollipop như được trình bày trong hình 1.1. 5 3 2.5 2 1.8 1.8 1.3 0.5 4 -3 -5 -4 -2 -1 0 1 - 1.8 2 .... n 3 - 1.3 Hình 1.1. Biểu diễn đồ thị của tín hiệu rời rạc theo thời gian Trong nhiều bài toán cũng như trong nhiều ứng dụng, để thuận lợi ta xem x(n) như là một vector. Các giá trị từ x(0) đến x(N-1) của chuỗi thường được khảo sát như là các phần tử của một vector cột như sau: x= [x(0), x(1), … , x(N-1)]T. Trong khi nghiên cứu, chúng ta giả sử rằng tín hiệu rời rạc theo thời gian được định nghĩa đối với giá trị nguyên của n thuộc khoảng - ∞ < n < + ∞. Theo qui ước chúng ta cũng sẽ xem x(n) như là “ mẫu thứ n” của tín hiệu, thậm chí nếu tín hiệu này vốn đã là tín hiệu rời rạc( không phải là kết quả của quá trình lấy mẫu tín hiệu rời rạc). Nếu cho rằng x(n) là tín hiệu nhận được do quá trình lấy mẫu của tín hiệu tương tự xa(t) thì x(n) = x(nT), trong đó T là chu kỳ lấy mẫu( thời gian giữa hai lần lấy mẫu liên tiếp nhau). Chú ý: Chúng ta sẽ sử dụng x(n) như là cách viết đơn giản của x(nT) hoặc hiểu là với T = 1. Thông thường ta nhận được các tín hiệu rời rạc theo thời gian từ việc lấy mẫu một tín hiệu thời gian liên tục( continuous-time signal) kết hợp với bộ biến đổi tương tự – số ADC( analog to digital converter). Thí dụ như tín hiệu liên tục xa(t) được lấy mẫu với tần số lấy mẫu là fs = 1/Ts( nghĩa là 6 trong 1 giây ta có fs mẫu) để tạo ra tín hiệu được lấy mẫu ( rời rạc theo thời gian ) x(n), x(n) quan hệ với xa(t) như sau: x(n) = xa(nTs). Tuy nhiên không phải tất cả các tín hiệu rời rạc theo thời gian đều có được theo cách trên. Một số tín hiệu được khảo sát là các chuỗi xuất hiện một cách tự nhiên rời rạc theo thời gian mà không cần đến bộ biến đổi tương tự - số để biến đổi tín hiệu tương tự thành tín hiệu rời rạc theo thời gian. Ví dụ cho tín hiệu loại này như giá cả hàng ngày trên thị trường cổ phiếu, thống kê dân số, kiểm kê kho hàng và các số vệt đen ở bề mặt của mặt trời.v.v… Ngoài phương pháp sử dụng đồ thị như mô tả trên hình 1.1 còn có một số phương pháp khác tương đối thuận tiện được dùng để biểu diễn tín hiệu( hoặc dãy) rời rạc theo thời gian. Các phương pháp này bao gồm: a. Biểu diễn bằng hàm Ví dụ: 1, với n = 1, 4 3, với n = 2 0, với các giá trị n khác x(n) = (1.1.1) b. Biểu diễn bằng bảng Ví dụ: n ... -2 -1 0 1 2 3 4 5 6 ... 0 0 0 1 3 0 1 0 0 ... x(n) … c. Biểu diễn qua dãy số Ví dụ: 7 Tín hiệu hoặc dãy vô hạn được mô tả qua ví dụ dưới đây: x(n) = {... 0, 0, 0, 1, 3, 0, 1, 0, 0, ...} Trong đó kí hiệu (1.1.2) dùng để chỉ thời điểm gốc( n = 0). Dãy x(n) có giá trị bằng 0 với n < 0 được biểu diễn bằng cách sau: x(n) = {0, 1, 3, 0, 1, 0, 0, ...} (1.1.3) ở đây thời điểm gốc đối với dãy x(n) với giá trị bằng 0 nếu n < 0 được hiểu như là điểm bên trái nhất của dãy. Dãy hữu hạn có thể được biểu diễn bằng cách: x(n) = {3, -1, -2, 5, 0, 1, 0, 9} (1.1.4) Nếu dãy hữu hạn thoả mãn điều kiện x(n) = 0 với n < 0 thì dãy có thể được biểu diễn theo cách như sau: x(n) = {0, 1, 3, 0, 1} (1.1.5) Tín hiệu trong (1.1.4) có chứa 8 giá trị mẫu hoặc tám điểm (theo thời gian) và được gọi là dãy có tám điểm. Cũng tương tự như vậy, dãy biểu diễn bởi (1.1.5) là dãy 5 điểm. 1. Tín hiệu phức Một cách tổng quát, tín hiệu rời rạc theo thời gian có thể có giá trị phức. Thật vậy, trong một số ứng dụng quan trong như thông tin số, các tín hiệu phức phát sinh một cách tự nhiên. Tín hiệu phức có thể được biểu diễn bằng các phần thực ( real part ) và phần ảo( imaginary part). z(n) = a(n) + jb(n) = Re{z(n)} + jIm{z(n)} hoặc được biểu diễn ở dạng cực( polar form) theo biên độ( amplitude) và pha( phase) z(n) = │z(n)│exp[jarg{z(n)}] Biên độ có thể được suy ra từ các phần thực và phần ảo như sau: │z(n)│2 = Re2{z(n)} + Im2{z(n)} Trong khi đó pha được tính theo công thức arg{z(n)} = tan-1Im{z(n)}/Re{z(n)} 8 Nếu z(n) là một chuỗi phức, liên hợp phức( complex conjugate) ký hiệu là z*(n) được thành lập bằng cách thay đổi dấu trong phần ảo của z(n) z*(n) = Re{z(n)} - jIm{z(n)} = │z(n)│exp[- jarg{z(n)}] 2. Một vài tín hiệu rời rạc cơ bản. Mặc dù hầu hết các tín hiệu mang thông tin trong thực tế là các hàm phức tạp theo thời gian( complicated functions of time ), nhưng dưới đây là một số tín hiệu rời rạc theo thời gian tuy đơn gian nhưng rất quan trọng. Nó rất hay xuất hiện và thường được sử dụng trong lý thuyết về tín hiệu và hệ thống rời rạc theo thời gian để biểu diễn và mô tả các tín hiệu phức tạp hơn. Các tín hiệu cơ bản này là: xung đơn vị( unit sample), nấc đơn vị( unit step), tín hiệu dốc đơn vị và hàm mũ( exponential) a. Dãy mẫu đơn vị Tín hiệu này còn được gọi là dãy xung đơn vị và được định nghĩa như sau: (n) = 1, với n = 0 0, với n ≠ 0 (1.1.6) Như vậy, dãy mẫu đơn vị là tín hiệu chỉ có một giá trị duy nhất bằng 1 đơn vị tại thời điểm n = 0 trong khi tất cả các giá trị còn lại đều bằng 0. Khác với xung đơn vị (n) của tín hiệu tương tự, dãy mẫu đơn vị về mặt toán học không vướng và phức tạp như tín hiệu này. Tín hiệu dãy xung đơn vị đóng một vai trò hết sức quan trọng và được mô tả bằng đồ thị như trên hình 1.2. 9 (n) 1 2 3 …. n -3 -2 -1 0 1 Hình 1.2. Biểu diễn đồ thị của tín hiệu mẫu đơn vị b. Dãy nhảy bậc đơn vị Dãy này còn được gọi là tín hiệu nhảy bậc đơn vị hay hàm bậc thang và được định nghĩa qua hàm sau: 1, với n ≥ 0 0, với n < 0 (n) = (1.1.7) Giữa tín hiệu nhẩy bậc đơn vị và tín hiệu xung đơn vị có mối quan hệ: n u ( n )   ( n  k ) k 0 Tương tự, một xung đơn vị có thể được viết thành sai biệt của hai tín hiệu nấc đơn vị: (n) = u(n) – u(n - 1) Tín hiệu nhảy bậc đơn vị được mô tả trên hình 1.3. u(n) 1 2 3 … n -3 -2 -1 0 1 Hình 1.3. Biểu diễn bằng đồ thị tín hiệu nhẩy bậc đơn vị c. Tín hiệu dốc đơn vị 10 Tín hiệu này được ký hiệu bằng ur(n) và được định nghĩa qua công thức: ur(n) = n, với n ≥ 0 0, với n < 0 (1.1.8) Tín hiệu này được mô tả trên hình 1.4. ur(n) 2 3 … n -3 -2 -1 0 1 Hình 1.4. Biểu diễn bằng đồ thị tín hiệu dốc đơn vị d. Hàm mũ Chuỗi hàm mũ được định nghĩa bởi x(n) = an trong đó a là số thực hoặc số phức. Chuỗi hàm mũ có tầm quan trọng đặc biệt khi a e j0 với  0 là một số thực. Trong trường hợp này, x(n) là một hàm mũ phức: e j0 cos(n 0 )  j sin( n 0 ) . Nghiên cứu các hàm mũ phức rất hữu ích trong việc phân rã Fourier( Fourier decomposition) các tín hiệu. 3. Phân loại tín hiệu rời rạc Các phương pháp toán học được dùng trong việc phân tích tín hiệu và hệ thống rời rạc theo thời gian hoàn toàn phụ thuộc vào đặc thù của tín 11 hiệu. Dưới đây chúng ta sẽ phân loại các tín hiệu rời rạc theo thời gian tuỳ theo các đặc thù này. a. Tín hiệu năng lượng và tín hiệu công suất Năng lượng E của tín hiệu x(n) được định nghĩa bằng công thức:  E   | x ( n) | 2 n  (1.1.9) Trong đó |x(n)| là modul của tín hiệu. Với cách định nghĩa này thì công thức (1.1.9) có thể được sử dụng để tính năng lượng của tín hiệu phức cũng như tín hiệu thực. Năng lượng của tín hiệu có thể là hữu hạn hay vô hạn. Nếu E là hữu hạn (0 - Xem thêm -

Tài liệu liên quan