自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 收藏
  • 关注

原创 进程间通信

综述式的讲解了8中主流进程间通信的原理、优缺点以及适用场景。

2025-11-26 11:55:22 201

原创 TCP/UDP详解

计算机网络:这是一份非常全面&详细的TCP/IP协议学习指南

2025-10-27 21:24:31 111

原创 RLC-AM详解

要理解 E1、E2、E3、NACK_SN、SOstart/SOend、NACK range 的逻辑,需结合3GPP RLC 协议(以 TS 38.322 为例,5G NR RLC 层标准) 中 “NACK 报告” 的核心设计目标 ——精准反馈 “哪些 SDU 的哪些字节丢失”,避免冗余反馈,提升空口效率。

2025-09-16 10:17:28 784

原创 GTPU涉及NR RAN 容器

必选 + 可选” 分层:必选字段(PDU Type、Retx Flag、NR-U SN)确保基础关联和控制;可选字段(丢弃相关)根据实际需求动态出现,减少冗余开销;对齐要求:末尾填充字段确保符合 GTP-U 扩展头的 “4 字节对齐” 规则,避免后续解析错位;CU-DU 协作:所有字段围绕 “CU 控制 DU 的下行数据处理” 设计(重传区分、丢弃控制、状态报告触发),是 F1-U 接口 “控制面与用户面复用” 的关键载体。

2025-09-15 11:18:19 848

原创 TCP/IP函数——sendmsg

sendmsg() 是 POSIX 标准中一个高级套接字发送函数,属于系统调用(由操作系统内核实现),定义在 <sys/socket.h> 头文件中。它的核心特点是支持复杂消息结构,不仅能发送常规数据,还能附加控制信息(如辅助数据、IP 选项等),适用于 TCP、UDP 等多种协议,功能比 send()/sendto() 更灵活。

2025-09-05 20:31:54 770 1

原创 CSI-RS详解

具体就是几个CSIRS的图样配置。

2025-09-02 15:18:35 261

原创 PRACH物理层详解

PRACH的时域资源主要由参数“prach-ConfigurationIndex”决定。FR1 TDDFR2 TDD以2.6GHz/TDD的NR系统为例,使用prach-ConfigurationIndex参数就去查FR1 TDD的表(38211 6.3.3.2-3)preamble的formatSFN(nSFN mod x = y,这个公式其实暗含了PRACH的配置周期,周期为x)SubFrame1个subframe里面有多少个PRACH slot。

2025-09-01 15:10:11 1130

原创 NR --PO计算

下面看下具体的例子 以下参数都在SIB1 中,SCS =30khzpaging 对应CORESET 0 searchspace 1CORESET0 频域48个RB,时域占用一个符号searchspace 1对应的是每个时隙的第一个符号。N是halfT =64radio frameNs=1S=4 (ssb-PositionsInBurst 111100000)即4个连续的PDCCH monitoring Occasion 组成一个PO。首先确定SFN。

2025-08-26 16:53:54 1114

原创 计算机网络编程-Socket通信以及实战

【代码】计算机网络编程-Socket通信以及实战。

2025-07-28 20:50:52 2736

原创 深度学习--卷积神经网络

卷积神经网络

2025-07-24 21:41:43 371

原创 进程间通信——POSIX 和 System V适用场景

POSIX 和 System V 是 Unix 系统中两套经典的进程间通信(IPC)标准,它们各自定义了共享内存、消息队列、信号量等机制,适用场景的差异主要源于接口设计、可移植性、资源管理方式等特性。以下从核心特性出发,分析两者的典型使用场景。

2025-07-23 21:28:53 388

原创 进程间通信之-----零拷贝

注意: 零拷贝的申请内存,如果之前已经使用,必须要手动释放,代码示例有讲解。

2025-07-23 21:22:39 531

原创 多线程--sem_wait(&sem)特殊用法

若主线程需要等待子线程完成某些初始化操作后再继续执行,可在 main 中调用 sem_wait 阻塞等待,子线程初始化完成后调用 sem_post 唤醒主线程。若主线程负责创建多个子线程,并通过信号量限制同时运行的子线程数量,sem_wait 可放在主线程的创建循环中。

2025-07-17 18:35:39 261

原创 Low PHY和HighPHY 详解

在无线通信系统(如 4G LTE、5G NR)中,物理层(PHY)的核心任务是实现 “数字信息” 与 “无线信号” 的相互转换,并通过无线信道可靠传输。其整体处理流程分为下行(基站→终端) 和上行(终端→基站) 两个方向,两者流程对称但具体操作略有差异。

2025-07-16 20:30:23 972

原创 基站前传卡 加速卡 EU

