Ứng dụng Biến đổi Fourier để Phân tích Tín hiệu Rung động
Andrei Shelkovenko. Một trong những nhà phát triển và là người sáng lập Vibromera.
Bản dịch bài viết này có thể chứa một số sai sót.
Biến đổi Fourier và phổ tín hiệu
Trong nhiều trường hợp, nhiệm vụ lấy (tính toán) quang phổ của một tín hiệu như sau. Có một ADC, cái mà với tần số lấy mẫu Tính thường xuyên Fd chuyển đổi tín hiệu liên tục, tín hiệu này đến đầu vào của nó trong khoảng thời gian T, thành các mẫu kỹ thuật số – N mẫu. Sau đó, mảng mẫu này được đưa vào một chương trình nào đó (ví dụ như FourierScope) trả về N/2 giá trị số.
Để kiểm tra xem chương trình có hoạt động chính xác hay không, chúng ta tạo một mảng các mẫu dữ liệu dưới dạng tổng của hai biểu thức sin(10*2*π*x) + 0,5*sin(5*2*π*x) và đưa vào chương trình. Chương trình đã vẽ ra đồ thị như sau:

Hình 1. Đồ thị hàm thời gian của tín hiệu

Hình 2. Biểu đồ phổ tín hiệu
There are two sóng hài trên biểu đồ phổ – 5 Hz với biên độ 0,5 V và 10 Hz với biên độ 1 V, tất cả đều giống như trong công thức của tín hiệu gốc. Tất cả đều ổn, chương trình hoạt động chính xác.
Điều này có nghĩa là nếu chúng ta đưa một tín hiệu thực được tạo thành từ sự kết hợp của hai sóng sin vào đầu vào của bộ chuyển đổi tương tự-số (ADC), chúng ta sẽ thu được phổ tần số tương tự, bao gồm hai thành phần hài.
Vậy nên, chúng tôi thực sự tín hiệu đo được kéo dài 5 giây, được số hóa bằng ADC, tức là được thể hiện theo từng phần mẫu, có một tách biệt, không tuần hoàn Phổ.
Từ góc độ toán học – câu này có bao nhiêu lỗi?
Bây giờ chúng ta hãy thử đo tín hiệu này trong 0,5 giây.

Hình 3. Đồ thị của hàm sin(10*2*π*x)+0,5*sin(5*2*π*x) trong khoảng thời gian đo là 0,5 giây

Hình 4. Đồ thị phổ của hàm
Có gì đó không ổn ở đây! Sóng hài ở tần số 10 Hz được vẽ bình thường, nhưng thay vì sóng hài ở tần số 5 Hz thì lại xuất hiện một số sóng hài không rõ ràng.
Trên mạng người ta nói rằng cần phải thêm các số 0 vào cuối mẫu thì đồ thị phổ mới được vẽ bình thường.

Hình 5. Chúng tôi đã thêm các giá trị bằng 0 vào mẫu dữ liệu cho đến giây thứ 5

Hình 6. Phổ thu được.
Không phải vậy đâu. Tôi sẽ phải tìm hiểu về lý thuyết này. Chúng ta hãy chuyển sang Wikipedia – nguồn tri thức.
Hàm liên tục và biểu diễn dưới dạng dãy Fourier của nó
Về mặt toán học, tín hiệu của chúng ta có độ dài T giây là một hàm f(x) được định nghĩa trên khoảng {0, T} (trong trường hợp này, X là thời gian). Hàm như vậy luôn có thể được biểu diễn dưới dạng tổng của các hàm hài (sin hoặc cos) theo dạng:

(1), trong đó:
k là số thứ tự của hàm lượng giác (số thứ tự của thành phần hài, số thứ tự của sóng hài)
T – đoạn mà hàm được xác định (thời gian tồn tại của tín hiệu)
Ak – biên độ của thành phần hài thứ k,
θk – pha ban đầu của thành phần hài thứ k
“Biểu diễn hàm số dưới dạng tổng của dãy Fourier” có nghĩa là gì? Điều đó có nghĩa là bằng cách cộng các giá trị của các thành phần hài trong dãy Fourier tại mỗi điểm, ta sẽ thu được giá trị của hàm số tại điểm đó.
(Nói chính xác hơn, sai số bình phương trung bình của dãy so với hàm f(x) sẽ tiến tới 0, nhưng mặc dù có sự hội tụ bình phương trung bình, dãy Fourier của một hàm nói chung không nhất thiết phải hội tụ tới hàm đó theo từng điểm.)
Dãy số này cũng có thể được viết dưới dạng:

