杂
5G的帧结构灵活时隙不同于死板的4G,5G采用了更加灵活的帧结构,叫作灵活时隙 (Dynamic),即在一个时隙内的符号定义可以随时改变,改变后由基站通过DCI广播给UE。这种做法可以根据车流量实时调整上行和下行的符号占比。 自包含帧在 4G 或普通的 5G 帧里,下行发数据和上行回反馈(ACK/NACK)通常是跨时隙的。比如:基站现在发个包裹,手机得等到好几个时隙之后才能告诉基站“我收到了”。自包含的意思是:在同一个时隙(Slot)内,既传数据,又回反馈。 它把一个时隙分成了三段:下行数据 + 保护间隔(GP)+ 上行反馈。 好处: 极大地缩短了等待时间。这对于 5G 标...
随机接入
随机接入RA,Random Access,是指手机在成功读取SIB1后,即成功小区搜索后进行的过程。它的目的是手机请求“入伙”、实现上行同步、申请资源,建立RRC连接。 随机接入分为两种:基于竞争的和基于非竞争的。 基于竞争:RRC未连接没有RRC连接,UE只能通过SIB1广播的RACH配置选择前导码。可能失败。对于这个SIB1广播的RACH格式(随机接入信道RA Chanel,前面加个P就是物理随机接入信道): (1)格式0:总长度是1ms,CP、随机接入前导、保护时间的长度分别是0.103ms、0.8ms、0.097ms,子载波间隔△ f R A △f^{RA}△f RA=...
7.18
2025 7 18 巨大延时 问题在昨天晚上进行舵机云台描边的实验时,发现串口接收总是有问题,和视觉的通信经常出现bug,但是偶尔又可以正常运行,非常奇怪。起初以为是发送太快导致接收丢包,于是把空闲中断换掉了(空闲中断的入口检测函数实在MainLoop内的)。现在看来,是因为MainLoop内的延迟巨大导致的。经过测试,这种延时主要是由于OLED带来的。(因为C8T6的驱动无延时,在H7的高主频下用不了,所以人为的给I2C添加了延时)。但是可能是由于延时太大了,导致在函数内使用很多OLED时,延时会大幅的升高。因此空闲中断几乎无法进入。 还有一个非常奇怪的问题。就是在我现在如此高延迟下,...
5G关键技术
1. 核心解析:为什么选 NFV? NFV (Network Functions Virtualization): 它的核心思想是“去专用硬件化”。 传统做法: 以前的核心网网元(如 4G 的 MME、S-GW)都是跑在厂家专门定制的“黑盒子”硬件上的,又贵又不灵活。 5G 做法(NFV): 使用通用的 x86 架构服务器(就像普通的电脑服务器),通过虚拟化技术(如虚拟机或容器)在上面运行软件。 这样运营商只需要买通用的服务器,剩下的功能全部由软件定义。 2. 知识延伸:5G 四大关键“神技”除了 NFV,大唐杯最常考的另外三个 5G 关键技术分别是: SDN (Softwar...
单位
1. 5G 资源换算全景图我们从最微观的单位往宏观走: 级别 单位名称 (缩写) 换算关系 核心考点 Level 1 RE (Resource Element) 最小单位 (1个子载波 $\times$ 1个符号) 物理信道的载体(如 DMRS、SSB) Level 2 REG (Resource Element Group) 1 REG = 12 个 RE 等同于 1 个符号上的 1 个 RB Level 3 CCE (Control Channel Element) 1 CCE = 6 个 REG PDCCH(控制信道)分配的最小单位 L...
关于FreeRTOS下的初始化
在移植LVGL时一直遇到HardFault问题,无论把内存改到多大仍然没有用。。。结果是初始化工程的问题。 我靠,我好像找到解决办法了,但是我仍然不是很知道这是什么原因,但是直觉告诉我就是这个问题。我的这个.c任务文件是:#include “app_resources.h”//#include “main.h”//#include “MingLog.h”//#include “lvgl.h” /定义 LV_LVGL_H_INCLUDE_SIMPLE 可直接使用 “lvgl.h”/#include “ST773...
STLink权限问题
即试图使用OpenOCD连接STLink时出现报错:Error: libusb_open() failed with LIBUSB_ERROR_ACCESS 解决:目录/etc/udev/rules.d/下应该有一个 60-openocd.rules文件。如果没有,从openocd的地址找到这个文件来复制到此目录:首先找到openocd的这个文件:❯ pacman -Ql openocd | grep rulesopenocd /usr/lib/udev/rules.d/openocd /...
姿态解算
一阶龙格-库塔法(First-order Runge-Kutta)公式: 新的 $q_0$ = 旧的 $q_0$ + $\frac{1}{2} \times (-q_1 \Delta\theta_x - q_2 \Delta\theta_y - q_3 \Delta\theta_z)$新的 $q_1$ = 旧的 $q_1$ + $\frac{1}{2} \times (q_0 \Delta\theta_x + q_2 \Delta\theta_z - q_3 \Delta\theta_y)$新的 $q_2$ = 旧的 $q_2$ + $\frac{1}{2}...
四轴无人机:标准的内外环PID
1. 外环(角度环)不需要 $D$ 和 $I$在串级 PID 架构中,外环(角度环)通常只使用 P 控制。 为什么不需要 $D$? 外环的输出是“期望角速度”。角度的微分就是角速度,而你的内环(角速度环)本身就在控制角速度。如果在两层环路都加 $D$,会产生严重的相位叠加干扰,导致系统极度不稳定。 为什么不需要 $I$? 外环的任务是把“角度误差”转换成“角速度指令”。静态误差通常是由内环去消除的。绝大多数主流飞控(Betaflight, PX4)的角度环都只有一个 $Kp$。 推论:外环公式通常简化为:Target_Gyro = (Target_Angle - Curre...
FreeRTOS命名规则
FreeRTOS 的开发者为了让代码在不同平台(如 STM32、Linux、Windows)上都能一眼看出变量的类型,采用了一套非常严谨的命名规范。这种规范主要基于 匈牙利命名法。 1. 变量名的小写前缀变量名开头的字母代表了它的数据类型: 前缀 代表含义 英文原意 示例 c 8 位整型 / 字符型 char cVariable s 16 位短整型 short sVariable l 32 位长整型 long lVariable x BaseType_t / 结构体 x xTaskHandle, xQueue u 无符号型 unsigne...
