wensishuai
码龄17年
关注
提问 私信
  • 博客:125,850
    125,850
    总访问量
  • 34
    原创
  • 409,300
    排名
  • 48
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2008-05-10
博客简介:

wensishuai的专栏

查看详细资料
个人成就
  • 获得30次点赞
  • 内容获得29次评论
  • 获得81次收藏
创作历程
  • 5篇
    2013年
  • 11篇
    2012年
  • 24篇
    2011年
成就勋章
TA的专栏
  • ACM
    1篇
  • Algorithm
    4篇
  • C/C++
    8篇
  • Communications
    9篇
  • Essay
  • Linux
    11篇
  • STL/Boost
  • 笔试面试
    11篇
  • Python
    4篇
  • Development
    1篇
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

FFT补零相关

1.转自http://www.ilovematlab.cn/viewthread.php?tid=36349&sid=lqshA1补零后的FFT和补零前的FFT,两者会有较大的不同,但两频谱的包络还是一致的。设补零前数据长N,补零后数据长M(补了M-N个零值),则补零前的FFT有N条谱线,分别代表的频率点是(0,1,...,N-1)*df1,df1=fs/N;补零前的FFT有M条谱线,分别
转载
发布博客 2013.05.27 ·
12074 阅读 ·
7 点赞 ·
1 评论 ·
27 收藏

MIPS 体系结构汇编语言快速入门(翻译)

MIPS 体系结构和汇编语言快速入门(翻译)译者:Sonic Fu, Northeastern University, Boston, USA译者按:学习笔记,抛砖引玉!网上有一个版本,不全,这个作为补充。英文原版: http://logos.cs.uic.edu/366/notes/mips quick tutorial.htm#IOSystemCalls本文
转载
发布博客 2013.05.27 ·
1778 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ACM算法入门

OJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) 初期: 一.基本算法:       (1)枚举. (poj1753,poj2965)      (2)贪心(poj1328,poj2109,poj2586)      (3)递归和分治法
原创
发布博客 2013.04.23 ·
1209 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

USRP2 LTE Transceiver设计

1. 代码架构top_levelrunTransceiver.cpp初始化设备对象,radio接口以及transceiver对象,启动trx相关线程 transceiverTransceiver.h/cpp TRX层,主要实现收发控制功能和对上层协议栈的接口,共分为四个线程:mReceiveFIFOServiceLoopThread负责驱动USRP接收,并将数据存入
原创
发布博客 2013.02.25 ·
2833 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

USRP变速率采样原理及实现

