Microchip
直播中

梁艳

8年用户 262经验值
私信 关注
[问答]

怎么与dsPIC的信号关联

您好,我用XC16编译器使用一个DSIC33 EP128GP502,它必须接收一个模拟噪声信号。这个信号有一个1kHz的正弦波前导,后面跟着一个特定的同步模式以帮助它的检测和同步。我想做一个信号相关来检测这个前导和模式。目前我配置dspic每50uS进行一个12位ADC转换并存储样本。在DMA缓冲器中(乒乓模式)。DMA缓冲器是80字节的缓冲区(因此需要4ms来填充每个缓冲区)。我可以改变或调整这些值。我注意到了向量相关函数,但是我没有找到任何代码示例。我很感激任何帮助或建议)

回帖(19)

王璨

2019-11-4 14:32:47
你知道文档在这里吗?http://www1.micro..com/downloads/en/DeviceDoc/16bit_Language_Tool_Libraries_51456c.pdfAsking google关于“vector.ate”给出了一些到论坛中几个线程的链接。我猜,直接向论坛提问可能会得到类似的结果。我只是检查了一些:如果你知道什么是互相关以及它能够传递什么“很多”,那会很有帮助:我看到一些投诉是不合理的。加上一些或多或少毫无意义的例子。有意义的是不同长度的输入向量和其长度是输入向量长度差的输出向量。别的什么都没用。不知道这对你是否有帮助。
举报

杜元晓

2019-11-4 14:42:57
你可以通过过滤器净化正弦前导。在获得前导能量检测之后,您可以开始搜索同步模式。它有多长?我发现向量关联不适合我(不记得为什么)。我通过将输入信号FFT与参考信号FFT相乘,然后从该乘积中取逆FFT来执行互相关。峰值位置将反映模式的相位匹配。如果信号因振幅而变化,则在变换之前和中间必须执行归一化。否则,你可能会在量化噪声中松开信号。
举报

杜元晓

2019-11-4 14:59:46
在dsPIC FFT和类似设备上遇到困难时,我更喜欢不同的,可能不是能够执行浮点转换的微芯片控制器。只有当信号具有已知幅度和低动态范围时,16位整数(定点分数)数学才是容易的。在其他情况下,它可能是固定点数学可行的,但实施起来相当困难。
举报

李淇淇

2019-11-4 15:10:39
嗨,伙计们,谢谢你们的回答,显然我已经阅读了16bit_Language_Tool_Libraries_51456c文档du00000001,我必须承认我还不太了解如何使用向量,也不了解你们的句子:“有意义的是不同长度的输入向量和输出向量cto。r的长度是输入向量长度的差。“我将花更多的时间研究这个并试图理解你的意思;)Nikolay_Po,谢谢你的建议,但是我宁愿避免使用FFT并保持使用dsPIC。同步模式是类似于像0xB433这样的习惯模式,但在“窦波形式”(不是正方形信号)。我需要做一个同步来提取一个时钟,并且知道在什么时候实时地获取下面的位。我发现一些算法可以互相关,但是由于工具库中有一个函数(vector.ate),所以我想以前尝试一下,因为我猜它是针对dsPIC优化的,不是吗?最好的问候
举报

更多回帖

发帖
×
20
完善资料,
赚取积分