自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(216)
  • 资源 (2)
  • 收藏
  • 关注

原创 5G相比LTE 大的差异

CRS小区参考信号。CRS是LTE系统设计的基础,CRS与PSS/SSS/PBCH一起,无论系统负载状态如何,都保持一直发送。CRS时频资源位置可以参考:https://blog.csdn.net/wowricky/article/details/79184120, CRS 存在于整个带宽,开销巨大.4 port 时CRS开销为14.28%。LTE 小区最大20M 带宽,而5G 带宽要大得...

2019-10-27 19:20:19 6160 1

原创 LTE: MIB和SIB,小区选择和重选规则

LTE 中MIB/SIB内容可以参考:https://blog.csdn.net/wowricky/article/details/51348613MIB/SIB的详细内容参考下面两张图MIB,SIB1,SIB2可以关注下小区选择的参数,用特殊颜色表示SIB2 - SIB7可以着重关注下小区选择和同频/异频/异系统测量的参数,用特殊颜色加以区分强调。...

2019-10-13 18:09:14 2987 3

原创 LTE随机接入过程

随机接入的基本流程Msg3和Msg4只有基于竞争的随机接入才存在,之所以叫Msg3/Msg4是因为不同的随机接入情况,Msg3/Msg4的消息不相同(本文稍后介绍)。下图中的参数<ra-ResponseWindowSize>和<mac-ContentionResolutionTimer>来自SIB2中的rach-ConfigCommon参数。基于竞争的和非竞争的2种随机接入...

2018-03-02 12:00:57 13941 1

原创 REG理解与PCFICH/PHICH/PDCCH的资源映射

1. REG简介REG (Resource Element Group) 位于下行子帧的控制区域内,是下行控制信令进行物理资源分配的基本单位. REG上所有的RE在时域上位于同一symbol,且在同一PRB 内。 一个REG包含RE的数量与CRS的位置有关,CRS所占的RE不用能用传输控制信令,CRS的数量和位置与Antenna port有关,可以参考:LTE CRS 时频资源 . 一个R...

2018-02-04 18:12:49 8556

原创 vim+xxd 编辑16进制

xxd vim 16进制

2024-04-18 18:07:25 91

原创 WSL时间不同步的解决方法

确保你的 Windows 操作系统上的系统时间是正确的。在任务栏中右键点击时间,选择 "调整日期/时间",然后确保你的时区和时间是正确的。这将把 WSL 版本设置为 2,它支持 Windows 主机上的自动时间同步功能。可以在 Windows 上启用 WSL 自动同步时间的功能。为你正在使用的发行版的名称,例如 "Ubuntu-20.04"。有时候,时钟设置可能会导致问题。在 WSL 中,你可以通过编辑。这会启用 WSL 自动同步时间的功能。保存并关闭文件,然后重启 WSL。

2023-12-28 10:30:21 1237

原创 docker:保存容器为镜像文件

root@localhost:/var/lib/docker# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES81baec32cad4 fbubuntu:20.04 "/bin/bash" 4 days ago Up 46 hours root_fbubuntu_lsdk210

2023-12-27 17:59:44 685

原创 c语言link

a.o 依赖于libmm.a, 也就是说a.o 调用了libmm.a中的函数,今天在编码时,发现用第2种方式,链接时会报错,提示符号A没有定义, 但是符号 A 确定在libmmm.a中有定义。尝试第1种方式,编译成功。中找不到的符号的情况下,再链接。当链接时存在依赖关系时,将。中的符号时,已经知道去。

2023-12-22 21:02:38 139

原创 分布式编译distcc

工程代码编译速度太慢,决定采用分布式编译来提高编译速度.distcc ,请参考。

2023-12-20 16:20:19 622

原创 Linux 用户管理相关命令

修改protocol组id为1000001。把socadmin加入user组。

2023-11-22 09:37:44 89

原创 linux下,thread的call stack参考

