진동 신호 분석에 푸리에 변환의 적용
안드레이 셸코벤코. 바이브로메라의 개발자이자 창립자 중 한 명입니다.
이 글의 번역에는 부정확한 내용이 포함되어 있을 수 있습니다.
푸리에 변환 및 신호 스펙트럼
대부분의 경우, (계산하여) 스펙트럼 신호의 처리는 다음과 같습니다. 샘플링을 통해 작동하는 ADC가 있으며 주파수 Fd는 시간 T 동안 입력으로 들어오는 연속 신호를 N개의 디지털 샘플로 변환합니다. 그런 다음 이 샘플 배열은 어떤 프로그램(예를 들어 푸리에스코프) N/2개의 숫자 값을 출력합니다.
프로그램이 올바르게 작동하는지 확인하기 위해 두 개의 sin(10*2*pi*x)+0.5*sin(5*2*pi*x)의 합으로 샘플 배열을 구성하고 프로그램에 입력합니다. 프로그램은 다음과 같은 결과를 도출했습니다:

그림 1 신호의 시간 함수 그래프

그림 2 신호 스펙트럼 그래프
There are two 배음 스펙트럼 그래프를 보면 – 진폭 0.5V의 5Hz와 진폭 1V의 10Hz가 나타나며, 모든 것이 원본 신호의 공식과 일치합니다. 아무 문제 없고, 프로그램이 정상적으로 작동합니다.
즉, 두 개의 정현파가 혼합된 실제 신호를 ADC 입력에 공급하면 두 개의 고조파로 구성된 유사한 스펙트럼을 얻을 수 있습니다.
따라서 진짜 측정된 신호 의 5초 지속 시간로 디지털화된, 즉 ADC로 표시되는 불연속 샘플에는 불연속 비주기적 스펙트럼.
수학적 관점에서 볼 때 이 문구에는 몇 개의 오류가 있을까요?
이제 동일한 신호를 0.5초 동안 측정해 보겠습니다.

그림 3 0.5초의 측정 기간에 대한 sin(10*2*pi*x)+0.5*sin(5*2*pi*x) 함수의 그래프.

그림 4 기능의 스펙트럼
여기 뭔가 잘못되었습니다! 10Hz의 고조파는 정상적으로 그려지고 5Hz의 고조파 대신 불분명한 고조파가 있습니다.
인터넷에서 그들은 샘플 끝에 0을 추가해야 스펙트럼이 정상적으로 그려진다고 말합니다.

그림 5 샘플에 최대 5초까지 0을 추가했습니다.

그림 6. 획득한 스펙트럼.
전혀 그렇지 않습니다. 이론을 살펴봐야 할 것 같습니다. 다음으로 가 보겠습니다 위키백과 - 지식의 원천입니다.
연속 함수와 푸리에 급수 표현
수학적으로 지속 시간이 T초인 신호는 {0, T} 간격에 주어진 함수 f(x)입니다(이 경우 X는 시간입니다). 이러한 함수는 항상 사인 또는 코사인 형태의 조화 함수(사인 또는 코사인)의 합으로 나타낼 수 있습니다:

(1), 여기서:
k는 삼각함수의 수(고조파 성분의 수, 고조파의 수)입니다.
T - 함수가 정의된 세그먼트(신호의 지속 시간)
Ak - k-th 고조파 성분의 진폭입니다,
θk - k번째 고조파 성분의 초기 위상
"함수를 급수의 합으로 표현한다"는 것은 무엇을 의미할까요? 각 지점에서 푸리에 급수의 고조파 성분의 값을 더하면 해당 지점에서 함수의 값을 구할 수 있다는 뜻입니다.
(보다 엄밀히 말하면 함수 f(x)로부터의 급수의 평균 제곱 편차는 0이 되는 경향이 있지만, 평균 제곱 수렴에도 불구하고 함수의 푸리에 급수는 일반적으로 점 단위로 수렴할 필요는 없습니다. )
이 시리즈는 양식으로도 작성할 수 있습니다:

(2),
어디
kth 복소 진폭입니다.
또는

(3)
계수 (1)과 (3)의 관계는 다음 공식으로 표현됩니다:
![]()

