本文是在上一基础篇双用户扩频通信仿真的补充说明,主要讲述多用户实现的几个技术关键点,如有需要了解扩频基本架构,可先查看第一篇。(本文关于fdatool工具中低通滤波器参数设计的方法还有待优化,欢迎懂行的大佬指点迷津)
基础篇:单用户到双用户的实现基于matlab/simulink的双链路CDMA直扩通信系统的仿真实现_simulink搭建通信系统_一只野生菌的博客-CSDN博客
技术要点介绍:扩频PN码的结构,扩频通信技术原理详解,关于解扩端的滤波器设计
整体仿真框架
发送端结构:扩频,调制。
通过修改信源初始种子来模拟不同用户,修改PN序列的初始位 模拟不同用户的特征扩频序列
接收端先解调再解扩,与发送端形成对应(虽然上一篇文章中先解扩再解调也能实现,但总感觉不太规范)
补充说明,扩频通信的抗噪原理:用扩频序列解扩后,原信号恢复窄带100hz,然而噪声与解扩序列(6400hz)相乘扩展到更宽的频带,达到抗噪目的。这时通过一个低通滤波器,将噪声滤除,经过抽样判决器,恢复原信号。
关于低通滤波器截止频率参数确定,我是在100~6400hz之间反复取值,才达到一个较低误码率(0.010~0.015).大家如有关于滤波器参数的确定方法或者相关资料,一定在评论区或者私信教教我。参数详情:
滤波前后波形对比:
误码率检测端:关于两个单位码元宽度的时迟,第一处来自于信源处rate transition模块,第二处是我们的IIR低通滤波器造成的。也可以直接通过示波器看出来。
如图所示:是未加延时模块的信源与接受信号对比图,可清楚看到接收端有两个码元宽度时延。
补充资料:关于扩频PN序列的参数修改
PN序列的生成多项式应该是基于m序列生成的。
m序列的生成多项式对应框图中的c,初始值对应图中的a,(M序列生成多项式的特点是首末两位都一定是1,及图中的c 0和c n),这种构造的特点,让a刚好比c少一位。具体可参考 m序列
举个例子,本文用到的m序列是703,对应的二进制是(100 000 011),既是生成多项式。要注意m序列头尾均为1的特点,如103,对应(001 000 011),生成多项式应该是【1000011】.
还可以修改PN序列的频率,理论上扩频倍数越高,序列越长,抗噪声性能越好。
以上是初稿,待后续优化完善。
创作不易,你的三连是UP更新的动力。
推荐资料:
如果需要详细了解直接扩频通信原理,推荐到B站看【熊磊:直接序列扩频与码分多址(四电老陈)】 https://www.bilibili.com/video/BV19K41167YR/?share_source=copy_web&vd_source=30df7056ceb4044bf9b18659cf152f36