自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Charles' home

Le vent se lève, il faut tenter de vivre!

  • 博客(169)
  • 资源 (1)
  • 收藏
  • 关注

原创 【动态规划】01背包问题

问题描述有n个物品,它们有各自的体积和价值,现有给定容量的背包,如何让背包里装入的物品具有最大的价值总和?为方便讲解和理解,下面讲述的例子均先用具体的数字代入,即:eg:number=4,capacity=8i(物品编号) 1 2 3 4 w(体积) 2 3 4 5 v(价值) 3 4 5 6 总体思路...

2020-02-01 16:28:13 1399

原创 UEFI架构

UEFI架构UEFI提供系统化的标准方法,加载驱动并管理他们之间的交互。前言:感谢uefi blogUEFI 提供了一个标准接口,以便在硬件发生变更时固件能提供足够信息而保证操作系统不受影响。它包含有芯片组和外设芯片驱动程序,并通过系统表提供引导时服务和运行时服务。图一中展示了依赖于UEFI所提供的服务来工作的操作系统装载器(即 EFI OS Loader) 是如何启动操作系统内核...

2019-06-09 18:22:38 5513

原创 动态内存分配

动态内存分配常见的内存分配的错误先上一个内存分配的思维导图:便于联想想象,理解:首先我们介绍一下内存分配的方式:1:在静态存储区域中进行分配 内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量122:在栈中进行分配 在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时,这些存储但愿自动被释放。效率很高...

2018-05-04 16:10:26 1219

原创 栈和队列

栈(Stack)和队列(Queue)是两种操作受限的线性表。(线性表:线性表是一种线性结构,它是一个含有n≥0个结点的有限序列,同一个线性表中的数据元素数据类型相同并且满足“一对一”的逻辑关系。“一对一”的逻辑关系指的是对于其中的结点,有且仅有一个开始结点没有前驱但有一个后继结点,有且仅有一个终端结点没有后继但有一个前驱结点,其它的结点都有且仅有一个前驱和一个后继结点。)这种受限表现在:栈的插入和...

2018-04-25 11:17:54 428

原创 helloworld和大小端

 ”HelloWorld”:include<stdio.h>int main(){ printf(“helloworld\n”); return 0;}(1).#include//头文件:其作用是包含我们所需要的库函数 printf();include“max.h”//”“从自己写的文件中找到max.h(2).对于 main 函数来说,是所有函数的入口...

2018-04-24 20:57:37 483

原创 数组和指针

