以omapl38为核心的通信系统接收机的采集问题,是问题!
2019-07-13 17:27发布
生成海报
近来在调试通讯系统的接收机。
发射端用信号源发射信号,信号前端是一段线性调频信号,运用线性调频同步。
接收端用仿真器调试dsp接收程序,我把断点设在同步程序之后的某个地方,当程序运行到这个断点时,恰好保证线性调频以及后面的信号可以保存在dsp的内部存储器上。
理论上我保存的信号应该完全等于发射信号,最多会有一些因采样时钟偏差引起的频偏,然而我接收到的信号线性调频部分却总是这样的:
就是这个lfm中间丢一部分吧,当然这也不是固定的,无论长度还是位置,有时候是前半段,有时候是后半段,丢多少看心情,有时候它还一点不丢,这些个随机过程真是令我百思不得其解。
当然即使这样我也能同步得到我信号的起始部分继而对它进行解调均衡(没办法lfm就是这么6),但是还有另外一个问题
lfm和后面的信号原本我是有n个点的保护间隔的,lfm丢失其实我无所谓,关键是这个n变了,这就导致我无法正常找到我的信号了,而且n变了的同时必然会引起lfm的部分丢失,lfm部分丢失未必会引起n的变化,即前者是后者的充分不必要条件。
据相关专家学者解释,可能是ad时序的问题,但我持怀疑态度。因为理由很简单,虽然程序里有开关ad的操作,但是我是仿真器调试运行的,可以单步运行的操作,从程序运行到断点的过程中,能保证ad一直在工作,而且过程中只包含一帧信号。
刚刚又发现了新的问题,即使lfm没有部分丢失,保护间隔n点也有可能不一样,这个新发现让我连死的心都有。。。。。
重述一下过程:模拟接收--ad采集--mcbsp--edma(pingpong)--程序中的memcpy接收数据到指定内存1--memcpy到另一个指定内存2--保存内存2中的数据为dat--画出图形发现问题。
究竟是哪一步呢有问题呢?
目前我还不知道。。。。。。。。。。。。
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