(2),
Ở đâu
, biên độ phức thứ k.
hoặc

(3)
Mối quan hệ giữa các hệ số (1) và (3) được thể hiện qua các công thức sau:
![]()

Lưu ý rằng cả ba cách biểu diễn dãy Fourier này đều hoàn toàn tương đương nhau. Đôi khi khi làm việc với dãy Fourier, sẽ thuận tiện hơn nếu sử dụng các hàm mũ có đối số ảo thay vì hàm sin và cos, tức là sử dụng biến đổi Fourier dưới dạng phức. Tuy nhiên, đối với chúng ta, sẽ thuận tiện hơn khi sử dụng công thức (1), trong đó dãy Fourier được biểu diễn dưới dạng tổng các hàm cos với biên độ và pha tương ứng. Trong mọi trường hợp, sẽ là sai lầm nếu nói rằng kết quả của phép biến đổi Fourier của tín hiệu thực sẽ là các biên độ hài hòa phức. Như Wiki đã nói một cách chính xác, “Phép biến đổi Fourier (ℱ) là một phép toán ánh xạ một hàm của biến thực sang một hàm khác cũng của biến thực.”
Tóm lại:
Cơ sở toán học cho phân tích phổ tín hiệu là biến đổi Fourier.
Biến đổi Fourier cho phép biểu diễn một hàm liên tục f(x) (tín hiệu) được định nghĩa trên khoảng {0, T} dưới dạng tổng của một dãy vô hạn (dãy Fourier) các hàm lượng giác (sin và/hoặc cos) có biên độ và pha xác định, cũng được xem xét trên khoảng {0, T}. Dãy như vậy được gọi là dãy Fourier.
Hãy lưu ý thêm một số điểm sau đây, việc nắm vững những điểm này là điều cần thiết để áp dụng biến đổi Fourier một cách chính xác trong phân tích tín hiệu. Nếu xem xét dãy Fourier (tổng của các hàm sin) trên toàn bộ trục X, ta sẽ thấy rằng ngoài khoảng {0, T}, hàm dãy Fourier sẽ lặp lại hàm ban đầu theo chu kỳ.
Ví dụ, trong đồ thị ở Hình 7, hàm ban đầu được định nghĩa trên khoảng {-T/2, +T/2}, còn dãy Fourier biểu diễn một hàm tuần hoàn được định nghĩa trên toàn bộ trục x.
Điều này là do các hàm sin tự thân là các hàm tuần hoàn, nên tổng của chúng cũng sẽ là một hàm tuần hoàn.

Hình 7: Biểu diễn hàm nguồn không tuần hoàn bằng dãy Fourier
Do đó:
Hàm ban đầu của chúng ta là một hàm liên tục, không tuần hoàn, được định nghĩa trên một đoạn có độ dài T.
Phạm vi của hàm này là rời rạc, tức là nó được biểu diễn dưới dạng một dãy vô hạn các thành phần hài – một dãy Fourier.
Thực ra, dãy Fourier xác định một hàm tuần hoàn, trùng khớp với hàm của chúng ta trên khoảng {0, T}, nhưng đối với chúng ta, tính tuần hoàn này không phải là yếu tố thiết yếu.
Tiếp theo.
Các chu kỳ của các thành phần hài là bội số của khoảng thời gian {0, T}, trên đó hàm ban đầu f(x) được xác định. Nói cách khác, các chu kỳ của các thành phần hài là bội số của thời gian đo tín hiệu. Ví dụ, chu kỳ của thành phần hài thứ nhất trong dãy Fourier bằng khoảng thời gian T mà hàm f(x) được định nghĩa. Chu kỳ của thành phần hài thứ hai trong dãy Fourier bằng khoảng thời gian T/2. Và cứ thế (xem Hình 8).