数组:数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。 所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素。1.区分:int arr[5] = {}; arr 0x00defde4 {-858993460, -858993460, -858993460, -858993460...

2018-04-24 16:46:37 878

原创 虚拟内存

背景内存管理算法都是基于一个基本要求:执行指令必须在物理内存中,满足这一要求的第一种方法是整个进程放在内存中。动态载入能帮助减轻这一限制,但是它需要程序员特别小心地做一些额外的工作。指令必须都在物理内存内的这一限制,似乎是必须和合理的,但也是不幸的,因为这使得程序的大小被限制在物理内存的大小内。事实上,研究实际程序会发现,许多情况下并不需要将整个程序放到内存中。即使在需要完整程序的时候,也并不是同...

2018-04-23 21:00:39 772

原创 操作系统常见面试题

常见面试题:1、进程是并发过程中程序的执行过程2、进程的特征:结构特征动态性并发性独立性异步性3、临界区指在每个进程中访问临界资源的那段代码4,现在操作系统中申请资源的基本单位是进程,在CPU得到执行的基本单位是线程,进程是由程序段、数据段、PCB组成的5,对临界资源应采取互斥访问方式来实现共享6,P.V操作是一种低级进程通信原语7,对于记录性信号量,在执行一次P操作时,信号量的值应当减1,当其值...

2018-04-23 20:39:07 22801 1

原创 链表

在讨论链表(linked-list)之前,需要明确几个概念:线性表(顺序表, list, linear list), 数组(array),链表(linked-list)。线性表:在中文里,线性表也叫作顺序表。在英文中,它称为list, linear list等。它是最基础、最简单、最常用的一种基本数据结构,线性表总存储的每个数据称为一个元素,各个元素及其索引是一一对应的关系。线性表有两种存储方式:...

2018-04-23 20:15:15 323

原创 操作系统总结

第一章 操作系统概论操作系统采用的资源管理技术 (1) 复用 操作系统让众多进程共享物理资源,这种共享称为资源复用。通过适当复用可以创建虚拟资源和虚拟机,以解决物力资源数量不足的问题。物力资源的复用共享有两种基本方法:空分复用共享和时分复用共享。 (2) 虚拟 虚拟又称虚拟性,是指操作系统中实现对计算机软硬件资源进行有效管理的技术和手段,能进一步提高操作系统为用户服务的能力和水平。虚拟的本质是对资...

2018-04-23 19:31:40 1077

原创 图解操作系统

转自:点击打开链接重读William Stallings的Operating System的个人总结,未涉及安全和分布式部分(这部分在英文版中被阉割了)。https://my.oschina.net/pangyangyang/blog/188508https://my.oschina.net/pangyangyang/blog/188507    计算机组成    先从最简单的开画,这里计算机的组...

2018-04-23 17:23:07 1846 2

原创 多态与虚函数

多态的作用:继承是子类使用父类的方法,而多态则是父类使用子类的方法。在C++中,多态有两种,一种是函数重载,一种是虚函数。函数重载发生在编译的时候,它的函数参数是不一样的。而虚函数是发生在运行的时候,它的函数原型是一样的,依靠的是指针的指向。有一篇非常好的文章介绍多态与虚函数。发一个链接在这里。http://blog.csdn.net/augusdi/article/details/3827100...

2018-04-21 15:56:41 340

原创 重载

函数重载一、什么是函数重载?函数重载overload是指不同的函数采用相同的函数名,彼此间通过形参列表加以区分。举例:函数名都为distance,但形参列表的个数不同;[cpp] view plain copy#include <iostream>  #include <cmath>  using namesapce std;  double distance(float,...

2018-04-21 15:38:22 236

原创 构造函数与析构函数

创建一个对象时,常常需要作某些初始化的工作,例如对数据成员赋初值。注意,类的数据成员是不能在声明类时初始化的。如果一个类中所有的成员都是公用的,则可以在定义对象时对数据成员进行初始化。如:class Time{public : //声明为公用成员hour;minute;sec;};Time t1={14,56,30}; //将t1初始化为14:56:30这种情况和结构体变量的初始化是差不多的,在一...

2018-04-21 15:28:58 350

原创 深入了解DSP和ARM的关系(相同与区别)

DSP:DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总...

2018-04-21 11:19:44 50102 7

原创 操作系统学习笔记

死锁,中断,内存管理(分区置换策略,分页存储管理,页面淘汰算法,分段存储管理),进程同步和互斥,进程和线程区别,生产者消费者问题,I/O复用技术等基础概念。操作系统的资源管理功能 1. 处理机分配提出进程调度的策略给出进程调度算法进行处理机的分配2.存储管理存储分配和存储无关性存储保护存储扩展3.设备管理设备无关性设备分配,独享,共享以及虚拟分配技术设备的传输控制4.软件资源管理20世界60年代初...

2018-04-20 15:57:00 289

原创 操作系统原理

我们每天都同操作系统打交道,了解一些操作系统原理上的知识是绝对有必要的,它可以让你了解操作系统内部是怎么工作的,为什么会出现这样那样的问题,为我们解决这些问题提供思路。本文完全是为普通电脑用户写的,省略了所有难以理解的算法、原理,没有太多细节上的东西,只是针对普通电脑用户可能感兴趣的问题给出了实现思想。Q:什么是中断?A:中断嘛,举个容易理解的例子吧。比如莲莲和唐唐在下象棋,眼看莲莲就快招架不住了...

2018-04-17 15:56:48 316

原创 C++10个关键词

1、constconst本意是“不变的,常量”。C语言:(1)定义该变量为只读变量,分配内存【这里的常量只是编译器属性】;(2)const与指针的组合:常量指针、指针常量、常量指针常量;C++中:(1)定义该变量为只读变量,在没有取地址&和加extern前和宏#define作用一样,没有内存空间【常量折叠】;(2)类中常量需要再初始化列表里初始化,还有引用&;static cons...

2018-04-16 15:30:35 584

原创 动态规划基本入门

动态规划相信大家都知道,动态规划算法也是新手在刚接触算法设计时很苦恼的问题,有时候觉得难以理解,但是真正理解之后,就会觉得动态规划其实并没有想象中那么难。网上也有很多关于讲解动态规划的文章,大多都是叙述概念,讲解原理,让人觉得晦涩难懂,即使一时间看懂了,发现当自己做题的时候又会觉得无所适从。我觉得,理解算法最重要的还是在于练习,只有通过自己练习,才可以更快地提升。话不多说,接下来,下面我就通过一个...

2018-03-23 15:36:44 210

原创 总结4点对学习Linux的有帮助的建议

摘要:有些人把Linux的的的运维看作一项冗长而枯燥的工作;有些人把Linux的的的运维看作一项得力的工具如果是前者建议还是改变一下认识,不然不建议入门这行。有些人把Linux的的运维看作一项冗长而枯燥的工作;有些人把Linux的的运维看作一项得力的工具如果是前者建议还是改变一下认识,不然不建议入门这行毕竟的Linux的运维工作是对人的毅力和耐心的挑战。很多人看

2018-02-06 16:56:48 775

原创 进程和线程的区别

简而言之,一个程序至少有一个进程,一个进程至少有一个线程。 线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口,顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。从逻辑角度来看,多线...

2017-10-17 10:00:48 481

转载 DSP-Cache优化

对于一般的CPU信号处理加上外围设备的DMA数据读写情况,处理方法是在内存中开辟pingpong缓冲区。inbufa,outbufa,inbufb,outbufb四块内存区,当CPU处理inbufa的数据并将产生的结果放到outbufa,这是外围器件DMA搬移数据到inbufb,另一外围设备将数据从outbufb搬出;同理当CPU处理inbufb并将产生的结果放到outbufb时,外围设备利用DM...

2017-09-04 15:18:08 566

转载 基于Speex的声学回声消除

 所谓声学回声消除,是为了解决VoIP(网络电话)中这样一个问题:即A与B进行通话,A端有麦克风和扬声器分别用来采集A的声音和播放B的声音,B端有麦克风和扬声器分别用来采集B的声音和播放A的声音,很明显,由于声音传播的特性,A端的麦克风在采集A的声音的同时,也采集到了A端扬声器播放的来自B的声音,也就是A端采集到的声音是一个混合的声音,这个声音通过网络发给B时,B就不仅能听到A的声音,也能听见B前...

2017-09-01 10:45:27 853

转载 有关小波的几个术语及常见的小波基介绍

原文转载于:http://blog.csdn.net/jbb0523/article/details/42586749    非常感谢。本篇是这段时间学习小波变换的一个收尾,了解一下常见的小波函数,混个脸熟,知道一下常见的几个术语,有个印象即可,这里就当是先作一个备忘录,以后若有需要再深入研究。一、小波基选择标准        小波变换不同于傅里叶变换,根据小波母函数的不同,小波变换的结果也不尽相...

2017-08-26 20:50:09 2327

转载 SoC嵌入式软件架构设计之系统内存需求评估

原文转载于:http://blog.csdn.net/yueqian_scut/article/details/24602941    非常感谢。内存是SoC(System on Chip,片上系统)集成设计的重要模块,是SoC中成本比重较大的部分。内存管理的软硬件设计是SoC软件架构设计的重要一环,架构设计师必须要在成本和效率中取得平衡,做到在节省内存的同时保证整个系统的性能。系统内存需求评估是...

2017-08-24 20:52:17 606

原创 嵌入式ARM多核处理器并行化方法

目前,嵌入式多核处理器已经在嵌入式设备领域得到广泛运用,但嵌人式系统软件开发技术还停留在传统单核模式,并没有充分发挥多核处理器的性能。程序并行化优化目前在PC平台上有一定运用,但在嵌入式平台上还很少,另外,嵌入式多核处理器与PC平台多核处理器有很大不同,因此不能直接将PC平台的并行化优化方法应用到嵌人式平台。本文分别从任务并行和缓存优化两方面进行并行化优化的研究,探索在嵌人式多核处理器上对程序进行...

2017-08-24 15:06:05 8091

原创 TMS320C6678多核DSP的核间通信方法

摘要:嵌入式应用中采用多处理系统所面临的主要难题是多处理器内核之间的通信。对Key-Stone架构TMS320C6678 处理器的多核间通信机制进行研究,利用处理器间中断和核间通信寄存器,设计并实现了多核之间的通信。从系统的角度出发,设计与仿真了两种多核通信拓扑结构,并分析对比了性能。对设计多核DSP 处理器的核间通信有一定的指导价值。关键词: TMS320C6678;KeyStone;处理器间中...

2017-08-22 15:46:20 15904

转载 语音信号的采样和量化

1、采样过程:就是按一定的频率,即每个一小段时间,测得模拟信号的模拟量值。2、量化过程:通过采样时测的的模拟电压值,要进行分级量化,按整个电压变化的最大幅度划分成几个区段,把落在某区段的采样到的样品值归成一类,并给出相应的量化值。3、“采样频率”是指将模拟声音波形数字化后每秒钟所抽取的声波幅度的样本次数,其单位为kHz(千赫兹)。采样频率高低决定了声音失真程度的大小,为保证声音不失真,采样频率应该...

2017-08-22 11:15:17 16249 1

原创 如何使用LabVIEW生成应用程序(exe)和安装程序(installer)

为什么要生成exe和installer?使用LabVIEW编写程序的最后往往需要将程序拿到目标电脑上去运行,如何将程序从开发电脑上移植到目标电脑上呢?这里有两种方法:1. 在目标电脑上安装LabVIEW以及相关驱动和工具包,然后将vi或者整个项目拷贝到目标电脑上。然而安装LabVIEW和各种工具包会比较耗费时间,且vi可以被任意修改,容易引起误操作,如果只是运行程序,则不推荐这种方法。2. 将La...

2017-08-22 11:02:41 2992

原创 linux驱动开发简要流程

在这里,以字符设备为例,分析其驱动程序的框架:一、编写驱动程序的初始化函数驱动程序的初始化在函数XXX_init()中完成,包括对硬件初始化、中断函数、向内核注册等。a) 首先要理解硬件结构,搞清楚其功能、接口寄存器以及CPU怎么访问控制这些寄存器等。b) 其次要明白如何把该设备驱动注册到内核中。设备驱动程序可以直接编进内核(在移植内核时,就将该驱动程序编译进内核),在系统启动的时候初始化,也可以...

