category ue 协议_LTE附着流程详解-UECapabilityInformation

以高通QXDM

log为例解码UECapabilityInformation:

在3gpp 36.331中,有个流程是eNB查询UE能力:UECapabilityEnquiry

消息,对应逻辑信道为DL-DCCH,使用SRB1承载、RLC AM模式传输,可以查询多个RAT的能力。

UE返回UECapabilityInformation,使用SRB1承载,对应逻辑信道为UL-DCCH,返回各个RAT能力。

每个RAT能力对应了一个container,其中包含RAT的类型以及具体该RAT container的内容。

比如RAT为E-UTRA以及UE-EUTRA-capability。

其中包含的字段太多了,在331中大概占据了好几个页面。

以UE-EUTRA-capability为例,其中包含信息包括:

1)UE协议版本号,如R8;

2)UE-category,即306表格中写的,针对某个category,下行方向上指明一个TTI接收的最大bit数/最大TB

size; soft channel bit以及支持的MIMO layer;

上行方向上指明一个TTI发送的最大bit数/最大TB size 以及是否支持64QAM;

3)PDCP参数,即指明PDCP使用哪种ROHC

profile;

4)PHY层参数,指明ue-TxAntennaSelectionSupported;ue-SpecificRefSigsSupported;

5)RF参数,如支持的EUTRAN

的某个band;每个band是否支持半双工;

6)测量参数:指示interFreqBandList和interRAT-BandList中的band是否需要measurement

gap;

7)Inter-RAT参数,包括UTRAN/GERAN/CDMA2000-HRPD&1xRTT;

8)非关键扩展,用于后续版本能力扩展;

以上是R8的能力。此后的版本因为引入了新的特性,则即在此基础上逐渐扩展,以R9和R10为例(各个版本都引入了哪些基本特性见我之前的文章)。

在R9进行了一些扩展,一些关键内容:

1)Phy层参数(9d0):对于FDD/TDD是否支持enhanced dual layer(PDSCH transmission

mode 8);

2)InterRAT能力(9c0),若是否支持CS回落到CDMA2000,以及重定向到UTRAN;

3)为HomeENB增加的上报的ProximityIndication;

R10中增加了CA特性,一些参数扩展:

1)UE-category相对于R8/9扩展了UE category6/7/8;

2)RF参数扩展了supportedBandCombination-r10(CA/MIMO能力);

3)PHY层参数扩展了非连续资源分配/跨载波调度等能力指示信息;

4)测量参数扩展了指示CA bandcombination下测量是否需要gap;

5)为MDT增加了idle态测量log的上报;

CA引入的BandCombination:

在R8/9,UE仅支持单独的band能力,即指示UE所支持的band index号,如通常我们说的Band

38等。R10引入了CA特性,UE能力也随之引入了相关的bandCombination指示。

关于CA中引入的支持的BandCombination解释,其结构如下:

1)bandcombination,指明了同时支持的band,如band1和band2;

2)具体对于某个band,又有几个字段:

bandindex、该band上行参数和该band下行参数(其中指明了该band的CA带宽能力以及MIMO能力)

其中CA带宽能力(CA bandwidth

classes)规定了聚合带宽限制,见36.101中表格Table 5.6A-1:

Table 5.6A-1: CA bandwidth classes and

corresponding nominal guard bands

其中定义了A、B、C、D、E、F、I,其中:

1)A:CC数只有一个,意味着没有载波聚合(载波聚合至少是2CC);

2)B:2CC载波聚合,总PRB数不超过100;

3)C:2CC载波聚合,总PRB数大于100不超过200;

4)D:3CC载波聚合,总PRB数大于200不超过300;

