摘要:
将博客搬至CSDN 阅读全文
摘要:
Linear Feedback Shift Register LFSR can be drawn in the following style. The above figure can be descripted as mod2(b(n+31) = b(n+3) + b(n+2) + b(n+1) 阅读全文
摘要:
1. make -g ** - add -g option to enable gdb debug. 2. ulimit -c unlimited - Enable coredump file to be created when segmentation fault occurs. 3. Gdb 阅读全文
摘要:
信号量的使用是用来保护共享资源,使得资源在一个时刻只有一个进程(线程)所拥有。当信号量的值为正的时候,说明它空闲,所测试的线程可以锁定而使用它。若为0,说明它被占用,测试的线程要进入睡眠队列中,等待被唤醒。 信号量分为有名信号量和无名信号量。有名信号量,其值保存在文件中,可以用来进程间的同步。无名信 阅读全文
摘要:
1. 有了多进程,为什么要多线程? ->许多应用中会同时发生多种活动,某些活动会随时间的推移而被阻塞,通过将其分解成多个顺序进程,程序设计模型会变得简单起来。多线程共享地址空间和所有可用数据的能力,是多进程无法做到的。 ->线程是轻量级的,它更容易创建和删除 ->在一些需要大量I/O处理和大量计算的 阅读全文
摘要:
滤波器就是把想要的频率外的信息给消除掉。我们只需要弄一个函数, 使得它在原信号对应频率上的位置为1,其他位置为0。这样频率上该函数和原信号相乘就可以保持想要的频率, 不想要的频率乘完之后为0(即滤波)。 频域相乘就是时域卷积。所以,滤波器就可以通过原信号和一函数在时域卷积。 阅读全文
摘要:
Arm Neon Usages Each Neon instruction detail can be searched in https://developer.arm.com/architectures/instruction-sets/simd-isas/neon/intrinsics?sea 阅读全文
摘要:
离散傅里叶变换(DFT): 快速傅里叶变换(FFT)是一种运用蝶形算子计算DFT的方法。 下面是matlab实现代码: close all; clear; fs=200; N=256; %采样freq和数据点数 n=0:N-1; t=n/fs; %时间序列 % x=0.5*sin(2*pi*15*t 阅读全文
摘要:
DPDK(Data Plane Development Kit)是由6WIND,Intel等多家公司开发,主要基于Linux系统运行,用于快速数据包处理的函数库与驱动集合,可以极大提高数据处理性能和吞吐量,提高数据平面应用程序的工作效率。 DPDK使用了轮询(polling)而不是中断来处理数据包。 阅读全文
摘要:
共用体在一般的编程中应用较少,在单片机中应用较多。对于 PC 机,经常使用到的一个实例是: 现有一张关于学生信息和教师信息的表格。学生信息包括姓名、编号、性别、职业、分数,教师的信息包括姓名、编号、性别、职业、教学科目。请看下面的表格: f 和 m 分别表示女性和男性,s 表示学生,t 表示教师。可 阅读全文
摘要:
做了这么年的linux c开发,经常碰到各种内存问题。这里结合网上资料做一下总结。 一. 内存位置 在C语言中,定义了4个内存区间:代码区;全局变量和静态变量区;局部变量区即栈区;动态存储区,即堆区; 1. bss段 block started by symbol. 存储没有被初始化的全局和静态变量 阅读全文
摘要:
最近在做MMSE均衡器的实现,很耗时间。有如下建议 1. loop 循环里面最好不要加各种判断If else. 可以制表代替。比如说下图代码所示,每个ue被分配一个rbmap, 每一次我们进入到该rb中,我们要判断它里面的每个re是不是rs re, 是不是pbch re, 是不是pss/sss re 阅读全文
摘要:
其实,也工作四年了,遇到的困难也挺多的,可惜没有一个好的习惯,把每次犯的错误记录下来,现在回想起来,这些记录,或者说是总结都是非常重要的,其一可以温故而知新,以后遇到同样的问题,可以快速的反应过来,查找原因;其二是和同事或者同行交流的时候,可以快速说出想说的,而不是临时去想词,磕磕绊绊还坏事,这样渐 阅读全文
摘要:
这是一个我刚刚毕业时候面试腾讯的面试题,当时我的答案是先排序,然后取中间的数,那么该数就是我们需要的数,但是,这种方法的复杂度不是线性的,所以说就被out了。从那之后,我一直在思考这个问题该如何被线性解决。慢慢地有一个想法,就是制作表,表的大小就是L* 2 (L是数组的长度)。表的每一行第一个元素是 阅读全文
摘要:
最近看到一个实现crc16的小程序,刚开始,不明觉厉,于是花了一个周末去know how。 CRC(Cyclic Redundancy Check)循环冗余校验是常用的数据校验方法。 先说说什么是数据校验。数据在传输过程(比如通过网线在两台计算机间传文件)中,由于传输信道的原因,可能会有误码现象(比 阅读全文
摘要:
awk,我觉得是Linux里面处理文本最精妙的命令,它是一个行处理的命令,它最初级的用法是:给定一些简单的pattern,然后按照这个pattern 去搜索匹配的行。它的高级用法是用awk来编程,除了原来的匹配字符串这个功能之外,还可以做一些统计,替换,数学计算的功能, 甚至可以编写自定义的函数,甚 阅读全文
摘要:
之前一直在做LTE物理层相关的工作,一直有个疑惑, 在36.211开头的一章定义Ts的大小是1/(15000*2048)s,为什么定义这么一个奇怪的unit time. 最近才反应过来,这跟FFT/IFFT过程相关。 假设20MHz带宽,标准规定我们用2048点做FFT过程,FFT过程前是时域, 每 阅读全文
摘要:
linux echo, sort, sed是初学linux shell script 的一些常用的命令。基本上来说,如果能够掌握了这些命令,我们就能写出一些不错的linux脚本。以下是我遇到的以下常用的echo,sort, sed等命令的一些应用; 1. echo -e: BW="f25\nf50\ 阅读全文
摘要:
最近在Linux系统下玩一些svn的东西,感觉脑袋很乱, 于是整理了一下一些初学者必须弄明白的基本命令:1. svn --version: 查看Linux系统下的svn client版本. Client端的版本应该与server端的版本保持一致,否则会出现一些bug, 比如说可能会出现不能svn c... 阅读全文
摘要:
在C语言中,我们经常需要设置一个时间周期。在这里,我们通过Timeval结构实现时间周期的设置。首先,我们介绍timeval,其定义如下(转载http://www.cnblogs.com/wainiwann/archive/2012/11/28/2792133.html):"timeval是一个... 阅读全文