고속 푸리에 변환에서 0을 중심으로 한 스파이크

gbear605

푸리에 변환을 수행하려는 시간 관련 데이터가 있습니다. 데이터는 http://pastebin.com/2i0UGJW9에 있습니다. 문제는 데이터의 간격이 균일하지 않다는 것입니다. 이를 해결하기 위해 데이터를 보간 한 다음 고속 푸리에 변환을 수행했습니다.

import numpy as np
from scipy.fftpack import fft, fftfreq, fftshift 
from scipy.interpolate import interp1d 
import matplotlib.pyplot as plt

x = np.linspace(min(times), max(times), len(times))
y = interp1d(times, data)(x)
yf = fft(y)
xf = fftfreq(len(times), (max(times)-min(times))/len(times))
xf = fftshift(xf)
yplot = fftshift(yf)
plt.figure()
plt.plot(xf, 1.0/len(times) * np.abs(yplot))
plt.grid()
plt.show()

그러나 이것은 예상 빈도 그래프 대신 0에 중심을 둔 단일 스파이크를 제공합니다. 정확한 결과를 얻으려면 어떻게해야합니까?

KeithWM

댓글을 게시 할 평판이 충분하지 않기 때문에 내 제안을 답변으로 게시하고 그중 하나가 답변으로 연결되기를 바랍니다.

보간

수행중인 작업보다 훨씬 더 미세한 그리드에 보간하는 것이 현명 할 것입니다. 그렇지 않으면 보간이 예상 할 수없는 방식으로 잡음이있는 데이터를 부드럽게합니다. 데이터를 평활화하려면 FFT를 통해 수행하는 것이 좋습니다 (이것이 연습의 전체 요점 일 수 있습니다 ...).

시간 데이터의 최소 간격은 24이므로 그 절반 정도의 보간 그리드를 사용해야합니다. 더 좋은 점은 시간 간격이 일정하지 않지만 매우 규칙적이라는 것입니다. 입력 후 print times % 24사용하기에 좋은 그리드가 될 것 같습니다 np.arange(min(times), max(times)+1, 24). (가) 있습니다 +1너무 마지막 시간을 포함하는 단지입니다.

비 주기적 데이터

데이터는 주기적이지 않지만 FFT는 데이터를 마치 그랬던 것처럼 취급합니다. 이는 첫 번째 데이터 포인트와 마지막 데이터 포인트 사이에 큰 점프가 있음을 의미합니다. 데이터 확장을 수행하도록 지시하는 방법에 대해서는 FFT 문서를 참조해야합니다.

그리고 물론

주파수 0에서의 스파이크는 신호에 평균 0이 없다는 사실의 결과 일뿐입니다.

이것이 도움이 되었기를 바랍니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

LLDB에서 중단 점에서 몇 가지 간단한 명령을 스크립트하고 파이썬없이 자동으로 계속할 수 있습니까?

분류에서Dev

numpy를 사용한 이산화 된 연속 푸리에 변환

분류에서Dev

속성 중심 xml을 요소 중심으로 변환

분류에서Dev

웹 페이지 상단에 로고와 회사 명을 중심으로

분류에서Dev

파이썬에서 원점을 중심으로 곡선 회전

분류에서Dev

디스크에 파일을 쓰지 않고 PHP에서 pdftoppm을 사용하여 pdf를 이미지로 변환

분류에서Dev

파이썬에서 변경 가능한 속성을 변경 불가능한 객체로 반환

분류에서Dev

고속 푸리에 변환에서 데이터 간격의 영향

분류에서Dev

파이썬에서 한 스크립트에서 다른 스크립트로 값을 가져오고 변경하는 방법은 무엇입니까?

분류에서Dev

캔버스에서 이미지 중앙을 중심으로 이미지 회전

분류에서Dev

파일을 디스크에 쓰지 않고 csv 데이터를 dict로 변환

분류에서Dev

docx 파일을 Google 문서로 변환하고 동일한 폴더에 배치

분류에서Dev

.rtf 파일을 .doc로 변환 한 다음 .doc를 PowerShell에서 .rtf로 다시 변환 (WMF 레지스트리 수정)-파일 크기 최적화

분류에서Dev

.rtf 파일을 .doc로 변환 한 다음 .doc를 PowerShell에서 .rtf로 다시 변환 (WMF 레지스트리 수정)-파일 크기 최적화

분류에서Dev

한 경로를 다른 경로로 전달하고 그 과정에서 공백을 하이픈으로 변환

분류에서Dev

CSV를 사용하지 않고 텍스트 파일을 Python에서 사전으로 변환하는 쉬운 한 줄이 있습니까?

분류에서Dev

ipad 앱에서 서명을 그리고 이미지로 변환

분류에서Dev

SVG 원을 올바르게 중심으로 회전하고 원의 중심에 다각형을 중심으로 회전하는 방법은 무엇입니까?

