DFT의 출력을 정방향 또는 역방향으로 확장하든 관계없이 규칙 또는 수학적으로 편리한 것과 관련이 없습니다. DFT 입력과 관련이 있습니다. 순방향 변환과 역변환 모두에 스케일링이 필요하거나 필요하지 않은 몇 가지 예를 보여 드리겠습니다.
순방향 변환을 1 / N으로 스케일링해야합니다.
우선, 간단한 사인파를 분석하려면 변환 길이가 수학적으로 말해서 관련이 없어야한다는 것이 분명해야합니다. N = 1024, Freq = 100이라고 가정하고 신호는 다음과 같습니다.
f (n) = cos (Freq * 2 * Pi * n / N)
f (n)의 1024 포인트 DFT를 취하면 bin [100] = 512입니다. 그러나 이것은 N으로 스케일링 할 때까지 의미가 없습니다. 512/1024 = 1/2 그리고 물론, 다른 1/2은 bin [924]의 음의 스펙트럼에 있습니다.
DFT의 길이를 두 배로 늘리면 N = 2048이면 출력 값은 1024 포인트 DFT보다 두 배가되므로 1 / N으로 스케일링하지 않으면 결과는 의미가 없습니다. DFT의 길이는 이러한 종류의 분석에 영향을 미치지 않아야합니다. 따라서이 예에서는 DFT를 1 / N 씩 스케일 스케일해야합니다.
정방향 변환을 스케일하지 않아야합니다.
이제 32 탭 FIR 필터의 임펄스 응답이 있고 주파수 응답을 알고 싶다고 가정하십시오. 편의상 이득이 1 인 저역 통과 필터를 가정합니다.이 필터의 경우 DFT의 DC 구성 요소는 1이어야한다는 것을 알고 있습니다. DC 성분이 단순히 입력 값의 합 (즉 FIR 계수의 합)이기 때문에 DFT.
따라서이 입력의 경우 DFT는 1 / N으로 스케일링되지 않으므로 의미있는 답변을 얻을 수 있습니다. 그렇기 때문에 변환 결과에 영향을주지 않고 원하는만큼 임펄스 응답을 제로 패딩 할 수 있습니다.
이 두 예의 근본적인 차이점은 무엇입니까?
대답은 간단합니다. 첫 번째 경우, 모든 입력 샘플에 에너지를 공급했습니다. 다시 말해 사인파가 1024 개 샘플 모두에 존재하므로 DFT의 출력을 1/1024로 스케일링해야했습니다.
두 번째 예에서는 정의에 따라 1 개의 샘플 (n = 0의 임펄스)에 대해서만 에너지를 공급했습니다. 임펄스가 32 탭 필터를 통과하는 데 32 개의 샘플이 필요했지만이 지연은 관련이 없습니다. 1 개의 샘플에 에너지를 공급 했으므로 DFT의 출력을 1 씩 스케일링합니다. 임펄스가 1 대신 2 개의 에너지 단위로 정의 된 경우 출력을 1/2로 스케일링합니다.
역변환을 스케일하지 않아야합니다.
이제 역 DFT를 고려해 봅시다. 순방향 DFT와 마찬가지로 에너지를 공급하는 샘플 수를 고려해야합니다. 물론 양수와 음수 빈을 모두 적절히 채워야하므로 여기에서 좀 더주의를 기울여야합니다. 그러나 두 개의 적절한 빈에 임펄스 (즉, 1)를 배치하면 역 DFT의 결과 출력은 역 DFT에서 사용하는 포인트 수에 관계없이 진폭이 2 인 코사인 파가됩니다.
따라서 순방향 DFT와 마찬가지로 입력이 임펄스 인 경우 역 DFT의 출력을 스케일링하지 않습니다.
역변환을 스케일링해야합니다.
이제 저역 통과 필터의 주파수 응답을 알고 역 임펄스 응답을 얻기 위해 역 DFT를 수행하려는 경우를 고려하십시오. 이 경우 모든 지점에서 에너지를 공급하기 때문에 DFT의 출력을 1 / N으로 조정하여 의미있는 답변을 얻을 수 있습니다. 입력 값이 복잡하기 때문에 이것은 분명하지 않지만 예제를 통해 작업하면 이것이 사실임을 알 수 있습니다. 1 / N으로 스케일링하지 않으면 N 순서로 피크 임펄스 응답 값을 가지게되는데, 게인이 1 인 경우에는 불가능합니다.
방금 자세히 설명한 네 가지 상황은 DFT의 출력을 확장하는 방법이 분명한 엔드 포인트 예제입니다. 그러나 끝점 사이에 많은 회색 영역이 있습니다. 다른 간단한 예를 살펴 보겠습니다.
N = 1024, Freq = 100 인 다음 신호가 있다고 가정합니다.
f(n) = 6 * cos(1*Freq * 2*Pi * n/N) n = 0 - 127
f(n) = 1 * cos(2*Freq * 2*Pi * n/N) n = 128 - 895
f(n) = 6 * cos(4*Freq * 2*Pi * n/N) n = 896 - 1023
세 가지 구성 요소의 진폭, 주파수 및 지속 시간 차이를 확인하십시오. 불행하게도,이 신호의 DFT는 두 번째 구성 요소가 다른 두 구성 요소의 1/36 전원 레벨을 갖더라도 동일한 전원 레벨에서 세 가지 구성 요소를 모두 표시합니다.
세 가지 구성 요소가 모두 같은 양의 에너지를 공급한다는 사실은 명백하며 DFT 결과를 설명하지만 중요한 점이 있습니다.
다양한 주파수 구성 요소의 지속 시간을 알고 있으면 그에 따라 다양한 주파수 빈을 확장 할 수 있습니다. 이 경우 DFT의 출력을 정확하게 스케일링하기 위해이 작업을 수행합니다. bin [100] / = 128; 빈 [200] / = 768; 빈 [400] / = 128;
내 마지막 요점을 알려줍니다. 일반적으로 DFT 입력에 특정 주파수 성분이 얼마나 오랫동안 존재하는지 모릅니다. 따라서 이러한 종류의 스케일링을 수행 할 수 없습니다. 그러나 일반적으로 모든 샘플 포인트에 에너지를 공급하므로 신호를 분석 할 때 순방향 DFT를 1 / N 씩 스케일링해야합니다.
문제를 복잡하게하기 위해, 우리는 DFT의 스펙트럼 분해능을 향상시키기 위해이 신호에 윈도우를 거의 확실히 적용 할 것입니다. 첫 번째와 세 번째 주파수 성분은 신호의 시작과 끝에 있기 때문에 27dB 감쇠되며 중앙 성분은 4dB 만 감쇠됩니다 (Hanning window).
명확하게하기 위해, DFT의 출력이 될 수 축소 여부, 입력의 매우 가난한 표현입니다.
알 수없는 신호의 분석과 달리, 일반적으로 순수한 수학 문제인 역 DFT의 경우 DFT에 대한 입력이 명확하게 정의되므로 출력 스케일링 방법을 알 수 있습니다.
스펙트럼 분석기, 아날로그 또는 FFT로 신호를 분석 할 때 문제는 비슷합니다. 듀티 사이클을 모르면 표시되는 신호의 전력을 모릅니다. 그럼에도 불구하고, 윈도 잉, 스팬, 스위프 레이트, 필터링, 검출기 유형 및 기타 요소는 모두 결과를 떨어 뜨리기 위해 작동합니다.
궁극적으로 시간 도메인과 주파수 도메인 사이를 이동할 때는 매우주의해야합니다. 스케일링에 관한 질문은 중요하므로 출력 스케일링 방법을 알기 위해서는 DFT에 대한 입력을 이해해야한다는 점을 분명히했으면합니다. 입력이 명확하게 정의되지 않은 경우 DFT의 출력은 스케일링 여부에 관계없이 많은 회의론으로 간주되어야합니다.