DFT가 변환 된 신호가 주기적이라고 가정하는 이유는 무엇입니까?


10

많은 신호 처리 서적에서, DFT는 변환 된 신호가 주기적이라고 가정한다고 주장한다 (그리고 이것이 예를 들어 스펙트럼 누출이 발생할 수있는 이유 임).

이제 DFT의 정의를 살펴보면 그러한 종류의 가정은 없습니다. 그러나 DTFT (Discrete-Time Fourier Transform)에 관한 Wikipedia 기사 에서

입력 데이터 시퀀스 이 N- 주기 일 때, 식 2는 이산 푸리에 변환 (DFT)으로 계산적으로 감소 될 수있다x[n]N

  • 그렇다면이 가정은 DTFT에서 비롯된 것입니까?
  • 실제로 DFT를 계산할 때 실제로 신호가 주기적 이라는 가정하에 DTFT 계산 합니까?

x [n]의 DFT X [k]는주기 신호 xp [n]의 이산 푸리에 시리즈 (DFS)의 첫 번째주기이므로 첫 번째주기는 x [n]
Fat32

1
나는 이것에 반대 의견을 써야 할 것 같습니다. DFT는 변환 된 신호가주기적인 변환 된 신호에 기본 함수 세트를 맞추기 때문에 변환 된 신호가 주기적이라고 가정합니다.
robert bristow-johnson

1
DFT는 DFS의 단순화 된 표현 일 뿐이므로주기적인 가정이 본질적으로 존재합니다.
lxg

답변:


12

이미 좋은 해답이 있지만 디지털 신호 처리의 여러 측면을 이해하는 데이 주제를 매우 중요하게 생각하기 때문에 여전히 또 다른 설명을 추가하고 싶습니다.

우선 DFT가 변환 될 신호의 주기성을 '가정'하지 않는다는 것을 이해하는 것이 중요합니다. DFT는 단순히 길이 의 유한 신호에 적용되며 해당 DFT 계수는 다음과 같이 정의됩니다.N

(1)X[k]=n=0N1x[n]ej2πnk/N,k=0,1,,N1

(1)부터 간격 의 샘플 만 고려되므로 주기성이 가정되지 않습니다. 한편, 계수 는 신호 의 주기적 연속의 푸리에 계수로 해석 될 수있다 . 이것은 역변환에서 볼 수 있습니다x[n][0,N1]X[k]x[n]

(2)x[n]=k=0N1X[k]ej2πnk/N

이는 계산하여 정확하게 구간 (2)의 우측이 기간주기 때문에, 그러나 또한이주기적인 간격 밖에 지속 계산 . 이 속성은 DFT의 정의에 내재되어 있지만 일반적으로 간격 에만 관심이 있기 때문에 신경 쓰지 않아도됩니다 .x[n][0,N1]N[0,N1]

의 DTFT 고려x[n]

(3)X(ω)=n=x[n]ejnω

이 간격 의 유한 시퀀스 인 경우 DFT 계수 는 DTFT 샘플 임 )을 (3)과 (1)과 비교하여 알 수 있습니다 :x[n][0,N1]X[k]X(ω)

(4)X[k]=X(2πk/N)

따라서 DFT (한 가지만이 아님)의 사용은 DTFT의 샘플을 계산하는 것입니다. 그러나 분석 할 신호의 길이유한 한 경우에만 작동합니다 . 일반적으로이 유한 길이 신호는 더 긴 신호를 윈도 잉하여 구성됩니다. 그리고 이것은 스펙트럼 누출을 일으키는 창입니다.

마지막 비, 참고로 그주기의 연속 DTFT 의 유한 시퀀스 의 DFT 계수들로 표현 될 수있다 :x~[n]x[n]x[n]

(5)x~[n]=k=x[nkN]
(6)X~(ω)=2πNk=X[k]δ(ω2πk/N)

