自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 redcap preamble

redcap preamble

2023-08-23 16:27:17 328

原创 eICIC和FeICIC

在ABS子帧上可以有小区公共信号和信道的发射(如主同步信号PSS、辅同步信号SSS、物理广播信道PBCH、物理控制格式指示信道PCFICH、物 理混合自动重传请求指示信道PHICH、发送系统信息广播SIB时的物理下行控制信道PDCCH及对应的物理下行共享信道PDSCH、发送寻呼消息时的 PDCCH/PDSCH),但ABS子帧上不能发射UE专用的PDCCH(包括上行调度和下行调度分别使用的PDCCH)以及下行调度用的PDCCH所对 应的PDSCH。图中,UE2处于微站的小区边缘,宏站帮助微站来为UE2服务。

2023-06-05 17:09:50 768

转载 5G NR PMI

PMI

2022-07-31 12:21:51 3730

转载 LTE资源调度 -- 上行资源申请(1)BSR

BSR

2022-06-21 17:23:28 2033

转载 NR - k0, k1, k2

协议中的k0,k1,k2。它们的物理含义都比较简单,k0是指下行调度DCI与其调度的PDSCH之间的Slot间隔,k1指PDSCH与其HARQ-ACK反馈的Slot间隔,k2指上行调度DCI与其调度的PUSCH之间的Slot间隔。一. k0 对于SI-RNTI/RA-RNTI/TC-RNTI/P-RNTI,遵循的基本原则都是一样的,在PDSCH-ConfigCommon中的pdsch-TimeDomainAllocationList没有配置时候,使用的是38.214协议中定义的...

2021-08-06 17:04:59 4909

转载 码字 层 天线端口的概念理解

什么是码字?在UMTS系统中,我们通常理解为正交扩频码。在LTE中,一个TB经过信道编码处理后就称为一个码字。一个TB是1ms内的编码比特数,TB的大小取决于调度给用户的资源数量、调制方式、编码方式和天线映射。多个码字会对应多个HARQ进程,多个AMC过程,以及多个CQI反馈,为了节省开销,LTE系统最大支持的码字数为2,即一个TTI中,最多传输2个TB。LTE并不是完全的多码字传输系统,而是单码字,多码字并存。什么是层?LTE下行发射过程如下:由于码字数量与发送天线的数量不同,

2021-08-04 11:38:34 2410

原创 5G SA接入信令介绍

1. UE向gNodeB发送RRCSetupRequest消息(在初始的RA中,Msg3传输的是RRCSetupRequest消息),RRCSetupRequest消息携带RRC建立原因和UE标识。2. gNodeB为UE建立上下文并进行SRB1资源的准入和资源分配。而后向UE回复RRCSetup消息,消息中携带SRB1资源配置的详细信息。3. UE根据RRCSetup消息指示的SRB1资源信息,进行无线资源配置,然后发送RRCSetupComplete消息给gNodeB,消息中携带select..

2021-07-30 16:42:47 1521

转载 5G NR MCG,SCG,PCell,PSCell,SCell,sPCell 概念

在看5G NR协议或者研究5G项目时,我们经常看到MCG,SCG,PCell,PSCell,SCell和sPCell等概念。新手往往很难区分这些概念,今天来给大家梳理一下。首先澄清MCG和SCG两个概念。MCG和SCG的全称如下:MCG:Master Cell group,主小区组SCG:Secondary Cell group,辅小区组MCG和SCG是双链接(DC,Dual connectivity)下的概念,可以简单理解为UE首先发起随机接入(RACH)的Cell所在的Group就是

2021-07-17 14:38:49 4820

原创 RRC Measurement -- GAP

Measurement Gap Configuration一、测量GAP定义:测量分为同频测量(Intra-frequency measurement)和异频测量(inter-frequency measurement)。同频测量,是指UE当前所在的小区和待测量的目标小区在同一个载波频点(中心频点)上。异频测量,是指UE当前所在的小区和目标小区不在一个载波频点上。如果UE需要进行异频测量(包括异制式测量),一种简单的方式是在UE设备中安装2种射频接收机,分别测量本小区的频点和目标小区的频点,但

