Ứng dụng của biến đổi Fourier

  1. Trang chủ
  2. GÓC CÔNG NGHỆ
  3. CÔNG NGHỆ THÔNG TIN
  4. PHÉP BIẾN ĐỔI FOURIER NHANH VÀ ỨNG DỤNG CỦA CHÚNG TRÊN NỀN CÔNG NGHỆ NHÚNG ARM TRONG NGHIÊN CỨU THIẾT KẾ, CHẾ TẠO THIẾT BỊ GIÁM SÁT CÁC GIẢI TẦN SỐ VÔ TUYẾN ĐIỆN

Ứng dụng của biến đổi Fourier

PHÉP BIẾN ĐỔI FOURIER NHANH VÀ ỨNG DỤNG CỦA CHÚNG TRÊN NỀN CÔNG NGHỆ NHÚNG ARM TRONG NGHIÊN CỨU THIẾT KẾ, CHẾ TẠO THIẾT BỊ GIÁM SÁT CÁC GIẢI TẦN SỐ VÔ TUYẾN ĐIỆN

23:57 - 23/03/2020

Xử lý tín hiệu số (Digital Signal Processing - DSP) hay tổng quát hơn, xử lý tín hiệu rời rạc theo thời gian (Discrete-Time Signal Processing - DSP) có nhiều ứng dụng hữu ích cho nhiều ngành khoa học kỹ thuật như điện, điện tử, tự động hóa, điều khiển, viễn thông, tin học, vật lý,…

   Xử lý tín hiệu số (Digital Signal Processing - DSP) hay tổng quát hơn, xử lý tín hiệu rời rạc theo thời gian (Discrete-Time Signal Processing - DSP) có nhiều ứng dụng hữu ích cho nhiều ngành khoa học kỹ thuật như điện, điện tử, tự động hóa, điều khiển, viễn thông, tin học, vật lý,… Đặc biệt, sự phát triển mạnh mẽ của của các thế hệ máy tính (số) đã làm cho xử lý tín hiệu bước sang một bước ngoặt mới và ngày càng được sử dụng rộng rãi. Và một trong những thuật toán quan trọng nhất của xử lý tín hiệu số và phân tích dữ liệu được sử dụng nhiều trong lĩnh vực thông tin chính là phép biến đổi Fourier nhanh (Fast Fourier Transform - FFT).

  Phép biến đổi Fourier rời rạc (Discrete Fourier Transform – DFT) giữ một vai trò rất quan trọng trong thực tế, đặc biệt là trong các ứng dụng xử lý tín hiệu số như lọc tuyến tính, phân tích tương quan và phân tích phổ tín hiệu, … do luôn tồn tại các thuật toán hiệu quả và đơn giản để hiện thực các tính toán. Các thuật toán này được gọi là biến đổi nhanh Fourier và thường được gọi tắt qua tiếng anh là FFT (Fast Fourier Transform). Kể từ khi ra đời cho đến nay, FFT đã tạo ra được một bước tiến nhảy vọt trong lĩnh vực phân tích, thiết kế và thực hiện các bài toán xử lý tín hiệu số cũng như tương tự.

  Biến đổi Fourier nhanh FFT thực chất là các thuật toán để thực hiện phép biến đổi Fourier rời rạc DFT nhằm phân tích tín hiệu rời rạc theo thời gian trong miền tần số hiệu quả nhờ sự cải thiện rất đáng kể về tốc độ và tính toán đơn giản. Biểu thức (1), (2) là phép biến đổi Fourier rời rạc DFT - N điểm và kết quả tính toán được minh họa trong Hình 1.

  Phép toán DFT thuận:

Ứng dụng của biến đổi Fourier

  Phép toán DFT nghịch:

Ứng dụng của biến đổi Fourier

Ứng dụng của biến đổi Fourier