편집 : 위 의 및 가 DTFT 변환 쌍이라는 사실은 다음과 같이 표시 될 수 있습니다. 먼저 이산 시간 임펄스 콤의 DTFT는 Dirac 콤입니다.x~[n]X~(ω)

(7)k=δ[nkN]2πNk=δ(ω2πk/N)

시퀀스 은 임펄스 빗을 사용하여 의 컨볼 루션으로 작성할 수 있습니다 .x~[n]x[n]

(8)x~[n]=x[n]k=δ[nkN]

DTFT 도메인에서 곱 회선에 상당하기 때문에, DTFT 의 의 곱으로 주어진다 디랙 빗 :X~(ω)x~[n]X(ω)

(9)X~(ω)=X(ω)2πNk=δ(ω2πk/N)=2πNk=X(2πk/N)δ(ω2πk/N)

와 결합 하면 결과 됩니다.(9)(4)(6)


@ hotpaw2의 최근 답변이있는 것과 같은 이유로이 답변에 아래쪽 화살표를 표시했습니다. 이 문장에서 : "(1)부터 간격 의 샘플 만 고려되므로 주기성이 가정되지 않습니다." x[n][0,N1]결론은 전제에서 따르지 않습니다.
robert bristow-johnson

4
@ robertbristow-johnson : 그렇습니다. 내게 부여 연속 샘플을, 나는 당신에게 DFT를 제공합니다. 범위 밖의 신호에 대해서는 아무 것도 가정 할 필요가 없습니다 . 이것이 그 문장에서 내가 주장하는 유일한 것이며, 분명히 사실입니다. DFT를 계산하기 위해 간격의 값을 제외하고는 아무것도 알 필요가 없습니다 . 내 진술을 어떻게 오해하거나 잘못 읽을 수 있는지 잘 모르겠습니다. 그것이 공식화 문제라면 내 문장을 분명히 밝힐 수는 있지만 내용 측면에서는 실제로 사소한 것입니다. N[0,N1][0,N1]
Matt L.

4
아래의 다른 답변과 다른 스레드에서 내 답변을 읽으십시오. 이 일에 대해 아니에요 당신 에 대해 생각 외부 . 외부에서 에 대해 변환이 "가정"한다고 가정합니다 (조금 의인화가 허용되는 경우) . 한 도메인에서 다른 도메인을 정수량만큼 이동시키는 연산을 호출 할 때 변환이 무엇을 가정하는지 알 수 있습니다. x[n]0nN1x[n]0nN1
robert bristow-johnson 2012

@MattL. (9) 대신
=2πNk=X[k]δ(ω2πk/N)
=2πNk=X(2πk/N)δ(ω2πk/N)
jomegaA

@ jomegaA : 두 경우 모두 없습니다. 내 대답의 마지막 문장에서 언급했듯이, 최종 결과 (6)은 (9)를 (4)와 결합하여 결론을 얻습니다. 물론 이지만 (9 ) DTFT 에서 파생됩니다 . 스케일링 계수 에 관해서는 반드시 있어야합니다. 및 사용하는 표현식을 혼동하지 마십시오 . 스케일링 요소가 다릅니다. X[k]=X(2πk/N)X(ω)2π/Nωf
Matt L.

8

시간 도메인 신호의 정의에서 비롯됩니다.

x[n]=k=0N1X[k]e2πinkN

정의에 따르면 입니다. 반면에 DFT는 신호의 N 개 샘플을 완벽하게 재구성합니다. 따라서 주기적으로 계속한다고 가정 할 수 있습니다.x[n]=x[n+N]

또 다른 관점은 DFT를 Finite Discrete Fourier Series (실제로 Discrete Fourier Series-DFS를 살펴보십시오)로 보는 것 입니다. 물론 신호가 주기적이라는 점은 물론 (주기 의 신호의 유한 합 은 주기 를 갖는 신호 ).TT


2
정의에서 어떻게 나오는지 모르겠습니다.
user10839

