fbpx

안드레이 셸코벤코. 바이브로메라의 개발자이자 창립자 중 한 명입니다.
이 글의 번역에는 부정확한 내용이 포함되어 있을 수 있습니다.

  1. 푸리에 변환 및 신호 스펙트럼
    대부분의 경우 신호의 스펙트럼을 구하는(계산하는) 작업은 다음과 같습니다. 샘플링 주파수 Fd로 시간 T 동안 입력으로 들어오는 연속 신호를 디지털 샘플(N개)로 변환하는 ADC가 있습니다. 그런 다음 이 샘플 배열은 일부 프로그램에 공급됩니다(예를 들어 푸리에스코프)를 호출하면 N/2의 숫자 값을 출력합니다.
    프로그램이 올바르게 작동하는지 확인하기 위해 두 개의 sin(10*2*pi*x)+0.5*sin(5*2*pi*x)의 합으로 샘플 배열을 구성하고 프로그램에 입력합니다. 프로그램은 다음과 같은 결과를 도출했습니다:
푸리에 변환 및 신호 스펙트럼

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

 

그림 2 신호 스펙트럼 그래프

그림 2 신호 스펙트럼 그래프

 

스펙트럼 그래프에는 진폭이 0.5V 인 5Hz와 진폭이 1V 인 10Hz의 두 가지 고조파가 있으며 모든 것이 원래 신호의 공식과 동일합니다. 모든 것이 정상이며 그로그램이 올바르게 작동합니다.

즉, 두 개의 정현파가 혼합된 실제 신호를 ADC 입력에 공급하면 두 개의 고조파로 구성된 유사한 스펙트럼을 얻을 수 있습니다.

따라서 real 측정된 신호 의 5초 지속 시간로 디지털화된, 즉 ADC로 표시되는 불연속 샘플에는 불연속 비주기적 스펙트럼.
수학적 관점에서 볼 때 이 문구에는 몇 개의 오류가 있을까요?

이제 동일한 신호를 0.5초 동안 측정해 보겠습니다.

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

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

 

그림 4 기능의 스펙트럼

그림 4 기능의 스펙트럼

 

여기 뭔가 잘못되었습니다! 10Hz의 고조파는 정상적으로 그려지고 5Hz의 고조파 대신 불분명한 고조파가 있습니다.

인터넷에서 그들은 샘플 끝에 0을 추가해야 스펙트럼이 정상적으로 그려진다고 말합니다.

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

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

 

그림 6. 획득한 스펙트럼.

그림 6. 획득한 스펙트럼.

 

전혀 그렇지 않습니다. 나는 이론을 다루어야 할 것입니다. 가자 위키백과 - 지식의 원천입니다.

2. 연속 함수와 푸리에 급수 표현 2.
수학적으로 지속 시간이 T초인 신호는 {0, T} 간격에 주어진 함수 f(x)입니다(이 경우 X는 시간입니다). 이러한 함수는 항상 사인 또는 코사인 형태의 조화 함수(사인 또는 코사인)의 합으로 나타낼 수 있습니다:

연속 함수와 푸리에 급수 표현

 (1), 여기서:

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

(2),

(2),

 

 

 

어디 kth 복소 진폭입니다.

 

또는

 (3)

(3)

 

 

 

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

 

 

 

 

이 세 가지 푸리에 급수의 표현은 모두 완벽하게 동일하다는 점에 유의하세요. 때로는 푸리에 급수로 작업할 때 사인과 코사인 대신 가상의 인수의 지수를 사용하는 것이 더 편리할 때가 있는데, 즉 푸리에 변환을 복소수 형태로 사용하는 것입니다. 그러나 푸리에 급수가 해당 진폭과 위상을 가진 코사인의 합으로 표시되는 공식 (1)을 사용하는 것이 편리합니다. 어쨌든 실제 신호의 푸리에 변환의 결과가 복잡한 고조파 진폭이 될 것이라고 말하는 것은 잘못된 것입니다. 위키에서 정확하게 말했듯이 "푸리에 변환(ℱ)은 실수 변수의 한 함수를 역시 실수 변수의 다른 함수에 매핑하는 연산입니다."

 

결론:
신호의 스펙트럼 분석의 수학적 기초는 푸리에 변환입니다.

푸리에 변환을 사용하면 {0, T} 구간에서 정의된 연속 함수 f(x)(신호)를 {0, T} 구간에서도 진폭과 위상이 확실한 삼각 함수(사인 및/또는 코사인)의 무한한 수(무한 급수)의 합으로 나타낼 수 있습니다. 이러한 급수를 푸리에 급수라고 합니다.

