本来当时就打算更的,但是后来发现有些问题需要画图,但是电脑画图不方便,所以拖了几天,现在正式开始更新。
以前的专业没学过通信原理,所以这次做毕设是第一次接触到扩频解扩技术。之前为了弄懂看了几本通信原理的书,明白了大致原理。我的毕设是用直接扩频技术,具体的理论知识网上一搜全是,我就不详细讲解了,主要理一理我当时写代码时候不明白的地方吧。
一开始是直接从网上copy了一个算法直接用,但是到后面仿真算法的时候发现结果总是不对,最后才发现网上的代码里面基础的扩频解扩都是错的,所以网上的代码真的感觉不太靠谱,即使要用也要记得检查一下,看一看符不符合自己的要求。
我当时怎么都想不明白,如果我要发送的数据是64bits,用了1023chips的扩频码进行扩频,那解扩的时候64*1023的扩频后数据和1023的扩频码循环相乘,得到的也是64*1023的数据,只是把64bits的数据展开1023倍,但是最后需要的是64bits的数据,是怎么把64*1023长度的数据变成64长度的数据呢,是每个数据抽一个点吗?
不知道大家也没有理解我的问题,我画图举个例子表示一下:
如果发送的数据和接收的数据都是理想状态下,那么随便在一个数据位里面1023个点抽取一个就好,但是如果发送端加上多普勒,然后接收端要估计多普勒的话就不能直接抽取了,而且也不知道该抽取哪个。
我的解决办法是将1023个点相加了直接除以1023,即取平均,这样就能尽量保留信息了。
当然我也不知道我的解决办法好不好,如果有更好的办法各位大佬可以指正一下。
dmm8 2022-4-18 11:36