2012-11-26 4 views
2

여러 사막 지대에 토양 수분 센서 어레이가 있습니다. 그들의 신호에는 많은 소음 또는 편의가 포함됩니다 (내가 이야기하는 사람에 따라 다름). 가능한 한 많은 신호를 유지하면서 정크를 제거하고 싶습니다. 나는 신호 처리를하는 사람이 아니므로 "XYZ 필터 사용"또는 특정 알고리즘이나 무엇인가의 라인을 따라가는 모든 것이 정말 도움이 될 것입니다.불쾌한 신호에서 바이어스/노이즈 제거

한 조사에서 1 년간의 데이터를 보여주는 플롯을 게시했습니다. 신호는 "상단"입니다. 모든 쓰레기는 신호 아래에 있습니다. http://www.unm.edu/~hilton/swc.png

나는 평온함을 많이 사용하여 놀았습니다. 이는 신호 아래에 많은 바이어스가있는 경우를 제외하고는 (예 : 대략 1000 ~ 2000, 15000 ~ 16000)

Matlab의 신호 처리 도구 상자에 액세스 할 수 있으며 R 및 Python에서 매우 편리합니다. 그것들 중 하나에 미리 패키지 된 필터가 있다면 그것은 멋질 것입니다 (그러나 나는 새로운 것을 코딩하기에 개방적입니다).

많은 감사, 팀

답변

0

나는 중간 필터를 시작했으면합니다. 음모를 올바르게 읽으면 한 시간에 두 번 샘플링 중이며 데이터는 너무 동적이지 않습니다. 그것이 맞다고 가정하면 47 또는 49의 중간 필터 길이는 1 일 윈도우와 같습니다. 이 데이터 세트에서 최대 1 주일 이상 걸릴 수 있습니다. 어쨌든 필터링되지 않은 데이터와 필터링 된 데이터를 서로 겹쳐서 표시하여 필터링 된 데이터가 안구 테스트를 통과하는지 확인해야합니다 (보았을 때 알 수 있습니다). 수작업으로 최종 청소를해야 할 수도 있습니다 (수천 개의 센서가 없기를 바랍니다).

(또한, 나는 센서 잘못 무엇인지 발견하고이를 해결하기 위해 필드 사이트에서 인턴 또는 대학원생을 보낼 것입니다.)

0

그것은 몇 가지 표준 편차 필터링을 구현하는 빠른 시도 가치가있을 수도 있습니다 귀하의 데이터 세트 중. 데이터를 N 개의 세그먼트로 분할하고 각 세그먼트에 대해 Y 값의 표준 편차를 계산합니다. 일단 표준 편차를 초과하는 Y 값을 가진 데이터 포인트를 필터링합니다. 물론, 얼마나 많은 세그먼트를 사용할 것인지를 정확히 파악할 수있는 수동 작업이 있습니다.

관련 문제