用户故事

美国国家航空航天局兰利研究中心与GPU加速声学数据分析计算

挑战

加快录音的分析从飞机的风洞测试组件

解决方案

使用MATLAB和并行计算工具箱来重新实现遗留程序用于处理声学数据,减少处理时间,在GPU上运行计算密集型操作

结果

  • 计算完成了40倍
  • 算法GPU-enabled 30分钟
  • 加速处理测试数据

“我们的遗留代码花了40分钟来分析一个风洞试验;通过使用MATLAB和GPU计算时间正在一分钟。让我们花了30分钟MATLAB算法在GPU-no低级CUDA编程需要。”

克里斯托弗·巴尔,NASA
风洞测试设置特色的体翼混合模型(倒),与97 -麦克风相控阵(上)和麦克风塔(左)。

作为空中交通和住房和商业开发机场附近增加,减少了噪声产生的商用飞机在起飞和降落仍然是一个高优先级。探索和评估消声技术,美国国家航空航天局兰利研究中心的研究人员正在分析小说飞机设计,如体翼混合(HWB)。

工程师使用MATLAB®和并行计算工具箱™NVIDIA gpu加速声的处理数据。

“MATLAB取代了老处理声波数据的算法,和并行计算工具箱GPU加速新算法通过执行它,很少改变代码,”克里斯托弗·巴尔说,NASA兰利研究中心,研究航天工程师空气声学分支。“我们现在在风洞试验分析数据,从而大大减少停机时间。”

挑战

NASA的工程师使用126麦克风来记录声音由风洞试验期间飞机组件。30秒后,工程师重新定位麦克风,开始另一个30秒的录音。一个单一的运行可能包括14录音。多个可能运行在不同的风洞速度或不同方向的飞机。一个简单的测试可能由数以百计的运行。

工程师们使用遗留程序用Fortran编写的,大概花了20 - 40分钟来处理生成2 gb的数据在每个记录。团队想要减少处理时间,这样他们可以识别硬件问题,以及动态决策即将运行配置。进一步,他们想设备处理数据,减少了数据传输开销和简化数据安全程序。

他们知道多核处理在单个机器上不会提供所需的处理速度。团队需要GPU处理,以满足他们的需求。

解决方案

NASA的工程师重新实现MATLAB中的旧代码和使用GPU计算与并行计算工具箱,以减少处理时间。

在MATLAB工作,工程师们开发了一个算法来处理16位整数数据从数据采集系统。MATLAB算法将数据转换为压力信号,信号分解成块,块变换到频域,纠正对仪表和过滤效果,平均在整个街区建设提供估计的协方差矩阵的每一对麦克风。

算法结合了汉明,皇帝,从信号处理工具箱™和平顶建筑物的窗口函数,以及快速傅里叶变换(fft算法)和矩阵乘法操作。这是第一次为标准开发的CPU操作。

验证MATLAB实现,团队将产生的结果与结果产生的遗留代码,确保匹配可接受的公差范围内。然后他们更新了MATLAB代码,使用并行计算工具箱声学数据转移到甘蓝型GPU和执行计算密集型操作。

简化批处理的录音,工程师们创建了一个图形界面在MATLAB用于指定算法选项和选择录音过程。他们开发了一个接口生成的结果,包括窄带光谱和1/3倍频带谱图。这些情节帮助评估噪声源的行为和数据质量,并用于开发先进的噪声抑制模式。

该小组计划在MATLAB开发更多先进的处理算法。这些算法将使他们能够更准确地确定噪音的来源在风洞测试。

结果

  • 计算完成了40倍。“我们的遗留代码花了40分钟来分析一个风洞试验,”巴尔表示。“最初的MATLAB实现削减时间20分钟。GPU的计算与并行计算工具箱切下一分钟,大部分时间花在数据传输上。”

  • 算法GPU-enabled 30分钟。“我们执行许多操作,包括fft算法和矩阵乘法,是GPU-enabled MATLAB函数,”巴尔表示。“一旦我们开发了CPU执行最初的MATLAB代码,让我们花了30分钟算法在GPU-no低级CUDA编程需要。”

  • 加速处理测试数据。“在过去,我们的数据处理算法过于缓慢的处理声音数据以这种方式在风洞试验中,”巴尔回忆说。“用MATLAB代码运行在GPU上的,我们分析数据记录后,识别任何问题测试设置,并立即改正。”

下载188bet金宝搏产品使用

展示你的成功

加入客户参考程序