我一直在玩一些有I2S接口的数字麦克风。我设法使它工作(Arduino板与小型I2S微机电系统板)。至少我想我做到了。
在阅读I2S规范或麦克风数据表时,我似乎找不到以下简单问题的答案: 1.数字值代表什么? 2.如何将数字值转换为dbFS (然后是dbSPL)?
The 0645LM4H-B(诺尔斯)麦克风似乎输出所有负值(?)我读到什么地方你必须“减去中点”,以消除大的直流偏移?!另一方面,Invensense的一位支持工程师向我解释,ICS-43434输出的正值和负值“表示信号相对于+/-全尺度的振幅”。
我以为I2S是个标准,难道不是吗.?
发布于 2018-03-13 10:45:08
你必须保存每一个样本的数字化数据,这个字的24位时,转换为十进制,将给你一个电压。这个电压是计算均方根值所需的,稍后再计算你的db SPL。
你用哪块arduino板让它工作?大多数arduino没有I2S通信,我认为Arduiino Zero和MKR是可供用户使用的。如果您使用具有浮点、32位处理器、DMA.的STM32微控制器,您将获得更好的性能。等。
https://stackoverflow.com/questions/47142902
复制相似问题