Hình 8: Chu kỳ (tần số) của các thành phần hài trong dãy Fourier (ở đây T = 2π)
Theo đó, tần số của các thành phần hài là bội số của 1/T. Nghĩa là, tần số của các thành phần hài F_k được tính theo công thức F_k = k/T, trong đó k thay đổi từ 0 đến ∞; ví dụ: k = 0 thì F₀ = 0; k = 1 thì F₁ = 1/T; k = 2 thì F₂ = 2/T; k = 3 thì F₃ = 3/T; … Fk = k/T (tại tần số bằng không, thành phần hằng số).
Giả sử hàm ban đầu của chúng ta là một tín hiệu được ghi lại trong khoảng thời gian T = 1 giây. Khi đó, chu kỳ của sóng hài thứ nhất sẽ bằng thời gian của tín hiệu T₁ = T = 1 giây và tần số của sóng hài này bằng 1 Hz. Chu kỳ của sóng hài thứ hai sẽ bằng thời gian của tín hiệu chia cho 2 (T2 = T/2 = 0,5 giây) và tần số bằng 2 Hz. Đối với sóng hài thứ ba, T3 = T/3 giây và tần số là 3 Hz. Và cứ thế tiếp tục.
Trong trường hợp này, khoảng cách giữa các sóng hài là 1 Hz.
Do đó, một tín hiệu có thời gian kéo dài 1 giây có thể được phân tích thành các thành phần hài (để thu được phổ) với độ phân giải tần số là 1 Hz.
Để tăng độ phân giải lên 2 lần thành 0,5 Hz, cần phải tăng thời gian đo lường lên 2 lần thành 2 giây. Tín hiệu 10 giây có thể được phân tách thành các thành phần điều hòa (phổ) với độ phân giải tần số 0,1 Hz. Không có cách nào khác để tăng độ phân giải tần số. Bạn có thể khám phá mối quan hệ này với Máy tính độ phân giải FFT.
Có một cách để kéo dài thời gian tín hiệu một cách nhân tạo bằng cách thêm các số 0 vào mảng mẫu. Tuy nhiên, điều này không làm tăng độ phân giải tần số thực.
Tín hiệu rời rạc và biến đổi Fourier rời rạc
Cùng với sự phát triển của công nghệ số, các phương thức lưu trữ dữ liệu đo lường (tín hiệu) đã có nhiều thay đổi. Trong khi trước đây tín hiệu có thể được ghi lại trên máy ghi âm và lưu trữ trên băng từ dưới dạng tương tự, thì hiện nay các tín hiệu được số hóa và lưu trữ dưới dạng các tệp tin trong bộ nhớ máy tính dưới dạng một dãy số (giá trị đếm).
Quy trình thông thường để đo lường và số hóa tín hiệu diễn ra như sau.
Cảm biến đo —- Bộ chuẩn hóa tín hiệu —- Bộ chuyển đổi tương tự-số (ADC) —– Máy tính
(Hình 9. Sơ đồ kênh đo lường)
Tín hiệu từ bộ chuyển đổi đo lường được truyền đến bộ chuyển đổi tương tự-số (ADC) trong khoảng thời gian T. Các giá trị tín hiệu (dữ liệu lấy mẫu) thu được trong khoảng thời gian T được truyền đến máy tính và lưu trữ trong bộ nhớ.

Hình 10. Tín hiệu số hóa – N mẫu nhận được trong khoảng thời gian T
Các yêu cầu để số hóa các thông số tín hiệu là gì? Một thiết bị chuyển đổi tín hiệu tương tự đầu vào thành mã rời rạc (tín hiệu số) được gọi là bộ chuyển đổi tương tự-số (ADC) (© Wiki).
Một trong những thông số cơ bản của bộ chuyển đổi tương tự-số (ADC) là tốc độ lấy mẫu tối đa – tần số lấy mẫu của một tín hiệu liên tục theo thời gian. Tốc độ lấy mẫu được đo bằng hertz. ((© Wiki))
Theo định lý Kotelnikov, nếu một tín hiệu liên tục có phổ bị giới hạn bởi tần số Fmax, thì nó có thể được tái tạo hoàn toàn và duy nhất từ các mẫu rời rạc được lấy tại các khoảng thời gian T = 1/2*Fmax, tức là với tần số Fd ≥ 2*Fmax, trong đó Fd là tần số lấy mẫu; Fmax là tần số tối đa của phổ tín hiệu. Nói cách khác, tần số số hóa tín hiệu (tần số lấy mẫu của ADC) phải cao ít nhất gấp 2 lần tần số tối đa của tín hiệu mà chúng ta muốn đo.
Và điều gì sẽ xảy ra nếu chúng ta lấy mẫu với tần suất thấp hơn mức yêu cầu theo định lý Kotelnikov?
Trong trường hợp này có một “răng cưaIn this case there is an “aliasing” effect (aka stroboscopic effect, moiré effect), in which a high frequency signal after digitization turns into a low frequency signal, which in fact does not exist. In Fig. 11 the red sine wave of high frequency is the real signal. The blue sine wave of lower frequency is a fictitious signal, arising due to the fact that during the sampling time has time to pass more than half a period of the high-frequency signal.