푸리에 변환을 신호 분석에 올바르게 적용하려면 몇 가지 사항을 더 이해해야 합니다. 전체 X축에서 푸리에 급수(사인 곡선의 합)를 고려하면 {0, T} 구간 밖에서는 푸리에 급수 함수가 주기적으로 반복된다는 것을 알 수 있습니다.

예를 들어 그림 7의 그래프에서 원래 함수는 {-T\2, +T\2} 간격에 정의되어 있고 푸리에 급수는 전체 x축에 정의된 주기 함수를 나타냅니다.

이는 사인 곡선 자체가 주기 함수이므로 그 합도 주기 함수가 되기 때문입니다.

그림 7 푸리에 급수에 의한 비주기적 소스 함수의 표현

그림 7 푸리에 급수에 의한 비주기적 소스 함수의 표현

따라서:

원래 함수는 길이 T의 일부 세그먼트에 정의된 연속적이고 비주기적인 함수입니다.
이 함수의 스펙트럼은 불연속적이며, 즉 무한한 고조파 성분인 푸리에 급수로 표현됩니다.
사실 푸리에 급수는 {0, T} 구간에서 우리의 함수와 일치하는 주기 함수를 정의하지만, 우리에게 이 주기성이 필수적인 것은 아닙니다.

다음.

고조파 성분의 주기는 초기 함수 f(x)가 정의되는 {0, T} 간격의 배수입니다. 즉, 고조파의 주기는 신호 측정 기간의 배수입니다. 예를 들어, 푸리에 급수에서 첫 번째 고조파의 주기는 함수 f(x)가 정의되는 간격 T와 같습니다. 푸리에 급수에서 두 번째 고조파의 주기는 간격 T/2와 같습니다. 등등(그림 8 참조).

그림 8 푸리에 급수 고조파 성분의 주기(주파수)(여기서는 T=2π)

그림 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의 주파수 분해능을 가진 고조파 성분(스펙트럼)으로 분해할 수 있습니다. 주파수 분해능을 높이는 다른 방법은 없습니다.

샘플 배열에 0을 추가하여 신호 지속 시간을 인위적으로 늘릴 수 있는 방법이 있습니다. 하지만 실제 주파수 분해능은 증가하지 않습니다.

3. 이산 신호 및 이산 푸리에 변환
디지털 기술의 발달로 측정 데이터(신호) 저장 방식이 바뀌었습니다. 이전에는 신호를 테이프 레코더에 녹음하여 아날로그 형태로 테이프에 저장할 수 있었지만, 이제는 신호를 디지털화하여 컴퓨터 메모리의 파일에 숫자(카운트) 집합으로 저장합니다.

신호 측정 및 디지털화의 일반적인 방식은 다음과 같습니다.

측정 트랜스듀서 -- 신호 노멀라이저 -- ADC -- 컴퓨터
(그림 9 측정 채널의 개략도)

측정 트랜스듀서의 신호는 T 시간 동안 ADC로 이동합니다. T 시간 동안 수신된 신호 판독값(샘플링)은 컴퓨터로 전송되어 메모리에 저장됩니다.

그림 10 디지털화된 신호 - 시간 T 동안 수신된 N개의 샘플

그림 10 디지털화된 신호 - 시간 T 동안 수신된 N개의 샘플

신호 디지털화 매개변수에 대한 요구 사항은 무엇인가요? 입력된 아날로그 신호를 이산 코드(디지털 신호)로 변환하는 장치를 아날로그-디지털 컨버터(ADC)라고 합니다(© 위키).

ADC의 기본 매개변수 중 하나는 최대 샘플링 속도(시간적으로 연속적인 신호의 샘플링 빈도)입니다. 샘플링 속도는 헤르츠 단위로 측정됩니다. ((© 위키))

코텔니코프의 정리에 따르면, 연속 신호의 스펙트럼이 주파수 Fmax에 의해 제한되는 경우, 시간 간격 T = 1/2*Fmax, 즉 주파수 Fd ≥ 2*Fmax로 채취한 개별 샘플로부터 완전하고 고유하게 재구성할 수 있습니다(여기서 Fd - 샘플링 주파수; Fmax - 신호 스펙트럼의 최대 주파수). 즉, 신호 디지털화 주파수(ADC의 샘플링 주파수)는 측정하려는 신호의 최대 주파수보다 최소 2배 이상 높아야 합니다.

코텔니코프의 정리에 필요한 것보다 낮은 빈도로 샘플을 채취하면 어떻게 될까요?