基站加速卡:聚焦 “数据处理”,通过硬件加速提升基站信号处理、协议栈运行效率,支撑 5G 高带宽、低时延、多用户并发需求。前传卡:聚焦 “数据传输”,通过接口适配、带宽保障和链路可靠性设计,确保 DU 与 AAU 之间的高速、稳定通信,是基站 “处理单元” 与 “射频单元” 的关键连接桥梁。

2025-07-16 20:21:29 1034

原创 gerrit设置教程

scp -p -P 29418 姓名全拼@172.19.64.22:hooks/commit-msg ${gitdir}/hooks/打开cmd或者git bash,输入:ssh-keygen,连续回车。请按照提示利用命令进行来配置自己当前的git用户名、邮箱,用户名和邮箱,用户名和邮箱需要和前面步骤中保持一致。git clone “ssh://姓名全拼@172.19.64.22:29418/6G_UE”

2025-07-15 18:30:28 606

原创 C语言返回局部变量问题

要是返回局部变量的地址(也就是指针),就会有风险。因为局部变量在函数结束后就会被销毁,此时指针所指向的内存区域就变得无效了。当返回的是局部变量的值(像int、float、struct等类型)时,实际上返回的是该变量的副本,不会有问题。通过malloc分配的内存,必须由调用者负责释放,否则会造成内存泄漏。静态局部变量的生命周期和程序是一样的,即便函数执行结束,它依然存在。局部数组也是局部变量,函数结束后其内存会被回收。

2025-06-17 11:47:36 399

原创 通信自组网

http://www.mem.gov.cn/gk/zfxxgkpt/fdzdgknr/202408/W020240805624410019323.pdf

2025-06-04 08:30:55 407

原创 C++虚函数和纯虚函数

总结:纯虚函数之所以不能实例化,是因为它没有具体的实现,使得包含它的类成为抽象类。而抽象类的虚函数表不完整,缺少纯虚函数的地址,所以编译器会禁止其实例化,以此保证类型系统的安全性。在 C++ 里,纯虚函数是在基类中声明但没有具体实现的虚函数,其声明结尾用= 0表示。对于包含虚函数的类,编译器会为其创建虚函数表,这个表中存储着类成员函数的地址。// 这是一个纯虚函数。纯虚函数在虚函数表中对应的是一个未定义的条目,或者说是一个占位符。派生类必须实现基类中的所有纯虚函数,才能成为具体类,进而被实例化。

2025-06-04 08:30:22 375

原创 C++虚函数和纯虚函数

总结:纯虚函数之所以不能实例化,是因为它没有具体的实现,使得包含它的类成为抽象类。而抽象类的虚函数表不完整,缺少纯虚函数的地址,所以编译器会禁止其实例化,以此保证类型系统的安全性。在 C++ 里,纯虚函数是在基类中声明但没有具体实现的虚函数,其声明结尾用= 0表示。对于包含虚函数的类,编译器会为其创建虚函数表,这个表中存储着类成员函数的地址。// 这是一个纯虚函数。纯虚函数在虚函数表中对应的是一个未定义的条目,或者说是一个占位符。派生类必须实现基类中的所有纯虚函数,才能成为具体类,进而被实例化。

2025-06-04 08:29:46 258

原创 C++虚函数和纯虚函数

总结:纯虚函数之所以不能实例化,是因为它没有具体的实现,使得包含它的类成为抽象类。而抽象类的虚函数表不完整,缺少纯虚函数的地址,所以编译器会禁止其实例化,以此保证类型系统的安全性。在 C++ 里,纯虚函数是在基类中声明但没有具体实现的虚函数,其声明结尾用= 0表示。对于包含虚函数的类,编译器会为其创建虚函数表,这个表中存储着类成员函数的地址。// 这是一个纯虚函数。纯虚函数在虚函数表中对应的是一个未定义的条目,或者说是一个占位符。派生类必须实现基类中的所有纯虚函数,才能成为具体类,进而被实例化。

2025-05-26 22:07:29 430

原创 C++ ——new和malloc的区别(详细)

面试八股文。

2025-05-26 22:04:56 423

原创 C++11——智能指针

今天面试问到了这个。

2025-05-26 22:03:04 281

原创 C++内存模型

c++对象内存模型【内存布局】

2025-05-24 17:21:26 606

原创 设计模式1 ——单例模式

在 C++ 里,单例模式是一种常用的设计模式,其目的是保证一个类仅存在一个实例,并且为该实例提供一个全局访问点。

2025-05-21 20:25:08 644

原创 算法C++最大公约数

【代码】算法C++最大公约数。

2025-05-21 20:09:48 297

原创 调度算法——RR /PF和EPF算法

用户优先级调度算法。

2025-05-15 11:39:55 363

原创 C++性能优化之访存优化(未完)

软件是使用预取指令或者内置函数,内置函数就是编译器自带的函数,_builtin_prefetch(void * addr, rw, locality);第一个采纳数是内存指针数据,第二个是读写,第三个预取数据的时间局部性,0-3,越大代表时间局部性越强。数据预取是一种提前为处理器准备数据机制,主要有硬件预取和软件预取。硬件是根据程序运行状态预测,硬件机制。

