C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[66402] Re:빌더님! 무선랜 신호강도(dbm) linear interpolation에서요
빌더 [] 2186 읽음    2012-02-24 22:58
clean 님이 쓰신 글 :
: 빌더 님이 쓰신 글 :
: : 하이~ 님이 쓰신 글 :
: : : C++을 공부하고 있습니다. 최대한 알아보려고 노력해 보았지만 검색창에 어떻게 쳐도 네트워크 강도 및 속도를 가져오는 것에 대한설명에 대한것이 나와있지 않아서 질문에 올려봅니다. 물론 제가 못찾는 것일수도 있을텐데 찾으려면 어떻게 해야되는지좀 부탁드립니다. 왠만하면 질문 안올리려고 했지만 실력이 없어서 올리게 되었습니다. 많은 도움 부탁드립니다.
: : : 제가 원하는것은 네트워크 강도가 나왔으면 좋겠습니다. 매우 좋음 좋음 보통 나쁨 매우 나쁨 이렇게 말입니다.
: :
: :
: :
: :
: : 답변:
: :
: :
: : PWLAN_INTERFACE_INFO_LIST pInterfaceList;
: : PWLAN_INTERFACE_INFO pInterfaceInfo;
: : 
: : PWLAN_AVAILABLE_NETWORK_LIST pNetwokList;
: : PWLAN_AVAILABLE_NETWORK pNetworkEntry;
: : 
: : WlanOpenHandle(...., &hWlanHandle);
: : 
: : WlanEnumInterfaces(hWlanHandle, NULL, &pInterfaceList);
: : 
: : for (int i = 0; i < pInterfaceList->dwNumberOfItems; i++)
: : {
: :     pInterfaceInfo = (WLAN_INTERFACE_INFO *) &pInterfaceList->InterfaceInfo[i];
: : 
: :     switch (pInterfaceInfo->isState) {
: :         case wlan_interface_state_connected:
: :             printf("Connected\n");
: :             break;
: :         case wlan_interface_state_disconnected:
: :             printf("Not connected\n");
: :             break;
: :             ...........................................
: :     }
: : 
: :     WlanGetAvailableNetworkList(hWlanHandle,
: :                                 &pInterfaceInfo->InterfaceGuid,
: :                                 0,
: :                                 NULL,
: :                                 &pNetworkList);
: : 
: : 
: :     for (int k = 0; k < pNetworkList->dwNumberOfItems; k++)
: :     {
: :         pNetworkEntry = (WLAN_AVAILABLE_NETWORK *) & pNetworkList->Network[j];
: :         printf("  신호강도[%u]: %u\n", k, pNetworkEntry->wlanSignalQuality);
: :     }
: : }
: : 

: :
: : C#으로 코딩하면 소스를 더 짧고 간결하게 작성할 수 있는데... 함수의 사용법은 MSDN에서 Wlanapi
: : 문서를 참조 하세요.
:
:
: 무선랜 신호강도에서 dbm 값을 알려면 linear interpolation을 계산하라고 나와있는데요.
: 어떻게 계산하라는 건지 잘모르겠습니다. 빌더님! 답변해주시면 고맙겠습니다.






답변:

Wireless Lan에서 신호강도를 표시하는 기준은 칩셋을 제조하는 회사마다 약간 씩 차이가 있습니다.

그래서 MS사에서는 신호강도를 0 ~ 100%의 퍼센테이지로 적용할 때.. 신호강도의 dBm 범위를...
-100 dBm ~ -50 dBm 으로 기준을 정해서 사용하고 있습니다.

dBm 값을 계산하기 위해서 Linear Interpolation을 하라는 것은... 위의 범위를 기준으로 선형보간을
취하라는 의미 입니다.

따라서...

dBm 값을 선형보간 해서 구하면...

dBm = -100 + (wlanSignalQuality / 2);

위와 같이 되겠죠.

+ -

관련 글 리스트
66396 네트워크 상태 나 속도 알아오기 하이~ 1279 2012/02/24
66398     Re:네트워크 상태 나 속도 알아오기 빌더 1184 2012/02/24
66483         Re:Re:네트워크 상태 나 속도 알아오기 하이~ 1155 2012/03/02
66399         빌더님! 무선랜 신호강도(dbm) linear interpolation에서요 clean 1493 2012/02/24
66402             Re:빌더님! 무선랜 신호강도(dbm) linear interpolation에서요 빌더 2186 2012/02/24
66397     Re:네트워크 상태 나 속도 알아오기 kylix 1128 2012/02/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.