푸리에 급수의 이 세 가지 표현은 모두 완전히 동등하다는 점에 유의하십시오. 때로는 푸리에 급수를 다룰 때 사인과 코사인 대신 허수 지수 형태, 즉 복소수 형태의 푸리에 변환을 사용하는 것이 더 편리합니다. 하지만 여기서는 푸리에 급수를 해당 진폭과 위상을 가진 코사인의 합으로 나타내는 공식 (1)을 사용하는 편이 더 편리합니다. 엄밀히 말하면 실수 신호의 푸리에 변환은 실제로 복소 계수(형식 (3))를 생성하며, 각 계수는 해당 고조파의 진폭과 위상을 모두 담고 있습니다. 실수 신호의 경우 이러한 복소 계수는 켤레(에르미트) 대칭을 가지므로, 음수 주파수 절반은 양수 주파수 절반을 단순히 반영할 뿐 추가 정보를 담고 있지 않습니다. 그래서 복소 계수로부터 언제나 공식 (1)의 실수 비음수 진폭 Ak와 위상 θk로 넘어갈 수 있으며, 분석 프로그램이 표시하는 것도 바로 이 진폭 스펙트럼입니다.
결론:
신호의 스펙트럼 분석의 수학적 기초는 푸리에 변환입니다.
푸리에 변환을 사용하면 {0, T} 구간에서 정의된 연속 함수 f(x)(신호)를 {0, T} 구간에서도 진폭과 위상이 확실한 삼각 함수(사인 및/또는 코사인)의 무한한 수(무한 급수)의 합으로 나타낼 수 있습니다. 이러한 급수를 푸리에 급수라고 합니다.
푸리에 변환을 신호 분석에 올바르게 적용하려면 몇 가지 사항을 더 이해해야 합니다. 전체 X축에서 푸리에 급수(사인 곡선의 합)를 고려하면 {0, T} 구간 밖에서는 푸리에 급수 함수가 주기적으로 반복된다는 것을 알 수 있습니다.
예를 들어 그림 7의 그래프에서 원래 함수는 {-T\2, +T\2} 간격에 정의되어 있고 푸리에 급수는 전체 x축에 정의된 주기 함수를 나타냅니다.
이는 사인 곡선 자체가 주기 함수이므로 그 합도 주기 함수가 되기 때문입니다.

그림 7 푸리에 급수에 의한 비주기적 소스 함수의 표현
따라서:
원래 함수는 길이 T의 일부 세그먼트에 정의된 연속적이고 비주기적인 함수입니다.
이 함수의 스펙트럼은 불연속적이며, 즉 무한한 고조파 성분인 푸리에 급수로 표현됩니다.
사실 푸리에 급수는 {0, T} 구간에서 우리의 함수와 일치하는 주기 함수를 정의하지만, 우리에게 이 주기성이 필수적인 것은 아닙니다.
다음.
고조파 성분의 주기는 초기 함수 f(x)가 정의되는 {0, T} 간격의 배수입니다. 즉, 고조파의 주기는 신호 측정 기간의 배수입니다. 예를 들어, 푸리에 급수에서 첫 번째 고조파의 주기는 함수 f(x)가 정의되는 간격 T와 같습니다. 푸리에 급수에서 두 번째 고조파의 주기는 간격 T/2와 같습니다. 등등(그림 8 참조).

그림 8 푸리에 급수 고조파 성분의 주기(주파수)(여기서는 T=2π)
따라서 고조파 성분의 주파수는 1/T의 배수입니다. 즉, 고조파 성분의 주파수는 Fk= k\T이며, 여기서 k는 0에서 ∞까지의 값(예: k=0 F0=0, k=1 F1=1\T, k=2 F2=2\T, k=3 F3=3\T;....)을 실행합니다. Fk= k\T(제로 주파수에서, 상수 성분).
초기 함수는 T=1초 동안 기록된 신호라고 가정합니다. 그러면 첫 번째 고조파의 주기는 신호의 지속 시간 T1=T=1초와 같고 고조파의 주파수는 1Hz와 같습니다. 두 번째 고조파의 주기는 신호의 지속 시간을 2로 나눈 값(T2=T/2=0.5초)과 같고 주파수는 2Hz입니다. 세 번째 고조파의 경우 T3=T/3초이고 주파수는 3Hz입니다. 등등.
이 경우 고조파 사이의 단계는 1Hz입니다.
따라서 지속 시간이 1초인 신호는 주파수 분해능이 1Hz인 고조파 성분으로 분해(스펙트럼을 얻기 위해)할 수 있습니다.
주파수 분해능을 2배 높여 0.5Hz로 만들려면, 측정 시간을 2배 늘려 2초로 해야 합니다. 10초 분량의 신호는 0.1Hz의 주파수 분해능으로 고조파 성분(스펙트럼)으로 분해할 수 있습니다. 주파수 분해능을 높일 수 있는 다른 방법은 없습니다. 당사의 FFT 해상도 계산기.
샘플 배열에 0을 추가하여 신호 지속 시간을 인위적으로 늘릴 수 있는 방법이 있습니다. 하지만 실제 주파수 분해능은 증가하지 않습니다.
이산 신호와 이산 푸리에 변환
디지털 기술의 발달로 측정 데이터(신호) 저장 방식이 바뀌었습니다. 이전에는 신호를 테이프 레코더에 녹음하여 아날로그 형태로 테이프에 저장할 수 있었지만, 이제는 신호를 디지털화하여 컴퓨터 메모리의 파일에 숫자(카운트) 집합으로 저장합니다.
신호 측정 및 디지털화의 일반적인 방식은 다음과 같습니다.
측정 트랜스듀서 -- 신호 노멀라이저 -- ADC -- 컴퓨터
(그림 9 측정 채널의 개략도)
측정 트랜스듀서의 신호는 T 시간 동안 ADC로 이동합니다. T 시간 동안 수신된 신호 판독값(샘플링)은 컴퓨터로 전송되어 메모리에 저장됩니다.

그림 10 디지털화된 신호 - 시간 T 동안 수신된 N개의 샘플
신호 디지털화 매개변수에 대한 요구 사항은 무엇인가요? 입력된 아날로그 신호를 이산 코드(디지털 신호)로 변환하는 장치를 아날로그-디지털 컨버터(ADC)라고 합니다(© 위키).
ADC의 기본 매개변수 중 하나는 최대 샘플링 속도(시간적으로 연속적인 신호의 샘플링 빈도)입니다. 샘플링 속도는 헤르츠 단위로 측정됩니다. ((© 위키))
Kotelnikov’s theorem(코텔니코프 정리)에 따르면, 연속 신호의 스펙트럼이 주파수 Fmax로 제한되어 있으면 시간 간격 Δt ≤ 1/(2*Fmax)로 채취한 이산 샘플, 즉 샘플링 주파수 Fd ≥ 2*Fmax에서 완전하고 유일하게 재구성할 수 있습니다. 여기서 Fd – 샘플링 주파수; Fmax – 신호 스펙트럼의 최대 주파수입니다. 다시 말해, 신호의 디지털화 주파수(ADC의 샘플링 주파수)는 측정하려는 신호의 최대 주파수보다 최소 두 배 이상이어야 합니다.
코텔니코프의 정리에 필요한 것보다 낮은 빈도로 샘플을 채취하면 어떻게 될까요?
이 경우 “앨리어싱이 경우 디지털화 후 고주파 신호가 실제로 존재하지 않는 저주파 신호로 바뀌는 '앨리어싱' 효과(스트로보스코픽 효과, 모아레 효과라고도 함)가 발생합니다. 그림 11에서 고주파의 빨간색 사인파가 실제 신호입니다. 저주파의 파란색 사인파는 가상의 신호로, 샘플링 시간 동안 고주파 신호의 절반 이상의 주기를 통과할 시간이 있기 때문에 발생합니다.

그림 11. 불충분하게 높은 샘플링 속도에서 스퓨리어스 저주파 신호의 출현
앨리어싱 현상을 방지하기 위해, 특수한 안티앨리어싱 필터(저역 통과 필터)가 ADC 앞에 배치됩니다. 이 필터는 ADC 샘플링 주파수의 절반보다 낮은 주파수는 통과시키고, 그보다 높은 주파수는 차단합니다.
이산 샘플을 통해 신호 스펙트럼을 계산하기 위해서는 이산 푸리에 변환 (DFT) 이 사용된다. 다시 한 번, 이산 신호의 스펙트럼은 “정의상” 샘플링 주파수 Fd의 절반보다 작은 주파수 Fmax로 제한된다는 점에 유의해야 한다. 따라서 이산 신호의 스펙트럼은 다음의 합으로 표현될 수 있다. 유한 고조파의 수는 연속 신호의 푸리에 급수의 무한 합과 달리 스펙트럼이 무제한일 수 있습니다. 코텔니코프의 정리에 따르면 고조파의 최대 주파수는 최소 2개의 샘플을 차지할 수 있어야 하므로 고조파 수는 불연속 신호 샘플 수의 절반과 같아야 합니다. 즉, 샘플에 N개의 샘플이 있는 경우 스펙트럼의 고조파 수는 N/2가 됩니다.
이제 이산 푸리에 변환(DFT)을 생각해 보세요.

푸리에 시리즈와 비교

보시다시피 FFT의 시간이 불연속적이고 고조파의 수가 샘플 수의 절반인 N/2로 제한된다는 점을 제외하면 일치합니다.
DFT 공식은 차원이 없는 정수 변수 k, s로 작성되며, 여기서 k는 신호 샘플 수, s는 스펙트럼 성분 수입니다.
값 s는 주기 T(신호 측정 지속 시간) 당 전체 고조파 진동 수를 나타냅니다. 이산 푸리에 변환은 고조파의 진폭과 위상을 수치적으로, 즉 "컴퓨터에서" 찾는 데 사용됩니다.
위에서 이미 말했듯이, 비주기 함수(우리의 신호)를 푸리에 급수로 분해할 때 결과 푸리에 급수는 실제로 주기 T를 갖는 주기 함수에 해당합니다(그림 12).

