티스토리 뷰
자료: https://github.com/KimDoubleB/ubertooth
하나의 주파수에서만 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개씩 입력하느라 귀찮았는데 그냥 그렇게 하는게 더 맞기도 하다.
'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 |
- Total
- Today
- Yesterday
- 알고리즘
- 로그
- 하루
- java
- Kubernetes
- 클린 아키텍처
- k8s
- Spring boot
- docker
- python
- HTTP
- jasync
- Istio
- Intellij
- gradle
- Algorithm
- WebFlux
- Spring
- 백준
- MySQL
- 일상
- hexagonal architecture
- tag
- container
- Clean Architecture
- 비동기
- boj
- 쿠버네티스
- Log
- c++
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |