电信电信网站备案系统,在线网页制作培训,开发公司产品部课件,商业空间设计的特点一、信噪比概念
信噪比#xff0c;英文名称叫做SNR或S/N#xff08;SIGNAL-NOISE RATIO)#xff0c;又称为讯噪比。是指一个电子设备或者电子系统中信号与噪声的比例。 信噪比越大#xff0c;此颗卫星越有效#xff08;也就是说可以定位#xff09;。也就是说#xff0…一、信噪比概念
信噪比英文名称叫做SNR或S/NSIGNAL-NOISE RATIO)又称为讯噪比。是指一个电子设备或者电子系统中信号与噪声的比例。 信噪比越大此颗卫星越有效也就是说可以定位。也就是说设备搜索到的卫星颗数越多设备定位效果越好同时每颗卫星的信噪比值也要越高如果信噪比值都是0的话那跟没有搜索到一颗卫星效果是一样的。 二、获取设备搜索到的卫星颗数
1、声明权限。大于Android M设备Android 6.0需要动态申请以下权限 uses-permission android:nameandroid.permission.ACCESS_COARSE_LOCATION /uses-permission android:nameandroid.permission.ACCESS_FINE_LOCATION /
2、初始化LocationManager类开启GPS。
//位置管理器
private LocationManager manager;/*** 初始化定位管理*/
private void initLocation() {manager (LocationManager) getSystemService(Context.LOCATION_SERVICE);//判断GPS是否正常启动if (!manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {Toast.makeText(this, 请开启GPS导航, Toast.LENGTH_SHORT).show();//返回开启GPS导航设置界面Intent intent new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);startActivityForResult(intent, 0);return;}//添加卫星状态改变监听manager.addGpsStatusListener(gpsStatusListener);//1000位最小的时间间隔1为最小位移变化也就是说每隔1000ms会回调一次位置信息manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 1, locationListener);
}
3、卫星数量的获取。
private GpsStatus.Listener gpsStatusListener new GpsStatus.Listener() {Overridepublic void onGpsStatusChanged(int event) {switch (event) {//卫星状态改变case GpsStatus.GPS_EVENT_SATELLITE_STATUS://获取当前状态GpsStatus gpsStatus manager.getGpsStatus(null);//获取卫星颗数的默认最大值int maxSatellites gpsStatus.getMaxSatellites();//获取所有的卫星IteratorGpsSatellite iters gpsStatus.getSatellites().iterator();//卫星颗数统计int count 0;StringBuilder sb new StringBuilder();while (iters.hasNext() count maxSatellites) {count;GpsSatellite s iters.next();//卫星的信噪比float snr s.getSnr();sb.append(第).append(count).append(颗).append().append(snr).append(\n);}Log.e(TAG, sb.toString());break;default:break;}}
};
通过遍历 gpsStatus.getSatellites()统计总卫星颗数同时获取每颗卫星的信噪比。结果如下