我有样本,相当无用的应用程序,它产生信号(一些频率的短尖峰,然后是较长的静音期,在尾部),然后必须将其写入声卡。声卡通过minijack-minijack电缆自行回放。所以我的应用程序只记录传输信号,以检测以下路径的延迟:
APP->驱动程序 - > DAC-> lineout-> linein-> ADC->驱动程序 - >应用程序
首先,对于我的任务,我需要最小化延迟,以达到beyound亚毫秒范围。0.01-0.1ms将满足,因为这是PC平台上的声纳应用。
其次,我希望能够从填充整个缓冲区切换到单个样本。或者,最多可以最小化缓冲区大小,使其尽可能短。我计算需要16个样本或更短的192khz采样率。完全是实时处理个别样品,我听说这是可能的。
那么,我怎样才能“实现”?我需要什么样的实时 - 硬或软?
请注意,Linux并不真正允许硬实时,甚至是“rt”版本。你需要一个真正的实时操作系统来实现硬实时。
—
dirkt 2017年