Q&A 게시판

cancel
Showing results for 
Search instead for 
Did you mean: 

그래프 영역 자르기입니다.

Solved!
Go to solution
Highlighted

안녕하세요 이번에 그래프를 쓰는데 제가 원하는 영역만 잘라서 그 데이터들만 가지고 오고싶습니다.어떻게 방법이 없을까요??

웨이브폼 부분 얻기 함수를 사용했을때 시작 시간에는 0.312 이런식으로 소수점을 넣으면 0으로 인식을하더라구요, 그렇다고 x스케일을 이용하여 자르고싶어도 방법을 도저히 모르겠어서 질문을 드립니다.. 사진을 꼭 봐주세요!!

0 Kudos
Message 1 of 12
(254 Views)

안녕하세요 웨이브폼 부분 얻기 함수는 두가지 입력 옵션이 있습니다. 시작/지속기간 포맷 입력 값을 사용해 변경 가능합니다.

첫번째는 기본값인 "샘플" 단위 입니다. 만약 1초 동안 1000개의 샘플이 있다면, 이 때, 0.312초부터 0.5초 사이의 데이터를 가져오기 위해서 "시작 샘플/시간" 입력엔 312, 지속시간에는 188을 입력해야 합니다.

두번째는 시간 단위 입니다. 말 그대로 시간 값을 입력할 수 있으며, 앞서 설명한 예제대로 설정하려면 "시작 샘플/시간"에 0.312, 지속시간에 0.188을 입력해야 합니다.

 

지금 겪고 계신 문제는 시작/지속기간 포맷 입력 값을 기본값으로 놓고 사용하고 계셔서 발생하는 것 같습니다.

0 Kudos
Message 2 of 12
(186 Views)

근데 제가 넣어야할 숫자는 0.00002입니다..ㅠㅠ.ㅠ 그렇게 하다보면 인식이 0으로 됩니다.ㅜㅜ

 

0 Kudos
Message 3 of 12
(180 Views)

두가지 원인이 있을 수 있습니다. 웨이브폼의 dt 값이 0.00002보다 큰 경우. 최소 시간단위보다 작은 값은 입력받을 수 없기 때문에 0으로 자동변환 될 수 있습니다.

 

두번째는 이미 적용이 잘 되었는데, 컨트롤/인디케이터의 표시형식이 소수점 5째 자리까지 보여주지 않아 0으로 표기되는 경우. 컨트롤/인디케이터를 오른쪽 클릭 >> 디스플레이 포맷 에 들어가 표기할 소수점 자리수를 늘려보시기 바랍니다.

0 Kudos
Message 4 of 12
(173 Views)

저는 첫번째 원인에 해당합니다!!ㅜㅜㅜㅜ 방법이 없을까요ㅠㅠ

 

0 Kudos
Message 5 of 12
(167 Views)
Solution
Accepted by topic author Emily12

임의로 해결하려고 하면 문제가 복잡해집니다.

근본적인 해결법은 Sample Rate을 높여서 실제 dt값이 0.00002보다 작거나 같게 만드는 것입니다. 0.00002가 dt가 되려면 Sample Rate은 50kHz가 되어야 겠네요. 그리 높지 않은 수치라서 이게 가장 간단해 보입니다.

두번째는 기존 데이터에 보간 기능을 이용해 중간중간 데이터를 삽입해주는 방법입니다. 보간 자체가 알고 적용해야하는 부분이 많아서 다소 복잡할 수 있습니다.

0 Kudos
Message 6 of 12
(161 Views)

그래프는 결국 Y 값의 배열 입니다.

 

코드 상에서 2D 배열 값이 입력됩니다.

 

인덱스를 이용해 2D 배열의 원소값을 읽어, 부분을 추출해 주면 될 겁니다.

 

그래프 값으로 되어 있다면, 익스프레스 함수를 이용해 상수 값으로 변환해 주면 됩니다.

0 Kudos
Message 7 of 12
(138 Views)
Solution
Accepted by topic author Emily12

저는 그런데, 숫자가 반복되기도 합니다. 예를 들어 값이 0.1, 1, 0.02~~ 이런식으로 데이터가 처음 들어왔을 때 만약 제가 1을 기준으로 데이터를 뽑는다고 하면 threshold 함수로 1에 해당하는 인덱스를 뽑은 후 그 다음, 다음의 인덱스를 참고하여 원하는 부분의 데이터를 뽑으면 된다고생각합니다. 하지만 제가 걸리는게 또 같은 숫자가 나오면 제가 원하는 부분이 애매모호해져서 뽑아내기가 어려웠습니다. 저도 그렇게 쉽게  뽑고 상수 값으로 변환하고 하면 정말 좋을텐데 그게 안되어서ㅠㅠ

0 Kudos
Message 8 of 12
(125 Views)
Solution
Accepted by topic author Emily12

만들려고 하시는걸 제대로 설명 못하시는 것 같네요.

 

원하는 값을 기준으로 구간을 나누고 싶다는 말씀 이신가요?

 

어떤 방식이든 X 인덱스 값을 이용해 나누면 됩니다.

 

그게 어렵다면, 배열 관련 함수를 잘 안써 보신거겠죠.

 

그래프는 Y 의 배열값입니다.

0 Kudos
Message 9 of 12
(119 Views)

또 의문이 있습니다. 그게 무엇이냐면 저는 파형에서 배열 팔레트의 threshold 함수를 이용해서 원하는 숫자를 넣으면 그에 관한 인덱스 값을 알 수 있었는데, 그때 그 인덱스의 해당하는 y값의 x축 스케일 값을 알고싶습니다. 방법이 떠오르지 않습니다.. ㅠㅠㅠ

0 Kudos
Message 10 of 12
(80 Views)