为什么通过USB将浮点数从PC发送到DSP时8 LSB位被破坏了?

时间:2019-05-28 10:50:55

标签: matlab usb

我正在通过USB以32-bit float格式将数据从matlab发送到 DSP 。在 DSP

  • 我得到的8 LSB位有一些损坏。

  • 其他24 MSB位正常。

我尝试使用采样率(16kHz48kHz)和缓冲区的长度,但没有帮助。我也尝试了 DSP 中的驱动程序的一些参数,但没有帮助。

matlab的代码是:

 Audio_input_device                      = 'My USB Audio Device';
 AUDIO_DEVICE                            = 
 audioPlayerRecorder('Device',Audio_input_device);
 AUDIO_DEVICE.BitDepth                   = '32-bit float';
 AUDIO_DEVICE.SampleRate                 = 16e3;
 AUDIO_DEVICE.RecorderChannelMapping     = 1:8;
 AUDIO_DEVICE.PlayerChannelMapping       = 1:8;
 message                                 = reshape((1:1024)/1024,1024/8,8);
 [audioFromDevice,numUnderrun,numOverrun]            = AUDIO_DEVICE(message);
  

例如。如果我发送0x00aaaaaa(我实际上发送了float,但对于   这个问题,说Hex会更方便,我可能会收到   0x00aaaaab

0 个答案:

没有答案