Hình 11. Sự xuất hiện của tín hiệu tần số thấp giả khi tốc độ lấy mẫu không đủ cao
Để tránh hiệu ứng aliasing, một bộ lọc chống aliasing đặc biệt (bộ lọc thông thấp) được đặt trước ADC. Nó cho phép các tần số thấp hơn một nửa tần số lấy mẫu ADC và chặn các tần số cao hơn.
Để tính phổ tín hiệu từ các mẫu rời rạc của nó, phương pháp rời rạc Fourier transform (DFT) được sử dụng. Lưu ý lại rằng phổ của một tín hiệu rời rạc “theo định nghĩa” bị giới hạn ở tần số Fmax nhỏ hơn một nửa tần số lấy mẫu Fd. Do đó, phổ của một tín hiệu rời rạc có thể được biểu diễn bằng tổng của một số hữu hạn số lượng thành phần hài, trái ngược với tổng vô hạn của dãy Fourier của một tín hiệu liên tục, có phổ có thể là vô hạn. Theo định lý Kotelnikov, tần số tối đa của một thành phần hài phải đảm bảo bao phủ ít nhất hai mẫu, do đó số lượng thành phần hài bằng một nửa số mẫu của tín hiệu rời rạc. Nghĩa là, nếu có N mẫu trong dãy mẫu, số lượng thành phần hài trong phổ sẽ là N/2.
Bây giờ hãy xem xét phép biến đổi Fourier rời rạc (DFT).

So sánh với dãy Fourier

Như chúng ta có thể thấy, hai kết quả này trùng khớp với nhau, ngoại trừ việc thời gian trong FFT là rời rạc và số lượng sóng hài bị giới hạn ở N/2, tức là bằng một nửa số mẫu.
Các công thức DFT được biểu diễn bằng các biến số nguyên không có đơn vị k, s, trong đó k là số mẫu tín hiệu, s là số thành phần phổ.
Giá trị s biểu thị số dao động hài toàn phần trong mỗi chu kỳ T (thời gian đo tín hiệu). Biến đổi Fourier rời rạc được sử dụng để tính toán biên độ và pha của các dao động hài một cách số, tức là “trên máy tính”.
Như đã đề cập ở trên, khi phân tích một hàm không tuần hoàn (tín hiệu của chúng ta) thành dãy Fourier, dãy Fourier thu được thực chất tương ứng với một hàm tuần hoàn có chu kỳ T (Hình 12).

