自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 车辆行驶路径平滑方法 matlab版

【代码】车辆行驶路径平滑方法 matlab版。

2024-09-06 03:14:10 583

原创 指针的指针和指针数组

【代码】指针的指针和指针数组。

2024-09-04 23:39:23 297

原创 好一点的写法

【代码】好一点的写法。

2024-09-04 21:56:00 148

原创 SDK 和 framework的区别

API : 虽然英文的是application programming interface;实际上就是一个和另一个程序交互的口子,所以很多情况都可以说是API;不止是应用级或者是系统级才能这么说。SDK是一个更大的概念,因为他可以包括库、框架、文档、工具等;SDK就像一个软件包,也有相应的API;库(library) 库是封装好的代码,通过调用开放的API 来获取相应的功能。软件组件: 定义为自包含的,可编程的、可重用的,与语言无关的软件单元。framework:框架。提供了基础功能的软件产品。

2024-09-03 23:01:50 432

原创 内存之RAM/ROM/Flash/Cache

具备了可擦除性能, 断电不会丢失数据 同时可以快速的读取数据,FLASH 主要存储Boot loader以及操作系统 或者程序代码或者直接当U盘使用。Cache是在CPU中运行速度非常快,但是容量很小的一种存储器,一般容量不过M,最强悍的存储器。ROM 也有很多种类 , 种类都是可编程(PROM)和擦除((紫外线)EPROM)内存的五大分区:栈区Stack、 堆区Heap、 全局静态区、 常量区、 代码区。RW:可读可写变量,即存在ROM中,又在RAM中存储。ZI: 初始化为0的变量,存储在RAM中。

2024-09-03 22:44:16 366

原创 数组指针和指针数组

matrix表示取出第一行, 类似于数组的名字(一维数组的名字就是地址);如果要知道里面的值 *(*matrix + 1)取出第一个元素?那么数组指针的初始化为:int (*p)[4] = matrix/&matrix[0]/&matrix;数组指针:声明(*p)[N];matrix表示第一行的地址,也表示为&matrix[0]例如:以下是一个matrix矩阵;声明一个数组指针(*p)[4];声明: 类型 *p[N] 类似于{*p0 *p1 …指针数组:是一个数组,每个数组里面都存着一个值。

2024-09-03 22:38:49 223

原创 const 关键字

表示指针的地址不能修改, 指针对应的内容可以修改。表示指针指向的内容无法修改。

2024-09-03 22:21:34 292

原创 extern和static

修饰局部变量时,1.可以保留上次的值,具有记忆功能。2. 只在局部函数被调用的时候初始化一次,后面不再初始化,3.如果没有显示初始化,会被程序自动初始化为0. 3.在全局数据区分配内存。修饰全局变量时:表示这个变量的作用域仅仅在这个文件,即使extern外部也找不到。extern的用法: 在相关的.c里面定义参数, 在.h里面extern出去。其他文件可以定义相同名字的函数名 不会发声冲突。Static 是使用时分用在局部 还是 全局。static和extern是一对;

2024-09-03 22:19:12 225

原创 C语言:联合体Union

适用场景: 一般在有相似结构协议的时候可以节省空间。不管后面多少,地址都指向第一个。

2024-09-03 22:13:39 166

原创 函数指针与回调函数

函数指针:声明 int (*fun)() 或者int* (*func)()。()的优先级比*的高,如果不加括号便是指针函数。表示返回的值是一个指针。因此先解释一下函数指针,

2024-09-03 22:04:52 497

原创 C语言的编译过程和静态库的生成

提供静态库比如不想把源代码不暴露给外部,减少运行时的依赖,避免代码重用等。预处理:展开头文件/宏替换/去掉注释/条件编译 后缀为.i。step1:实现函数,通过写makefile生成库.step2:使用makefile语言 实现lib。例子:将加法减法函数封成math库,并且调用。链接: 生成可执行文件.out 或者 exe。编译:检查语法,生成汇编 .s。step3:执行main.exe。step2:编译生成可执行文件。汇编:汇编转换为机器码 .o。add.c和add.h实现。

2024-08-27 21:43:45 634

原创 音调控制-bass,mid,treble的理解与滤波器的实现

bass 主要是增强低音段,通常覆盖的频段20-300Hz,低音段听上去给的一种浑厚感觉。Mid主要调整中音段,频段300Hz- 4KHz.这个频段主要包含了人声的频段。在音频处理中,"bass"(低音)、"mid"(中音)和"treble"(高音)一般是根据一定的偏好预设好的一些音调控制。根据表达式可以得出,Q越小,带宽越宽,Q越大,带宽越小。Gain:增益,是指滤波器在通带内对信号的放大或衰减程度。例如:苹果的耳机音频,就有相关的设置,只是换了格说法。f0:滤波器工作的频率中心点,即中心频率。

2024-08-23 00:26:36 1410

原创 音频dBFs的理解和计算

假设采样点是int16表示的, 位深也是16. 取值范围为:-2^15 ~ 2^15 - 1;所以 满量程的最大值便是2^15 -1 对应着图中的1这个值;这个说法也没有问题,实际上他们信号度量单位不一样,这种一般是dBSPL(声压级)为单位,是以压强级别衡量的。dBFS: dB full scale. 满量程表示数字域的最大值。A是当前信号值的幅度值(amplitude),Max是所处理信号的最大(峰值)幅度值.左边的纵坐标值是-1~1的区间,这是位深归一化的结果.一般我们使用开源软件打开一段音频。

2024-08-20 17:35:44 982

原创 TDM音频传输协议通用知识解释

采样率:一般大于等于2*fm(最大信号频率);进一步理解,假设Fs是48KHz,如果用专业看音频的工具打开,那么能看见fm = 48/2KHz及一下的频段。位深:就是每个采样点(sample) 用多少bit表示;常见的16/24/32bit 即int16,int24,int32.bclk与采样率是正比的关系。一般bclk = 采样率(fs) * 声道数(channel)*位深。slot:每个音频信号被分配到一个固定的slot中,slot组成帧。bclk:bit clock /TDM的时钟频率。

2024-08-20 15:58:47 1447

空空如也

空空如也

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

TA关注的人

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