이 경우 디지털화 후 고주파 신호가 실제로 존재하지 않는 저주파 신호로 바뀌는 '앨리어싱' 효과(스트로보스코픽 효과, 모아레 효과라고도 함)가 발생합니다. 그림 11에서 고주파의 빨간색 사인파가 실제 신호입니다. 저주파의 파란색 사인파는 가상의 신호로, 샘플링 시간 동안 고주파 신호의 절반 이상의 주기를 통과할 시간이 있기 때문에 발생합니다.

그림 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. 주기 T0, 주기 T>T0의 주기 함수 f(x)

 

그림 12에서 볼 수 있듯이 함수 f(x)는 주기 T0로 주기적입니다. 그러나 측정 샘플 길이 T가 함수 주기 T0와 같지 않기 때문에 푸리에 급수로 얻은 함수는 점 T에서 불연속성을 가지며, 결과적으로 이 함수의 스펙트럼에는 많은 수의 고주파 고조파가 포함됩니다. 측정 샘플 T의 지속 시간이 함수 T0의 주기와 일치하는 경우, 푸리에 변환 후 얻은 스펙트럼에는 함수 f(x)가 사인파이므로 첫 번째 고조파(샘플의 지속 시간과 같은 주기를 갖는 사인파)만 포함됩니다.

즉, DFT 프로그램은 신호가 "사인파의 한 조각"이라는 것을 "알지 못하지만" 사인파의 개별 조각의 불연속성으로 인해 불연속성을 갖는 주기 함수를 급수로 표현하려고 시도합니다.

결과적으로 스펙트럼에 고조파가 나타나며, 이 불연속성을 포함하여 전체적으로 함수의 모양을 나타내야 합니다.

따라서 주기가 다른 여러 정현파의 합인 신호의 "올바른" 스펙트럼을 얻으려면 다음과 같은 조건이 필요합니다. 기간의 정수 수 신호의 측정 기간에 각 정현파가 존재해야 합니다. 실제로 이 조건은 충분히 긴 신호 측정 기간으로 충족할 수 있습니다.

 

그림 13 기어박스의 운동학적 오류 신호 함수 및 스펙트럼 예시

그림 13 기어박스의 운동학적 오류 신호 함수 및 스펙트럼 예시

 

지속 시간이 짧으면 사진이 "더 나빠져" 보입니다:

 

그림 14 로터 진동 기능 및 스펙트럼 예시

그림 14 로터 진동 기능 및 스펙트럼 예시

 

 

 

실제로는 컴포넌트 주기와 신호 샘플링 기간의 불일치 또는 파형의 '점프와 끊김'으로 인한 '실제 컴포넌트'와 '아티팩트'가 어디에 있는지 파악하기 어려울 수 있습니다. 물론 "실제 구성 요소"와 "아티팩트"라는 단어를 따옴표로 묶은 데는 이유가 있습니다. 스펙트럼 그래프에 고조파가 많다고 해서 신호가 실제로 고조파로 구성되어 있다는 의미는 아닙니다. 숫자 7이 숫자 3과 4로 "구성"되어 있다고 생각하는 것과 같습니다. 숫자 7은 3과 4의 합으로 생각할 수 있으며, 이는 맞습니다.

우리의 신호... 또는 오히려 "우리의 신호"가 아니라 신호(샘플)를 반복하여 구성된 주기 함수는 특정 진폭과 위상을 가진 고조파(사인파)의 합으로 나타낼 수 있습니다. 그러나 실무에 중요한 많은 경우(위 그림 참조) 스펙트럼에서 얻은 고조파를 주기적 특성을 갖고 신호의 형태에 크게 기여하는 실제 프로세스와 연관시키는 것이 실제로 가능합니다.

일부 결과
1. ADC로 디지털화된 T초 지속 시간의 실제 측정 신호, 즉 이산 샘플 세트(N개)로 표현되는 신호는 고조파 세트(N/2개)로 표현되는 이산 비주기적 스펙트럼을 갖습니다.

2. 신호는 일련의 유효한 값으로 표시되고 스펙트럼은 일련의 유효한 값으로 표시됩니다. 고조파의 주파수는 양수입니다. 음의 주파수를 사용하여 스펙트럼을 복소수 형태로 표현하는 것이 수학적으로 더 편리하다고 해서 "이것이 옳다", "항상 이렇게 해야 한다"는 의미는 아닙니다.

3. T 시점에 측정된 신호는 T 시점에만 결정되며, 신호 측정을 시작하기 전에 어떤 일이 일어났고 그 이후에 어떤 일이 일어날지는 과학적으로 알 수 없습니다. 그리고 우리의 경우에는 흥미롭지 않습니다. 시간 제한 신호의 FFT는 특정 조건에서 구성 요소의 진폭과 주파수를 계산할 수 있다는 의미에서 "실제"스펙트럼을 제공합니다.

 

카테고리:

ko_KRKO