2025-05-14 11:18:45 328

原创 20250415学习

虚继承时构造函数的执行顺序与普通继承时不同:在最终派生类的构造函数调用列表中,不管各个构造函数出现的顺序如何,编译器总是先调用虚基类的构造函数,再按照出现的顺序调用其他的构造函数;C++ 代码中的大部分内容都是放在内存中的,例如定义的变量、创建的对象、字符串常量、函数形参、函数体本身、new或malloc()分配的内存等,这些内容都可以用&来获取地址,进而用指针指向它们。还有一些平时不太留意的临时数据,例如表达式的结果、函数的返回值等,它们可能会放在内存中,也可能会放在寄存器中。构造函数不能是虚函数。

2025-05-07 20:28:17 374

原创 C++ TCP、IP协议

TCP/IP HTTP

2025-05-03 22:22:52 135

原创 物理层—信道编码

NR物理层流程总结——PDSCH

2025-04-02 23:10:09 143

原创 C++多线程的性能优化

现代多核处理器环境下,线程池技术是提高程序并发性能的重要手段。本文解析一个采用工作窃取(Work Stealing)算法的高效线程池实现,通过详细代码分析和性能测试展示其优势。

2025-04-01 22:57:32 780

原创 C++ 之 nullptr 访问成员函数

nullptr访问成员函数

2025-03-31 12:33:20 127

原创 协议学习——1 NCDSSB

上次面试NCDssb, 今天特意学习下,除了物理层的定义,其实再很多物理层的书上都有,主要是讲下RRC曾怎么玩的。配置在专用BWP上配置,切实BWP的专用部分。

2025-03-26 11:33:20 336

原创 linux——计算机内存详解通俗理解

把如下几篇文章看完就知道。

2025-03-16 22:47:57 301

原创 数据结构与算法——数据结构4

使用线性表存储数据的方式可以这样理解,即“把所有数据用一根线儿串起来,再存储到物理空间中”。程序员没有稳定一说,目前学习数据结构,其实不难,最近在学习,系统性的总结下,便于后续复习和使用。二叉树的先序 中序 后序 以及基于广度的层次遍历。主要了解图的基本概念,深度优点搜索和广度优先搜索就行。还要知道链表反转,知道迭代法和递归法就可以【】这里没有基于数组的是,只用掌握一种就行了。在这些基础结构上知道栈和队列的实现。同时还要知道顺序表和链表的优缺点。对于树主要是掌握树的基本概念。知道霍夫曼树基本结构。

2025-03-14 18:13:29 317

原创 数据结构与算法——算法3 面试常用排序算法

然后了解快排 和堆排序的方法。首先了解排序算法性能和优缺点。

2025-03-14 16:45:57 318

原创 数据结构与算法——算法2 判断两个单链表是否相交及找到第一个交点

因为我们知道,若两个链表相交,则从第一个相交节点开始,后面的节点都相交。从头开始遍历第一个链表,遍历第一个链表的每个节点时,同时从头到尾遍历第二个链表,看是否有相同的节点,第一次找到相同的节点即第一个交点。因为两个链表中有一个共同节点,则这个节点里的指针域指向的下一个节点地址一样,所以下一个节点也会相交,依次类推。若两链表相交,则循环出栈,直到遇到两个出栈的节点不相同,则这个节点的后一个节点就是第一个相交的节点。如果两个单链表有共同的节点,那么从第一个共同节点开始,后面的节点都会重叠,直到链表结束。

2025-03-13 22:03:30 299

原创 数据结构与算法——算法1 单链表反转

3) 再退一层,此时 new_head 仍指向节点 4,而 head 退出一层后,指向的是节点 2。4)再退一层,此时 new_head 仍指向节点 4,而 head 退出一层后,指向的是节点 1。整个操作过程如图。2) 在此基础上,开始执行 17、18 行代码,整个操作过程如图 9 所示,最后将 new_head 的指向继续作为函数的返回值,传给上一层的 new_head。因此,当递归首次退出一层时,new_head 指向的是节点 4 ,而 head 由于退出一层,指向的是节点 3,如下图。

2025-03-13 21:52:08 261

原创 C++编译问题——1模板函数的实现必须在头文件中

模板函数的实现必须在头文件中,因为编译器在实例化模板时需要看到完整的实现。所以,你可以直接把 insert 函数的实现放在头文件里。假设你有一个头文件 SeqList.h 和一个源文件 SeqList.cpp。今天编译数据结构时,遇见一个编译错误。

2025-03-13 19:08:13 417

NR接入过程中RRC信令详解

NR接入过程中RRC信令详解

2024-11-06

NR接入过程中的信令详解

NR接入过程中的信令详解

2024-11-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除