5)Eÿ

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
优化代码,并提供新脚本SELECT SUM(CASE WHEN order_date BETWEEN '2022-10-31' AND '2022-11-11' AND is_new_customer = 1 THEN 1 ELSE 0 END) AS new_customer_count, SUM(CASE WHEN order_date BETWEEN '2022-10-31' AND '2022-11-11' AND is_new_customer = 0 THEN 1 ELSE 0 END) AS old_customer_count, SUM(CASE WHEN order_date BETWEEN '2022-10-31' AND '2022-11-11' AND is_new_customer = 1 THEN payment_amount ELSE 0 END) AS new_customer_payment_amount, SUM(CASE WHEN order_date BETWEEN '2022-10-31' AND '2022-11-11' AND is_new_customer = 0 THEN payment_amount ELSE 0 END) AS old_customer_payment_amount, SUM(CASE WHEN order_date BETWEEN '2022-10-31' AND '2022-11-11' THEN CASE WHEN category = 'A' THEN 1 ELSE 0 END ELSE 0 END) AS category_A_customer_count, SUM(CASE WHEN order_date BETWEEN '2022-10-31' AND '2022-11-11' THEN CASE WHEN category = 'A' THEN payment_amount ELSE 0 END ELSE 0 END) AS category_A_payment_amount, SUM(CASE WHEN order_date BETWEEN '2022-10-31' AND '2022-11-11' THEN CASE WHEN category = 'B' THEN 1 ELSE 0 END ELSE 0 END) AS category_B_customer_count, SUM(CASE WHEN order_date BETWEEN '2022-10-31' AND '2022-11-11' THEN CASE WHEN category = 'B' THEN payment_amount ELSE 0 END ELSE 0 END) AS category_B_payment_amount, SUM(CASE WHEN order_date BETWEEN '2022-10-31' AND '2022-11-11' THEN CASE WHEN product_id = 'P1' THEN 1 ELSE 0 END ELSE 0 END) AS product_P1_customer_count, SUM(CASE WHEN order_date BETWEEN '2022-10-31' AND '2022-11-11' THEN CASE WHEN product_id = 'P1' THEN payment_amount ELSE 0 END ELSE 0 END) AS product_P1_payment_amount FROM orders WHERE (order_date BETWEEN '2022-10-31' AND '2022-11-11') OR (order_date BETWEEN '2021-10-31' AND '2022-10-30' AND order_date NOT IN (SELECT order_date FROM orders WHERE order_date BETWEEN '2022-10-31' AND '2022-11-11')) OR (order_date BETWEEN '2021-11-12' AND '2022-10-30' AND order_date IN (SELECT order_date FROM orders WHERE order_date BETWEEN '2022-10-31' AND '2022-11-11'))
05-25
可以将重复的子查询合并,并使用JOIN操作,同时使用IF语句替代CASE语句,可以简化代码并提高效率。下面是优化后的脚本: SELECT SUM(IF(order_date BETWEEN '2022-10-31' AND '2022-11-11' AND is_new_customer = 1, 1, 0)) AS new_customer_count, SUM(IF(order_date BETWEEN '2022-10-31' AND '2022-11-11' AND is_new_customer = 0, 1, 0)) AS old_customer_count, SUM(IF(order_date BETWEEN '2022-10-31' AND '2022-11-11' AND is_new_customer = 1, payment_amount, 0)) AS new_customer_payment_amount, SUM(IF(order_date BETWEEN '2022-10-31' AND '2022-11-11' AND is_new_customer = 0, payment_amount, 0)) AS old_customer_payment_amount, SUM(IF(order_date BETWEEN '2022-10-31' AND '2022-11-11' AND category = 'A', 1, 0)) AS category_A_customer_count, SUM(IF(order_date BETWEEN '2022-10-31' AND '2022-11-11' AND category = 'A', payment_amount, 0)) AS category_A_payment_amount, SUM(IF(order_date BETWEEN '2022-10-31' AND '2022-11-11' AND category = 'B', 1, 0)) AS category_B_customer_count, SUM(IF(order_date BETWEEN '2022-10-31' AND '2022-11-11' AND category = 'B', payment_amount, 0)) AS category_B_payment_amount, SUM(IF(order_date BETWEEN '2022-10-31' AND '2022-11-11' AND product_id = 'P1', 1, 0)) AS product_P1_customer_count, SUM(IF(order_date BETWEEN '2022-10-31' AND '2022-11-11' AND product_id = 'P1', payment_amount, 0)) AS product_P1_payment_amount FROM orders o LEFT JOIN (SELECT DISTINCT order_date FROM orders WHERE order_date BETWEEN '2022-10-31' AND '2022-11-11') d1 ON o.order_date = d1.order_date LEFT JOIN (SELECT DISTINCT order_date FROM orders WHERE order_date BETWEEN '2021-10-31' AND '2022-10-30' AND order_date NOT IN (SELECT order_date FROM orders WHERE order_date BETWEEN '2022-10-31' AND '2022-11-11')) d2 ON o.order_date = d2.order_date LEFT JOIN (SELECT DISTINCT order_date FROM orders WHERE order_date BETWEEN '2021-11-12' AND '2022-10-30' AND order_date IN (SELECT order_date FROM orders WHERE order_date BETWEEN '2022-10-31' AND '2022-11-11')) d3 ON o.order_date = d3.order_date WHERE d1.order_date IS NOT NULL OR d2.order_date IS NOT NULL OR d3.order_date IS NOT NULL;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值