关于音频分析仪分享很少,所以积少成多。希望能帮到碰到同样问题的同学们。

在工作中要用到NI的4461音频分析仪,开始用的是华X达的驱动(也就是根据NIDAQmx编写的动态库),但是在使用过程中有很大的局限性。所以还是自己动根据NIDAQmx写程序更顺手一点。

首先分享一下NI的官网关于DAQmx的帮助:http://www.ni.com/white-paper/2835/zhs/ 参考其中的部分函数已经能解决信号的产生和接收问题。

问题一:如何同时打开两个通道?

解答:

首先复制一段代码:

在C/C++中创建任务
DAQmxCreateTask()函数可用于创建任务, DAQmxCreateAIVoltageChan()函数则用于创建模拟输入电压通道。关于创建不同测试类型的通道的信息,请查看“NI-DAQmx C参考帮助”。以下程序片段是这两个函数的应用范例。

TaskHandle  taskHandle=0;
char        chan[256] = "Dev1/ai0";
float64     min = -10, max = 10;

DAQmxCreateTask("",&taskHandle);

DAQmxCreateAIVoltageChan(taskHandle ,chan ,"", DAQmx_Val_Cfg_Default, min, max, DAQmx_Val_Volts, NULL);

本例中只给出了一个通道的倒开方式:char   chan[256]="Dev1/aio";

其实要想打开两个通道只需要::char   chan[256]="Dev1/aio,“Dev1/ai1";就可以了。很简单。

问题二:如果在音频分析仪中产生双通道不同频率的正弦波?

解答:希望得到答案可以在下面留言。(现在有事,有空再写)

继续:要产生双通道不同频率首先要了解音频分析仪存储数据的结构:间接存储。也就是先存一个波形的点的数据,再存储另外一个波形点的数据

例如:

SinePattern (Number , Value, 0.0, cycles, SineWave1k);//产生波形  其中的参数自己定
SinePattern (Number2 , Value2, 0.0, cycles2, SineWave1k2);

for( i = 0 ; i < Number ; i ++ )
{
SineWave1 [i*2]= SineWave1k[i]; 
SineWave1 [i*2+1]=SineWave1k2[i];
}

这样数组SineWav1就是在函数中调用的数组:

DAQmxWriteAnalogF64 (AudioOUT, Number, 1, 10.0, DAQmx_Val_GroupByScanNumber, SineWave1, NULL, 0);//注意第五个参数

下面是整个程序部分代码:

int   main(void)  
{
// int errStatus;
int Number=100,Number2=100,i,a;
double Value=1.0,Value2=2.0;
double cycles=1.0,cycles2=2.0;
double rate=20000.0,rate2=40000.0;
float64 *SineWave1k,*SineWave1k2,*SineWave1;

SineWave1 = (float64 *) malloc (2*Number * sizeof(float64) );

//double SineWave1[2*Number]={0};
SineWave1k = (float64 *) malloc (Number * sizeof(float64) );  
SineWave1k2 = (float64 *) malloc (Number2 * sizeof(float64) );

SinePattern (Number , Value, 0.0, cycles, SineWave1k);
SinePattern (Number2 , Value2, 0.0, cycles2, SineWave1k2);

for( i = 0 ; i < Number ; i ++ )
{
SineWave1 [i*2]= SineWave1k[i]; 
SineWave1 [i*2+1]=SineWave1k2[i];
}

DAQmxClearTask (AudioOUT); // 清除任务
DAQmxCreateTask ("", &AudioOUT);//创建任务
DAQmxCreateAOVoltageChan (AudioOUT, "Dev4/ao0,Dev4/ao1", "", -10.0, 10.0, DAQmx_Val_Volts, "");//创建通道
DAQmxCfgSampClkTiming (AudioOUT, "", rate, DAQmx_Val_Rising,DAQmx_Val_ContSamps, Number);//定时设定
DAQmxWriteAnalogF64 (AudioOUT, Number, 1, 10.0, DAQmx_Val_GroupByScanNumber, SineWave1, NULL, 0);//

free(SineWave1);
free(SineWave1k);
free(SineWave1k2);
DAQmxStopTask(AudioOUT);
DAQmxClearTask(AudioOUT);
DAQmxStopTask(AudioOUT2);
DAQmxClearTask(AudioOUT2);
return 0;
}

