첫 번째 미분 또는 제로의 제로 크로싱을 찾아서 직접 작성할 수 있지만 표준 라이브러리에 포함될 수있는 일반적인 기능처럼 보입니다. 누구 하나 알고 있니?Python/SciPy의 피크 찾기 알고리즘
내 특정 응용 프로그램은 "
특히, 이러한 종류의 문제에서, 다수의 강력한 봉우리, 작은의 다음 많다는 등이 있으며, 2 차원 배열이지만, 보통은의 FFT에 피크를 검색에 사용하는 것 봉우리 "는 무시해야 할 잡음에 의한 것입니다. 이것들은 단지 예일뿐입니다. 나의 실제 데이터 :
1 차원 피크 :
2 차원 피크 :
피크-찾는 이들 피크의 위치를 찾을 것이라고 알고리즘을 (그들의 값뿐만 아니라) 이상적으로는 아마도 최대 값을 가진 인덱스가 아니라 quadratic interpolation 또는 뭔가를 사용하여 진정한 샘플 간 피크를 찾을 수 있습니다.
일반적으로 몇 가지 강한 피크에만 관심이 있으므로 특정 임계 값을 초과했기 때문에 선택되거나 진폭에 따라 순위가 정해진 목록의 첫 번째 n 피크이기 때문에 선택됩니다.
내가 말했던 것처럼, 나는 나 같은 것을 쓰는 법을 안다. 나는 잘 작동하는 것으로 알려진 기존 기능이나 패키지가 있는지 묻는 것입니다.
업데이트 :
I translated a MATLAB script하고 1-D의 경우에 친절하게 작동하지만, 더 좋을 수 있습니다.
업데이트 업데이트 : 1-D 케이스
sixtenbe created a better version.
@endolith 파이썬으로 변환 한 원본 MATLAB 파일을 가지고 있습니까? 감사! – Spacey
@ 모함마드 : http://billauer.co.il/peakdet.html https://gist.github.com/250860#file_peakdet.m – endolith
어떨까요? http://docs.scipy.org/doc/scipy /reference/generated/scipy.signal.find_peaks_cwt.html – dashesy