问答

汇集网友智慧,解决技术难题

21ic问答首页 - 无线音频传输延迟问题

无线音频 无线延迟 I2S

无线音频传输延迟问题 赏100家园币

skay52882022-05-05
本帖最后由 skay5288 于 2022-5-5 17:27 编辑

在做48khz采样率的无线音频传输系统时,发现无线传输的数据,赶不上音频播放输出的数据,就是无线收发延迟比较大(无线发送32个字节的数据需要延时286us,而这286us里面音频数据I2S流已经传输了大概228个字节了,无线数据流远远慢于音频I2S数据流,导致声音失真严重),下面是系统框架图与无线收发的时序图,请问有什么办法优化呢? 508566273985c71363.png 6166962739869cad65.png

回答 +关注 0
537人浏览 8人回答问题 分享 举报
8 个回答
  • 只需要加入SRA
    skay5288 2022-5-7 09:01 回复TA
    请问下SRA是什么呢? 
  • 楼主的描述我不明白,数据传输延时和带宽是两个概念,只要带宽够,传输延时就算延时1秒,也不会导致声音有问题。
    我看楼主的问题应该是数据传输带宽太慢。不知道楼主是立体声还是单声道,我姑且按单声道,48KHz 16bit量化,码率为48*16=768Kbits/s=96bytes/s,则传输带宽要1Mbits/s以上为好,声音就会连续。如果要降低带宽,则要压缩声音,简单的压缩是ADPCM,码率变为48*4=192kbits/s=24kbytes/s,250kbits/s就可以满足要求。
    skay5288 2022-5-6 13:21 回复TA
    我这边理解的是I2S一直要输出,如果无线传输过来的数据及时让I2S输出,是不是就会出现问题呢?比如说噪声啊,变音啊之类的呢? 
    skay5288 2022-5-6 13:19 回复TA
    是立体声,48khz,24位,码率为:48k * 2 * 32 = 3.072Mbits/S; 
  • 是不是位数不够呢
  • 这不叫延时了,叫信道过载。

    信源不能压缩,就无解。比如蓝牙,它用SBC , AAC或者 apt-x 压缩传输音频。
    skay5288 2022-5-6 13:22 回复TA
    谢谢,我试下压缩传输的方法; 
  • 延时归延时,失真归失真,两码事。无线传输都有延时,至于失真,需要MCU缓存ADC和DAC的数据,再进行处理。
    技术无可挑剔 2022-5-6 13:48 回复TA
    @skay5288 :无线传输的速度不够,那和测延时有什么关系?数据通信有各种协议,必然会导致延时。所以,你这个问题描述不清楚。再说,数据的压缩也会导致失真,MCU也难以胜任压缩和解压缩这类DSP才能完成的工作。 
    skay5288 2022-5-6 13:14 回复TA
    就是无线传输的速度,赶不上I2S输出的速度,导致播放出来的声音有很大的噪声; 
  • skay5288 发表于 2022-5-6 08:14
    做插值,会影响音频质量吗?

    我也不懂瞎说的,你先试试看,不行再想办法。I2S不受单片机控制吗?不能调慢吗?
    LcwSwust 2022-5-7 09:10 回复TA
    @skay5288 :插值当然不是插入0值了,而是两个数据之间的值,你百度一下“线性插值”。简单的方法就是直接复制数据,比如原来你有两个点的数据是{0x80,0x90},然后你需要把它变成四个点的数据,复制一下就是{0x80,0x80,0x90,0x90},若是按照线性插值,那就变成{0x80,0x88,0x90,0x98}。 
    skay5288 2022-5-7 09:02 回复TA
    试过了,插入一些0值后,噪声基本都没有了,声音也没有出来; 
  • LcwSwust 发表于 2022-5-5 18:11
    看起来无线的速度是够的,只是播放时I2S速度过快,能否调慢I2S?不能调慢的话就做一下线性插值让数据变多。 ...

    做插值,会影响音频质量吗?
  • 看起来无线的速度是够的,只是播放时I2S速度过快,能否调慢I2S?不能调慢的话就做一下线性插值让数据变多。

您需要登录后才可以回复 登录 | 注册