분류에서Dev

Objective-C의 고속 푸리에 변환이 제대로 작동하지 않습니다.

분류에서Dev

SVG / D3에서 중심을 중심으로 텍스트를 회전하는 방법 (세로 뒤집기)?

분류에서Dev

"csv와 유사한"텍스트 데이터 파일을 다운로드하고 파이썬에서 CSV로 변환합니다.

분류에서Dev

폴더의 모든 파일을 처리하고 모든 출력을 동일한 파일 이름으로 다른 폴더에 저장하는 Bash 스크립트?

분류에서Dev

matlab에서 이중 배열을 셀형 배열의 한 요소로 변환하고 싶습니다.

분류에서Dev

"이상한"삼항 연산자를 자바 스크립트에서 파이썬으로 변환

분류에서Dev

쉘 스크립트를 사용하여 xml 태그에서 속성 값을 가져오고 csv로 변환

분류에서Dev

간단한 정규식 줄을 펄에서 파이썬으로 변환

분류에서Dev

Fabric js에서 중심을 중심으로 회전을 애니메이션하는 방법

분류에서Dev

Maven이 내 Maven 스크립트에서 사용할 수있는 속성으로 파일을 변환하도록 할 수 있습니까?

분류에서Dev

쉘 스크립트의 이름을 바꾸고 한 폴더에서 다른 폴더로 파일 이동

Related 관련 기사

  1. 1

    LLDB에서 중단 점에서 몇 가지 간단한 명령을 스크립트하고 파이썬없이 자동으로 계속할 수 있습니까?

  2. 2

    numpy를 사용한 이산화 된 연속 푸리에 변환

  3. 3

    속성 중심 xml을 요소 중심으로 변환

  4. 4

    웹 페이지 상단에 로고와 회사 명을 중심으로

  5. 5

    파이썬에서 원점을 중심으로 곡선 회전

  6. 6

    디스크에 파일을 쓰지 않고 PHP에서 pdftoppm을 사용하여 pdf를 이미지로 변환

  7. 7

    파이썬에서 변경 가능한 속성을 변경 불가능한 객체로 반환

  8. 8

    고속 푸리에 변환에서 데이터 간격의 영향

  9. 9

    파이썬에서 한 스크립트에서 다른 스크립트로 값을 가져오고 변경하는 방법은 무엇입니까?

  10. 10

    캔버스에서 이미지 중앙을 중심으로 이미지 회전

  11. 11

    파일을 디스크에 쓰지 않고 csv 데이터를 dict로 변환

  12. 12

    docx 파일을 Google 문서로 변환하고 동일한 폴더에 배치

  13. 13

    .rtf 파일을 .doc로 변환 한 다음 .doc를 PowerShell에서 .rtf로 다시 변환 (WMF 레지스트리 수정)-파일 크기 최적화

  14. 14

    .rtf 파일을 .doc로 변환 한 다음 .doc를 PowerShell에서 .rtf로 다시 변환 (WMF 레지스트리 수정)-파일 크기 최적화

  15. 15

    한 경로를 다른 경로로 전달하고 그 과정에서 공백을 하이픈으로 변환

  16. 16

    CSV를 사용하지 않고 텍스트 파일을 Python에서 사전으로 변환하는 쉬운 한 줄이 있습니까?

  17. 17

    ipad 앱에서 서명을 그리고 이미지로 변환

  18. 18

    SVG 원을 올바르게 중심으로 회전하고 원의 중심에 다각형을 중심으로 회전하는 방법은 무엇입니까?

  19. 19

    Objective-C의 고속 푸리에 변환이 제대로 작동하지 않습니다.

  20. 20

    SVG / D3에서 중심을 중심으로 텍스트를 회전하는 방법 (세로 뒤집기)?

  21. 21

    "csv와 유사한"텍스트 데이터 파일을 다운로드하고 파이썬에서 CSV로 변환합니다.

  22. 22

    폴더의 모든 파일을 처리하고 모든 출력을 동일한 파일 이름으로 다른 폴더에 저장하는 Bash 스크립트?

  23. 23

    matlab에서 이중 배열을 셀형 배열의 한 요소로 변환하고 싶습니다.

  24. 24

    "이상한"삼항 연산자를 자바 스크립트에서 파이썬으로 변환

  25. 25

    쉘 스크립트를 사용하여 xml 태그에서 속성 값을 가져오고 csv로 변환

  26. 26

    간단한 정규식 줄을 펄에서 파이썬으로 변환

  27. 27

    Fabric js에서 중심을 중심으로 회전을 애니메이션하는 방법

  28. 28

    Maven이 내 Maven 스크립트에서 사용할 수있는 속성으로 파일을 변환하도록 할 수 있습니까?

  29. 29

    쉘 스크립트의 이름을 바꾸고 한 폴더에서 다른 폴더로 파일 이동

뜨겁다태그

보관