Spectrum Access System (SAS) 测试套件的当前版本为 v5.5。您可以使用以下测试用例来测试市民宽带无线服务设备 (CBSD) 与 SAS 之间的互操作性。请务必在 Google 提供的测试结果 电子表格中验证测试结果。
SAS 互操作性测试的要求
如需测试 SAS 与 SAS 模型及其软件版本的互操作性,您需要具备以下条件:
提示 : 我们鼓励在所有区域进行自由形式的测试。不过,在 SAS 测试环境中,我们建议您在虚拟的阿拉斯加州测试设备。除了用于设备测试的实体 之外,阿拉斯加州没有受保护的实体。在阿拉斯加州以外进行测试可能不会产生互操作性测试测试计划的预期结果。
测试用例 1:CBSD 注册、频谱查询、授予和心跳 (normal operation)
此测试用例用于验证以下内容:
CBSD 注册流程、授予流程,以及开启无线电的首次成功心跳。
(可选)如果 CBSD 发送频谱查询请求,则 CBSD 会使用频谱查询响应中的可用频道来处理后续的授予请求。
WInnForum 认可的 CBRS 分组参数
groupingParam
对象数组是可选的,Google SAS 仅将其用于一般授权访问 (GAA) 共存目的。
我们建议 CBSD 尽可能在注册请求中发送 groupingParam
。由于 SAS 接受频谱查询请求、授予请求和心跳请求中的 groupingParam
数组,因此 CBSD 提供的后续信息会覆盖之前的值。
WINNF-SSC-0010 中已发布有效 groupType
值的列表。
如果 CBSD 发送无效的 groupType
,SAS 会响应 responseCode 103
(Invalid_value
)。目前,SAS 支持 groupType
值 Principal_Subordinate_SFG 和 Spectrum_Reuse 。它会将分组参数存储并上传到 SAS 门户 。SAS 会忽略任何其他有效的 groupType
值(responseCode 0
和 Success
)。
前提条件
确保 CBSD 未在 SAS 门户中注册,并且未设置为请求可用频谱的一部分。
步骤
请验证以下步骤:
CBSD 向 SAS 发送包含 FCC ID 和用户 ID 的注册请求。您可以使用任何经过认证的 FCC ID,也可以使用已与用户 ID 一起确认并由 SAS 支持团队 添加到许可名单的 FCC ID。了解如何连接到测试 SAS 环境 。
示例 1:类别 A CBSD 单步注册请求
{
"registrationRequest":[
{
"fccId":"allowed FCC ID ",
"userId":"allowed user ID ",
"cbsdSerialNumber":"unique device ID ",
"cbsdCategory":"A",
"airInterface":{
"radioTechnology":"E_UTRA",
},
"installationParam":{
"latitude":latitude within US ,
"longitude":longitude within US ,
"height":6,
"heightType":"AGL",
"antennaGain":6
"indoorDeployment":true
},
"cbsdInfo":{
"vendor": "CBSD Vendor 1",
"model": "CBSD Model 1",
"softwareVersion": "2.0",
"hardwareVersion": "2.0",
"firmwareVersion": "2.0"
},
"groupingParam":[
{
"groupType": "PRINCIPAL_SUBORDINATE_SFG",
"groupId": "string, e.g. CCG_1 "
},
{
"groupType": "SPECTRUM_REUSE",
"groupId": "string, e.g. ICG_1 "
}
]
}
]
}
示例 2:B 类 CBSD 分步注册请求
这些由 CPI 提供的参数已通过 SAS 门户预加载到 SAS 中。
{
"registrationRequest":[
{
"fccId":"allowed FCC ID ",
"userId":"allowed user ID ",
"cbsdSerialNumber":"unique device ID ",
"cbsdCategory":"B",
"airInterface":{
"radioTechnology":"E_UTRA"
},
"cbsdInfo":{
"vendor": "CBSD Vendor 1",
"model": "CBSD Model 1",
"softwareVersion": "2.0",
"hardwareVersion": "2.0",
"firmwareVersion": "2.0"
},
"groupingParam":[
{
"groupType": "PRINCIPAL_SUBORDINATE_SFG",
"groupId": "string, e.g. CCG_1 "
},
{
"groupType": "SPECTRUM_REUSE",
"groupId": "string, e.g. ICG_1 "
}
]
}
]
}
CBSD 收到 SAS 发来的注册响应。
示例
{
"registrationResponse":[
{
"cbsdId":"SAS-assigned device ID ",
"response":{
"responseCode":0
}
}
]
}
可选:CBSD 发送频谱查询请求以查询可用频谱。
示例
{
"spectrumInquiryRequest":[
{
"cbsdId":"SAS-assigned device ID ",
"inquiredSpectrum":[
{
"lowFrequency":within 3550 - 3700 MHz range (e.g. 3550000000),
"highFrequency":within 3550 - 3700 MHz range (e.g. 3650000000)
}
]
}
]
}
如果 CBSD 发送频谱查询请求,则会从 SAS 收到可用频道的列表。
示例
{
"spectrumInquiryResponse":[
{
"cbsdId":"SAS-assigned device ID ",
"availableChannel":[
{
"frequencyRange":{
"lowFrequency":3550 - 3700 MHz (e.g. 3600000000),
"highFrequency":3550 - 3700 MHz
},
"channelType":"GAA",
"ruleApplied":"FCC_PART_96",
"maxEirp": 37
}
],
"response":{
"responseCode":0
}
}
]
}
CBSD 向 SAS 发送授权请求。如果进行了频谱查询,则 CBSD 会请求 SAS 指明可用的频率范围。
示例
{
"grantRequest":[
{
"cbsdId":"SAS-assigned device ID ",
"operationParam":{
"maxEirp":20,
"operationFrequencyRange":{
"lowFrequency":3550 - 3700 MHz (e.g. 3600000000),
"highFrequency":3550 - 3700 MHz
}
}
}
]
}
CBSD 收到 SAS 发来的授权响应。
示例
{
"grantResponse":[
{
"cbsdId":"SAS-assigned device ID ",
"grantId":"SAS-assigned grant ID ",
"grantExpireTime":"YYYY-MM-DDTHH:MM:SSZ",
"heartbeatInterval":60,
"channelType": GAA,
"response":{
"responseCode":0
}
}
]
}
CBSD 会根据 heartbeatInterval
定期向 SAS 发送心跳请求,并从 SAS 接收心跳响应。
重要提示 : 第一个心跳请求必须将 operationState
设置为 granted 。
示例
{
"heartbeatRequest":[
{
"cbsdId":"SAS-assigned device ID ",
"grantId":"SAS-assigned grant ID ",
"operationState":"GRANTED"
}
]
}
SAS 会通过批准心跳请求进行响应。
示例
{
"heartbeatResponse":[
{
"cbsdId":"SAS-assigned device ID ",
"grantId":"SAS-assigned grant ID ",
"transmitExpireTime":"YYYY-MM-DDTHH:MM:SSZ"
"heartbeatInterval": 60,
"response":{
"responseCode":0
},
}
]
}
如果之前的心跳请求已获批准,则 CBSD 会根据 heartbeatInterval
定期向 SAS 发送后续心跳请求,并将 operationState
字段设为 Authorized 。
示例
{
"heartbeatRequest":[
{
"cbsdId":"SAS-assigned device ID ",
"grantId":"SAS-assigned grant ID ",
"operationState":"AUTHORIZED"
}
]
}
结果
下表列出了测试的预期结果。
表格 1. 测试用例 1
接收
发送次数
可接受
SAS
有效的注册请求
有效的授权请求
至少每 heartbeatInterval
秒发出一次有效的周期性心跳请求
所有请求的成功响应,心跳响应中包含 transmitExpireTime
。
CBSD
所有请求的成功响应数
有效的注册请求
有效的授权请求
每 heartbeatInterval
秒发出一次有效的周期性心跳请求,包括将 operationState
设置为“已授权” 的请求
首次成功发送心跳后,CBSD 会在相应频道和功率下开始传输。
SAS 门户
在任一请求消息中对 CBSD 发送的参数进行分组,前提是 groupType
值为 Principal_Subordinate_SFG 或 Spectrum_Reuse
分组参数显示在共存组 部分的配置 标签页中。
测试用例 2:授权放弃和取消注册(正常操作)
此测试用例用于验证从 SAS 取消注册 CBSD。
前提条件
确保 CBSD 已注册、持有授权且正在发送心跳。
步骤
请验证以下步骤:
CBSD 运营商使用管理工具释放频谱。
示例 1:CBSD 可以选择向 SAS 发送放弃请求
{
"relinquishmentRequest":[
{
"cbsdId":"SAS-assigned device ID ",
"grantId":"SAS-assigned grant ID "
}
]
}
示例 2:如果发送了放弃请求,CBSD 会收到 SAS 发来的放弃响应
{
"relinquishmentResponse":[
{
"cbsdId":"SAS-assigned device ID ",
"grantId" : "SAS-assigned grant ID ",
"response":{
"responseCode":0,
}
}
]
}
CBSD 向 SAS 发送取消注册请求。
示例
{
"deregistrationRequest":[
{
"cbsdId":"SAS-assigned device ID "
}
]
}
CBSD 收到 SAS 发来的注销响应。
示例
{
"deregistrationResponse":[
{
"cbsdId":"SAS-assigned device ID ",
"response":{
"responseCode":0
}
}
]
}
结果
下表列出了测试的预期结果。
表格 2. 测试用例 2
接收
发送次数
可接受
SAS
CBSD
在发送取消注册或放弃请求之前停止传输
测试用例 3a:授权中止:IAP 待处理
此测试用例用于验证以下内容:
当 SAS 暂停 CBSD 的授予时,CBSD 无线电会关闭。
CBSD 会在后续的心跳请求中报告正确的操作状态。
前提条件
美国的某个 CBSD 的频道电源供应有限。
佛罗里达州坦帕和加利福尼亚州洛杉矶等一些地理位置的功率预算低于 37 dBm/MHz。为便于针对沿海地理位置模拟测试场景,请为 CBRS 开启 频谱可用性叠加层 。
请确保满足以下条件:
步骤
请验证以下步骤:
CBSD 会针对部分功率的频道发送频谱查询。在频谱查询响应中,CBSD 会在相关频道上查找可用的 maxEirp 值(以 dBm 为单位)。
CBSD 发送的授权请求的 maxEirp 大于频谱查询响应中相应频道的可用功率。
CBSD 发送心跳请求。
SAS 使用 responseCode 501
(Suspended_Grant: IAP Pending
) 发送心跳响应。
注意 : 如果您在 CPAS 期间收到 Error code 106 NOT_PROCESSED
等错误,请暂停测试,并在每夜 CPAS 周期结束后继续测试。如需详细了解 CPAS 周期,请参阅 CPAS 运行时间 。
示例 1:针对功率部分偏低的可用频道的频谱查询响应
{
"spectrumInquiryResponse":[
{
"cbsdId":"SAS-assigned device ID ",
"availableChannel":{
{
"frequencyRange": {
"lowFrequency":3670000000,
"highFrequency":3680000000
},
"channelType": "GAA",
"ruleApplied": "FCC_PART_96",
"maxEirp": 26.73
}
],
"Response" {
"responseCode": 0
}
}
]
}
示例 2:授予请求超出可用功率时的心跳响应
{
"heartbeatResponse":[
{
"cbsdId":"SAS-assigned device ID ",
"grantId":"SAS-assigned grant ID ",
"response":{
"responseCode":501, {
"responseMessage":"SUSPENDED_GRANT : IAP Pending"
responseData = ["IAP Pending"]
}
}
]
}
示例 3:授予权限被暂停时的心跳请求
{
"heartbeatRequest":[
{
"cbsdId":"SAS-assigned device ID ",
"grantId":"SAS-assigned grant ID ",
"operationState": "GRANTED"
}
]
}
结果
下表列出了测试的预期结果。
表 3a 测试用例 3a
接收
发送次数
SAS
在 CBSD 通过心跳响应收到授权已暂停的通知后,将 operationState
设置为 Granted 的心跳请求
在 CBSD 通过心跳响应收到授权已获批准的通知后,将 operationState
设置为 Authorized 的心跳请求
当授予权限未被暂停时,包含 responseCode 0
(Success
) 的心跳响应
授权被暂停时,包含 responseCode 501
(Suspended_Grant:IAP Pending
) 的心跳响应
CBSD
包含 responseCode 0
(Success
) 的心跳响应,前提是暂停区域未处于活动状态
使用 responseCode 501
(Suspended_Grant
) 的节拍响应,直到当前授予权限到期并请求新的授予权限,或者在 CPAS 周期后有额外功率可用
CBSD 在 transmitExpireTime
后不到 60 秒就停止传输(关闭无线装置)
在 CBSD 通过心跳响应收到授予已获授权的通知后,将 operationState
设置为 Authorized 的心跳请求
在 CBSD 通过心跳响应收到授权已暂停的通知后,将 operationState
设置为 Granted 的后续心跳请求
可选:频谱查询请求,用于确定可用的频道
干扰计算已完成,但 SAS 无法使用授权授予传输权限,因为在 CPAS 之后,CBSD 的授权会终止,并且建议使用低功率。CBSD 在从终止心跳响应收到操作参数后,会请求授予。
我们强烈建议 CBSD 申请新的资助。如果授予请求的频率范围超出了暂停区域的频率范围,CBSD 会在心跳响应中收到传输授权。如果获得授权,CBSD 会使用新的授权恢复传输。暂停解除后,CBSD 会恢复原始授权的传输,并结束临时授权。如需了解详情,请参阅排查互操作性测试问题 。
测试用例 3b:授权中止:DPA 迁移列表已启用
此测试用例用于验证以下内容:
当 SAS 暂停 CBSD 的授予时,CBSD 无线电会关闭。
CBSD 会在后续的心跳请求中报告正确的操作状态。
前提条件
请确保满足以下条件:
步骤
请验证以下步骤:
等待暂停区域停用。如需了解详情,请参阅查看暂停区域时间表 。
如暂停区域时间表中所指定,SAS 会在暂停区域处于活动状态时暂停授予。
CBSD 发送心跳请求。
SAS 发送包含 responseCode 501
的心跳响应(Suspended_Grant : IAP Pending,表示“授权已暂停,因为它已列入已启用的 DPA 的迁移列表”)。
可选:CBSD 会在暂停授予后发送频谱查询请求。
示例 1:挂起区域处于活动状态时的心跳响应
{
"heartbeatResponse":[
{
"cbsdId":"SAS-assigned device ID ",
"grantId":"SAS-assigned grant ID ",
"response":{
"responseCode":501,
"responseMessage":"SUSPENDED_GRANT : The grant is suspended because it is in the move list of a DPA that has been activated."
responseData = ["The grant is suspended because it is in the move list of a DPA that has been activated."]
}
}
]
}
示例 2:授予权限被暂停时的心跳请求
{
"heartbeatRequest":[
{
"cbsdId":"SAS-assigned device ID ",
"grantId":"SAS-assigned grant ID ",
"operationState":"GRANTED"
}
]
}
结果
下表列出了测试的预期结果。
表 3b. 测试用例 3b
接收
发送次数
SAS
在 CBSD 通过心跳响应收到授权已暂停的通知后,将 operationState
设置为 Granted 的心跳请求
在 CBSD 通过心跳响应收到授权已获批准的通知后,将 operationState
设置为 Authorized 的心跳请求
当暂停区域处于非活动状态时,使用 responseCode 0
(Success
) 的检测信号响应
当挂起区域处于活动状态时,包含 responseCode 501
(Suspended_Grant: The grant is suspended because it is in the
move list of a DPA that has been activated."
) 的心跳响应
CBSD
只要暂停区域未处于活动状态,就发送包含 responseCode 0
(Success
) 的心跳响应
只要暂停区域处于活动状态,就使用 responseCode 501
(Suspended_Grant: The grant is suspended because it is in the
move list of a DPA that has been activated.
) 进行心跳响应
CBSD 在 transmitExpireTime
后不到 60 秒就停止传输(关闭无线装置)
在 CBSD 通过心跳响应收到授权已获批准的通知后,将 operationState
设置为 Authorized 的心跳请求
在 CBSD 通过心跳响应收到授权已暂停的通知后,将 operationState
设置为 Granted 的后续心跳请求
可选:频谱查询请求,用于确定可用的频道。
重要提示 :由于 ESC 事件而产生的限制无法反映在 SAS 对频谱咨询请求的回复中。
我们强烈建议 CBSD 申请新的资助。如果授予请求的频率范围超出了暂停区域的频率范围,CBSD 会在心跳响应中收到传输授权。如果获得授权,CBSD 会使用新的授权恢复传输。在整个传输过程中,CBSD 会继续针对原始(已暂停)授予进行心跳。解除暂停后,CBSD 会恢复原始授权的传输,并终止临时授权。
测试用例 4:授予重新授权
此测试用例验证了 CBSD 在暂停区域停用后能否恢复传输。在此测试中验证的 CBSD 行为与以下情况类似:由于 DPA 保护而暂停 CBSD 授予,然后在 DPA 停用后重新授权。
前提条件
请确保满足以下条件:
CBSD 在悬架区域内的一个位置注册。如需了解详情,请参阅暂停区域 。
示例
{
"registrationRequest":[
{
. . .
. . .
"installationParam":{
"latitude":62.5,
"longitude":-155.5,
. . .
. . .
}
}
]
}
CBSD 正在发送心跳信号,并且持有的授权与暂停区域的频率范围部分或完全重叠。
暂停区域处于有效状态,并且 CBSD 发现授予的许可已被暂停。
步骤
请验证以下步骤:
在授予权限被暂停期间,CBSD 会继续发送心跳信号。
SAS 使用 responseCode 501
(Suspended_Grant
) 发送心跳响应。
停用暂停区域后,SAS 会使用 responseCode
(Success
) 批准心跳请求。
CBSD 在收到 SAS 批准后会恢复传输。
CBSD 会发送后续的心跳请求,并将 operationState
设置为 Authorized 。
结果
下表列出了测试的预期结果。
表格 4. 测试用例 4
接收
发送次数
可接受
SAS
将 operationState
设置为“已授予”的检测信号请求
在挂起区域处于活动状态时,包含 responseCode 501
(Suspended_Grant
) 的心跳响应
在停用暂停区域后,包含 responseCode 0
(Success
) 的心跳响应
CBSD
当挂起区域处于活动状态时,包含 responseCode 501
(Suspended_Grant
) 的心跳响应
在停用暂停区域后,包含 responseCode 0
(Success
) 的心跳响应
将 operationState
设置为 Granted 或 Authorized 的心跳响应
CBSD 在收到 responseCode 0.
后恢复传输(开启无线电)
测试用例 5a:使用建议的操作参数终止已授权的授予
此测试用例用于验证以下内容:
CBSD 会停止其心跳,并停止与 SAS 终止的授予关联的传输。
CBSD 使用 SAS 在心跳响应中推荐的操作参数请求新的授予。
前提条件
请确保满足以下条件:
CBSD 在终止区域内的一个位置注册。详细了解终止区域 。
CBSD 在测试 SAS 模拟悬架区域内的一个位置注册。
示例
{
"registrationRequest":[
{
. . .
. . .
"installationParam":{
"latitude":66.5,
"longitude":-158.5,
. . .
. . .
}
}
]
}
CBSD 持有授权且正在发送心跳信号。
授权的 operationFrequencyRange
与 3550 MHz 到 3620 MHz 部分或完全重叠。
步骤
请验证以下步骤:
SAS 会根据终止区域的时间表自动终止授予。
CBSD 发送心跳请求。
SAS 使用 responseCode 500
(Terminated_Grant
) 发送心跳响应。
重要提示 : 在此测试用例中,SAS 建议在 3620 MHz 到 3700 MHz 之间分配一个新的 operationFrequencyRange
。当频谱可用时,SAS 会尝试将建议的频率范围的带宽与终止的授予的带宽匹配。建议的 EIRP 小于或等于终止的授予的 EIRP。
示例
{
"heartbeatResponse":[
{
"cbsdId":"SAS-assigned device ID ",
"grantId":"SAS-assigned grant ID ",
"transmitExpireTime":"YYYY-MM-DDTHH:MM:SSZ",
"operationParam":{
"maxEirp":"New max EIRP ",
"operationFrequencyRange":{
"lowFrequency":"New low frequency ",
"highFrequency":"New high frequency "
}
},
"response":{
"responseCode":500,
"responseMessage":"TERMINATED_GRANT"
}
}
]
}
CBSD 向 SAS 提交包含新建议的运营参数的授予请求。
示例
{
"grantRequest":[
{
"cbsdId":"SAS-assigned device ID ",
"operationParam":{
"maxEirp":New max EIRP ,
"operationFrequencyRange":{
"lowFrequency":New low frequency ,
"highFrequency":New high frequency
}
}
}
]
}
CBSD 收到 SAS 发来的授权响应。
示例
{
"grantResponse":[
{
"cbsdId":"SAS-assigned device ID ",
"grantId":"SAS-assigned grant ID ",
"grantExpireTime":"YYYY-MM-DDTHH:MM:SSZ",
"heartbeatInterval":60,
"channelType": GAA,
"response":{
"responseCode":0
}
}
]
}
结果
下表列出了测试的预期结果。
表 5a. 测试用例 5a
接收
发送次数
可接受
SAS
授权终止后,针对第一个心跳请求返回的包含 responseCode 500
(Terminated_Grant
) 的心跳响应
CBSD 使用新操作参数请求授予后收到的成功授予响应
CBSD
使用 responseCode 500
(Terminated_Grant
) 的检测信号响应
成功授权响应
心跳请求
包含 SAS 在终止心跳响应中建议的操作参数的有效授予请求
停止向 SAS 发送已终止授权的心跳请求
CBSD 会在 transmitExpireTime
后不到 60 秒停止传输。
测试用例 5b:终止 SAS 门户中频道掩码的授权授予
此测试用例用于验证以下内容:
CBSD 会停止发送心跳信号,并在授权终止时结束传输。
CBSD 会针对频谱查询中的某个可用频道请求新的授权,而无需用户干预。
前提条件
请确保满足以下条件:
CBSD 持有授权且正在发送心跳信号。
CBSD 会继续发送心跳,直到 SAS 终止授予。
步骤
请验证以下步骤:
在 SAS 门户 中,设置频道掩码 ,以限制至少一个当前已授予的频道。
SAS 会在 SAS 门户中为此 CBSD 指定的时间终止授予。
CBSD 发送心跳请求。
SAS 使用 responseCode 500
(Terminated_Grant
) 发送心跳响应。
示例
{
"heartbeatResponse":[
{
"cbsdId":"SAS-assigned device ID ",
"grantId":"SAS-assigned grant ID ",
"transmitExpireTime":"YYYY-MM-DDTHH:MM:SSZ",
"response":{
"responseCode":500,
"responseMessage":"TERMINATED_GRANT"
}
}
]
}
CBSD 向 SAS 发送频谱查询请求。如需查看示例,请参阅测试用例 1 。
SAS 会发送包含可用频道的频谱查询响应。
CBSD 向 SAS 发送频谱查询响应中列出的某个频道的授权请求。
示例
{
"grantRequest":[
{
"cbsdId":"SAS-assigned device ID ",
"operationParam":{
"maxEirp":New max EIRP
""operationFrequencyRange":{
"lowFrequency":"New low frequency ",
"highFrequency":New high frequency
}
}
}
]
}
CBSD 收到 SAS 发来的授权响应。
示例
{
"grantResponse":[
{
"cbsdId":"SAS-assigned device ID ",
"grantId":"SAS-assigned grant ID ",
"grantExpireTime":"YYYY-MM-DDTHH:MM:SSZ",
"heartbeatInterval":60,
"channelType": GAA,
"response":{
"responseCode":0
}
}
]
}
CBSD 会针对新授予发送心跳请求。
结果
下表列出了测试的预期结果。
表格 5b. 测试用例 5b
接收
发送次数
可接受
SAS
心跳请求
频谱咨询请求
针对可用频道的有效授权请求
针对 CPAS 结束后的第一个心跳请求返回 responseCode 500
(Terminated_Grant
) 的心跳响应
CBSD 使用新操作参数请求授予后收到的成功授予响应
包含可用频道列表的频谱查询响应
CBSD 请求可用频道的授权后收到的成功授权响应
CBSD
使用 responseCode 500
(Terminated_Grant
) 的检测信号响应
频谱咨询回复
成功授权响应
心跳请求
频谱咨询请求
针对某个可用渠道的有效授权请求
停止向 SAS 发送已终止授权的心跳请求
CBSD 在 transmitExpireTime
后不到 60 秒就停止传输
测试用例 6:授予权限请求失败
此测试用例用于验证,如果授予请求未成功,CBSD 不会启动心跳进程或传输。
前提条件
确保 CBSD 已在旧版无线保护区 (GWPZ) 内注册。
示例:GWPZ 内的注册
{
"registrationRequest":[
{
. . .
. . .
"installationParam":{
"latitude":70,
"longitude":-162,
. . .
. . .
}
}
]
}
步骤
请验证以下步骤:
CBSD 向 SAS 发送授权请求。
示例:针对 GWPZ 禁止使用的频率的授权请求
{
"grantRequest":[
{
"cbsdId":"SAS-assigned device ID ",
"operationParam":{
"maxEirp":20,
"operationFrequencyRange":{
"lowFrequency":3650 - 3695 MHz (e.g. 3650000000),
"highFrequency":3655 - 3700 MHz
}
}
}
]
}
SAS 会响应,使用 responseCode 400
(Interference
) 拒绝授权请求。
示例
{
"grantResponse":[
{
"cbsdId":"SAS-assigned device ID ",
"response":{
"responseCode":400,
"responseMessage":"Inside GWPZ"
}
}
]
}
结果
下表列出了测试的预期结果。
表格 6. 测试用例 6
接收
发送次数
SAS
授权请求
使用 responseCode 400
授予回复 (Interference
)
在本例中,CBSD 位于 GWPZ 内,并请求针对受保护频率授予许可,但也可能出于任何其他原因。
CBSD
使用 responseCode 400
授予回复 (Interference
)
CBSD 不应开始发送心跳或传输。
授权请求
测试用例 7:CBSD 取消注册和重新注册
此测试用例用于验证当 CBSD 从一个位置移至距离 50 米以上的另一个位置时,是否会从 SAS 中注销并重新注册。
前提条件
确保 CBSD 已注册、已获得授权且正在发送心跳信号。
示例:初始注册请求中的 CBSD 坐标
{
"registrationRequest":[
{
. . .
. . .
"installationParam":{
"latitude":37.4,
"longitude":-122.0,
. . .
. . .
}
}
]
}
步骤
请验证以下步骤:
将 CBSD 位置设置为距离 50 米以上的另一个选定位置。为此,您可以通过实际移动设备或手动设置其位置来实现。
CBSD 可以根据位置变化选择发送注销请求。
示例
{
"deregistrationRequest":{
"cbsdId":"SAS-assigned device ID "
}
}
然后,CBSD 会发送包含新位置的新注册请求。
示例
{
"registrationRequest":[
{
. . .
. . .
"installationParam":{
"latitude":37.5,
"longitude":-122.1,
. . .
. . .
}
}
]
}
SAS 使用 responseCode 0
发送注册响应。
示例
{
"registrationResponse":[
{
"cbsdId":"SAS-assigned device ID ",
"response":{
"responseCode":0
}
}
]
}
结果
下表列出了测试的预期结果。
表格 7. 测试用例 7
接收
发送次数
SAS
包含起始位置信息的注册请求
可选:取消注册请求
包含新位置信息的注册请求
使用 responseCode 0
的注册响应
可选:使用 responseCode 0
的取消注册响应
使用 responseCode 0
的注册响应
CBSD
使用 responseCode 0
的注册响应
可选:使用 responseCode 0
的取消注册响应
使用 responseCode 0
的注册响应
包含起始位置信息的注册请求
可选:取消注册请求
包含新位置信息的注册请求
测试用例 8:授予权限的到期和续期
此测试用例用于验证授权即将到期时的 CBSD 行为。
前提条件
确保 CBSD 已注册、持有授权且正在发送心跳。
步骤
请验证以下步骤:
在授权到期之前,CBSD 会向 SAS 发送心跳请求,并将 grantRenew
设为 true 。
示例
{
"heartbeatRequest":[
{
"cbsdId":"SAS-assigned device ID ",
"grantId":"SAS-assigned grant ID ",
"operationState": "AUTHORIZED",
"grantRenew":"true"
}
]
}
如果 CBSD 请求续期授权,SAS 会在心跳响应中发送新的 grantExpireTime
。
示例
{
"heartbeatResponse":[
{
"cbsdId":"SAS-assigned device ID ",
"grantId":"SAS-assigned grant ID ",
"transmitExpireTime":"YYYY-MM-DDTHH:MM:SSZ"
"grantExpireTime":"YYYY-MM-DDTHH:MM:SSZ"
"heartbeatInterval": 60,
"response":{
"responseCode":0
},
}
]
}
结果
下表列出了测试的预期结果。
表格 8. 测试用例 8
接收
发送次数
SAS
同时请求续期授权的心跳请求
包含新 grantExpireTime
值的心跳响应
CBSD
包含新 grantExpireTime
值的心跳响应
在授予权限到期之前,将 grantRenew
设置为 true 的心跳请求
测试用例 9:CBSD 对无效值或缺失值的处理
此测试用例展示了无效请求的示例。CBSD 无需按步骤操作,但测试人员应验证,在 CBSD 收到表明请求存在错误的响应代码后,不会重试相同的(无效)请求。
前提条件
确保 CBSD 未在 SAS 中注册。
步骤
CBSD 向 SAS 发送注册请求。
示例 1:与错误有关的请求
请求中省略了带删除线文本的 FCC ID 字段,即使它是 CBSD 注册所必需的。
{
"registrationRequest":[
{
"fccId":"whitelisted FCC ID " ,
"userId":"whitelisted user ID ",
"cbsdSerialNumber":"<unique device ID>",
"cbsdCategory":"A",
"airInterface":{
"radioTechnology":"E_UTRA"
},
"installationParam":{
"latitude": latitude within US ,
"longitude": longitude within US ,
"height":9,
"heightType":"AGL",
"indoorDeployment":false,
"antennaGain":16
},
"cbsdInfo":{
"vendor": "CBSD Vendor 1",
"model": "CBSD Model 1",
"softwareVersion": "2.0",
"hardwareVersion": "2.0",
"firmwareVersion": "2.0"
}
}
]
}
示例 2:将纬度和经度值设为 0(零)的第二个注册请求
这是为了测试 CBSD 对无效数据的处理方式。CBSD 应先更正字段,然后再重新发送请求。
{
"registrationRequest":[
{
"fccId":"whitelisted FCC ID ",
"userId":"whitelisted user ID ",
"cbsdSerialNumber":"unique device ID ",
"cbsdCategory":"A",
"airInterface":{
"radioTechnology":"E_UTRA"
},
"installationParam":{
"latitude": 0,
"longitude": 0,
"height":12,
"heightType":"AGL",
"indoorDeployment":false,
"antennaGain":20
},
"cbsdInfo":{
"vendor": "CBSD Vendor 1",
"model": "CBSD Model 1",
"softwareVersion": "2.0",
"hardwareVersion": "2.0",
"firmwareVersion": "2.0"
}
}
]
}
SAS 会拒绝注册请求,并提供以下原因之一:
responseCode 102
(Missing_Param
)。在 responseData
字段中输入缺少的参数。
示例
{
"registrationResponse":[
{
"response":{
"responseCode":102,
"responseData":["fccId"],
"responseMessage":"Missing field: fccId"
}
}
]
}
responseCode 103
(Invalid_Value
)。在 responseData
字段中输入值无效的参数。
示例
{
"registrationResponse":[
{
"response":{
"responseCode":103,
"responseData":["latitude", "longitude"],
"responseMessage":"Invalid field: latitude, longitude"
}
}
]
}
结果
下表列出了测试的预期结果。
表格 9. 测试用例 9
接收
发送次数
可接受
SAS
注册请求未指定必要字段或包含无效值
以下各项之一:
包含 responseCode 102
(Missing_Param
) 的注册响应,且 responseData
字段中缺少参数
包含 responseCode 103
(Invalid_Value
) 的注册响应,以及 responseData
字段中值无效的参数
CBSD
响应代码非零的注册响应
注册请求不完整或无效
在错误得到修正之前,CBSD 不得尝试相同的请求。
测试用例 10:针对 RECEIVED_POWER_WITHOUT_GRANT 的 CBSD 衡量报告
此测试用于验证是否支持 Received_Power_Without_Grant
衡量功能的 CBSD 会按照 WINNF-17-SSC-0002 中的规定发送衡量报告。
前提条件
确保 CBSD 未注册。
步骤
请验证以下步骤:
CBSD 向 SAS 发送注册请求,其中包含 Received_Power_Without_Grant
作为其衡量功能之一。
SAS 会回复一个注册响应,其中衡量报告配置中包含 Received_Power_Without_Grant
。
可选:CBSD 发送包含有效测量的频谱查询请求。
如果发送了频谱查询请求,SAS 会使用 responseCode 0
发送频谱查询响应。
CBSD 发送包含有效测量的授予请求。
SAS 使用 responseCode 0
发送授予响应。
结果
下表列出了测试的预期结果。
表格 10. 测试用例 10
接收
发送次数
SAS
注册请求,其中包含 Received_Power_Without_Grant
作为衡量功能之一
可选:包含有效测量的频谱查询请求
包含有效衡量结果的授予请求
CBSD
注册响应
可选:频谱咨询请求
包含有效衡量结果的授予请求
授予响应
注册请求
可选:包含有效测量的频谱查询请求
包含有效衡量结果的授予请求
测试用例 11:针对 RECEIVED_POWER_WITH_GRANT 的 CBSD 衡量报告
此测试用于验证是否支持 Received_Power_With_Grant
衡量功能的 CBSD 会按照 WINNF-17-SSC-0002 中的规定发送衡量报告。
前提条件
确保 CBSD 未注册。
步骤
请验证以下步骤:
CBSD 向 SAS 发送注册请求,其中包含 Received_Power_With_Grant
作为其衡量功能之一。
SAS 会使用 responseCode 0
回复注册响应。
可选:CBSD 发送频谱查询请求。
SAS 使用 responseCode 0
发送频谱查询响应。
CBSD 发送有效的授权请求。
SAS 会发送一个授予响应,其中测量报告配置中包含 Received_Power_With_Grant
。
在前五个心跳请求中,CBSD 至少会发送一个包含有效测量的请求。
SAS 使用 responseCode 0
发送心跳响应。
结果
下表列出了测试的预期结果。
表格 11. 测试用例 11
接收
发送次数
可接受
SAS
来自 CBSD 的注册请求,其中包含 Received_Power_With_Grant
作为衡量功能之一
可选:频谱咨询请求
来自 CBSD 的有效授权请求
任意数量的心跳请求,其中前五个请求中至少有一个包含有效的测量结果
注册响应
可选:频谱咨询回复
授权响应,其中衡量报告配置中包含 Received_Power_With_Grant
包含 responseCode 0
的心跳响应
CBSD
注册请求,其中包含 Received_Power_With_Grant
作为衡量功能之一
可选:频谱咨询请求
授权请求
任意数量的心跳请求,其中前五个请求中至少有一个包含有效的测量结果
首次成功发送心跳后,CBSD 会在相应频道和功率下开始传输。
测试用例 12:批量请求
此测试用例用于验证域名代理 (DP) 是否能够为多个 CBSD 发送批量请求并接收批量响应。
具体而言,此测试用例重点介绍以下内容:
针对多个 CBSD 的批量频谱查询
针对多个 CBSD 的批量授予流程
用于为多个 CBSD 开启无线电的第一个批量心跳
重要提示 : 注册批量消息未经过测试,因为在典型部署中,它们的使用频率较低。
前提条件
重要提示 : 此测试用例需要 2 到 20 个 CBSD 和一个 DP,用于为每个 CBSD 中继 SAS 消息。测试环境的批次大小上限为 20。这与生产环境不同,在生产环境中,批次大小上限为 120。
请确保满足以下条件:
CBSD 已向 SAS 注册。
DP 设置为请求可用频谱的一部分。
步骤
请验证以下步骤:
DP 会发送批量频谱查询请求,以检查每个 CBSD 的可用频谱。
示例
{
"spectrumInquiryRequest":[
{
"cbsdId":"SAS-assigned device ID #1 ",
"inquiredSpectrum":[
{
"lowFrequency":within 3550 - 3700 MHz range ,
"highFrequency":within 3550 - 3700 MHz range
}
]
},
{
"cbsdId":"SAS-assigned device ID #2 ",
"inquiredSpectrum":[
{
"lowFrequency":within 3550 - 3700 MHz range ,
"highFrequency":within 3550 - 3700 MHz range
}
]
},
...
{
"cbsdId":"SAS-assigned device ID #N ",
"inquiredSpectrum":[
{
"lowFrequency":within 3550 - 3700 MHz range ,
"highFrequency":within 3550 - 3700 MHz range
}
]
}
]
}
对于每个 CBSD,DP 都会从 SAS 收到可用通道的列表。
示例
{
"spectrumInquiryResponse":[
{
"cbsdId":"SAS-assigned device ID #1 ",
"availableChannel":[
{
"frequencyRange":{
"lowFrequency":3550 - 3700 MHz ,
"highFrequency":3550 - 3700 MHz
},
"channelType":"GAA",
"ruleApplied":"FCC_PART_96",
"maxEirp": 37
},
...
],
"response":{
"responseCode":0
}
},
{
"cbsdId":"SAS-assigned device ID #2 ",
"availableChannel":[
{
"frequencyRange":{
"lowFrequency":3550 - 3700 MHz ,
"highFrequency":3550 - 3700 MHz
},
"channelType":"GAA",
"ruleApplied":"FCC_PART_96",
"maxEirp": 37
},
...
],
"response":{
"responseCode":0
}
},
...
{
"cbsdId":"SAS-assigned device ID #N ",
"availableChannel":[
{
"frequencyRange":{
"lowFrequency":3550 - 3700 MHz ,
"highFrequency":3550 - 3700 MHz
},
"channelType":"GAA",
"ruleApplied":"FCC_PART_96",
"maxEirp": 37
},
...
],
"response":{
"responseCode":0
}
}
]
}
DP 向 SAS 发送批量授予请求。对于每个 CBSD,DP 都会请求 SAS 指定的可用频率范围。
示例
{
"grantRequest":[
{
"cbsdId":"SAS-assigned device ID #1 ",
"operationParam":{
"maxEirp":20,
"operationFrequencyRange":{
"lowFrequency":3550 - 3700 MHz ,
"highFrequency":3550 - 3700 MHz
}
}
},
{
"cbsdId":"SAS-assigned device ID #2 ",
"operationParam":{
"maxEirp":20,
"operationFrequencyRange":{
"lowFrequency":3550 - 3700 MHz ,
"highFrequency":3550 - 3700 MHz
}
}
},
...
{
"cbsdId":"SAS-assigned device ID #N ",
"operationParam":{
"maxEirp":20,
"operationFrequencyRange":{
"lowFrequency":3550 - 3700 MHz ,
"highFrequency":3550 - 3700 MHz
}
}
}
]
}
DP 会收到 SAS 发送的批量授予响应。
示例
{
"grantResponse":[
{
"cbsdId":"SAS-assigned device ID #1 ",
"grantId":"SAS-assigned grant ID #1 ",
"grantExpireTime":"YYYY-MM-DD THH:MM:SSZ ",
"heartbeatInterval":60,
"channelType": GAA,
"response":{
"responseCode":0
}
},
{
"cbsdId":"SAS-assigned device ID #2 ",
"grantId":"SAS-assigned grant ID #2 ",
"grantExpireTime":"YYYY-MM-DD THH:MM:SSZ ",
"heartbeatInterval":60,
"channelType": GAA,
"response":{
"responseCode":0
}
},
...
{
"cbsdId":"SAS-assigned device ID #N ",
"grantId":"SAS-assigned grant ID #N ",
"grantExpireTime":"YYYY-MM-DD THH:MM:SSZ ",
"heartbeatInterval":60,
"channelType": GAA,
"response":{
"responseCode":0
}
}
]
}
DP 会根据 heartbeatInterval
定期向 SAS 发送批量心跳请求,并从 SAS 接收批量心跳响应。
重要提示 :每个 CBSD 的第一个心跳请求必须将 operationState
设置为 Granted 。
示例
{
"heartbeatRequest":[
{
"cbsdId":"SAS-assigned device ID #1 ",
"grantId":"SAS-assigned grant ID #1 ",
"operationState":"GRANTED"
},
{
"cbsdId":"SAS-assigned device ID #2 ",
"grantId":"SAS-assigned grant ID #2 ",
"operationState":"GRANTED"
},
...
{
"cbsdId":"SAS-assigned device ID #N ",
"grantId":"SAS-assigned grant ID #N ",
"operationState":"GRANTED"
}
]
}
SAS 会通过批准心跳请求进行响应。
示例
{
"heartbeatResponse":[
{
"cbsdId":"SAS-assigned device ID #1 ",
"grantId":"SAS-assigned grant ID #1 ",
"response":{
"responseCode":0
},
"transmitExpireTime":"YYYY-MM-DDTHH:MM:SSZ"
},
{
"cbsdId":"SAS-assigned device ID #2 ",
"grantId":"SAS-assigned grant ID #2 ",
"response":{
"responseCode":0
},
"transmitExpireTime":"YYYY-MM-DDTHH:MM:SSZ"
},
...
{
"cbsdId":"SAS-assigned device ID #N ",
"grantId":"SAS-assigned grant ID #N ",
"response":{
"responseCode":0
},
"transmitExpireTime":"YYYY-MM-DDTHH:MM:SSZ"
}
DP 会根据包含 operationState
字段的 heartbeatInterval
定期向 SAS 发送后续批量心跳请求,如果上一个心跳请求已获批准,则 operationState
属于设为已获授权 的任何特定 CBSD。
示例
{
"heartbeatRequest":[
{
"cbsdId":"SAS-assigned device ID #1 ",
"grantId":"SAS-assigned grant ID #1 ",
"operationState":"AUTHORIZED"
},
{
"cbsdId":"SAS-assigned device ID #2 ",
"grantId":"SAS-assigned grant ID #2 ",
"operationState":"AUTHORIZED"
},
...
{
"cbsdId":"SAS-assigned device ID #N ",
"grantId":"SAS-assigned grant ID #N ",
"operationState":"AUTHORIZED"
}
]
}
结果
下表列出了测试的预期结果。
表格 12. 测试用例 12
接收
发送次数
SAS
有效的批量频谱查询请求,每个 CBSD 一个请求
有效的批量授予请求,每个 CBSD 一个请求
有效的定期批量心跳请求,包括每隔 heartbeatInterval
秒至少向每个 CBSD 发出一次请求
对所有批处理请求的成功批处理响应。心跳响应中的 transmitExpire
时间设置为 4 分钟内的值。
DP
对所有批处理请求的成功批量响应
在第一个心跳响应成功后,每个 CBSD 都会在相应信道上开始传输并开启
有效的批量频谱查询请求,每个 CBSD 一个请求
有效的批量授予请求,每个 CBSD 一个请求
至少每 heartbeatInterval
秒发出一次有效的定期批量心跳请求,包括每个 CBSD 一个请求。在至少一个心跳请求中,属于任何特定 CBSD 的字段 operationState
应设置为已授权 。
测试用例 13:超大批量请求
此测试用例用于验证网域代理 (DP) 是否能够处理批量请求大小超出 SAS 处理的批次大小上限的情况。
如果批次大小大于 maxBatchSize
,SAS 会向前 maxBatchSize
个请求发送有效响应,并将 responseCode
字段设置为 0
(Success
)。对于其余请求,SAS 会发送 responseCode 106
(Not_Processed
)。
正式版 SAS 环境中的 maxBatchSize
默认值为 120
。为了支持轻松测试,测试 SAS 环境中的 maxBatchSize
为 20
。
具体而言,此测试用例重点介绍了授予请求流程,以演示如何处理超大批量请求。
我们建议您扩展此测试用例,以涵盖其他消息类型,例如注册请求、频谱查询、心跳程序、授权放弃程序和注销。
前提条件
重要提示 : 此测试用例需要 2 到 20 个 CBSD,以及一个为每个 CBSD 中继 SAS 消息的 DP。
请确保满足以下条件:
CBSD 已向 SAS 注册。
DP 设置为请求可用频谱的一部分。
步骤
请验证以下步骤:
DP 向 SAS 发送超大批量授予请求。批次大小为 N,其中 N 介于 20 到 40 之间。对于每个 CBSD,DP 都会请求 SAS 指定的可用频率范围。
示例
{
"grantRequest":[
{
"cbsdId":"SAS-assigned device ID #1 ",
"operationParam":{
"maxEirp":20,
"operationFrequencyRange":{
"lowFrequency":3550 - 3700 MHz ,
"highFrequency":3550 - 3700 MHz
}
}
},
{
"cbsdId":"SAS-assigned device ID #2 ",
"operationParam":{
"maxEirp":20,
"operationFrequencyRange":{
"lowFrequency":3550 - 3700 MHz ,
"highFrequency":3550 - 3700 MHz
}
}
},
...
{
"cbsdId":"SAS-assigned device ID #N ",
"operationParam":{
"maxEirp":20,
"operationFrequencyRange":{
"lowFrequency":3550 - 3700 MHz ,
"highFrequency":3550 - 3700 MHz
}
}
}
]
}
DP 会收到 SAS 发送的批量授予响应。
SAS 会向前 20 个请求发送有效响应,并将 responseCode
字段设置为 0
(Success
)。对于批处理中的最后 N 到 20 个项,SAS 会将 responseCode
字段设置为 106
(Not_Processed
)。
示例
{
"grantResponse":[
{
"cbsdId":"SAS-assigned device ID #1 ",
"grantId":"SAS-assigned grant ID #1 ",
"grantExpireTime":"YYYY-MM-DDTHH:MM:SSZ",
"heartbeatInterval":60,
"channelType": GAA,
"response":{
"responseCode":0
}
},
{
"cbsdId":"SAS-assigned device ID #2 ",
"grantId":"SAS-assigned grant ID #2 ",
"grantExpireTime":"YYYY-MM-DDTHH:MM:SSZ",
"heartbeatInterval":60,
"channelType": GAA,
"response":{
"responseCode":0
}
},
...
{
"cbsdId":"SAS-assigned device ID #20 ",
"grantId":"SAS-assigned grant ID #20 ",
"grantExpireTime":"YYYY-MM-DDTHH:MM:SSZ",
"heartbeatInterval":60,
"channelType": GAA,
"response":{
"responseCode":0
}
},
{
"cbsdId":"SAS-assigned device ID #21 ",
"response":{
"responseCode":106,
"responseMessage":"The Google SAS requires that each request batch size be less than or equal to 20"
}
},
{
"cbsdId":"SAS-assigned device ID #22 ",
"response":{
"responseCode":106,
"responseMessage":"The Google SAS requires that each request batch size be less than or equal to 20"
}
},
...
{
"cbsdId":"SAS-assigned device ID #N ",
"response":{
"responseCode":106,
"responseMessage":"The Google SAS requires that each request batch size be less than or equal to 20"
}
}
]
}
DP 会发送尚未处理的授予请求。
示例
此批量请求的大小按设计小于 20。
{
"grantRequest":[
{
"cbsdId":"SAS-assigned device ID #21 ",
"operationParam":{
"maxEirp":20,
"operationFrequencyRange":{
"lowFrequency":3550 - 3700 MHz ,
"highFrequency":3550 - 3700 MHz
}
}
},
{
"cbsdId":"SAS-assigned device ID #22 ",
"operationParam":{
"maxEirp":20,
"operationFrequencyRange":{
"lowFrequency":3550 - 3700 MHz ,
"highFrequency":3550 - 3700 MHz
}
}
},
...
{
"cbsdId":"SAS-assigned device ID #N ",
"operationParam":{
"maxEirp":20,
"operationFrequencyRange":{
"lowFrequency":3550 - 3700 MHz ,
"highFrequency":3550 - 3700 MHz
}
}
}
]
}
DP 会收到 SAS 发送的批量授予响应。
SAS 会向所有将 responseCode
字段设置为 0
(Success
) 的请求发送有效响应。
示例
{
"grantResponse":[
{
"cbsdId":"SAS-assigned device ID #21 ",
"grantId":"SAS-assigned grant ID #21 ",
"grantExpireTime":"YYYY-MM-DDTHH:MM:SSZ",
"heartbeatInterval":60,
"channelType": GAA,
"response":{
"responseCode":0
}
},
{
"cbsdId":"SAS-assigned device ID #22 ",
"grantId":"SAS-assigned grant ID #22 ",
"grantExpireTime":"YYYY-MM-DDTHH:MM:SSZ",
"heartbeatInterval":60,
"channelType": GAA,
"response":{
"responseCode":0
}
},
...
{
"cbsdId":"SAS-assigned device ID #N ",
"grantId":"SAS-assigned grant ID #N ",
"grantExpireTime":"YYYY-MM-DDTHH:MM:SSZ",
"heartbeatInterval":60,
"channelType": GAA,
"response":{
"responseCode":0
}
}
]
}
结果
下表列出了测试的预期结果。
表格 13. 测试用例 13
接收
发送次数
SAS
有效的批量授予请求,包括在第一次尝试时针对每个 CBSD 发出一个请求,批次大小为 20 到 40
在第二次尝试中,针对批次的第二个部分的有效批量授予请求(批次大小超过 20)
对前 20 个授予请求的批量响应成功,对第一次尝试中的其余批量响应为 responseCode 106
在第二次尝试时,对所有授予请求的批量响应均成功
DP
对前 20 个请求的批量响应成功,对第一次尝试中的其余批量响应为 responseCode 106
在第二次尝试时,对所有授予请求的批量响应均成功
有效的批量授予请求,包括在首次尝试时针对每个 CBSD 发出一个请求,批次大小为 20 到 40
在第二次尝试中,针对批次的第二个部分的有效批量授予请求(批次大小超过 20)
测试用例 14:被动 DAS 注册和授予流程
此测试用例用于验证以下内容:
无源 DAS 无线电设备的注册和授予流程。
可选:无源 DAS 无线电设备的频谱查询流程。
重要提示 : 注册批量消息未经过测试,因为在典型部署中,它们的使用频率较低。
前提
部署场景
在此测试用例中,我们假设类别 3 部署场景(如 WINNF-TR-5001 中所定义):单个扇区的无线电单元 (RU) 部署为具有多个传输点 (TP) 的无源 DAS。
第 3 类部署(点击可放大)
CBSD 的唯一标识
在这种情况下,每个 TP 都注册为具有 FCC ID 和制造商序列号 (MSN) 的单个 CBSD。RU 的 FCC ID 和 MSN 与额外的 TP ID 组合在一起,用于唯一标识每个 TP。可以将 TP ID 作为 cbsdSerialNumber
中的后缀提供给 SAS。TP ID 必须附加到 RU 的 MSN 后面,并在 TP ID 前面添加分隔符字符 (:)。如需了解详情,请参阅 WINNF-TR-5001 。
重要提示 : 请勿将 RU 注册为 CBSD。当您注册所有 TP 时,它会正确计算无源 DAS 系统产生的总辐射功率。
确定是在室内还是室外
在此测试用例中,我们假设是在室内部署场景。一般来说,您可以在室内或室外部署无源 DAS 设备。如需查看完整准则列表,请参阅 WINNF-TR-5001 。
EIRP 功能
对于室内部署,每个 TP 的最大 EIRP 必须小于或等于 30 dBm 或 10 MHz。如需查看如何计算每个 TP 的 EIRP 能力的示例,请参阅 WINNF-TR-5001 。
CBSD 类别
对于室内部署,每个 TP 都必须注册为类别 A CBSD。即使 RU 最初被 FCC 认证为高功率类别 B 设备,也可以执行此操作。您不得在室内安装 B 类 CBSD。
CPI 辅助安装
目前的 FCC 指南建议,经过认证的专业安装人员 (CPI) 必须始终安装无源 DAS 设备。原因如下:
每当您在室内环境中部署高功率类别 B RU 时,FCC 都建议您安装 CPI,并将其作为类别 A CBSD 使用。
即使 RU 已获认证为低功耗类别 A 设备,典型的 TP 也不具备自动地理定位功能。因此,CPI 必须始终安装被动 DAS。
分步注册
在此测试用例中,我们假设采用的是多步注册流程。这意味着,在执行测试之前,CPI 必须通过 SAS 门户将每个 TP 的安装参数预加载到 SAS 中。CPI 必须在 InstallationParam
对象中指定 eirpCapability
参数,这一点非常重要。
对于此测试用例,每个 TP 的 eirpCapability
必须设置为不超过 30 dBm 或 10 MHz。如果未包含,则根据 Release 1 WInnForum 规范 WINNF- TS-0016 ,SAS 会将 eirpCapability
设置为 FCC 认证的 RU 最大 EIRP 向上取整的值。对于高功率 RU,此值可以大于 30 dBm 或 10 MHz,但对于室内类别 A 安装,则不允许。
网域代理 (DP)
在此测试用例中,我们假设存在一个 DP,该 DP 可以向 SAS 发送和接收批量请求。
前提条件
请确保满足以下条件:
CBSD(TP)未在 SAS 门户中注册。
CBSD(TP)设置为请求可用频谱的一部分。
CPI 提供的注册参数,包括每个 TP 的 eirpCapability
,这些参数会通过 SAS 门户预加载到 SAS 中。
步骤
请验证以下步骤:
如需注册多个 TP,DP 会向 SAS 发送批量注册请求。
重要提示 : 测试环境中的批次大小上限为 20。许多 TP 都需要多个批量请求。
示例
{
"registrationRequest":[
{
"fccId":"allowed FCC ID of RU ",
"userId":"allowed user ID ",
"cbsdSerialNumber":"MSN of RU :TP ID #1 ",
"cbsdCategory":"A",
"airInterface":{
"radioTechnology":"E_UTRA",
},
"cbsdInfo":{
"vendor": "CBSD Vendor of RU",
"model": "CBSD Model of RU",
"softwareVersion": "2.0",
"hardwareVersion": "2.0",
"firmwareVersion": "2.0"
}
},
{
"fccId":"allowed FCC ID of RU ",
"userId":"allowed user ID ",
"cbsdSerialNumber":"MSN of RU :TP ID #2 ",
"cbsdCategory":"A",
"airInterface":{
"radioTechnology":"E_UTRA",
},
"cbsdInfo":{
"vendor": "CBSD Vendor of RU",
"model": "CBSD Model of RU",
"softwareVersion": "2.0",
"hardwareVersion": "2.0",
"firmwareVersion": "2.0"
}
},
...
{
"fccId":"allowed FCC ID of RU ",
"userId":"allowed user ID ",
"cbsdSerialNumber":"MSN of RU :TP ID #N ",
"cbsdCategory":"A",
"airInterface":{
"radioTechnology":"E_UTRA",
},
"cbsdInfo":{
"vendor": "CBSD Vendor of RU",
"model": "CBSD Model of RU",
"softwareVersion": "2.0",
"hardwareVersion": "2.0",
"firmwareVersion": "2.0"
}
}
]
}
CBSD 收到 SAS 发来的批量注册响应。
示例
{
"registrationResponse":[
{
"cbsdId":"SAS-assigned device ID #1 ",
"response":{
"responseCode":0
}
},
{
"cbsdId":"SAS-assigned device ID #2 ",
"response":{
"responseCode":0
}
},
...
{
"cbsdId":"SAS-assigned device ID #N ",
"response":{
"responseCode":0
}
}
]
}
如需检查每个 TP 的可用频谱,DP 会发送批量频谱查询请求。
重要提示 :每个 TP 的 inquiredSpectrum
字段应相同。在单扇区无源 DAS 部署中,所有 TP 都必须使用相同的 RF 通道。
示例
{
"spectrumInquiryRequest":[
{
"cbsdId":"SAS-assigned device ID #1 ",
"inquiredSpectrum":[
{
"lowFrequency":F1 (within 3550 - 3700 MHz range) ,
"highFrequency":F2 (within 3550 - 3700 MHz range)
}
]
},
{
"cbsdId":"SAS-assigned device ID #2 ",
"inquiredSpectrum":[
{
"lowFrequency":F1 (within 3550 - 3700 MHz range) ,
"highFrequency":F2 (within 3550 - 3700 MHz range)
}
]
},
...
{
"cbsdId":"SAS-assigned device ID #N ",
"inquiredSpectrum":[
{
"lowFrequency":F1 (within 3550 - 3700 MHz range) ,
"highFrequency":F2 (within 3550 - 3700 MHz range)
}
]
}
]
}
对于每个 TP,DP 都会从 SAS 收到可用渠道的列表。
注意 : SAS 频谱查询响应中的 availableChannel
字段对所有 TP 而言不必相同,因为可用频道的列表可能会因 TP 的位置而异。
示例
{
"spectrumInquiryResponse":[
{
"cbsdId":"SAS-assigned device ID #1 ",
"availableChannel":[
{
"frequencyRange":{
"lowFrequency":3550 - 3700 MHz ,
"highFrequency":3550 - 3700 MHz
},
"channelType":"GAA",
"ruleApplied":"FCC_PART_96",
"maxEirp": 37
},
...
],
"response":{
"responseCode":0
}
},
{
"cbsdId":"SAS-assigned device ID #2 ",
"availableChannel":[
{
"frequencyRange":{
"lowFrequency":3550 - 3700 MHz ,
"highFrequency":3550 - 3700 MHz
},
"channelType":"GAA",
"ruleApplied":"FCC_PART_96",
"maxEirp": 37
},
...
],
"response":{
"responseCode":0
}
},
...
{
"cbsdId":"SAS-assigned device ID #N ",
"availableChannel":[
{
"frequencyRange":{
"lowFrequency":3550 - 3700 MHz ,
"highFrequency":3550 - 3700 MHz
},
"channelType":"GAA",
"ruleApplied":"FCC_PART_96",
"maxEirp": 37
},
...
],
"response":{
"responseCode":0
}
}
]
}
DP 向 SAS 发送批量授予请求。对于每个 TP,DP 都会请求 SAS 指定为可用的频率范围。
对于室内部署,每个 TP 的 maxEirp
值不应超过 30 dBm 或 10 MHz。
每个 TP 的 operationFrequencyRange
字段应相同。在单扇区无源 DAS 部署中,所有 TP 都必须使用相同的 RF 信道。
示例
{
"grantRequest":[
{
"cbsdId":"SAS-assigned device ID #1 ",
"operationParam":{
"maxEirp":value less than or equal to 30 ,
"operationFrequencyRange":{
"lowFrequency":F1 (within 3550 - 3700 MHz) ,
"highFrequency":F2 (within 3550 - 3700 MHz)
}
}
},
{
"cbsdId":"SAS-assigned device ID #2 ",
"operationParam":{
"maxEirp":value less than or equal to 30 ,
"operationFrequencyRange":{
"lowFrequency":F1 (within 3550 - 3700 MHz) ,
"highFrequency":F2 (within 3550 - 3700 MHz)
}
}
},
...
{
"cbsdId":"SAS-assigned device ID #N ",
"operationParam":{
"maxEirp":value less than or equal to 30 ,
"operationFrequencyRange":{
"lowFrequency":F1 (within 3550 - 3700 MHz) ,
"highFrequency":F2 (within 3550 - 3700 MHz)
}
}
}
]
}
DP 会收到 SAS 发送的批量授予响应。
示例
{
"grantResponse":[
{
"cbsdId":"SAS-assigned device ID #1 ",
"grantId":"SAS-assigned grant ID #1 ",
"grantExpireTime":"YYYY-MM-DDTHH:MM:SSZ",
"heartbeatInterval":60,
"channelType": GAA,
"response":{
"responseCode":0
}
},
{
"cbsdId":"SAS-assigned device ID #2 ",
"grantId":"SAS-assigned grant ID #2 ",
"grantExpireTime":"YYYY-MM-DDTHH:MM:SSZ",
"heartbeatInterval":60,
"channelType": GAA,
"response":{
"responseCode":0
}
},
...
{
"cbsdId":"SAS-assigned device ID #N ",
"grantId":"SAS-assigned grant ID #N ",
"grantExpireTime":"YYYY-MM-DDTHH:MM:SSZ",
"heartbeatInterval":60,
"channelType": GAA,
"response":{
"responseCode":0
}
}
]
}
DP 会根据 heartbeatInterval
定期向 SAS 发送批量心跳请求,并从 SAS 接收批量心跳响应。
重要提示 : 每个 CBSD 的第一个心跳请求必须将 operationState
设置为 Granted 。如果之前的心跳请求已获批准,则必须将属于任何特定 TP 的 operationState
字段设置为 Authorized 。如需查看更详细的示例,请参阅测试用例 12 。
结果
下表列出了测试的预期结果。
表格 14. 测试用例 14
接收
发送次数
SAS
有效的批量注册请求,每个 TP 包含一个请求
有效的批量频谱查询请求,每个 TP 一个请求
有效的批量授予请求,每个 TP 一个请求
有效的定期批量心跳请求,包括每隔至少 heartbeatInterval
秒针对每个 TP 发出一次请求
对所有批处理请求的成功批处理响应。心跳响应中的 transmitExpire
时间设置为 4 分钟内的值。
DP
对所有批处理请求的成功批量响应
在第一次成功响应心跳后,每个 TP 都会在相应频道和电源上开始传输
有效的批量注册请求,每个 TP 包含一个请求
有效的批量频谱查询请求,每个 TP 一个请求
有效的批量授予请求,每个 TP 一个请求
至少每 heartbeatInterval
秒发出一次有效的定期批量心跳请求,包括每个 TP 一个请求。至少在一个心跳请求中,属于任何特定 TP 的字段 operationState
应设置为已授权 。
测试用例 15:已排序的频谱查询响应
此测试用例用于验证 CBSD 是否可以从已排序的频谱查询响应中选择质量最高的信道。了解 SAS 如何计算频道质量 。
前提
CBSD 会尝试在单个 10 MHz 宽的频道上进行传输。
前提条件
请确保 CBSD 已在测试前至少 4 小时向 SAS 注册。CBSD 注册后,SAS 最长可能需要 4 小时才能计算频道质量和排名。
提示 : 在 SAS 门户中,您可以在 CBSD 的 Coex 标签页中查看频谱可用性、信道质量和信道排名。
为了获得更准确的结果,请在注册请求或 SAS 门户中提供 CBSD 的频次管理分组信息。以测试用例 1 为例。
步骤
请验证以下步骤:
CBSD 向 SAS 发送有关整个 CBRS 频率范围(3550 MHz 到 3700 MHz)的频谱查询请求。
示例
{
"spectrumInquiryRequest":[
{
"cbsdId":"SAS-assigned device ID #1 ",
"inquiredSpectrum":[
{
"lowFrequency":3550000000,
"highFrequency":3700000000
}
]
}
]
}
CBSD 收到 SAS 发送的频谱查询响应。频谱查询响应会返回可用频道的列表,按频道质量从高到低排序。availableChannel
数组中的第一个对象质量最高。
示例
在此示例中,第一个 frequencyRange
对象的质量最高,并将在第 3 步中重复使用。
{
"spectrumInquiryResponse":[
{
"cbsdId":"SAS-assigned device ID ",
"availableChannel":[
{
"frequencyRange":{
"lowFrequency":3560000000,
"highFrequency":3570000000
},
"channelType":"GAA",
"ruleApplied":"FCC_PART_96",
"maxEirp": 37
},
{
"frequencyRange":{
"lowFrequency":3600000000,
"highFrequency":3610000000
},
"channelType":"GAA",
"ruleApplied":"FCC_PART_96",
"maxEirp": 37
},
{
"frequencyRange":{
"lowFrequency":3630000000,
"highFrequency":3640000000
},
"channelType":"GAA",
"ruleApplied":"FCC_PART_96",
"maxEirp": 37
},
{
"frequencyRange": {
"lowFrequency": 3640000000,
"highFrequency": 3650000000
},
"channelType": "GAA",
"ruleApplied": "FCC_PART_96",
"maxEirp": 37
},
{
"frequencyRange": {
"lowFrequency": 3650000000,
"highFrequency": 3660000000
},
"channelType": "GAA",
"ruleApplied": "FCC_PART_96",
"maxEirp": 37
},
{
"frequencyRange": {
"lowFrequency": 3660000000,
"highFrequency": 3670000000
},
"channelType": "GAA",
"ruleApplied": "FCC_PART_96",
"maxEirp": 37
},
{
"frequencyRange": {
"lowFrequency": 3670000000,
"highFrequency": 3680000000
},
"channelType": "GAA",
"ruleApplied": "FCC_PART_96",
"maxEirp": 37
},
{
"frequencyRange": {
"lowFrequency": 3680000000,
"highFrequency": 3690000000
},
"channelType": "GAA",
"ruleApplied": "FCC_PART_96",
"maxEirp": 37
},
{
"frequencyRange": {
"lowFrequency": 3690000000,
"highFrequency": 3700000000
},
"channelType": "GAA",
"ruleApplied": "FCC_PART_96",
"maxEirp": 37
},
{
"frequencyRange": {
"lowFrequency": 3610000000,
"highFrequency": 3620000000
},
"channelType": "GAA",
"ruleApplied": "FCC_PART_96",
"maxEirp": 37
},
{
"frequencyRange": {
"lowFrequency": 3620000000,
"highFrequency": 3630000000
},
"channelType": "GAA",
"ruleApplied": "FCC_PART_96",
"maxEirp": 37
},
{
"frequencyRange": {
"lowFrequency": 3580000000,
"highFrequency": 3590000000
},
"channelType": "GAA",
"ruleApplied": "FCC_PART_96",
"maxEirp": 37
},
{
"frequencyRange": {
"lowFrequency": 3590000000,
"highFrequency": 3600000000
},
"channelType": "GAA",
"ruleApplied": "FCC_PART_96",
"maxEirp": 37
},
{
"frequencyRange": {
"lowFrequency": 3570000000,
"highFrequency": 3580000000
},
"channelType": "GAA",
"ruleApplied": "FCC_PART_96",
"maxEirp": 37
},
{
"frequencyRange": {
"lowFrequency": 3550000000,
"highFrequency": 3560000000
},
"channelType": "GAA",
"ruleApplied": "FCC_PART_96",
"maxEirp": 37
}
],
"response":{
"responseCode":0
}
}
]
}
CBSD 向 SAS 发送授权请求。CBSD 会请求排名最高的频道。这是已排序频谱查询响应的 availableChannel
数组中的第一个元素。
示例
{
"grantRequest":[
{
"cbsdId":"SAS-assigned device ID ",
"operationParam":{
"maxEirp":27,
"operationFrequencyRange":{
"lowFrequency":3560000000,
"highFrequency":3570000000
}
}
}
]
}
CBSD 收到 SAS 发来的授权响应。
示例
{
"grantResponse":[
{
"cbsdId":"SAS-assigned device ID ",
"grantId":"SAS-assigned grant ID ",
"grantExpireTime":"YYYY-MM-DDTHH:MM:SSZ",
"heartbeatInterval":60,
"channelType": GAA,
"response":{
"responseCode":0
}
}
]
}
CBSD 会根据 heartbeatInterval
定期向 SAS 发送心跳请求,并从 SAS 接收心跳响应。查看测试用例 1 中发送心跳请求的要求。
结果
下表列出了测试的预期结果。
表格 15. 测试用例 15
接收
发送次数
可接受
SAS
有效的频谱咨询请求
根据频谱咨询回复,针对排名最高的频道提交的有效授权请求
至少每 heartbeatInterval
秒发出一次有效的周期性心跳请求
成功排序的频谱查询响应
成功授权响应
所有心跳请求的成功响应,心跳响应中包含 transmitExpireTime
。
CBSD
成功排序的频谱查询响应
成功授权响应
所有心跳请求的成功心跳响应
首次成功发送心跳后,CBSD 会在相应频道和功率下开始传输。
有效的频谱咨询请求
根据频谱查询回复,针对排名最高的频道提交的有效授权请求
至少每 heartbeatInterval
秒发出一次有效的周期性心跳请求,其中至少有一个请求将 operationState
设置为 Authorized
SAS 门户
您可以在 SAS 门户的 CBSD 的 Coex 标签页中找到频谱可用性、信道质量和信道排名。查找测试 SAS 环境的网址 。
测试用例 16:频率相同
此测试用例用于验证以下内容:
每当设备注册时,CBSD 或 DP 设备都会向 SAS 发送相同频率标识符。
您可以在 SAS 门户中为每台设备设置或修改“相同频率”值。
前提条件
请确保满足以下条件:
CBSD 未向 SAS 注册。
CBSD 或 DP 与 SAS 不共享相同的频次 ID。
步骤
请验证以下步骤:
在 CBSD 注册消息中配置 WInnForum 相同频率值信息。
示例
{
"registrationRequest": [
{
"fccId": "abc123",
"cbsdCategory": "A",
"callSign": "CB987",
"userId": "John Doe",
"airInterface": {
"radioTechnology": "E_UTRA"
},
"cbsdSerialNumber": "abcd1234",
"measCapability": [
"RECEIVED_POWER_WITHOUT_GRANT"
],
"installationParam": {
"latitude": 37.419735,
"longitude": -122.072205,
"height": 6,
"heightType": "AGL",
"indoorDeployment": true
},
"groupingParam": [
{ "groupId": "example-group-1",
"groupType": "PRINCIPAL_SUBORDINATE_SFG" },
]
},
在 SAS 中注册设备。
如果“相同频率”值发生变化,您可以在心跳请求消息中设置新值,并将其发送到 SAS。
可选:使用 SAS 门户为 CBSD 设置或修改“相同频率”值。
注意 :您可以在 Google 提供的测试结果 工作表中记录使用 SAS 门户设置的值。
结果
下表列出了测试的预期结果。
表格 16. 测试用例 16
接收
发送次数
SAS
来自 CBSD 或 DP 的注册请求或心跳消息,其中包含配置的“Same Frequency”值
可选:SAS 门户中 CBSD 的频率相同
向 CBSD 或 DP 发送的注册响应成功
CBSD 或 DP
成功的注册响应或心跳响应
注册期间每个 CBSD 的“通用渠道组”标签,或在“相同频次”值发生变化时通过心跳传输的标签
测试用例 17:频率重复使用
此测试用例用于验证以下内容:
每次设备注册时,CBSD 或 DP 设备都会向 Google SAS 发送相同频率重复使用标识符。
您可以在 SAS 门户中为每台设备设置或修改频率重复使用值。
前提条件
请确保满足以下条件:
CBSD 未向 SAS 注册。
CBSD 或 DP 与 SAS 不共享相同的频次 ID。
步骤
请验证以下步骤:
在 CBSD 注册消息中配置 WInnForum 相同频率值信息。
示例
{
"registrationRequest": [
{
"fccId": "abc123",
"cbsdCategory": "A",
"callSign": "CB987",
"userId": "John Doe",
"airInterface": {
"radioTechnology": "E_UTRA"
},
"cbsdSerialNumber": "abcd1234",
"measCapability": [
"RECEIVED_POWER_WITHOUT_GRANT"
],
"installationParam": {
"latitude": 37.419735,
"longitude": -122.072205,
"height": 6,
"heightType": "AGL",
"indoorDeployment": true
},
"groupingParam": [
{ "groupId": "example-group-1",
"groupType": "PRINCIPAL_SUBORDINATE_SFG" },
]
},
在 SAS 中注册设备。
如果“相同频率”值发生变化,您可以在心跳请求消息中设置新值,并将其发送到 SAS。
可选:使用 SAS 门户为 CBSD 设置或修改“相同频率”值。
注意 :您可以在 Google 提供的测试结果 工作表中记录使用 SAS 门户设置的值。
结果
下表列出了测试的预期结果。
表格 17. 测试用例 17
接收
发送次数
SAS
来自 CBSD 或 DP 的注册请求或心跳消息,其中包含配置的频率重用值
可选:SAS 门户中 CBSD 的频率重用配置
向 CBSD 或 DP 发送的注册响应成功
CBSD 或 DP
成功的注册响应或心跳响应
注册期间每个 CBSD 的通用信道组 (CCG) 标签,或在频率重用值发生变化时通过心跳传输的标签
测试用例 18:对多个 10 MHz 授予请求的偏好
此测试用例用于验证当使用多个大于 10 MHz 的频道进行操作时,CBSD 或 DP 是否会选择请求多个 10 MHz 授权。
前提条件
请确保满足以下条件:
CBSD 或 DP 已向 SAS 注册。
CBSD 配置为使用超过 10 MHz 的频率进行操作。
步骤
请验证以下步骤:
CBSD 或 DP 向 SAS 发送授予请求。
CBSD 会发送频谱查询请求以查询可用频谱。如果 SAS 指示可用,则 CBSD 会请求 10 MHz 频道。
示例
{
"grantRequest":[
{
"cbsdId":"SAS-assigned device ID ",
"operationParam":{
"maxEirp":20,
"operationFrequencyRange":{
"lowFrequency":3550 - 3700 MHz (e.g. 3600000000),
"highFrequency":3550 - 3700 MHz
}
}
}
]
}
为所选的 10 MHz 频道设置了 lowFrequency
和 highFrequency
参数。
系统会针对设备确定为必要的通道数量请求多个授予。
结果
下表列出了测试的预期结果。
表 18. 测试用例 18
接收
发送次数
SAS
针对设备确定为必要的通道数量的有效授予请求
所有有效请求的成功授权响应
CBSD 或 DP
针对可能的请求数量的成功授予响应,基于设备位置和现有保护区域
每个 10 MHz 信道一个有效的授予请求
测试用例 19:支持非连续渠道的授权
此测试用例用于验证以下内容:
CBSD 或 DP 支持并请求为同一 CBSD 授予多个非连续 10 MHz 频道。
CBSD 或 DP 会针对已授予的已分离渠道请求和接受授权。
前提条件
请确保满足以下条件:
CBSD 或 DP 已向 SAS 注册。
CBSD 会根据 SAS 的频谱查询响应请求 SAS 可用的频谱子集。
步骤
请验证以下步骤:
设备已向 SAS 注册。
CBSD 发送频谱查询请求以查询可用频谱。
示例
{
"spectrumInquiryRequest":[
{
"cbsdId":"SAS-assigned device ID ",
"inquiredSpectrum":[
{
"lowFrequency":within 3550 - 3700 MHz range (e.g. 3550000000),
"highFrequency":within 3550 - 3700 MHz range (e.g. 3650000000)
}
]
}
]
}
CBSD 会从 SAS 接收可用频道列表。
示例
{
"spectrumInquiryResponse":[
{
"cbsdId":"SAS-assigned device ID ",
"availableChannel":[
{
"frequencyRange":{
"lowFrequency":3550 - 3700 MHz (e.g. 3600000000)
"highFrequency":3550 - 3700 MHz
},
"channelType":"GAA",
"ruleApplied":"FCC_PART_96",
"maxEirp": 37
}
],
"response":{
"responseCode":0
}
}
]
}
CBSD 向 SAS 发送授权请求。
CBSD 会针对 SAS 指示的可用频率范围发送授予请求。
如果所需带宽可用,但不在连续范围内,则 CBSD 会为每个相应信道发送多个授予请求。
重要提示 :即使带宽在连续范围(例如 3550 MHz 到 3600 MHz)内可用,CBSD 也会为每个频道发送多个授权请求。详细了解频率重用 。
结果
下表列出了测试的预期结果。
表格 19. 测试用例 19
接收
发送次数
SAS
有效的授权请求
针对 CBSD 中的所有有效授权请求的成功响应
CBSD 或 DP
所有请求的成功授权响应
有效的授权请求
测试用例 20:支持自动增加 EIRP
此测试用例用于验证以下内容:
CBSD 可确定有利于增加 EIRP 的条件。
CBSD 会收到 EIRP 增强功能可用的消息。
如需了解详情,请参阅自动提高 EIRP 。
前提条件
请确保满足以下条件:
CBSD 已在 [68, -164.5] 半径 5 公里范围内注册到 Test
SAS。Test
SAS 中会模拟保护实体,以确保第 1 天可用的 EIRP 低于设备的 eirpCapability
值 6dB 或更多。
CBSD 不在加拿大边界、联邦通信委员会外勤办公室、桌山附近,也不位于国家无线电静默区。
步骤
请验证以下步骤:
CBSD 向 Test
SAS 发送频谱查询。频谱查询响应显示一个或多个 10 MHz 信道,其 EIRP 低于设备的 eirpCapability
值 6dB 或更多。
CBSD 会根据频谱查询中显示的 EIRP(低于设备的 eirpCapability
值 6dB 或更多)在 CPAS 窗口之外请求频率授权。SAS 批准了该补助。
CBSD 开始发送心跳并接收传输授权。
CBSD 心跳会持续发送,直到发生 CPAS(如 Test
SAS 中所配置)。
发生 CPAS 后,CBSD 会收到一个 operationalParam
载荷,其中包含一个成功响应代码,表示 EIRP 高于现有授权中的 EIRP。
载荷示例
{
"heartbeatResponse": [
{
"cbsdId": "xy123uzt",
"grantId": "SAS-assigned grant ID #1",
"transmitExpireTime": "2023-08-01T17:16:51Z",
"heartbeatInterval": 60,
"operationParam": {
"maxEirp": 37,
"operationFrequencyRange": {
"lowFrequency": 3550000000,
"highFrequency": 3560000000} },
"response": {
"responseCode": 0}
}
]
}
如果 CBSD 决定使用新的 EIRP 值声明新的授权,则会发送授权放弃请求。Test
SAS 会发送响应,指示放弃成功。
(可选)CBSD 发送频谱查询以检查新的 EIRP 值。频谱查询响应中的 maxEirp
值将与上一步中针对已授予频道的心跳响应中的 maxEirp
值一致,前提是授予频道的频率是 10MHz 的倍数。例如,3550MHz 到 3560MHz。
示例响应
{
"spectrumInquiryResponse": [
{
"availableChannel": [
{
"channelType": "GAA",
"frequencyRange": {
"lowFrequency": 3550000000,
"highFrequency": 3560000000},
"maxEirp": 37,
"ruleApplied": "FCC_PART_96"
}
],
"cbsdId": "xy123uzt",
"response": {
"responseCode": 0
}
}
]
}
CBSD 发送包含来自心跳响应的 EIRP 值的授予请求。Test
SAS 批准请求并发送批准响应。
授予响应示例
{
"grantResponse": [
{
"cbsdId": "xy123uzt",
"grantId": "SAS-assigned grant ID #1",
"grantExpireTime": "2024-07-31T18:06:39Z",
"heartbeatInterval": 60,
"channelType": "GAA",
"response": {
"responseCode": 0
}
}
]
}
CBSD 会为新授予发送心跳响应,并从 Test
SAS 收到成功授予响应。
授予响应示例
{
"heartbeatResponse": [
{
"cbsdId": "xy123uzt",
"grantId": "SAS-assigned grant ID #1",
"transmitExpireTime": "2023-08-01T18:23:16Z",
"heartbeatInterval": 60,
"response": {
"responseCode": 0
}
}
]
}
测试用例 21:DPA 区域之外的心跳扩展
SAS 会根据授予的频率和 CBSD 的位置建议不同的心跳间隔和 transmitExpireTime
值。如需详细了解心跳操作,请参阅发送心跳请求以请求传输授权 。
此测试用例用于验证以下内容:
CBSD 会从心跳响应中读取心跳间隔和 transmitExpireTime
值。
CBSD 会根据 SAS 返回的心跳间隔发送心跳。
CBSD 会一直传输,直到达到 transmitExpireTime
值为止。
前提条件
若要完成此测试用例中的步骤,您必须在测试 SAS 部署中的暂停区域内外注册 CBSD。
超出暂停区域
请验证以下步骤:
在悬挂区域之外注册 CBSD。
CBSD 请求拨款。
测试 SAS 部署会发送心跳响应。例如:
载荷示例
{
"heartbeatResponse":[
{
"cbsdId":"",
"grantId":"",
"transmitExpireTime":"current time+6 hours
"heartbeatInterval": 1800,
"response":{
"responseCode":0
},
}
]
}
CBSD 会在 1800 秒后发送下一个心跳。
在暂停区域内(3550 MHz 至 3650 MHz 范围内的许可)
请验证以下步骤:
在悬架区域内注册 CBSD。
CBSD 请求在 3550 MHz 到 3650 MHz 范围内获得授权。
测试 SAS 部署会发送心跳响应。例如:
载荷示例
{
"heartbeatResponse":[
{
"cbsdId":"",
"grantId":"",
"transmitExpireTime":"current time+ 200 sec
"heartbeatInterval": 60,
"response":{
"responseCode":0
},
}
]
}
CBSD 会在 60 秒后发送下一个心跳。
除非收到包含新 transmitExpireTime
值的新心跳响应,否则 CBSD 会在 200 秒后停止传输。
在暂停区内(3650 MHz 至 3700 MHz 范围内的许可)
请验证以下步骤:
在悬架区域内注册 CBSD。
CBSD 请求在 3650 MHz 到 3700 MHz 范围内获得授权。
测试 SAS 部署会发送心跳响应。例如:
载荷示例
{
"heartbeatResponse":[
{
"cbsdId":"",
"grantId":"",
"transmitExpireTime":"current time+ 6 hours
"heartbeatInterval": 60,
"response":{
"responseCode":0
},
}
]
}
CBSD 会在 60 秒后发送下一个心跳。
除非收到包含新 transmitExpireTime
值的新心跳响应,否则 CBSD 会在 6 小时后停止传输。
后续步骤