当一个process接受到SIGINT信号时,怎么打印这个process下所有thread的call stack

2022-09-22 16:23:18 394 2

原创 valgrind-callgrind分析程序性能

valgrind callgrind

2022-08-27 10:00:01 340

转载 list_for_each_safe

list_for_each_safeBidirect-list list_for_each_safe().https://biscuitos.github.io/blog/LIST_list_for_each_safe/

2022-02-22 09:59:32 1332

转载 linux kernel list_head

链表 list_head

2021-12-20 11:35:39 299

原创 ELF Analysis

#include <stdio.h> #include <stdlib.h>int g_uninit; // .bssint g_init = 0x12; // .datastatic int g_sta_var = 0x34; // .dataconst int c = 0x34; // .rodatachar *s = "zeku"; /* s: .data ".

2021-08-02 16:00:58 184

原创 怎么编写段错误(Segmentation fault)的程序

On Unix-like operating systems, a process that accesses invalid memory receives the SIGSEGV signal. On Microsoft Windows, a process that accesses invalid memory receives the STATUS_ACCESS_VIOLATION exception.1.访问0地址#include <stdio.h>int mai.

2021-07-31 09:47:26 487

原创 C运算符优先级笔记

1.指针数组int *p[5];[] 大于 *2. 强制类型() 与 成员选择(./->)#include <stdlib.h>typedef struct{ int data; int time;} data_t;int main(){ data_t *p = (data_t *)malloc(sizeof(data_t)); int t = (data_t *)p->time; /*focus: -> ...

2021-07-27 12:09:23 601

原创 C 变量的作用域

下面的程序输出什么?思考一下#include <stdio.h> // Driver Codeint main(){ { int x = 10, y = 20; { // The outer block contains // declaration of x and // y, so following statement // is valid

2021-07-21 18:06:02 172

原创 堆分析:heap profiler tool: massif

How to use:1. valgrind --tool=massif progprog运行完后,输出:massif.out.<pid>//<pid>:process ID2. ms_print massif.out.12345Ms_print将生成显示(prog)程序执行期间内存消耗的图表,详细说明有关方案中各点的负责分配地点的信息,包括峰值点内存分配。...

2021-07-15 17:47:18 461

原创 C面向对象之透明指针的运用

不透明指针(opaque pointer)可以用来在C中实现封装。什么是不透明指针(opaque pointer)从字面意思来看,“不透明”意味着看不到内部,因此“不透明指针”即看不到内部定义的指针。这样说有些抽象,我们来看个例子:#include <stdio.h>typedef void *opque_data;typedef struct AAA *opque_stru;int main(){ opque_data data = 0; opque_s

2021-07-12 09:41:15 572

原创 malloc(0)-malloc 0 字节

C17中有如下描述:7.22.3 Memory management functions1 The order and contiguity of storage allocated by successive calls to the aligned_alloc, calloc,malloc, and realloc functions is unspecified. The pointer returned if the allocation succeeds issuitably align

2021-07-08 14:44:09 451

原创 memset初始化内存

在suse 9,运行man memset 查看memset的解释如下:“NAME memset - fill memory with a constant byteSYNOPSIS #include void *memset(void *s, int c, size_t n);DESCRIPTION The

2021-07-08 14:08:59 393

原创 二维指针操作链表

二维指针操作链表#include <stdio.h>#include <stdlib.h>typedef struct Node { struct Node *next; int data;} node;void initList(node **head, unsigned int size){ node **cur = head; for (int i=0; i<size; i++) { *cur = (node *)malloc(sizeo

2021-06-27 17:34:16 428

原创 连续地址数据(数组或者malloc的内存)作为函数参数

If you want to pass a single-dimension array as an argument in a function, you would have to declare a formal parameter in one of following three ways and all three declaration methods produce similar results because each tells the compiler that an integer

2021-06-27 17:33:06 356

原创 双重指针作为函数参数的妙用

