使用C#从RTL-SDR设备以.wav格式存储数据

问题描述

我能够通过在c#.netcore3.0中使用(https://github.com/nandortoth/rtlsdr-manager)包装器,使用librtlsdr.dll和libusb-1.0.dll与rtl-sdr连接。

开始通过设置设备频率从设备获取样本数据。我正在智商列表中获取数据。

我需要将此数据存储在.wav文件中。使用chrome.usb.bulktransfer函数非常容易。此函数提供可直接写入.wav文件的int8array,int32array,uint8array。

我不知道如何使用IQ阵列中的c#完成它

任何建议或代码示例将不胜感激。

解决方法

要将IQ数据保存到.wav文件,可以将I分量写入一个通道,将Q分量写入另一通道(reference)。

“同相”(真实)通常放置在左通道中,“正交”(imag)部分放置在右通道中。

您可以使用NAudio来实现。首先,您需要ulBinaryWriter数组(IQ数据)转换为intStream数组)。然后,您可以使用byte创建具有2个通道的.wav文件。

MultiplexingWaveProvider