2017-08-21 20:54:38 597

转载 短时平均过零率

      短时平均过零率是语音信号时域分析中的一种特征参数。它是指每帧内信号通过零值的次数。对有时间横轴的连续语音信号,可以观察到语音的时域波形通过横轴的情况。在离散时间语音信号情况下,如果相邻的采样具有不同的代数符号就称为发生了过零,因此可以计算过零的次数。单位时间内过零的次数就称为过零率。一段长时间内的过零率称为平均过零率。如果是正弦信号,其平均过零率就是信号频率的两倍除以采样频率,而采样频...

2017-08-21 20:33:44 21802 3

转载 短时平均幅度函数

      短时能量的一个主要问题是对信号电平值过于敏感。由于需要计算信号样值的平方和,在定点实现时很容易产生溢出。为了克服这个缺点,可以定义一个短时平均幅度函数来衡量语音幅度的变化:            上式可以理解为w(n)对|x(n)|的线性滤波运算,实现框图如下。与短时能量比较,短时平均幅度相当于用绝对值之后代替了平方和,简化了运算。    ...

2017-08-21 20:30:19 8043

转载 短时平均能量

      由于语音信号的能量随时间而变化,清音和浊音之间的能量差别相当显著。因此,对短时能量和短时平均幅度进行分析,可以描述语音的这种特征变化情况。      定义n时刻某语音信号的短时平均能量为:            式中,N为窗长,可见短时能量为一帧样点值的加权平方和。特殊地,当窗函数为矩形窗时,有            也可以从另外一个角度来解释。令:            平均能量还可...