Hình 1: Tín hiệu trong miền thời gian P(t) được biểu diễn trên
miền tần số P(v) nhờ phép biến đổi Fourier rời rạc

  Các thuật toán FFT tập trung vào việc giải quyết độ phức tạp trong tính toán của DFT bằng cách làm giảm một cách đáng kể thời gian tính toán và số lần thực hiện phép toán, đặc biệt là đối với các phép toán chiếm nhiều thời gian thực hiện như phép nhân. Các thuật toán này được sử dụng càng hiệu quả khi kích thước N của DFT có giá trị càng lớn. Ngoài các thuật toán nhanh ban đầu, cho đến nay cũng xuất hiện thêm một số thuật toán mới hay được sử dụng.

  Để có thể so sánh và đánh giá hiệu quả các phương pháp FFT trước tiên ta xem xét số lượng các phép toán cần được thực hiện nếu DFT được tính trực tiếp. Từ biểu thức (1) có thể viết lại như sau:

Ứng dụng của biến đổi Fourier


  Việc tính toán trực tiếp này đòi hỏi: 2N2 phép xác định giá trị các hàm lượng giác, 4N2 phép nhân số thực, 4N(N-1) phép cộng số thực, và một số phép toán lấy chỉ số và địa chỉ. Đây là các phép toán đặc trưng của các thuật toán tính bằng DFT. Hầu hết các thuật toán FFT đều tối ưu hóa các quá trình tính toán này (đặc biệt là phép nhân và phép cộng) theo nhiều cách khác nhau. Trong đó phổ biến là phương pháp chia nhỏ để tính DFT. Phương pháp này dựa trên cơ sở của việc phân tích DFT – N điểm thành các DFT có kích thước nhỏ hơn (tích của hai thừa số nguyên khác nhau N = LM) và các thuật toán hiệu quả được thiết lập dựa trên các phương pháp này đều có tên gọi là các thuật toán FFT. Với cách phân tách trên các phần tử của x(n) có thể xem như được chứa trong một mảng hình chữ nhật theo hai cách, phân bố theo hàng và phân bố theo cột:
Ứng dụng của biến đổi Fourier

Hình 2: Hai kiểu phân bố của dữ liệu kiểu mảng.

   Và từ đây kết quả tính DFT có thể được được biểu diễn lại như sau:

Ứng dụng của biến đổi Fourier

  Từ (5) ta có thể hiểu rằng việc thực hiện tính DFT phân tách như trên bao gồm việc tính các DFT với độ dài M và L. Việc thực hiện này nhìn thoáng qua sẽ gây cho ta một cảm giác rằng việc tính toán theo phương pháp đang xét có vẻ như phức tạp hơn so với cách tính trực tiếp của DFT. Tuy vậy có thể thấy được hiệu quả của phương pháp chia nhỏ bằng cách xác định cụ thể số phép toán chủ yếu cần thực hiện trên nó. Mà cụ thể so với phương pháp tính trực tiếp của DFT thì ở đây số lượng phép nhân đã giảm xuống từ N2 xuống N(M+L+1) và số lượng phép cộng đã giảm từ N(N-1) xuống N(M+L-2). Ta hãy so sánh số lượng phép toán cần thực hiện đối với giá trị của N = 1000 và chọn L = 2, M = 500. Có thể thấy ngay rằng thay vì việc phải thực hiện 106 phép toán phân đối với trường hợp tính trực tiếp DFT nay chỉ còn phải thực hiện 503.000 phép toán tương ứng. Như vậy số lượng phép toán ở đây đã giảm xuống khoảng hai lần, đối với phép cộng thì số lượng phép toán cũng giảm xuống một số lần tương tự.

  Việc phân chia dữ liệu có thể tiếp tục được lặp lại cho đến khi các dãy sau khi được phân chia chỉ là các dãy một điểm. Và cuối cùng ta chỉ cần (N/2)log2N phép nhân phức và Nlog2N phép cộng phức để thực hiện toàn bộ FFT. Trong thực tế có một số thuật toán FFT, cụ thể như thuật toán FFT cơ số 2 phân chia theo thời gian/tần số, thuật toán FFT cơ số 4 phân chia theo thời gian/tần số.