指针加加#include <stdio.h>#include <stdlib.h>#include <string.h>void setDataCond(int *p, unsigned int condi){ if (condi % 2) { *p = condi * 10; p++; }}void setDataCond_1(int **pp, unsigned int condi){ if (condi % 2) { *

2021-06-27 11:40:54 1780

原创 gprof 性能优化工具

gprof用于分析函数调用耗时,可用之抓出最耗时的函数,以便优化程序。gcc链接时也一定要加-pg参数,以使程序运行结束后生成gmon.out文件,供gprof分析。gprof默认不支持多线程程序,默认不支持共享库程序。gcc -pg 编译程序 运行程序,程序退出时生成 gmon.out gprof ./prog gmon.out -b 查看输出要想产生gmon.out文件,必须在编译和链接时,都加上-pg -g选项。...

2021-05-25 11:23:48 646

转载 perf + 火焰图分析程序性能

From:https://www.cnblogs.com/happyliu/p/6142929.html1、perf命令简要介绍性能调优时,我们通常需要分析查找到程序百分比高的热点代码片段,这便需要使用 perf record 记录单个函数级别的统计信息,并使用 perf report 来显示统计结果;perf recordperf report举例:sudo perf record -e cpu-clock -g -p 2548-g 选项是告诉perf record额外记录函.

2021-05-25 11:16:47 725

原创 gdb高级调试技巧

1. 反向调试gdb支持程序反向执行。record让程序开始记录反向调试所必要的信息rn :reverse nextrc: reverse continue ,Continue program being debugged but runit in reverserecord stop:停止记录

2021-04-30 10:56:09 1389

原创 malloc为什么会报错:memory corruption

最近遇到一个问题,很有意思,在此记录下,以备后续参考。程序运行异常,报错:malloc: memory corruption.用gdb调试程序,bt如下,程序在申请344 bytes内存时失败。疑问:344bytes内存并不大,为何会失败呢?进一步,打开AddressSanitizer,重选编译并运行程序,AddressSanitizer报错如下,报错内容分3部分贴出如下(信息安全,隐藏掉部分堆栈信息):1.重点:红色字体:heap-buffer-overflow on a...

2021-04-18 11:47:00 6324

原创 gcc 编译选项

下载gcc文档,第三章有详细的build options的介绍。最近我用到2个关键的option来定位问题,简单介绍一下:1. -E:只是进行预编译,不会编译和link。用于检查宏在代码中的展开是否符合预期;2.--verbose:开启verbose mode,用于输出编译整个过程中的详细信息,可帮助查看build的详细信息。...

2021-04-18 10:00:00 358

原创 Git 简介1-常用术语

常用术语1. originorigin是对项目最初克隆(clone)的远程仓库的缩写。更准确地说,origin 是用来代替原始(original)远程仓库的URL, 从而使在git 命令中使用原始仓库更加容易。2. mastermaster 是分支的命名约定。从远程服务器克隆后,生成的本地存储库只有一个本地分支:即所谓的“主”分支。这意味着“master”可以被视为本地存储库的“默认”分支.3. HEAD在使用Git时,一次只能check out出一个分支, 这个checko

2020-12-06 10:17:15 365

原创 GDB调试技巧

1. GDB 调试程序1.Run a program without any argument. gdb program2. Run a program with arguments gdb --args program arg1 arg2 ... argN or gdb program (gdb) r arg1 arg2 ... argN3. start with both an executable program and a c...

2020-11-20 15:28:23 1084

原创 LTE PUCCH F2 TX/RX汇总

TX端的公式如下:1.编码、加扰、调制的过程暂不介绍,主要介绍下上图中乘以r_uv的过程,公式如下:: 是调制后的复数,n=0,1...9下面介绍, 参考36.211-5.5.1中r_u,v的定义: F2中=0, 所以上式简化为:右边有2部分组成:和1.:变化在于F2的,参考36.211 - 5.4.2 ,,假设:...

2020-05-05 22:08:22 982