그림 12. 주기 T0, 주기 T>T0의 주기 함수 f(x)
그림 12에서 볼 수 있듯이, 함수 f(x)는 주기 T0를 갖는 주기 함수입니다. 그러나 측정 샘플 길이 T가 함수의 주기 T0와 같지 않기 때문에, 푸리에 급수로 구한 함수는 점 T에서 불연속성을 보입니다. 그 결과, 이 함수의 스펙트럼에는 다수의 고주파 고조파가 포함됩니다. 이 현상은 스펙트럼 누설, 그리고 실제로는 다음만큼 줄어듭니다. 윈도잉 변환 전의 신호. 측정 샘플 T의 지속 시간이 함수 T0의 주기와 일치한다면, 푸리에 변환 후 얻어진 스펙트럼에는 제1 고조파(샘플의 지속 시간과 주기가 같은 사인파)만 포함될 것이다. 이는 함수 f(x)가 사인파이기 때문이다.
즉, DFT 프로그램은 신호가 "사인파의 한 조각"이라는 것을 "알지 못하지만" 사인파의 개별 조각의 불연속성으로 인해 불연속성을 갖는 주기 함수를 급수로 표현하려고 시도합니다.
결과적으로 스펙트럼에 고조파가 나타나며, 이 불연속성을 포함하여 전체적으로 함수의 모양을 나타내야 합니다.
따라서 주기가 다른 여러 정현파의 합인 신호의 "올바른" 스펙트럼을 얻으려면 다음과 같은 조건이 필요합니다. 기간의 정수 수 신호의 측정 기간에 각 정현파가 존재해야 합니다. 실제로 이 조건은 충분히 긴 신호 측정 기간으로 충족할 수 있습니다.

그림 13 기어박스의 운동학적 오류 신호 함수 및 스펙트럼 예시
지속 시간이 짧으면 사진이 "더 나빠져" 보입니다:

그림 14 로터 진동 기능 및 스펙트럼 예시
실제로는 컴포넌트 주기와 신호 샘플링 기간의 불일치 또는 파형의 '점프와 끊김'으로 인한 '실제 컴포넌트'와 '아티팩트'가 어디에 있는지 파악하기 어려울 수 있습니다. 물론 "실제 구성 요소"와 "아티팩트"라는 단어를 따옴표로 묶은 데는 이유가 있습니다. 스펙트럼 그래프에 고조파가 많다고 해서 신호가 실제로 고조파로 구성되어 있다는 의미는 아닙니다. 숫자 7이 숫자 3과 4로 "구성"되어 있다고 생각하는 것과 같습니다. 숫자 7은 3과 4의 합으로 생각할 수 있으며, 이는 맞습니다.
우리의 신호... 또는 오히려 "우리의 신호"가 아니라 신호(샘플)를 반복하여 구성된 주기 함수는 특정 진폭과 위상을 가진 고조파(사인파)의 합으로 나타낼 수 있습니다. 그러나 실무에 중요한 많은 경우(위 그림 참조) 스펙트럼에서 얻은 고조파를 주기적 특성을 갖고 신호의 형태에 크게 기여하는 실제 프로세스와 연관시키는 것이 실제로 가능합니다.
일부 결과
1. ADC로 디지털화된 T초 지속 시간의 실제 측정 신호, 즉 이산 샘플 세트(N개)로 표현되는 신호는 고조파 세트(N/2개)로 표현되는 이산 비주기적 스펙트럼을 갖습니다.
2. 신호는 실수 값들의 집합으로 표현됩니다. 그 DFT 스펙트럼은 켤레 대칭을 갖는 복소 계수들의 집합이며, 여기서 양의 주파수에서의 실수 비음수 진폭(및 위상) 집합인 진폭 스펙트럼이 얻어집니다. 실무에서는 바로 이 단측 진폭 스펙트럼을 그립니다. 음의 주파수를 포함한 양측 복소 형태와 단측 진폭/위상 형태는 동일한 스펙트럼의 동등한 표현이며, 신호 분석에서는 보통 단측 진폭 스펙트럼으로 작업하는 것이 더 편리합니다.
3. T 시점에 측정된 신호는 T 시점에만 결정되며, 신호 측정을 시작하기 전에 어떤 일이 일어났고 그 이후에 어떤 일이 일어날지는 과학적으로 알 수 없습니다. 그리고 우리의 경우에는 흥미롭지 않습니다. 시간 제한 신호의 FFT는 특정 조건에서 구성 요소의 진폭과 주파수를 계산할 수 있다는 의미에서 "실제"스펙트럼을 제공합니다.