关于NI美国国家仪器音频分析器使用技巧(4461音频分析仪)相关推荐

  1. 万能数据库查询分析器使用技巧之(十五)

    万能数据库查询分析器使用技巧之(十五) --- 6.01版本新增的SQL 执行计划功能 马根峰                    (广东联合电子服务股份有限公司, 广州 510300) 摘要    ...

  2. 万能数据库查询分析器使用技巧之(十六)

    万能数据库查询分析器使用技巧之(十六) --- 6.02版本新增的SQL 执行计划数据库连接自动恢复                               马根峰                 ...

  3. 万能数据库查询分析器使用技巧之(十三)

           万能数据库查询分析器使用技巧之(十三) --谁与争峰:"万能数据库查询分析器"强大的EXCEL文件处理功能 马根峰         (广东联合电子服务股份有限公司,  ...

  4. 万能数据库查询分析器使用技巧之(九)

    万能数据库查询分析器使用技巧之(九)         马根峰    (广东联合电子服务股份有限公司,广州 510300) 作者博客: CSDN博客:http://blog.csdn.net/magen ...

  5. kodi 解码器 android,智能电视最强播放器—KODI常见使用技巧全方位解读

    智能电视最强播放器-KODI常见使用技巧全方位解读 2019-10-10 15:19:22 880点赞 9854收藏 510评论 现在智能电视/盒子应该是各家各户的标配,其实智能电视本身在配置和解码能 ...

  6. 万能数据库查询分析器使用技巧之(十四)

      万能数据库查询分析器使用技巧之(十四)                马根峰           (广东联合电子服务股份有限公司, 广州 510300) 摘要     本文详细地介绍了" ...

  7. 万能数据库查询分析器使用技巧之(十一)

    万能数据库查询分析器使用技巧之(十一) 马根峰                  (广东联合电子服务股份有限公司,广州 510300) 摘要    本文详细地介绍了"万能数据库查询分析器&q ...

  8. 视频提取音频 - 手机视频在线提取音频提取器

    怎样将视频中的音频提取出来?一刀工具箱提供一键可将手机相册中的视频提取音频,便捷的快速获取到视频中的音频文件,视频提取音频的软件,免费转换 mp3 格式的工具. 代码片段 buildVideo(){l ...

  9. 万能数据库查询分析器使用技巧之(十)

     万能数据库查询分析器使用技巧之(十)    ---比DB2 EXPORT更高效的查询结果导出功能 马根峰 ( 广东联合电子服务股份有限公司, 广州 510300) 摘要     本文详细地介绍了&q ...

  10. 每日一个小技巧:音频提取软件免费版有哪些?这3款收好了

    最近有小伙伴告诉我,他在观看视频的时候,意外发现了一段自己很喜欢的音乐,但却无法对其进行单独保存,为此很是苦恼!其实,这个问题很好解决的~我们只需要借助音频提取器将这首音乐提取出来就可以啦!那你知道音 ...

最新文章

  1. 02数据结构——算法概念
  2. [游戏模版21] Win32 物理引擎 能量守恒
  3. 良品铺子,互联网经济下的“两元店”
  4. 日常生活小技巧 -- 虚拟串口工具
  5. python调用r语言_【Python调用第三方R包】【环境变量设置】Python 通过rpy2调用 R语言...
  6. python templates_python templates在哪
  7. 剑指offer 栈的压入、弹出序列
  8. Java修炼之路——基础篇——Java关键字
  9. BZOJ2017[USACO 2009 Nov Silver 1.A Coin Game]——DP+博弈论
  10. Flask 中的上下文管理和请求钩子
  11. python实现图像分割_Python实现投影法分割图像示例(一)
  12. SI4438可变长包数据收发
  13. vue 点击取消按钮关闭页面_vue 点击按钮弹窗,点击关闭按钮关闭弹窗。
  14. java pdf转png格式_如何在Java中将PDF转换为PNG或JPG
  15. 中介效应调节效应分析对比及操作详解
  16. 怎样的男女才是最合适的
  17. 三体 读后思考-泰勒展开/维度打击/黑暗森林
  18. element.style样式如何修改
  19. h5课件制作_一款专业的HTML5课件制作工具:炫课
  20. 小菜成长记---【proxy 代理模式 ---西门庆干潘金莲——王婆做代理】

热门文章

  1. android隐藏root环境,Android安全检查之Root环境检测
  2. 【线性分类器】(三)线性分类器的松弛求解: LEMS 算法,H-K 算法
  3. 基于 Java 机器学习自学笔记 (第60天:过去十日的总结)
  4. 精心整理了7种常用数据分析方法(建议收藏)
  5. Java校招120道面试题目合集
  6. CGAL学习记录——点云密度计算
  7. Excel-制作简单的环形柱状图
  8. 基于深度区域的金字塔神经网络用于铝合金表面各种缺陷的自动检测和多分类—论文笔记
  9. 5S管理活动的实施和运行方案
  10. abb机器人goto指令用法_ABB机器人的指令详细介绍!!!