- 博客(127)
- 收藏
- 关注
原创 数字音频开发基础知识
是一个物理量转换为数字量的过程。话筒里面有一层碳膜,非常薄而且敏感。声音其实是一种空气中的振动,当声音传输到碳膜时,碳膜会随着声音一同振动。而碳膜下就是一个电极,碳膜在振动的时候会接触电极,接触时间长短跟振动的幅度有关(也就是声音的响度),电极所在的电路系统就输出不同的电信号(可能是电压信号,也可能是电流信号),这样就完成了声音信号到电信号的转换。这里所说的话筒可以称为传感器。一般来说,输出的电信号都是毫伏/毫安级别。因此还需要设计一个放大电路(放大器),而输出的电信号就是模拟量(波,示波器,波形图),
2024-04-15 16:16:05
170
原创 关于UAC标准音频数据传输端点的最大包长问题
标准音频数据传输端点(Standard AS Isochronous Audio Data Endpoint Descriptor)是在音频流接口下,用来传输音频数据的端点。需要注意描述符结构中的两个字段:wMaxPacketSize + bInterval 。
2024-04-15 16:03:48
472
原创 问题:Nand作为存储介质,读写出错
问题交到NAND驱动那边去调试,发现是:SD卡的GPOIO和NAND使用的GPIO有冲突,需要在dts配置中关掉SD卡的GPIO分配使用(并且NAND的驱动优先级比SD卡高,所以系统启动后,NAND对GPIO的配置总是被SD卡修改,从而影响数据读写,读出来的数据都是0)。并且表现出来的是有的板子好,有的板子不好,在四块FPGA开发板中,有两块是可以使用的,数据拷贝,BIT测试都没问题,另两块,就是做SPI-NAND的和自己手中查问题的,刚好这两块板子出问题!即使格式化成功后,也还有一些问题,下文有描述。
2024-04-11 20:37:40
253
原创 DFT应用:频谱分辨率和频率估计
用 DFT 分析连续时间信号的频谱时,隐含对其采样后的序列利用矩形窗进行截断。比如余弦信号:频谱是两个冲激,时域上相乘,频域上就是频谱间的卷积运算(函数跟冲激做卷积,相当于是把函数直接移位到冲激上),那么就导致余弦信号的频谱在其数字角频率附近是具有一定宽度的主瓣
2024-03-24 17:02:57
1471
原创 DFT应用:计算线性卷积
1. 以上测试代码只是理论公式的验证,仿真用的2. 可以优化的点:比如短序列一般是提前知道的,可以事先计算其FFT,减少实时运算过程的运算量;代码流程上的优化;空间数据buffer的优化;FFT算法的优化;或者可以转为定点运算...。3. 注意对比两种算法:分段有无重叠,输出结果有无重叠;均匀分段如何取值,线性卷积、循环卷积、FFT等几个长度间的关系。
2024-03-07 23:50:22
1395
原创 频率域采样
DFT的X(k)是对周期且连续的频谱在[0,2pi)上的等间隔采样,采N个点得到的,采样间隔是;频域采样要求时域有限,即假设x(n)的长度是有限值M
2024-03-02 11:49:19
785
1
原创 STM32F407: CMSIS-DSP库的移植(基于库文件)
目录结构如下:\Drivers\CMSIS\DSPExample:官方自带的一些示例Include:公共头文件夹目录,其中比较重要的是arm_math.hProjects:官方自带的工程示例Source:DSP的源码实现,是重点目录Source目录下各个文件夹实现功能简介如下表:文件夹实现的功能(API)实现基本数学函数,有浮点/定点/向量等基本运算一些公用的参数表复数的计算:加减乘除、取模等一些控制功能函数:比如PID控制算法纯数学理论实现的一些快速计算算法:求正余弦/快速开方。
2023-11-12 11:31:54
3058
2
原创 STM32F407-Discovery的硬件FPU
FPU:Float Point Unit,也就是浮点运算单元。如果是定点 CPU(没有 FPU 的 CPU)计算浮点数,则按照 IEEE-754 标准,完成运算需要大量的指令,很耗费时间,几乎不能满足实时性的要求。但是对于有 FPU 的芯片来说,完成一个浮点运算或许只是几条指令就可以搞定,速度相对就快很多。STM32F4具有有 32 位单精度硬件FPU[能加速计算float类型的数据],支持浮点指令集,相对于Cortex M0 和 Cortex M3高出数十倍甚至上百倍的运算性能。
2023-11-09 10:17:21
2297
2
原创 基于HAL库:STM32F407_Discovery串口2配置只用tx功能
STM32F407_Discovery这个板子可快速搭建音频开发相关,无论是官方的参数示例,或者是HAL库代码中给出的示例,都不带串口调试这部分的,音频开发涉及IIC/IIS以及PDM麦克风等模块,GPIO口有限,很多具有串口复用功能的GPIO都给了其他模块,如果强制配成串口进行调试,音频链路运行的过程中输出就会不正常,开发过程中使用其他调试手段也可以,但是个人感觉串口有时候更容易排查,更直观。经过尝试和代码的详细排查,发现运行实例Audio_playback_and_record的时候,串口2的tx可
2023-11-08 19:22:21
557
Saleae逻辑分析仪安装包(自带驱动程序)
2023-11-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人