翻译 MMSE(Minimum Mean Square Error)

MMSE是一种最小化接收数据的MSE(均方误差)的模型。关于这句话,你的脑海里就会出现很多问题:什么是均方误差?“最小化MSE”的物理意义是什么?让我们从一个我们现在非常熟悉的信道模型开始.MMSE作为一种均衡器,是一种后处理算法,它帮助我们找出接收到的数据与原始数据(传输数据)尽可能接近的数据。简而言之,在MMSE中最重要的步骤是在下面的例子中找到一个矩阵G。如果我们假设没有...

2020-04-21 22:20:04 11043 7

原创 物理层UL基本流程

物理层发端的基本流程如下,在36.211/36.212(NR:38.211/38.212)中有详细的描述,现在归纳如下。下面列出的每个步骤对于某些信道可能会增加其它步骤,也可能有些步骤不需要。CRC 相关信道编码(channel coding)LTE:NR:加扰-Scrambling加扰过程是data bit 和 对应序列(Gold Sequence)的异或操作。X...

2020-02-24 21:36:00 1162

原创 贝叶斯法则

贝叶斯的应用场景,就是充分利用统计和先验,转化为预测。联合概率:由多个随机变量决定的概率我们就叫联合概率,它的概率分布就是联合概率分布。比如:随机变量 x 和 y 的联合概率使用 P(x, y) 表示。边缘概率:那么联合概率和单个随机变量的概率之间有什么关联呢?对于离散型随机变量,我们可以通过通过联合概率 P(x, y) 在 y 上求和,就可以得到 P(x)。对于连续型随机变量,我们可以通过联...

2020-02-24 10:20:56 1029

翻译 LTE - PUCCH Format2

LTE中有很多课题(尤其是物理层),如果不仔细阅读规范中给出的每个参数和方程,是无法解释清楚的。物理资源分配就是其中之一。PUCCH格式2/2a/2b的物理资源分配由以下过程确定。看到这些公式千万不要惊慌,方程本身就是高中数学的一部分,只要我们的耐心和毅力,就能够读懂。首先我们来对PUCCH有个大致的了解, 然后尝试理解下列数学公式的实现过程:PUCCH 位于系统带宽的两端。(PUCCH ...

2019-12-22 18:35:25 1736

翻译 LTE PUCCH Format1

PUCCH 格式 1/1a/1b 是向eNodeB传递1或2或4位数据。 这个过程相当复杂,我们用如下3个章节来描述:PUCCH Format 1,1a,1b 所在RB位置PUCCH F1信号的生成PUCCH 多UE 复用PUCCH Format 1,1a,1b 所在RB位置LTE中有很多课题(尤其是物理层),如果不仔细阅读规范中给出的每个参数和方程,是无法解释清楚的。物理资源分配...

2019-12-22 18:07:14 3823

原创 LTE,NR中的基本时间单位

38.211中定义了LTE/NR的基本时间单位: Ts_{s}s​ 、Tc_{c}c​LTE - Ts_{s}s​Ts_{s}s​ = 1 /(Δ\DeltaΔf\boldsymbol{f}fref_{ref}ref​ . Nf,ref_{f,ref}f,ref​)取值意义Ts_{s}s​Ts_{s}s​ = 1 /(Δ\DeltaΔf\boldsymbol{f}...

2019-12-15 19:53:02 12074 3

翻译 OFDM

OverviewOFDM是 Orthogonal Frequency Divisition Multiplexing 的缩写. 从字面上可以看到它的特点有3个:Orthogonal 正交Frequency Division 频分Multiplexing 多路复用OFDM 是一种将宽频带分解成许多小频带的技术(我们称之为子载波),每个子载波上可以携带数据,如下图所示。换句话说,我们将...

2019-12-15 18:04:59 4350 1

ubuntupocketguide-v1-1.pdf

Ubuntu Pocket Guide and Reference

2010-01-01

空空如也

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

TA关注的人

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