2021-07-09 17:17:51 6729 3

原创 让linux 服务器网卡物理口不停闪烁

ethtool -p 网卡名

2021-07-08 16:07:11 3004

原创 centos-root满了

du -h -x --max-depth=1命令一层一层查看

2021-07-06 16:23:13 567

转载 LTE随机接入过程

UE开机入网的的最后一步是随机接入,RACH随机接入的流程图如下:图1.随机接入流程图如果UE成功探测到上行资源且在UL-SCH信道上分配到这些资源。图1中的流程图可以简化为图2.的随机接入RRC信令流程:图2.随机接入RRC信令流程图下面,我们对于这个过程进行逐个讲解。PRACH前导序列: 下图描述了两个UE向ENodeB发送前导的一个过程。由于UE-A更加靠近eNodeB,因此eNodeB接收UE-A的消息时延较小。图3.UE发送的前导UE发送前导后,便开始监控.

2021-06-08 10:56:47 3382

转载 RSSI,RSRP,RSRQ and SINR

DL_62532 2020-08-26 13:51:20 1606 收藏 8分类专栏: 5G模组 文章标签: 大数据 算法 傅立叶分析 其他版权5G模组输入指令,然后会显示信号质量的信息。包括下面一些value值。AT^HCSQ?^HCSQ: "NR",55,181,20^HCSQ: "LTE",54,51,146,32对于LTE和NR主要关心的指标包括RSSI,RSRP,RSRQ和SINRLevel RSSI RSRP RSRQ SINR ...

2021-06-08 10:23:57 3347 1

转载 LTE系统内切换流程分析

LTE系统内切换流程分析大木叉叉 2018-10-14 18:19:42 9495 收藏 49分类专栏: 通信 文章标签: LTE切换信令版权UE在LTE系统内的移动性分为空闲态的移动性和激活态的移动性。空闲态UE已在网络上完成注册,一般执行两个流程:小区重选和寻呼消息监听流程。当UE处于激活态时,eNodeB会在网络控制和UE辅助下对UE执行切换。图1.移动性管理分类花开两朵,各表一枝。我们先说切换流程。当正在使用网络服务的UE从一个小区移动到另一个小区,或由于无线传输业务负荷量..

2021-06-08 09:36:12 4953

原创 sysconf()

sysconf1、前言 当前计算机都是多核的,linux2.6提供了进程绑定cpu功能,将进程指定到某个core上执行,方便管理进程。linux提供了sysconf系统调用可以获取系统的cpu个数和可用的cpu个数。2、sysconf 函数 相关宏定义的讲解红色字体部分: sysconf(_SC_PAGESIZE);此宏查看缓存内存页面的大小;打印用%ld长整型。 sysconf(_SC_PHYS_PAGES) 此宏查看内存的总页数;打印用%ld...

2021-04-02 14:44:50 748

原创 sched_setscheduler()

sched_setscheduler()函数用以修改线程的调度策略以及调度参数。一 函数原型#include <sched.h>int sched_setscheduler(pid_t pid, int policy, const struct sched_param *param);二 参数说明pid:表示要修改/设置调度参数的目标线程,如果传入的参数pid为0则目标线程是调用该函数的线程;policy: 表示目标线程的调度策略。目前linux对于sched_s...

2021-04-02 14:15:33 5356

转载 Linux进程资源限制,getrlimit()和setrlimit()

每一个进程都用一组资源限值,它们可以用来限制进程能够消耗的各种系统资源。getrlimit()和setrlimit()系统调用允许一个进程读取和修改自己的资源限制,其函数原型如下:#include <sys/resource.h> int getrlimit(int resource,struct rlimit *rlim);int setrlimit(int resource,const struct rlimit *rlim);成功返回0, 失败返回-1. 参数rlim用来