1
@ user10839 : 그냥 평가 x[n+N] 그리고 당신은 그것이 같은 것을 볼 수 있습니다 x[n]. 답에서 지적했듯이 DFT는 시간 영역 신호의 푸리에 시리즈입니다. 시간 도메인 신호의 유한 길이는 기본 주기로 간주됩니다.
Matt L.

@ user10839, 그냥 방정식에 연결하십시오. 지수는 코사인 및 사인 함수로 정의 할 수 있습니다.nkN.
Royi

1
DFT는 DFS가 아닙니다. 이것은 Pedantic이지만 DFT는 Fourier 계열 계수를 제공합니다. DFT는 다른 선형 변환과 같습니다. 행렬 곱셈입니다. 행렬은 직교 정규이므로 멋집니다. 또한 데이터의 해당 푸리에 시리즈 확장에 대해 동일한 계수를 출력하지만 푸리에 변환은 푸리에 시리즈가 아닙니다 (유형 불일치 : p).
thang

@thang, 나는 당신이 무슨 뜻인지 전혀 모른다. DFT는 DFS입니다. 그들은 동일합니다. 쉽게 알 수 있습니다. 이것은 푸리에 시리즈가 아닌 이산 푸리에 시리즈입니다 (적분 포함). 여기 en.wikipedia.org/wiki/Discrete_Fourier_series 를보고 DFT인지 확인하십시오.
Royi

5

불필요하고 종종 잘못된 가정입니다. DFT는 유한 벡터의 기본 변환입니다.

DFT의 기본 벡터는 무한히 확장 가능한 주기적 함수의 조각입니다. 그러나 기본 벡터를 DFT 조리개 밖으로 확장하지 않으면 DFT 입력 또는 결과에 대해 본질적으로주기적인 것은 없습니다. 많은 형태의 신호 분석에는 샘플링 된 창 또는 유한 데이터 벡터 외부의 확장이나 가정이 필요하지 않습니다.

"누설"아티팩트는 주기적이 아니거나 주기성 또는 고 정성이 알려지지 않은 신호로 기본 직사각형 창의 컨볼 루션에서 나온 것으로 가정 할 수 있습니다. 이는 중첩 된 FFT 창을 분석 할 때 훨씬 더 의미가 있습니다. 여기서 DFT 또는 FFT 창 외부의 주기성 가정이 다른 창의 데이터와 일치하지 않을 수 있습니다.

주기성은 DFT와 DTFT에 관한 수학을 다루기 쉽게 만들 수 있습니다. 그러나 신호 처리에 실제로 FFT를 사용할 때 DTFT와의 관계가 필요할 수도 있고 필요하지 않을 수도 있습니다 (처리 방법의 추가 분석에 필요한 푸리에 변환 속성에 따라).


같은 이유로 아래쪽 화살표로 표시했습니다. 이것에 대한 최근 답변을 아래쪽 화살표로 표시했습니다.
robert bristow-johnson 2012

5

좋아, 내 대답은 다른 대답과 약간 다를 것입니다. 내 대답은 질문의 전제를 거부하는 것이 아니라 질문의 전제를 받아들입니다.

DFT가 입력 신호 (변환 될 신호, "변환 된 신호"에 의해 OP가 의미하는 것으로 가정하는 것)가 주기적이라고 가정하는 이유는 DFT가 해당 입력 신호에 기본 기능 모음을 맞추기 때문입니다. 주기적입니다.

다른 기본 함수 세트를 고려하십시오.

gk(u)uk0k<N

그리고 주어진 N 입력 샘플 :

x[n]0n<N

이 기본 함수의 선형 합을 맞출 수 있습니다 gk(n) 입력 순서로

x[n]=k=0N1X[k]gk(n)=k=0N1X[k]nk

계수의 신중한 선택 X[k]. 모두 계산X[k] 해결이 필요하다 N 와 선형 방정식 N미지수. 가우시안 제거 를 사용 하여 수행 할 수 있습니다 .

와 더불어 N 에 대한 올바른 값 X[k] ...에 대한 0kN1, 우리는 이러한 전력 함수의 합 ( (N1)차수 다항식)을 정확히 평가합니다 x[n] 각각 n 그런 0nN1.