Ứng dụng của biến đổi Fourier

Bảng 1: So sánh độ phức tạp của cách tính DFT trực tiếp và thuật toán FFT.

   Ngày nay, việc xử lý tín hiệu số đòi hỏi bộ nhớ lớn và tốc độ nhanh, các bộ vi xử lý phải đủ mạnh để có thể xử lý các tín hiệu số hóa thời gian thực. Chính vì vậy các ứng dụng chuyên biệt về xử lý tín hiệu số cần được thực hiện trên nền công nghệ nhúng ARM, và đó là hướng phát triển tất yếu theo xu hướng chung của thế giới. Hiện nay, ARM (Acorn RISC Machine) đang được phát triển mạnh mẽ trên bộ xử lý 32-bit RISC và được sử dụng rộng rãi. Trong thực tế, các dòng ARM chiếm khoảng 75% của tất cả các CPU 32-bit, khoảng 90% của tất cả các CPU nhúng 32-bit. Điều đó cho thấy việc sử dụng ARM để nghiên cứu và ứng dụng trong hệ thống nhúng là hướng tiếp cận phù hợp và đầy hiệu quả.

  Xu hướng chung hiện nay là các hệ thống nhúng thường phức tạp hơn, do vậy sự hỗ trợ của hệ điều hành và môi trường phát triển ngày càng tỏ ra rất quan trọng. Có nhiều hệ điều hành nhúng, tuy nhiên Embedded Linux tỏ ra là hệ điều hành nhúng rất có tiềm năng, phù hợp và ngày càng được sử dụng phổ biến, đặc biệt trong các tiện ích của người tiêu dùng, thiết bị định tuyến và chuyển mạch viễn thông, thiết bị Internet, … Linux là hệ điều hành có tính mô đun hóa rất cao và chính điều này làm cho hệ điều hành nhúng Linux rất linh hoạt, dễ dàng loại bỏ các chương trình tiện ích, công cụ và dịch vụ hệ thống không cần thiết. Một trong những lợi thế lớn của Linux là nó là một hệ điều hành có đầy đủ chức năng, đồng thời hỗ trợ kết nối mạng mạnh mẽ. Hơn thế, Linux là hệ điều hành mã nguồn mở, không đòi hỏi người sử dụng phải trả phí bản quyền hoặc bản quyền, do vậy cộng đồng phát triển đông đảo, chất lượng, các giao thức mới và driver thiết bị được hỗ trợ tốt hơn.

  Các ứng dụng quan trọng nêu trên của phép biến đổi FFT trên nền công nghệ nhúng ARM sử dụng hệ điều hành Linux đã được đội ngũ cán bộ kỹ thuật của Phòng Nghiên cứu Công nghệ viễn thông/ Trung tâm KTTT Công nghệ cao đưa vào trong thiết bị giám sát tần số sóng ngắn GS-0130 – sản phẩm của đề tài nghiên cứu KHCN cấp Bộ quốc phòng: “Nghiên cứu thiết kế, chế tạo thiết bị giám sát dải tần sóng ngắn trong tổ chức thông tin liên lạc vô tuyến điện”. Thiết bị GS-0130 sử dụng bo mạch Tiny210 CPU làm nền tảng để xử lý FFT, đây là bo mạch có lõi Cortex A8 hiệu suất cao, sử dụng Samsung S5PV210 làm bộ xử lý chính, tần số lên đến 1GHz. Trên bo mạch Tiny210 CPU có tích hợp đồ họa hiệu suất cao PowerVR SGX540 S5PV210, hỗ trợ đồ họa 3D chạy trơn mịn để xem video 1080p với kích thước lớn, RAM 512M DDR2 và có thể chạy được hệ điều hành tiên tiến như Android, Linux và WinCE6.

Ứng dụng của biến đổi Fourier

