This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 在HSDC Pro中将原始数据转换为csv文件

Guru**** 2012440 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1092088/data-converting-for-raw-data-to-csv-file-in-hsdc-pro

您好,

当我使用 Get_Capture_Data_32bit函数从自动化dll中捕获数据时,我得到大约3.6万个原始数据。 但是,当我使用 Save_Raw_Data_As_CSV函数保存它时,我得到了小数字的良好转换原始数据,并且我发现它更适合绘制和分析结果。 我想将数据 从 Get_Capture_Data_32bit转换为类似的数据。 我能知道在csv中,此转换数据使用的公式是什么吗?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Farid,

    是否可以附加包含Get_Capture_Data_32bit函数结果的文件? 我不确定我是否理解您提到获得3.6万左右的数据时的意思。  我自己不熟悉该功能,但我会尝试在我的方面进行复制。 如果您可以附加文件,这将很有帮助。  

    谢谢,Chase

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的快速响应。

    下面是我使用 Get_Capture_Data_32bits收集数据后使用NumPy保存的csv的屏幕截图。

    这是我用 HSDC自动化DLL中的Save_Raw_Data_As_CSV函数直接保存的csv。

    如您所见,第二个csv比第一个好得多。 这是因为它转换了我不知道的dll中的原始数据。 我的问题是找出转换数据的功能。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请将两个文件作为附件上传吗? 我最初的想法是这与dll调用的返回类型不匹配有关。

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Farid,

    这些函数之间的唯一区别是将数据从无符号Int16转换为有符号Int16。 从这些未签名的Int16值中减去(2**15)将获得 Save_Raw_Data_As_CSV函数返回的值。

    此致,Chase

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回复。 正如您所说,我减去了数值,但我仍然没有得到结果(绘图),就像我从保存的csv中获得的数据一样。 这是因为我只发送通道1和通道2的数据,但在 Get_Capture_Data_32位中,我获得的每个通道的结果几乎相同。 但是,我可以在 Save_Raw_Data_As_CSV的数据中看到它。  

    现在,我想告诉您 我通过步骤所做的事情:  

    --首先我用 Get_Capture_Data_32bits函数读取数据,示例窗口为4096。

    ——然后我将它转换为NumPy数组并重新调整它的格式,只采用前8列。 因为此函数以交叉存取模式发送我,而我不使用交叉存取模式,所以8-16之间的列都是零。 整个功能就是这样。

    np.frombuffer(CaptureData_32bits,dtype = np.int32).reshape(16,Number_Of_Samples_Per_Channel)

    --最后,我按照您的建议从数据中减去2**15,并将其保存到csv中。

    当我绘制每个信道的数据b扫描图时,我会获得每个信道的相似结果,尽管值不同。 但是,使用Save_Raw_Data_As_CSV 函数直接保存数据时,从数据中得到的结果不同。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Farid,

    我使用了相同的方法,但没有发现这个问题-我看到的数据是相同的。 我想您可能是偶然通过了一个捕获事件,这会改变数据。 让我创建一个实验供您尝试。 敬请期待。

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Farid,

    将附加文件导入HSDC Pro.  e2e.ti.com/.../ADCdataToImport.csv

    要在HSDC Pro中导入此文件,请单击文件->导入数据文件。 选择2个通道,将分辨率设置为16位,并确保选中2s补码。 (参见下图)

    接下来,运行python脚本 。e2e.ti.com/.../saving_5F00_format_5F00_test.py

    此python脚本将使用这两种方法保存数据。 减去2^15偏移量后,CaptureData_32位中的数据将读取与CSV方法中的数据相同。 要下载python脚本,请单击嵌入式代码查看器的右上角。

    谢谢,Chase

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您提供代码和说明。 我似乎错误地重新调整了数组。 现在一切都很完美。