2021-03-31 22:08:01 412

转载 Linux top指令详解

查看多核CPU命令mpstat-PALL和sar-PALL说明:sar-PALL>aaa.txt重定向输出内容到文件aaa.txttop命令经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解。本文通过一个运行中的WEB服务器的top监控截图,讲述top视图中的各种数据的含义,还包括视图中各进程(任务)的字段的排序。top进...

2021-03-31 09:04:33 129

转载 傅里叶变换

傅里叶变换傅里叶分析不仅仅是一个数学工具,更是一种可以彻底颠覆一个人以前世界观的思维模式。但不幸的是,傅里叶分析的公式看起来太复杂了,所以很多大一新生上来就懵圈并从此对它深恶痛绝。老实说,这么有意思的东西居然成了大学里的杀手课程,不得不归咎于编教材的人实在是太严肃了。(您把教材写得好玩一点会死吗?会死吗?)所以我一直想写一个有意思的文章来解释傅里叶分析,有可能的话高中生都能看懂的那种。所以,不管读到这里的您从事何种工作,我保证您都能看懂,并且一定将体会到通过傅里叶分析看到世界另一个样子时的快感。至于

2021-03-18 09:02:27 517

转载 prctl()为线程指定名字

Llinu中使用prctl函数为线程指定名字一、前言有时候我们通过fork()、pthread_create()创建出来的新任务其名字和创建任务的parent是一样的,如果有需要,该如何修改这些新创建任务的名字呢?有办法,用proctl()函数来实现。这个函数可用来对任务进行控制,其具体情况如下所示:#include <sys/prctl.h>int prctl(int option, unsigned long arg2, unsigned long arg...

2021-03-02 14:47:22 1145

原创 希尔排序