Hình 3: Thiết bị giám sát tần số sóng ngắn GS0130.

  Phần mềm hiển thị phổ của thiết bị có nhiệm vụ giám sát phổ tần số của tín hiệu nằm trong dải tần từ 1-30 MHz. Tín hiệu thu được trong dải tần số cần giám sát từ bo mạch máy thu được truyền lên bo mạch ARM dựa trên chuẩn giao tiếp USB2.0, sau đó thực hiện các phép tính FFT. Đầu tiên phần mềm hiển thị phổ cần sử dụng mảng giá trị phức sau khi đã tính FFT thành những mảng giá trị khác phù hợp cho ứng dụng phân tích phổ giám sát tần số. Tiếp theo xây dựng sẵn mô đun chương trình đồ họa hiển thị phổ với các dải tần theo tùy chọn của người dùng. Mô đun chương trình đồ họa này luôn luôn cập nhật, nhận đúng giá trị thay đổi từ các mảng dữ liệu giá trị cần hiển thị thông tin tần số. Từ phần mềm hiển thị phổ này cũng cung cấp cho người dùng thêm một số thông tin trực quan, cũng như khả năng thay đổi một số thông số khi giám sát tần số như cho phép lựa chọn tần số trung tâm (Center Frequency), cho phép lựa chọn cửa sổ quan sát (Span), hiển thị và di chuyển đánh dấu (Marker) với các thông tin về tần số và mức của bức xạ trong miền phổ, cho phép lựa chọn, kiểm tra và phân tích điều chế với các dạng như AM, USB, LSB, CW và một số chức năng khác cũng có thể được thêm vào.

Ứng dụng của biến đổi Fourier

Hình 4: Giao diện thiết bị giám sát tần số sóng ngắn GS-0130.

  Với xu hướng phát triển ngày càng mạnh mẽ của thế giới về công nghệ nhúng và các kỹ thuật xử lý tín hiệu số hiện nay, phát triển hệ thống nhúng, phần mềm nhúng nói chung và áp dụng các thuật toán xử lý tín hiệu cho các sản phẩm hoạt động trên hệ thống nhúng đang là quốc sách của nhiều quốc gia và nước ta cũng rất cần quan tâm trước bài toán cạnh tranh trong tiến trình hội nhập. Việc nghiên cứu làm chủ các ứng dụng trên nền công nghệ nhúng đặt ra nhiệm vụ cấp bách cho đội ngũ cán bộ kỹ thuật cần nhanh chóng đi tắt đón đầu và đẩy mạnh việc áp dụng sự tiến bộ của khoa học công nghệ trong thực hiện nhiệm vụ. Để điều đó thành hiện thực, chúng ta cần có những bước đi và chiến lược phát triển phù hợp, đồng thời mỗi cán bộ nghiên cứu cũng phải xác định được trách nhiệm của mình trong nghiên cứu làm chủ các kỹ thuật và công nghệ mới, góp phần nhanh chóng đưa KHKT&CN tiên lên hội nhập./.

    Tài liệu tham khảo:

  1. Xử lý tín hiệu và lọc số - Nguyễn Quốc Trung, Nhà xuất bản khoa học Kỹ thuật.
  2. ARM System Developer’s Guide Designing and Optimizing System Software - Andrew N. Sloss, Dominic Symes, Chris Wright, with a contribution by John Rayfield.
  3. Develop FFT apps on low-power MCUs: http://www.embedded.com/design/prot otyping-and-development/4025598/Develop-FFT-apps-on-low-power-MCUs.
  4. Kiến trúc ARM: http://vi.wikipedia.org/wiki/C%E1%BA%A5u_tr%C3%BAc_ ARM.
  5. http://www.gnu.org/licenses/gpl.html.  

TS. Nguyễn Liêm HIếu
Công ty CP TM&DV CÔNG NGHỆ CAO IMC
Tòa nhà IMC Tower, Số 176 Trường Chinh, Phường Khương
Thượng, Quận Đống Đa, Thành phố Hà Nội, Việt Nam
Tel/Fax : (+84) 24 3566 6232 / 24 3566 6234
Email:    Website: http://mimotech.vn