DFT의 복잡한 출력에는 이산 주파수에서 "진폭"및 "위상"정보가 모두 들어 있다는 것을 알고 있습니다.DFT 출력을 "제로 위상 조정"하는 방법은 무엇입니까?
Amplitude[n] = sqrt((r[n]*r[n]) + (i[n]*i[n]))
Phase[n] = (atan2(i[n],r[n]))
Frequency[n] = n * (sample_rate/(fft_input_length/2))
은 해당 주파수에서의 입력의 FFT 입력에 0 상 배향을 가진 것처럼 I 각 출력 빈의 크기를 계산하는 주파수, 진폭 및 위상 정보를 이용할 수 있어야한다는 것 . 그러나 나는 빈 그림을 그리고있다.
흠, 내 문제를 깊이 파고 들자면, 입력에 관계없이 FFT 출력의 가상 포션은 항상 0.0이라는 것을 알았습니다. 따라서 코드에 결함이 있거나 알고리즘이 필요하지 않다고 추측합니다.
질문이 맞지 않습니다. 위의 주어진 빈에서 진폭에 대한 표현식을 이미 사용하고 계십니까? –
사실, 진폭 값은 위상의 영향을 받아야합니다. 예를 들어, 동일한 주파수와 진폭의 두 개의 사인파 신호를 생성하지만 두 번째 신호의 위상을 이동하면 FFT 출력에서 계산 된 진폭이 달라지지 않습니까? 그게 내 검사의 경우 인 것 같습니다. 아마 나는 코드에 결함이있다. –
동일한 주파수에서 두 개의 사인파를 결합하면 새로운 진폭과 위상을 가진 동일한 주파수의 사인파가 하나 생성됩니다.이 두 사인파는 동일한 주파수에 있기 때문에 분리 할 수 없습니다. –