2017-08-21 20:27:30 16936

转载 语音信号的预处理

1 概述       语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中都需要提取语音中包含的各种信息。一般而言语音处理的目的有两种:一种是对语音信号进行分析,提取特征参数,用于后续处理;另一种是加工语音信号,例如在语音增强中对含噪语音进行背景噪声抑制,以获得相对“干净”的语音;在语音合成方中需要对分段语音进行拼接平滑,获得主观音质较高的合成语音...

2017-08-21 20:22:41 22145

转载 LabVIEW上位机与串口通信

定义通信格式及功能因为数据不算复杂,所以定义简单下位机帧格式:帧头(0xAA) 类型字节 数据低8位 数据高8位 保留字节1 保留字节2 校验字节如果要传送的数据比较多/复杂,则可以参考ModuleBus协议!主要功能包括:对帧中的类型字节进行解析,并多通道显示在示波器上帧偏差校正(这个一般人可能都没有做,造成数据丢失,而我这只要串口传输的数据没错,就能无错漏的解析每一帧)实时显示读取的每个字节...

2017-08-21 17:16:52 1770 1

转载 关于CCS软件的Graph功能使用详解

原文转载于:http://blog.csdn.net/hj199404182515/article/details/60467027   非常感谢。我们在学习使用TI的DSP集成开发环境CCS(Code Compose Studio)时,有时特别想在线的看一下内存中的数据到底是个什么样子,或者想看一下它的频谱是个什么样子,如果不知道CCS自带有绘图功能或者知道但不是很会使用,这无疑会使程序调试带来...

