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.

[参考译文] MSP430FR5994:LEARAM -为什么限制为0x1000,从而创建静态 Hamming 窗口

Guru**** 2539500 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1086125/msp430fr5994-learam---why-is-it-limited-to-0x1000-creating-static-hamming-window

部件号:MSP430FR5994

下午好,

因此,您可以通过编辑链接器文件来增加 LEARAM 的大小,从而占用常规分配的 RAM 空间。  只要 RAM 中有足够的空间来使代码能够运行所有编译。  我设法在 LEARAM 中添加了一个额外的0x500,但即使如此,也仅限于对2048个样本执行 FFT。  

我遇到的主要问题似乎是 LEARAM 空间,在应用“哈明”窗口时,空间会翻一番。  为了减少代码大小,我是否可以为我的窗口使用静态创建的数组(因为我已经知道样本大小必须为512? )。  如果可以,是否有一个工具可以用来创建阵列,我可以将其复制粘贴到代码中;对于其他类型的 Windows (平板型,Blackman 等)。  如果你也能发送链接,我将不胜感激。

目前仍在寻找任何方法来使用示例( MSP DSP 库:TRANSFER_EX1_FFT_FIXED_Q15.c (TI.com) )对1024个或更多使用窗口调整的样本执行代码。  最多可以进行1024个样本,而不会乘以“Hamming”窗口。  我用5kHz 采样率从读数加速计收集我的样本。  当我执行频率扫描时,振幅采用了一种嗡嗡的模式。

再次感谢您的帮助和指导。

此致,

迈克尔

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

    嗨,迈克尔

    感谢您提出有关低能耗加速器(LEA)的问题!

    我在 LEA 应用方面没有太多经验,我需要更多时间来延迟研究这些问题。

    到目前为止,我只能看到以下内容:  

    Lea UG on: https://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/DSPLib/1_30_00_02/exports/html/usersguide_lea.html

    低能耗加速器(LEA)命令参考指南

    希望这些参考技术文档对您有所帮助

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

    LEA 只能处理4KB RAM (在特定位置),因此 您无法通过更改链接器文件来扩展 LEARAM。 [参考用户指南(SLAU367P)第17.2节]该程序可能会编译,但我希望某些答案是错误的。

    4KB 相当有限。 我最终做了很多换用/换用。 (DMA 帮助了一些人。)

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

    我不确定这是我的问题。  我将链接器置于原始配置中,我正在查看 MSP DSP 库示例:TRANSFER_EX1_FFT_FIXED_Q15.c (TI.com  )上的代码生成的“哈密”窗口,它看起来频率太高,顶部饱和。  适用于512个样本   

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

    谢谢,我感谢您的推荐,当我知道如何正确执行512个样本信号时,我将做一个彻底的研究。  目前我遇到了很多需要解决的问题  

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

    使用定点表示法可以对数据的大小设置严格的限制,以防止溢出。

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

    是的,所有的东西都是16位。  使用 ints [ 0至 32767]的正极; 我最终在 Excel 中创建了 Hamming 窗口,并将.csv 结果复制到初始化中,就像这样。  使用 Excel 电子表格在弧度中进行数学运算要简单一些。

    #define samples512  

    DSPLIB_DATA (窗口,MSP_align_FFT_Q15 (样本))
    静态 const _Q15窗口[样片]={ 2573,2545,2534,2526,2516,2514,2515,2523,2530,2552,2567,2583,2602,2624,26737,2701,2761,2761,2796,8636,2867,

    下面是一张我得到的照片,在将窗口应用到我的输入信号后。  我从 CCS 的内存浏览器复制了此处的值

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

    您好,

    您的窗口数据描述了完整的“Hamming”窗口。 由于此函数是对称的,因此只能使用窗口的一侧来保存表的一半。

    使用命令 LEACMD__Window 对输入数据执行窗口调整操作。

    BTW:LEARAM 从0x2C00到0x3BFF (4096字节);但是 FFT 算法要求数据与偶数地址对齐。 此处的起始地址0x3000甚至可能最大为0x800 (2048字节)的块大小,这将转换为512个复杂输入样本,实际大小和假想大小为16位。 Edson 的算法允许将点扩展到1024个真实16位样本。  但是,使用 X-Y 缓冲方案连续采集数据将实际大小限制为256个复数点(或512个实数点)。 对于较大尺寸,请使用“FR6043/41 tha one has 8kB LEA RAM (FR6043/41 tha One 具有8kB LEA RAM)”。

    约翰