신호 처리에서 "빠른"변화를 감지하는 방법


12

컴포넌트의 납땜 성을 측정하는 프로젝트를 진행 중입니다. 측정 된 신호에 노이즈가 있습니다. 신호를 실시간으로 처리해야 5000 밀리 초 시점에서 시작되는 변경을 인식 할 수 있습니다.

내 시스템은 10 밀리 초마다 실제 값의 샘플을 가져 오지만 더 느린 샘플링으로 조정할 수 있습니다.

  1. 5000 밀리 초에서이 감소를 어떻게 감지 할 수 있습니까?
  2. 신호 / 잡음 비율에 대해 어떻게 생각하십니까? 더 나은 신호를 얻기 위해 집중하고 노력해야합니까?
  3. 모든 측정 값에 따라 결과가 달라지는 문제가 있으며 때로는이 예보다 하락률이 더 작습니다.

샘플 신호 샘플 신호 2 샘플 신호 3

데이터 파일에 연결 (플롯에 사용 된 것과 동일하지 않지만 최신 시스템 상태를 표시 함)

  1. https://docs.google.com/open?id=0B3wRYK5WB4afV0NEMlZNRHJzVkk
  2. https://docs.google.com/open?id=0B3wRYK5WB4afZ3lIVzhubl9iV0E
  3. https://docs.google.com/open?id=0B3wRYK5WB4afUktnMmxfNHJsQmc
  4. https://docs.google.com/open?id=0B3wRYK5WB4afRmxVYjItQ09PbE0
  5. https://docs.google.com/open?id=0B3wRYK5WB4afU3RhYUxBQzNzVDQ

5
신호 대 잡음비가 비교적 작은 것 같습니다. 대부분의 감지 문제와 마찬가지로, 표시된 기능을 올바르게 감지 할 가능성과 해당 기능이 있다고 잘못 선언 할 가능성 사이의 균형을 고려해야합니다. 어느 것이 귀하의 응용 프로그램에 더 중요합니까? 탐지 대기 시간 요구 사항이 있습니까?
Jason R

2
'잡음'은 특정 주파수에서의 간섭처럼 보입니다. 이 경우 (스펙트럼 도표가 도움이 됨) 적절한 필터링이 대부분의 작업을 수행합니다.
Juancho

실제로이 기능의 탐지는 매우 중요합니다. 그러나 약간의 대기 시간으로 살 수는 있지만 부품이 솔더에 닿는 위치를 정확히 알지 못하고 침지 깊이를 제어해야하기 때문에 최종 정지 위치를 조정해야합니다. 예를 들어, 침지가 0.5mm이어야한다는 것을 알고 있다면 이상적인 이상적인 소구 크기에 따라 이론적 위치를 계산하지만 터치로 감지하는 소구의 실제 크기에 대한 보정을 수행해야합니다. 힘의 변화.
Petr

전체 측정 도구는 스프링에 위치하므로 자유롭게 움직일 수 있지만 노이즈를 생성 할뿐만 아니라 모든 측정 범위에 대해 스프링을 고정했습니다. 물론 측정 된 힘이 엄청나게 높은 감도를 사용할 때 이러한 문제가 나타납니다. 작은.
Petr

Juancho-어쩌면 도움이 될 수 있지만 다른 부품 수에 대해 어떻게 해결할 수 있습니까? 또한 습식 공정으로 인해 소음 수준이 감소하기 때문에 부품이 솔더에 침지 될 때이 구성 요소가 변경되지만, 이는 더 큰 부품에 대해서만 발생합니다.
Petr

답변:



4

나는 보통이 문제를 기울기 감지 중 하나로 설정합니다. 움직이는 창에서 선형 회귀를 계산하면 그림의 드롭이 경사 부호 및 / 또는 크기의 큰 변화로 표시됩니다. 이 방법은 "튜닝"이 필요한 여러 가지 요소를 제공합니다. 예를 들어 샘플링 주파수, 창 크기 등은 경사 신호 탐지기의 견고성 (노이즈 저항)에 영향을 미칩니다. 위의 의견 중 일부가 적용될 수 있습니다. 라인 피팅 전에 적용 할 수있는 필터링 또는 노이즈 억제는 결과를 향상시킵니다.


2

데이터의 왼쪽 부분과 데이터의 오른쪽 부분의 평균에 대한 T- 통계량을 계산하여 이런 종류의 작업을 수행했습니다. 이것은 전환점이 어디 있는지 아닌지를 알고 있다고 가정합니다.

따라서 시간 축을 따라 수백 개의 분할 점을 시도하고 가장 중요한 T- 통계량을 갖는 분할 점을 찾으십시오.

u_left, u_right : mean of left and right portion
s_left, s_right : SD of left and right portion
n_left, n_right : number of samples on left and right (subtract one from each for the one degree of freedom)

se = sqrt(s_left^2 / n_left^2 + s_right^2 / n_right^2)
T = (u_left - u_right) / se

이진 검색과 같은 작업을 수행 할 수 있습니다. 10 개의 데이터 포인트를 시도하고 가장 큰 2 개 포인트를 찾은 다음 그 사이에 10 포인트를 시도하십시오. 이렇게하면 매우 정확한 전환 포인트를 얻을 수 있습니다. 나는 정확성을 주장하지 않습니다. :-)

어떻게 진행되는지 알려주세요!

PS 평균과 sd를 누계로 계산하여 N ^ 2에서 N까지의 모든 단일 가능성에 대해이 파티션 함수를 계산하는 복잡성을 줄입니다. 이렇게하면 가능한 모든 파티션 포인트에서 T 통계량 만 계산할 수 있습니다.

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