void shellsort(int v[], int n){ int gap; int i, j; int temp; for (gap = n / 2; gap > 0; gap /= 2) for (i = gap; i < n; i++) for (j = i - gap; j >= 0 && v[j] > v[j + gap]; j -= gap) { ...

2021-02-28 16:12:31 52

转载 VMware虚拟机如何设置CentOS 7 磁盘扩容

步骤一:虚拟机扩展磁盘容量 1 首先,打开已经安装好的虚拟机,选择需要扩展磁盘的虚拟机,点击设备中的“硬盘”。如图: 2 接着,进入虚拟机设置界面,在界面的右侧选择“扩展”。如图: 3 接着,在弹出的扩展磁盘容量中,输入需要扩展磁盘的大小,完成后点击“确定”。如图: 4 接着,等待系统自动扩展完成,在弹出的对话框中选择“确定”,这样虚拟机的磁盘就扩展完成了。如图: 5 接着,回到虚拟机设置界面,点击下方的“确定”保存刚

2021-02-18 17:56:03 562

转载 linux中PATH变量-详细介绍

linux中PATH变量-详细介绍文章目录说明 查看、添加、修改PATH环境变量 一. 添加环境变量 二. 环境变量改名 三.环境变量删除 说明在讲环境变量之前,先介绍一下命令which,它用于查找某个命令的绝对路径,示例如下:在上面的示例中,用which查到rm命令的绝对路径为/usr/bin/rm。那么问题来了:为什么我们使用命令时,只是直接打出了命令,而没有使用这些命令的绝对路径呢?答:环境变量PATH在起作用。PATH环境变量存储的是路径,当我们在命.

2021-02-05 10:39:45 475

转载 linux中export用法

linux中export用法export PATH=$PATH:/home/zhaodw胜于修改环境变量,但只在本次登录中有效注意:(与shell变量相结合)1 =前PATH变量不加$符号2 再增加的路径用:追加功能说明:设置或显示环境变量。语  法:export [-fnp][变量名称]=[变量设置值]补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登陆操作。参  数:

2021-02-05 10:20:29 695

转载 linux环境变量设置 以及 source命令

linux环境变量设置 以及 source命令 定制环境变量  环境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell。对于Linux来说一般是bash,但也可以重新设定或切换到其它的Shell。环境变量文件:/etc/profile。 环境变量是通过Shell命令来设置的,设置好的环境变量又可以被所有当前用户所运行的程序所使用。对于bash这个Shell程序来说,可以通过变量名来访问相应的环境变量,通过export来设置环境变量。下面通过几个实例来说明。    1. 显示环境变量H

2021-02-05 10:09:43 4501

转载 Linux之whereis、which

Linux之whereis、which文章目录前言 一、whereis命令 二、which 总结一、whereis命令whereis可以帮助快速的找到某个命令的二进制文件、帮助页面、源码所在路径。命令名称:whereis 命令全称:locate the binary, source, and manual page files for a command 所在路径:/usr/bin/whereis 执行权限:所有用户 功能描述:查找某命令...

2021-02-05 09:13:55 290

转载 结构体中指针赋值问题的分析及C代码示例

结构体中指针赋值问题的分析及C代码示例问题描述某结构体的定义如下:typedef struct{ int iAge; // 年龄 char szAddr1[100]; // 地址1 char *pszAddr2; // 地址2 char **pszAddr3; // 地址3} T_PeopleInfo;请问如何对结构体中的各个成员变量(尤其是指针变量

2021-02-02 20:25:22 409

转载 三种代码中特殊的注释-TODO、FIXME、XXX详解

三种代码中特殊的注释-TODO、FIXME、XXX详解TODO: + 说明:如果代码中有该标识,说明在标识处有功能代码待编写,待实现的功能在说明中会简略说明。FIXME: + 说明:如果代码中有该标识,说明标识处代码需要修正,甚至代码是错误的,不能工作,需要修复,如何修正会在说明中简略说明。XXX: + 说明:如果代码中有该标识,说明标识处代码虽然实现了功能,但是实现的方法有待商榷,希望将来能改进,要改进的地方会在说明中简略说明。在项目发布前,检查一下task视图是一个很好的习惯.

2021-02-02 14:49:13 721

转载 mmap之内存映射文件与常规文件操作比较

阅读目录mmap基础概念 mmap内存映射原理 mmap和常规文件操作的区别 mmap优点总结 mmap相关函数 mmap使用细节回到顶部mmap基础概念mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必再调用read,write等系统调用函数。相反,内核空间

2021-01-30 17:02:22 503

转载 逻辑地址、线性地址和物理地址的关系

逻辑地址、线性地址和物理地址的关系首先不得不提的历史 许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还有用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难题出现在程序员的面前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程序分割成许多称为覆盖块(overlay)的片段。覆盖块0首先运行,结束时...

2021-01-30 00:00:13 3982

转载 c语言内存管理函数

c语言内存管理函数1.获取内存分页大小函数定义:size_t getpagesize(void) 返回一个系统分页大小的数值,单位为字节(byte)。附加说明:在 Intel x86 上其返回值应为4096bytes示例代码: #include<stdio.h> #include<unistd.h> //取得内存分页大小 int main() { printf("pagesize = %d\n",..

2021-01-29 23:07:45 354

原创 LinuxC open()函数

LinuxCopen()函数头文件#include<sys/types.h> /*提供类型pid_t,size_t的定义*/#include<sys/stat.h>#include<fcntl.h>函数原型int open(const char *path, int oflags,mode_t mode);函数说明open建立了一条到文件或设备的访问路径。open函数一般用于打开或者创建文件,在打开或创建文件时可以制定文件的属性及用..

2021-01-29 14:20:27 893

原创 Linux下的ioctl()函数

Linux下的ioctl()函数一、什么是ioctl  ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。  ioctl函数是文件结构中的一个属性分量,就是说如果你的驱动程序提供了对ioctl的支持,用户就可以在用户程序中使用ioctl函数来控制设备的I/O通道。  用户程序所作的只是通过命令码(cmd)告诉驱动程序它想做什么,至于怎么解释这些命令和怎么实现这些命令,这都是驱动程序要做的事情.

2021-01-29 11:15:56 760

原创 内存分页

CPU是通过寻址来访问内存的。32位CPU的寻址宽度是 0~0xFFFFFFFF ,计算后得到的大小是4G,也就是说可支持的物理内存最大是4G。但在实践过程中,碰到了这样的问题,程序需要使用4G内存,而可用物理内存小于4G,导致程序不得不降低内存占用。为了解决此类问题,现代CPU引入了MMU(Memory Management Unit内存管理单元)。MMU 的核心思想是利用虚拟地址替代物理地址,即CPU寻址时使用虚址,由 MMU 负责将虚址映射为物理地址。MMU的引入,解决了对物理内存的限..

2021-01-28 20:12:02 2825

原创 getpagesize()函数

getpagesize()头文件:#include <unistd.h>定义函数:size_t getpagesize(void);函数说明:返回一分页的大小,单位为字节(byte)。此为系统的分页大小,不一定会和硬件分页大小相同。返回值:内存分页大小。附加说明:在 Intel x86 上其返回值应为4096bytes。范例#include <unistd.h> main(){ printf("page size = %d\n", getpagesize(.

2021-01-28 19:41:00 1875

原创 lseek函数的用法

lseek函数的用法所有打开的文件都有一个当前文件偏移量(current file offset),以下简称为 cfo。cfo 通常是一个非负整数,用于表明文件开始处到文件当前位置的字节数。读写操作通常开始于 cfo,并且使 cfo 增大,增量为读写的字节数。文件被打开时,cfo 会被初始化为 0,除非使用了O_APPEND。 使用 lseek 函数可以改变文件的 cfo 。 #include<unistd.h> #include <s...

2021-01-28 16:34:51 1264 1

转载 shmget函数

shmgetint shmget(key_t key, size_t size, int flag);key: 标识符的规则size:共享存储段的字节数flag:读写的权限返回值:成功返回共享存储的id,失败返回-1key_t key----------------------------------------------- key标识共享内存的键值:0/IPC_PRIVATE。 当key的取值为IPC_PRIVATE,则函数shmget()将创建一块...

2021-01-28 14:29:16 2760 1

转载 ftok

ftok消息队列、信号灯、共享内存常用在Linux服务端编程的进程间通信环境中。而此三类编程函数在实际项目中都是用System V IPC函数实现的。System V IPC函数名称和说明如下表15-1所示。表15-1 System V IPC函数 消息队列 信号灯 共享内存区 头文件 <sys/msg.h> <sys/sem.h>.

2021-01-28 14:00:07 300

转载 snprintf 函数用法详解

snprintf 函数用法详解数原型为intsnprintf(char *str, size_t size, const char *format, ...)两点注意:(1) 如果格式化后的字符串长度 < size,则将此字符串全部复制到str中,并给其后添加一个字符串结束符('\0');(2) 如果格式化后的字符串长度 >= size,则只将其中的(size-1)个字符复制到str中,并给其后添加一个字符串结束符('\0'),返回值为欲写入的字符串长度。使用snprint.

2021-01-28 11:26:17 1716

原创 mmap()/munma()函数

C语言中mmap()函数的使用mmap()函数的主要用途有三个:1、将一个普通文件映射到内存中,通常在需要对文件进行频繁读写时使用,这样用内存读写取代I/O读写,以获得较高的性能;2、将特殊文件进行匿名内存映射,可以为关联进程提供共享内存空间;3、为无关联的进程提供共享内存空间,一般也是将一个普通文件映射到内存中。头文件: #include <sys/mman.h>原型:void *mmap(void *start,size_t length,int prot,i

2021-01-28 10:16:47 291

空空如也

空空如也

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

TA关注的人

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