2017-08-20 16:08:27 20138 3

原创 五款免费开源的语音识别工具

按:本文原作者 Cindi Thompson,美国德克萨斯大学奥斯汀分校(University of Texas at Austin)计算机科学博士,数据科学咨询公司硅谷数据科学(Silicon Valley Data Science,SVDS)首席科学家,在机器学习、自然语言处理等领域具有丰富的学术研究和产业界从业经验。雷锋网编译。作为 SVDS 研究团队的成员,我们会经常接触各种不同的语音识别...

2017-08-19 20:14:30 75062 3

原创 傅立叶变换中的吉布斯(Gibbs)现象

        每个学习过信号处理基本课程的人都知道吉布斯(Gibbs)现象:将具有不连续点的周期函数(如矩形脉冲)进行傅立叶级数展开后,选取有限项进行合成。当选取的项数越多,在所合成的波形中出现的峰起越靠近原信号的不连续点。当选取的项数很大时,该峰起值趋于一个常数,大约等于总跳变值的9%。吉布斯现象如下图所示。                                           ...

2017-08-19 17:02:57 17800

转载 TI DSP TMS320C66x之SPI Nor Flash多核程序烧写

原文转载于:http://blog.csdn.net/hw5226349/article/details/50767454    非常感谢。经过一段时间的研究终于把TMS320C6657单核和双核的SPI Nor Flash的程序烧写调通了。工具都是前辈的工作,有需要的可以留下邮箱,我有空可以发。原理参考钱丰的《TI c66x 系列DSP 多核BOOT 的研究》论文。通过Nor flash 烧写加...

2017-08-18 16:39:34 1304

原创 CPU的缓存L1、L2、L3

L1,L2,L3 指的都是CPU的缓存,他们比内存快,但是很昂贵,所以用作缓存,CPU查找数据的时候首先在L1,然后看L2,如果还没有,就到内存查找一些服务器还有L3 Cache,目的也是提高速度。高速缓冲存储器Cache是位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度快。在Cache中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量

2017-08-18 09:13:10 6860 1

USB接口与编程

对于USB接口与编程作了一定的介绍和阐述,帮助理解USB接口与编程!

2016-08-12

空空如也

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

TA关注的人

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