蓝牙SIM访问规范V1.1:远程SIM访问交互性规范

需积分: 10 1 下载量 30 浏览量 更新于2024-07-22 收藏 430KB PDF 举报
"SAP_SPEC_V11.pdf 是一份关于SAP (SIM Access Profile)的1.1版本标准文档,由蓝牙技术联盟(Bluetooth Special Interest Group, SIG)制定,旨在规范蓝牙设备如何远程访问SIM卡。这份文档适用于蓝牙基带、链路管理协议、逻辑链路控制与适配协议(L2CAP)、服务发现协议、串行端口配置文件以及通用访问配置文件等多个层次和协议。" 在SAP (SIM Access Profile)中,主要关注的是如何通过蓝牙技术实现对SIM卡的操作,例如读取SIM卡数据、执行SIM卡命令等,这在移动通信设备如手机、车载信息娱乐系统等场景下非常关键。以下是对SAP的详细解释: 1. **蓝牙基带**:这是蓝牙通信的基础,定义了物理层和链路层的底层协议,包括频率跃变、调制解调、错误检测与纠正等,确保无线信号的有效传输。 2. **链路管理协议(Link Manager Protocol, LMP)**:负责蓝牙设备间的连接建立、安全管理和参数协商,如连接距离、数据速率等。 3. **逻辑链路控制与适配协议(Logical Link Control and Adaptation Protocol, L2CAP)**:位于蓝牙基带之上,提供了面向连接的服务,将高层协议的数据分割成适合蓝牙传输的包,并处理流量控制和错误恢复。 4. **服务发现协议(Service Discovery Protocol, SDP)**:允许蓝牙设备发现并理解彼此提供的服务,包括SAP在内的各种配置文件。 5. **串行端口配置文件(Serial Port Profile, SPP)**:模仿串行接口,使得蓝牙设备之间可以像通过串行线一样交换数据,是SAP实现SIM卡访问的重要途径。 6. **通用访问配置文件(Generic Access Profile, GAP)**:定义了蓝牙设备的基本发现、配对和连接过程,确保设备间能正确识别和连接。 SAP规范的修订历史表明,该标准经过多次迭代和改进,以提高与其他配置文件的互操作性和兼容性,例如串行端口配置文件和通用访问控制配置文件的交互需求的重写。 1. **SIM卡操作**:SAP规范详细描述了如何通过蓝牙进行SIM卡操作,如读取SIM卡ID、执行AT命令等,同时对操作过程中可能出现的问题如错误处理、数据安全性等进行了规定。 2. **PPS结果传输**:在某个版本中,"Transfer of PPS result"功能被移除,可能是因为找到了更有效或安全的处理方式。 3. **卡持有者类型(Card Holder Type)**:这一特性可能涉及SIM卡的物理尺寸或用户身份验证,但具体细节在提供的信息中未明确。 SAP SPEC V11是蓝牙设备远程访问SIM卡的标准规范,涵盖了蓝牙通信的多个层次,为蓝牙设备提供了一套完整的SIM卡访问解决方案,确保不同设备之间的互操作性。这对于移动通信和物联网应用的发展具有重要意义。

index0 = numerical_corr.sort_values(ascending=False).index 36 print(train_data_scaler[index0].corr('spearman')) 37 38 new_numerical=['V0', 'V2', 'V3', 'V4', 'V5', 'V6', 'V10','V11', 39 'V13', 'V15', 'V16', 'V18', 'V19', 'V20', 'V22','V24','V30', 'V31', 'V37'] 40 X=np.matrix(train_data_scaler[new_numerical]) 41 VIF_list=[variance_inflation_factor(X, i) for i in range(X.shape[1])] 42 VIF_list 43 44 45 pca = PCA(n_components=0.9) 46 new_train_pca_90 = pca.fit_transform(train_data_scaler.iloc[:,0:-1]) 47 new_test_pca_90 = pca.transform(test_data_scaler) 48 new_train_pca_90 = pd.DataFrame(new_train_pca_90) 49 new_test_pca_90 = pd.DataFrame(new_test_pca_90) 50 new_train_pca_90['target'] = train_data_scaler['target'] 51 new_train_pca_90.describe() 52 53 pca = PCA(n_components=0.95) 54 new_train_pca_16 = pca.fit_transform(train_data_scaler.iloc[:,0:-1]) 55 new_test_pca_16 = pca.transform(test_data_scaler) 56 new_train_pca_16 = pd.DataFrame(new_train_pca_16) 57 new_test_pca_16 = pd.DataFrame(new_test_pca_16) 58 new_train_pca_16['target'] = train_data_scaler['target'] 59 new_train_pca_16.describe() 60 61 from sklearn.ensemble import GradientBoostingRegressor 62 63 from sklearn.model_selection import learning_curve 64 from sklearn.model_selection import ShuffleSplit 65 66 new_train_pca_16 = new_train_pca_16.fillna(0) 67 train = new_train_pca_16[new_test_pca_16.columns] 68 target = new_train_pca_16['target'] 69 70 train_data,test_data,train_target,test_target=train_test_split(train,target,test_size=0.2,random_state=0) 71 72 clf = LinearRegression() 73 clf.fit(train_data, train_target) 74 score = mean_squared_error(test_target, clf.predict(test_data)) 75 print("LinearRegression: ", score) 76 77 train_score = [] 78 test_score = []解释每一句代码的意思

2023-06-16 上传