1. 变速率采样5M带宽的LTE系统中,采样率为512*15k=7.68MHz,而USRP2在不改变FPGA代码的情况下仅支持100M的整数倍分频的采样率,最接近7.68M的采样率为6.25M。所以在空口获得的数据采样率为6.25M,而LTE系统内部采样率为7.68M,需要进行插值和抽取实现速率转换。(补充说明一点,由于LTE过采样的特点,采样率6.25M仍然可以完整保留信号特性,实际上,
原创
发布博客 2013.02.25 ·
5928 阅读 ·
2 点赞 ·
1 评论 ·
14 收藏

SSE指令集入门

Intel公司的单指令多数据流式扩展(SSE,Streaming SIMD Extensions)技术能够有效增强CPU浮点运算的能力。Visual Studio .NET 2003提供了对SSE指令集的编程支持,从而允许用户在C++代码中不用编写汇编代码就可直接使用SSE指令的功能。MSDN中有关SSE技术的主题[1]有可能会使不熟悉使用SSE汇编指令编程的初学者感到困惑,但是在阅读MSDN有关
原创
发布博客 2012.12.26 ·
5104 阅读 ·
3 点赞 ·
2 评论 ·
2 收藏

Linux驱动学习(四)——高级字符设备驱动程序

LDD第二章到第六章的综合复习。用循环缓冲区实现一个FIFO,支持多个reader和writer,利用信号量在竞态下保护数据区域,并且在无数据的时候阻塞读,数据满的时候阻塞写,可以通过ioctl返回FIFO状态。需要的技术:1、信号量:竞争与锁的机制。2、等待队列:进程的休眠与唤醒。用两种方式实现读写阻塞。3、poll:返回文件可读或者可写的状态,为select调用。4、i
原创
发布博客 2012.12.25 ·
1048 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

linux下调试方法记录

1、segment faultsegment fault是几乎多有C程序员都会碰到的问题,多为内存问题,因为glibc库中基本所有的函数都默认形参指针是非空的,这样以下原因就可能导致段错误:(1)引用一个包含非法值的指针(当然包括空指针)。(2)未得到正确的权限的时候进行访问,例如往只读的内存地址写数据。(3)内存越界(数组越界,变量类型不一致等)调试segment fault
原创
发布博客 2012.12.25 ·
700 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

DSP问题笔记

在学习DSP的过程中遇到了一些问题,包括面试与讨论中,记录在这篇博客中。1、DSP的哈佛结构特点,与常规的冯诺依曼结构区别。  2、给定一个信号为两个幅值为A的正弦信号的叠加(1000hz和1050hz),给定8khz的采样率,一个周期有多少个采样点?思路:这个问题的关键在于理解频率分辨率和DFT的实质。对于有限长离散点做DFT,相当于时域加窗(乘以一个矩形函数),频域上卷积sin
原创
发布博客 2012.12.23 ·
2522 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

Linux驱动学习(二)——字符设备驱动程序入门 .

linux下,在应用程序看来,对设备的操作其实就是对文件的操作,利用open,read,write,close等函数进行控制和IO。对于一个字符设备驱动模块,有几个关键结构体:1、struct file_operations:在设备编号和驱动程序操作之间建立连接2、struct file: file结构代表着一个打开的文件,由内核在open时创建,并传递给在该文件上操作的所有函数(如r
原创
发布博客 2012.12.21 ·
992 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux驱动学习(一)——简单的hello模块

大概看了一遍LDD,从今天开始动手实践,下面给出linux内核模块开发入门的代码,helloworld。hello.c #include #include MODULE_LICENSE("Dual BSD/GPL");static int __init hello_init(){ printk(KERN_ALERT "Hello, kernel world
"
原创
发布博客 2012.12.21 ·
809 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

GSM手机经典接入流程

打电话的时候,先由MS通过RACH发起入网申请,网络再通过AGCH对MS的入网申请作出响应,分配一条SDCCH(这一过程是立即支配程序,用于位置更新或收发短消息),SDCCH也可以叫专用呼叫信道,网络通过SDCCH分配TCH。如果用户要打电话就需要进一步分配一条TCH(这一过程是支配程序,传送话音等)。接电话和打电话差不多,接的话网络多了一个寻呼的过程。1. The MS powers up
原创
发布博客 2012.12.18 ·
6226 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

Openbts for opra 底层驱动移植

最近接触了一个软件无线电的项目,在新的硬件平台上调试openbts,就是那个开源的GSM基站。openbts的架构很清晰,transceiver层负责提供radio部分的接口,实现数据的实时收发,然后通过socket与高层协议栈通信,所以我的大部分工作都是在transceiver层完成的。openbts一直都是以USRP/USRP2作为底层硬件单元,这次我要用opra的板子做底层单元,原想
原创
发布博客 2012.12.17 ·
4277 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

Linux驱动程序学习步骤经典收藏

先记录一下,稍后会一步步实践。 了解linux驱动程序技巧学习的方法很重要,学习linux操作系统时,你可能会遇到关于驱动方面的问题,这里将介绍学习linux驱动程序的方法,在这里拿出来和大家分享一下。1.学会写简单的makefile2.编一应用程序,可以用makefile跑起来3.学会写linux驱动程序的makefile4.写一简单char驱动,makefile编译通过
转载
发布博客 2012.11.30 ·
921 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

ubuntu内核编译及RTAI的安装

准备工作apt-get install qt3-apps-dev build-essential kernel-package vimapt-get install libncurses5-dev  (meke menuconfig要调用的)Step1 下载源码并解压到/usr/src目录下Get the kernel source (version 2.6.32-21.32)
原创
发布博客 2012.11.30 ·
7630 阅读 ·
3 点赞 ·
5 评论 ·
5 收藏

基站诊断工具——DSP开发小结

本篇日志记录了我在爱立信实习中参与的一个项目:基站监测与调试工具的开发。WoD工具分为两部分,一部分是在DSP侧,实现在基站freescale的板子上,提供基站端的流量信息/数据信息/signal状态/内存信息等;另一部分是PC侧,负责监视。控制基站与显示,记录数据结果。两部分之间通过socket通信,在自己设计的数据包传输协议基础上交换信息。(在外场测试中,没有PC侧的应用,DSP侧应将各种
原创
发布博客 2012.11.19 ·
1833 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Python学习(四)——Python单元测试

pyunit框架'''Created on Aug 10, 2011@author: wensi'''import unittestclass TestClass1(unittest.TestCase): def testCase1(self):
原创
发布博客 2011.08.10 ·
757 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Python学习(三)——正则表达式模块

re.matchmatch从字符串的开头进行匹配(注意是开头!!!)text = "wensishuai is a handsome boy, he is cool, clever, and so on..."m = re.match(r'(w\w+)\s', te
原创
发布博客 2011.08.10 ·
1778 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Python学习(二)——常用功能

1、获取当前时间:import timeTIMEFORMAT = '%Y%m%d%H%M%S'self.curtimestr = time.strftime( TIMEFORMAT, time.localtime(time.time()))
原创
发布博客 2011.08.10 ·
719 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Python学习(一)——学习资源记录

下面是常用的入门和查找的资源:官方参考文档:http://docs.python.org/release/2.6.7/index.html (学习tutorial和standard library常用函数)google的Python class:http://co
原创
发布博客 2011.08.09 ·
633 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多