Hình 12. Hàm tuần hoàn f(x) có chu kỳ T₀, với chu kỳ T > T₀
Như có thể thấy trong Hình 12, hàm số f(x) có chu kỳ T0. Tuy nhiên, do thực tế là độ dài mẫu đo lường T không bằng chu kỳ hàm số T0, hàm số thu được từ chuỗi Fourier có gián đoạn tại điểm T. Kết quả là, phổ của hàm số này sẽ chứa một số lượng lớn các điều hòa tần số cao. Hiện tượng này được gọi là rò rỉ quang phổ, và trong thực tế nó được giảm thiểu bằng cách cửa sổ tín hiệu trước phép biến đổi. Nếu thời gian lấy mẫu đo lường T trùng với chu kỳ hàm số T0, thì phổ thu được sau biến đổi Fourier sẽ chỉ chứa điều hòa đầu tiên (một sinusoid với chu kỳ bằng thời gian lấy mẫu), bởi vì hàm số f(x) là một sinusoid.
Nói cách khác, chương trình DFT “không biết” rằng tín hiệu của chúng ta là một “đoạn của sóng sin”, mà cố gắng biểu diễn nó dưới dạng một dãy hàm tuần hoàn có điểm gián đoạn do sự gián đoạn của các đoạn riêng biệt của sóng sin.
Do đó, các thành phần hài xuất hiện trong phổ, và tổng thể chúng phải phản ánh hình dạng của hàm số, bao gồm cả điểm gián đoạn này.
Do đó, để thu được phổ “chính xác” của một tín hiệu là tổng của nhiều sóng sin có chu kỳ khác nhau, thì cần phải số nguyên biểu thị số chu kỳ của Mỗi đường sin phải xuất hiện trong khoảng thời gian đo của tín hiệu. Trên thực tế, điều kiện này có thể được đáp ứng nếu thời gian đo tín hiệu đủ dài.

Hình 13 Ví dụ về hàm và phổ tín hiệu lỗi động học của hộp số
Ở khoảng thời gian ngắn hơn, hình ảnh sẽ trông “xấu hơn”:

Hình 14: Ví dụ về hàm dao động và phổ dao động của rôto
Trong thực tế, việc phân biệt đâu là “thành phần thực” và đâu là “hiện tượng nhiễu” do sự không đồng nhất giữa chu kỳ của các thành phần và thời gian lấy mẫu tín hiệu, hay do các “điểm nhảy và đứt gãy” trên dạng sóng, có thể khá khó khăn. Tất nhiên, việc đặt các cụm từ “thành phần thực” và “hiện tượng nhiễu” trong dấu ngoặc kép là có lý do. Sự hiện diện của nhiều sóng hài trên biểu đồ phổ không có nghĩa là tín hiệu của chúng ta thực sự bao gồm chúng. Điều này giống như nghĩ rằng số 7 “bao gồm” các số 3 và 4. Số 7 có thể được coi là tổng của 3 và 4 – điều đó là đúng.
Tương tự như vậy, tín hiệu của chúng ta… hay đúng hơn là không hẳn là “tín hiệu của chúng ta”, mà là một hàm tuần hoàn được tạo thành từ việc lặp lại tín hiệu (mẫu) của chúng ta, có thể được biểu diễn dưới dạng tổng của các thành phần hài (sóng sin) với các biên độ và pha nhất định. Tuy nhiên, trong nhiều trường hợp có ý nghĩa thực tiễn (xem các hình vẽ ở trên), thực sự có thể liên hệ các thành phần hài thu được trong phổ với các quá trình thực tế có tính chất tuần hoàn và đóng góp đáng kể vào hình dạng của tín hiệu.
Một số kết quả
1. Một tín hiệu đo thực có độ dài T giây được số hóa bằng bộ chuyển đổi tương tự-số (ADC), tức là được biểu diễn bằng một tập hợp các mẫu rời rạc (gồm N mẫu), có phổ rời rạc không tuần hoàn được biểu diễn bằng một tập hợp các thành phần hài (gồm N/2 thành phần).
2. Dấu hiệu được biểu diễn bằng một tập hợp các giá trị hợp lệ và phổ của nó cũng được biểu diễn bằng một tập hợp các giá trị hợp lệ. Tần số của các sóng hài là dương. Chỉ vì về mặt toán học, việc biểu diễn phổ dưới dạng phức bằng cách sử dụng tần số âm sẽ thuận tiện hơn, không có nghĩa là “điều này là đúng” và “đây là cách bạn nên làm mọi lúc”.
3. Dấu hiệu được đo tại thời điểm T chỉ được xác định tại thời điểm T. Những gì đã xảy ra trước khi chúng ta bắt đầu đo dấu hiệu và những gì sẽ xảy ra sau đó vẫn là điều chưa được khoa học làm sáng tỏ. Và trong trường hợp của chúng ta, điều đó không phải là vấn đề quan trọng. Biến đổi Fourier nhanh (FFT) của dấu hiệu có giới hạn thời gian cho ta phổ “thực” của nó, theo nghĩa là trong một số điều kiện nhất định, nó cho phép tính toán biên độ và tần số của các thành phần cấu thành.