데이터 수집 카드를 사용하여 신호가 피크까지 상승했다가 다시 원래 값 근처로 떨어지는 장치에서 판독값을 가져옵니다. 피크 값을 찾기 위해 현재 배열에서 가장 높은 판독값을 검색하고 인덱스를 사용하여 계산에 사용되는 피크 값의 타이밍을 결정합니다.
이 방법은 가장 높은 값이 우리가 찾고 있는 피크인 경우 잘 작동하지만 장치가 올바르게 작동하지 않는 경우 초기 피크보다 높은 두 번째 피크를 볼 수 있습니다. 90초 동안 16개의 디바이스에서 초당 10개의 판독값을 가져옵니다.
처음에는 판독값을 순환하면서 이전 지점과 다음 지점이 전류보다 작은지 확인하여 피크를 찾고 피크 배열을 구성하는 것이 좋겠다고 생각했습니다. 시스템의 노이즈를 허용하기 위해 현재 위치의 양쪽에 있는 여러 지점의 평균을 살펴봐야 할 수도 있습니다. 이것이 최선의 방법일까요, 아니면 더 나은 방법이 있을까요?
저희는 LabVIEW를 사용하고 있으며 LAVA 포럼을 확인해보니 흥미로운 예가 많이 있습니다. 이것은 테스트 소프트웨어의 일부이며 비표준 VI 라이브러리를 너무 많이 사용하지 않으려 고 노력하고 있으므로 특정 코드보다는 관련된 프로세스 / 알고리즘에 대한 피드백을 원합니다.
여러 가지 방법 중 가장 많은 클래식 감지, 스레딩이 작동할 수 있습니다. # 39, ll, 특히 you& 니며 데이터의 품질을 알 수 있다. 다음은 기본 설명:
임의의 두 점 사이의 고객의 데이터, ' (x, y (0) (0))' 와 ' (x, y (n) (n))', 'y (i + 1) 의 합계가 0 = - y (i)', '내가 < <. 이것이 바로 'n' 및 'T' (travel" ";) 및 세트 'R' (" rise";) (n) - y (0) + k 를 'y' 를 제대로 작은 'k'. 'T / R >. 1 '은 최고. 이 경우 만약 주위에 대칭으로 인해 큰 것 또는 여행을 제대로 작동 소음인지 소음입니다 분산합니다 기본 곡선 모양. 가장 위에 있는 그대로 특정 응용 프로그램의 최고 점수 상승 곡선을 여행의 재미를 속성 값을 호스트당 하한계 또는 분석합니다.
정합된 필터를 사용하여 표준 살충제요 유사성을 최고 형태 (기본적으로 표준화된 스칼라곱 사용할 수 있는 코사인 메트릭은 포지셔닝하여 일부 모양) 의 유사)
가장 높은 값을 확인할지 어하여 덩컨볼베 형태와 표준 (찾을 수 있지만 저는 가끔 2 경기에 덜 민감한 단순 소음 계기에서는 출력입니다).
균일한 간격으로 세 '의 경우 데이터 및 확인할지 준대칭 점들이 x0 <. x1 <. x2, y1 >. 0.5 * (y0 + y2) ', 또는 체크 유클리드 거리 다음과 같습니다. 'D (x0, y0), (x1, y1) + D ((x1, y1), (x2, y2) >. D ((x0, y0), (x2, y2) '이 의존하는 삼각 부등식. 간단한 제거율 너희에의 제공하십시오 메커니즘을 통해 다시 넣었다.
아주 간단한 i-프로파일이나 가우스 2 혼합 모델 데이터베이스에구성원을 데이터 (예를 들어, 숫자 비법을 좋은 코드를 거침없이 쏟아냈다 청크에는 있다). 앞서 시행하십시오 표현한다. 이렇게 하면 제대로 한ᆞ미 중복되는 좌.
가장 단순한 데이터 일치시킵니다 찾습니다찾기 가우스, 오귀스탱 루이 코시, 포아송 또는 무엇 이 당신은 어렵다. 이 곡선은 평가하십시오 통해 이 후 그는 다양한 데이터 및 subtract 복제본에서 it& # 39, s 의 최대 위치. 반복. 그 중 가장 오래된 시행하십시오 최고 모델 매개 변수 (표준 편차 신경을 쓰지 않을 수 있지만, 일부 애플리케이션과도 첨도 또는 기타 기능 등) 일부 충족합니다 이뤄졌다. 이 밖에 가공물은 피크 때 빼서 데이터에서 제스쳐놀이처럼 뒤에 남아 있다. 될 수 있는 가장 적합한 검은선을 해당되어서는 득점 제안됩니다 # 2 위.
나는 조심스럽게 참석을 위해 이벤트수정적절한 베이스라인 작성 권장합니다. 위너 필터링부터 막대 그래프 분석 또는 기타 필터링부터 풍선이거나 단순 흔히 쉽게 기준선까지의 in the presence of 소음입니다.
마지막으로, 데이터는 일반적으로 소음이 심한 경우, re 데이터를 가져오는 끕니까 카드 및 you& # 39 로 출력입니다 비참조 단일 종결 (심지어 referenced, 그다지 변경분) 에 의해 각 데이터 포인트에 아웃하기로 you& # 39, 많은 사람들이 이러한 관측은 등을 던지며 평균 시도하시겠습니까 정렬, 첫 번째 및 마지막 사분위수 및 평균 어떤 남아 있다. 정말 유용하게 사용할 수 있는 등 다양한 전술을 국외자 제거라고도 많다.
신호 평균화, 즉 각 포인트에 대해 주변 3개 이상의 포인트와 평균값을 구하는 방법을 시도해 볼 수 있습니다. 노이즈 블립이 큰 경우 이 방법도 도움이 되지 않을 수 있습니다.
이것이 언어에 구애받지 않는다는 것을 알고 있지만 LabView를 사용하고 있다고 가정하면 평활화 및 노이즈 감소를 수행하는 데 사용할 수있는 LabView와 함께 제공되는 사전 패키지 된 신호 처리 VI가 많이 있습니다. NI 포럼]1은 이러한 종류의 문제에 대해 보다 전문적인 도움을 받을 수 있는 좋은 곳입니다.
이 스레드할 데 기여하고 싶다 알고리즘입니다 [나는 내 자신을 개발했습니까] (https://stackoverflow.com/questions/22583391/peak-detection-in-realtime-timeseries-data):
이 원칙에 따라 [분산] (https://en.wikipedia.org/wiki/Statistical_dispersion): x 는 새로운 데이터 포인트 떨어진 경우, 이 알고리즘은 주어진 많은 표준 규격 일부 숨길까요 짓궂군요 신호 (eschweiler-clarke [z 점수] (https://en.wikipedia.org/wiki/Standard_score)). A 알고리즘은 매우 견고한 구성되어 있기 때문에 별도의 숨길까요 짓궂군요 및 편차, 알리는 등 하한계 손상됨 마십시오. 이에 따라 향후 신호는 거의 동일한 로 식별됩니다 정밀도에는 양에 관계없이 이전 특징이다. 이 알고리즘은 는 3 투입물: '창', '이 지연 = 지연을 of the moving 시 사용되는 알고리즘입니다 하한계 = z 점수 (0-사이의 1) =' 와 '미친 영향을 받아 새로운 신호를 평균 및 표준 편차'. 예를 들어, '지연' 5 관측 데이터를 사용할 수 있는 마지막 5 준대칭. 'A' 의 경우 데이터 포인트 떨어진 임계값에 3.5 는 3.5 표준편차) 는 신호 움직이는 짓궂군요. 0.5 및 오버클로킹된 '의 영향을 미치는 영향력이 보기입니다 신호를 반단면 일반 데이터 포인트 한다. '0' 영향력을 완전히 새로운 신호를 무시하고 다시 계산 문제지고 거짓하였으니 하한계: 따라서 0 의 영향력 있는 가장 강력한 디바이스입니다.
작동하잖아 다음과 같습니다.
# Let y be a vector of timeseries data of at least length lag+2
# Let mean() be a function that calculates the mean
# Let std() be a function that calculates the standard deviaton
# Let absolute() be the absolute value function
# Settings (the ones below are examples: choose what is best for your data)
set lag to 5; # lag 5 for the smoothing functions
set threshold to 3.5; # 3.5 standard deviations for signal
set influence to 0.5; # between 0 and 1, where 1 is normal influence, 0.5 is half
# Initialise variables
set signals to vector 0,...,0 of length of y; # Initialise signal results
set filteredY to y(1,...,lag) # Initialise filtered series
set avgFilter to null; # Initialise average filter
set stdFilter to null; # Initialise std. filter
set avgFilter(lag) to mean(y(1,...,lag)); # Initialise first value
set stdFilter(lag) to std(y(1,...,lag)); # Initialise first value
for i=lag+1,...,t do
if absolute(y(i) - avgFilter(i-1)) > threshold*stdFilter(i-1) then
if y(i) > avgFilter(i-1)
set signals(i) to +1; # Positive signal
else
set signals(i) to -1; # Negative signal
end
# Adjust the filters
set filteredY(i) to influence*y(i) + (1-influence)*filteredY(i-1);
set avgFilter(i) to mean(filteredY(i-lag,i),lag);
set stdFilter(i) to std(filteredY(i-lag,i),lag);
else
set signals(i) to 0; # No signal
# Adjust the filters
set filteredY(i) to y(i);
set avgFilter(i) to mean(filteredY(i-lag,i),lag);
set stdFilter(i) to std(filteredY(i-lag,i),lag);
end
end
! [중에서도 가장 강력한 임계값 알고리즘입니다] [1]
이 문제는 일부 세부 공부한 적이 있다.
루트 구축 스케쳐내 삼기 수 있도록 소스 코드를 사용할 수 있습니다.
≪;;;; (http://root.cern.ch/root/html/TSpectrum.html") 에서 a href = " > tspectrum< /a>. 클래스 문서:
그동안 이 클래스에 사용되는 알고리즘은 다음 참조에서는 출판되었다.
>. [1] M. 모하스 et al. 배경 >. 제거라고도 방법 >. 마침 grb 다차원 >. 스펙트럼. 북미 및 핵 >. 메서드을 물리학 연구에 401 >. (1997년) 113 - >. 132. >. >. [2] M. 모하스 et al. 이차원 리스토어와 효율형 1 Gold >. 디콘볼루션 및 해당 응용 프로그램을 >. x-선 스펙트럼 분해. >. 핵, 북미 및 메서드 >. 물리학 연구에 401 (1997년) 408 385. >. >. [3] M. 모하스 et al. 많은 시간에는 파악 >. 마침 grb 다차원 >. 스펙트럼. 북미 및 핵 >. 한 연구 방법 (물리학) >. 443 (2000년), 108 125.
쇼트 버전 뭐한테 완료되어도 그 후 히스토그램 플랫화된 없애기 위해 현지 막시마 감지되는지 플랫해진 에 의해 무차별 대입 노이즈 막대 그래프.
이 방법은 기본적으로 다윗의 후손이라고 Marr& # 39 의 책 " Vision";
가우시안 흐림의 너회의 신호 함께 너비입니다 걱정했던것 너회의 좌. 이 get rid of 소음입니다 데이터 폭증 및 너회의 단계입니까 손상되지 않은.
그럼 면쪽 탐지합니다 (로그에서는 됩니다)
그런후에도 너회의 가장자리들을 pokemonsilver. 가장자리에 기능 (좌) 와 같은).
그들이 사용한 여기있을 변형을 여기자한텐 잘.
질적 차이를 원하지 않는 두 번째 최고, 최대 필요한 있나요? 두 경우 모두 " 좌 sharp"; - 즉, 짧은 시간 내에 기간 - 신호를 보면 빈도입니다 도메인 (수행여 FFT) you& # 39, ll get 에너지 많아야 구분됐다. 만일 good" "; 이미 존재하는 것은 에너지 χ02 주파수에서 최대 안정적으로 " bad"; 피크 아카이브하거나 그들을 차별화합니다 이쪽요 자동으로 수 있습니다.
내가 모르는 don& # 39, 아주 많이 있지만, 이 싸움은 완전히 비실용적입니다 계기에서는 도왔으매 대해 다시 한번 다른 방향으로 도움됐네 수도 있습니다. 어떻게 알고 있으면 일정한 간격을 고려할 때 좌 판독값 실패하는 등 장애, 왜안돼요 책임질래 경사 하강법 각 간격마다. # 39, ve 검색할 경우 돌아갑니다 전 영역을 you& 누구이뇨 혈통을 포기할 수 없기 때문이다. 형태에 따라 좌, 또한 샘플링되는 서피스를 지정값이 보다 검색 찾을 수 있습니다.