이 합을 사용하여 구간을 넘어 서면 0nN1? 당신은 그것을 평가할 수 있는 n. 해당 기능의 동작은(N1)그것은 다항식이기 때문입니다. ...에 대한n 충분히 크면 계수가 0이 아닌 최고 전력 만 외삽 추세를 설정합니다. x[n].

이제 DFT를 사용하여 입력 시퀀스에 다른 기본 함수 세트를 적용합니다.

gk(u)1Ne+j2πku/N0k<N

x[n]=k=0N1X[k]gk(n)=1Nk=0N1X[k]e+j2πnk/N

계수 X[k], 해결할 수 있으며 다음과 같습니다.

X[k]=n=0N1x[n] ej2πnk/N

그 배치 1N컨벤션 문제입니다. 나는 대부분의 문헌이1N인자. 그것은에서 제거 될 수있다x[n] 방정식과 X[k]대신 방정식. 또는 "반"1N)는 두 방정식으로 둘 수 있습니다. 컨벤션 문제 일뿐입니다.

그러나 여기서 우리는주기와주기적인 일련의 기본 함수를 맞추고 있습니다. N 원본으로 x[n]. 그래도x[n] 더 긴 시퀀스에서 나온 것이 아니 었습니다. DFT는 x[n]주기와주기적인 각각 의 기본 함수의 합입니다.N. 주기가 동일한 함수를 모두 같은 주기로 합산하면 합계도 같은 주기로 주기적이어야합니다.


DFT가 전달 된 데이터를 주기적으로 연장 할 필요는 없다는 개념에 대해 논쟁의 여지가있는 좀 더 논쟁의 여지가 있으므로이 이전 답변을 살펴보십시오 . 차라리 반복하지 않겠습니다.
robert bristow-johnson 4:27에

1

DFT는 이산 적입니다. DTFT는 연속적입니다. 우리는 DTFT로부터 DFT를 적절한주기의 펄스 트레인으로 샘플링함으로써 얻을 수 있는데, 이는 실제로 펄스 트레인과 곱하는 것과 같습니다. 변환 도메인에서의 곱셈은 불연속 시간 도메인에서의 컨벌루션과 동일하며, 이는 신호의 주기성을 의미합니다.


DTFT는 연속적입니까? 어떻게 오세요?
jojek

2
DTFT의 결과는 연속적입니다 (빈도).
Deve

실제로-오해를 피하고 적절한 방정식을 제공하도록 명확하게 진술해야합니다.
jojek

@jojek 사실,이 답변은 몇 가지 방정식으로 개선 될 수 있다고 생각합니다.
Deve

1
더 자세한 내용은 곧 추가하겠습니다.
학습자

0

이산 디지털 세계에서는 두 영역 모두에서 주기적으로 가정하기 때문에 DFT 만 실용적입니다. 한 도메인에서 비주기적인 신호는 다른 도메인에서 연속적인 신호를 발생 시키며 이산 신호 만 디지털 메모리에 저장할 수 있기 때문입니다. 따라서 두 도메인에서 신호가 분리되도록 두 도메인에서 신호가 주기적이라고 가정해야합니다.

DTFT를 계산하면 주파수 영역에서 연속 신호가 출력으로 나타납니다.
DFT를 실제로 계산할 때 동일한 절차를 사용하지 않을 것이라고 생각합니다. 실제로 DTFT와 DFT를 모두 계산하면 두 변환 계산이 서로 다른 이야기임을 이해할 수 있습니다.


0

신호는 주기적이므로 시간 이동 된 신호는 주파수 영역의 절대 크기를 변경하지 않습니다.

X[k]=k=0N1x[n]e2πinkN

e2πiDkNX[k]=k=0N1x[nD]e2πinkNe2πiDkN

By the way, there is nothing stopping you from taking the FFT of a non-periodic signal, but there it little practical use if none of the transformations work.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.