티스토리 뷰

Development/ETC

ubertooth code 수정 - 2

KimDoubleB 2019. 9. 27. 19:34
반응형

자료: https://github.com/KimDoubleB/ubertooth

 

KimDoubleB/ubertooth

Software, firmware and hardware designs for Ubertooth - KimDoubleB/ubertooth

github.com

하나의 주파수에서만 time-domain graph를 얻기보다, frequency-domain의 정보를 어느정도 엮는게 더 효율적인 그래프를 만들 수 있지 않을까 하는 가설을 받아들여, 2개의 frequency를 받아서 time(1ms)마다 번갈아가면서 RSSI scan을 하고자 한다.

----------

경로: ubertooth/host/python/specan_ui/specan/Ubertooth.py

(line 44) bin_count와 frequency_axis를 통해 몇개의 frequency에서 RSSI를 측정할지 결정하고 있다. bin_count 수는 high frequency와 low frequency의 값을 받으면, 대략적으로 그 차이 + 1의 bin을 생성하고, 그 bin 개수에 맞게 high frequency부터 low frequency까지의 numpy array를 생성한다. 이 값이 frequency_index_map(line 47)을 만드는데 관여하고 결국엔 scan을 그에 맞는 frequency에서만 하게 된다.

>> 즉, 만약 측정할 frequency를 넘겼다면, frequency_axis에 접근해서 그 값을 넘겨줘서 그에 맞게 index_map을 형성하고, scan을 하면 될 것 같다.

근데 그리 또 쉽게 생각하는게 아니라, 이후의 코드들을 보면 frequency를 하나 또는 이산적인 형태의 값을 받는 것을 생각하지 않은 코드여서 range형태로 들어간 코드가 존재한다. 예를들어 line 71을 보면, frequency_index_map의 데이터에 접근할 때도 low, high frequency의 값으로 범위를 통해 하나씩 접근하게 된다.

만약 이산적인 값을 줬다면, 이렇게 갑자기 범위로 접근하면 분명히 out of bound Error가 발생할 것 같다.

-----------

근데 결론적으로 Ubertooth.py에서 어떻게 계산되든 간에, frequency_axis, rssi_value에서 값이 어떻게 pair로 들어가느냐에 따라서 ubertooth-specan-ui >> RenderArea >> _store_graph 에서 어떻게 빼서 사용하냐 문제가 아닐까.

branch 새로 따고, Copy 함수로 접근해서 frequency 2개를 넘겨서 수행해보자. parameter를 2개 다 더 넘기는 것보다 그냥 lower frequency와 high frequency를 scan frequency 2개로 바꿔서 접근해보자. 

>>> 생각해보니깐 아예 그렇게 해도 될 듯하다. store 방식 아니면 low, high frequency를 사용하지 않을 뿐더러, 계속 값을 2개씩 입력하느라 귀찮았는데 그냥 그렇게 하는게 더 맞기도 하다.

 

 

 

 

320x100
반응형

'Development > ETC' 카테고리의 다른 글

[NS3] CSMA example  (0) 2021.01.23
[TCP] BIC-TCP  (0) 2021.01.23
Github 원하지 않는 개발언어로 등록된 경우  (0) 2021.01.22
Bluetooth Low Energy (BLE)  (0) 2021.01.21
ubertooth code 수정 - 1  (0) 2019.09.27
댓글
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함