基于matlab的simulink的cdma系统多用户仿真要点.docx
《基于matlab的simulink的cdma系统多用户仿真要点.docx》由会员分享,可在线阅读,更多相关《基于matlab的simulink的cdma系统多用户仿真要点.docx(21页珍藏版)》请在冰豆网上搜索。
![基于matlab的simulink的cdma系统多用户仿真要点.docx](https://file1.bdocx.com/fileroot1/2023-2/11/a41d4ae1-bb62-4b87-960c-05972d9558b4/a41d4ae1-bb62-4b87-960c-05972d9558b41.gif)
基于matlab的simulink的cdma系统多用户仿真要点
通信系统原理综设实验报告
基于Matlab的CDMA系统的仿真设计
ﻩ
教师评语:
关键字:
cdma,matlab,simulink,多用户检测,滤波器,抽样判决器
希望你们都能理解这个系统,并且完善它,免费提供给下届师弟师妹。
老师真心坑爹。
Matlab2011,XX网盘mdl文件下载地址:
http:
//pan.baidu.com/share/link?
shareid=436323079&uk=2148250124
一、引言
CDMA是指在各发送端使用不相同、相互(准)正交的地址码调制所传送的信息,而在接收端在利用码型的(准)正交性,通过相关检测,从混合信号中选出相应的信号的一种技术。
实现CDMA的理论基础是扩频通信,即在发送端将待发送的数据用伪随机码进行调制,实现频谱扩展,然后进行传输,而在接收端则采用同样的编码进行解扩及相关处理,恢复原始的数据信息。
该实验系统通过对多用户下的DS-CDMA系统进行仿真设计,说明DS-CDMA通信系统的基本实现方式,实现PSK调制与解调,加入信道噪声,并实现多用户检测。
在增加用户的情况下,分别检测系统的误码率。
二、系统框图及分析
图1
DS-CDMA利用不同的地址码(PN序列)区分用户,地址码与用户数据(信码)相乘后得到扩频信号,经信道传输后,在接受端与本地地址码进行相关检测后,从中将地址码与本地地址码一致的用户数据选出,把不一致的用户除掉。
从而实现了利用正交地址码序列区分用户,体现了码分多址的通信方式。
三、系统具体实现及分析
1、扩频设计
1.1 基本原理
扩频通信技术是一种信息传输方式,其信号所占有的频带宽度远大于所传信息必需的最小带宽;频带的扩展是通过一个独立的码序列来完成,用编码及调制的方法来实现的,与所传信息数据无关;在接收端则用同样的码进行相关同步接收、解扩及恢复所传信息数据。
ﻭ
(1)扩频通信的理论基础
①香农公式
②公式分析
A、在给定的传输速率C不变的条件下,频带宽度W和信噪比S/N是可以互换的。
即可通过增加频带宽度的方法,在较低的信噪比情况下,传输信息。
B、扩展频谱换取信噪比要求的降低,正是扩频通信的重要特点,并由此为扩频通信的应用奠定了基础。
(2)工作原理
在发端输入的信息先经信息调制形成数字信号,然后由扩频码发生器产生的扩频码序列去调制数字信号以展宽信号的频谱。
展宽后的信号再调制到射频发送出去。
在接收端收到的宽带射频信号,变频至中频,然后由本地产生的与发端相同的扩频码序列去相关解扩。
再经信息解调、恢复成原始信息输出。
(3)实现方法
扩频的基本方法有直接序列(DS)、跳频(FH)、跳时(TH)和线性调频(Chirp)等4种。
本设计采用直接序列扩频工作方式,简称直扩(DS)方式。
直序扩频技术的原理是使用快速变化的二进制比特流调制射频载波信号,这种二进制比特流看上去是随机的,实际上是按照特定的算法由数字电路产生的,称为伪随机码(PN序列)。
在伪随机码的调制下,信息通过发射机发射。
相应的接收机内能够产生相同的伪随机码,按照发射的逆过程解调,解析出有效信息信号。
1.2具体设计
(1)信源设计
信源采用二进制贝努利序列产生器(BernoulliBinaryGenerator)产生二进制序列。
采样时间设置为6e-4s,且不同用户的随机种子不同。
(2)伪随机序列设计
伪随机码是一种结构可以预先确定,可重复产生和复制,具有某种随机序列随机特性的序列码。
伪随机码序列一般可以利用移位寄存器网络产生。
在DS-CDMA系统中,所有用户工作在相同的中心频率上,输入数据序列与伪随机序列相乘后得到宽带信息。
不同用户使用不同的PN序列,这些PN序列相互正交。
在实际的通信系统中可以利用不同的伪随机序列作为不同用户的地址码,从而实现码分多址通信。
常用的PN序列有m序列、Walsh序列及GOLD序列。
Walsh 码序列比较复杂,正交性较好,主要用于CDMAIS-95 系统中。
而Gold序列可以比m序列产生更多的地址码,更适合于大型的通信系统。
m序列是最长线性移位寄存器序列的简称。
它是由多级移位寄存器或其他延迟元件通过线性反馈产生的最长的码序列。
由于m序列容易产生、规律性强、有许多优良的性能,在扩频通信中最早获得广泛的应用。
如图2所示,m序列可由二进制线性反馈移位寄存器产生。
它主要由n个串联的寄存器、移位脉冲产生器和模2加法器组成。
图中第i级移存器的状态ai表示,ai=0 或ai=1,i=整数。
反馈线的连接状态用ci表示,ci=1表示此线接通(参加反馈),ci=0表示此线断开。
由于反馈的存在,移存器的输入端受控地输入信号。
不难看出,若初始状态为全“0”,则移位后得到的仍为全“0”,因此应避免出现全“0”状态,又因为n级移存器共有2n-1种可能的不同状态,除全“0”状态外,剩下2n-1种状态可用。
每移位一次,就出现一种状态,在移位若干次后,一定能重复出现前某一状态,其后的过程便周而复始了。
反馈线位置不同将出现不同周期的不同序列,我们希望找到线性反馈的位置,能使移存器产生的序列最长,即达到周期P=2n-1。
按图2中线路连接关系,可以写为:
(模2)
该式称为递推方程。
图2线性反馈移位寄存器
上面曾经指出,ci的取值决定了移位寄存器的反馈连接和序列的结构。
现在将它用下列方程表示:
这一方程称为特征多项式。
式中xi仅指明其系数ci的值(1或0),x本身的取值并无实际意义,也不需要去计算x的值。
例如,若特征方程为f(x)=1+x+x4则它仅表示x0,x1和x4的系数c0=c1=c4=1,其余为零。
经严格证明:
若反馈移位寄存器的特征多项式为本原多项式,则移位寄存器能产生m序列。
只要找到本原多项式,就可构成m系列发生器。
表1部分本原多项式
m序列的基本性质如下:
①周期性:
m序列的周期p取决于它的移位寄存器的级数, p=2n-1
②平衡特性:
m序列中0和1的个数接近相等;m序列中一个周期内“1”的数目比“0”的数目多1个。
③游程特性:
m序列中长度为1的游程约占游程总数的1/2,长度为2的游程约占游程总数的1/22 ,长度为3的游程约占游程总数的1/23…
④线性叠加性:
m序列和其移位后的序列逐位模2相加,所得的序列还是m序列,只是相移不同而已。
例如1110100与向右移3位后的序列1001110逐位模2相加后的序列为0111010,相当于原序列向右移1位后的序列,仍是m序列。
用公式表示为:
其中:
u(i)、up(i)、uq(i)分别为原序列、平移p个元素后的序列及平移相加后得到的序列中的第i个元素。
⑤二值自相关特性:
码位数越长越接近于随机噪声的自相关特性。
m序列的自相关函数计算式为
其中:
为码序列的最大长度,亦即m序列的周期;
Tc为m序列码的码元宽度。
可见,相关函数是个周期函数。
⑥m序列发生器中,并不是任何抽头组合都能产生m序列。
理论分析指出,产生的m序列数由下式决定:
其中Φ(x)为欧拉数(即包括1在内的小于x并与它互质的正整数的个数)。
例如5级移位寄存器产生的31位m序列只有6个。
该设计采用PN序列生成器(PNSequenceGenerator),生成扩频序列不同的用户。
PN序列生成器,使用相同的特征多项式[10 0 0 01 1],但是初始状态不同。
采样一般设置为信源速率的整数倍,该系统采样时间设置为2e-5s。
1.3极性转换与乘法器
用乘法器(Product)对将已进行极性转换的信源和扩频序列相乘,完成扩频。
(1)基本原理:
二进制数用0,1表示,在常用的正逻辑数字电路里面的形式是低电平(L)、高电平(H)。
两个二进制序列A、B由异或门及模拟乘法器进行处理的电路及输出如图3所示。
1
1
00
0
1
1
1
00
B
A
1
1
1
1
-1
-1-1
-1-1
-1
-A,B=-1(B=0):
A
A
A·B=A·B=
0
1
A
A
B
(a)
A
B=
A,B=0:
A,B=1:
1
1
A
-A
B
(b)
A,B=+1(B=1):
图3两个二进制序列通过(a)异或门及(b)模拟乘法器
图3中,假定A=010011…,B是长串的连0或连1。
模拟乘法器输入、输出端有自己的正常静态偏置电平,故与前后电路必须通过隔直流电容相联。
输入二进制序列0、1…经过隔直后,以模拟乘法器输入偏置电平为参考,成为负电平、正电平…,归一化后为-1、+1…,即0变成-1,1变成+1。
由图3可见,除了倒相之外,两电路的输出完全相同。
而倒相的差别,很容易通过加一级倒相器来消除,可以不予考虑。
将A、B互换或改为其它数椐重画波形,可得到相同结果。
由以上分析可得到以下结论:
①(0,1)域上的二进制序列作乘法运算,必须首先转换到(-1,+1)域上(0→-1,1→+1)然后再相乘。
②二进制序列在(0,1)域上模二加(异或)运算与其在(-1,+1)域上的乘法运算等效。
进一步分析容易得出,对于两路输入信号为多个数字序列波形线性叠加的情况,只要输入幅度没超过模拟乘法器线性工作范围,上述结论
(1)仍适用;而异或门是非线性器件,上述结论
(2)就不能推广了。
(2)扩频过程如图4所示:
贝努力序列
扩频信号
PN序列
图4:
扩频过程演示
2、调制与解调设计
调制采用M-PSK调制模块(M-PSKModulatorBaseband),设置为8进制相移键控。
8进制相移键控即是将输入二进制数字序列中每3比特分成一组,共有8种组合,即000,001,010,011,100,101,110,111。
用8种相位之一去代表每种排列。
解调采用M-PSK解调模块(M-PSK Modulator Baseband),同样设置为8进制。
8PSK信号相位如图5所示:
图5:
8PSK信号相位图
3、信道设计
采用加性高斯白噪声信道(AWGNChannel模块)进行分析。
由于AWGN信号易于分析、近似,因此在信号处理领域,对信号处理系统(如滤波器、低噪音高频放大器、无线信号传输等)的噪声性能的简单分析(如:
信噪比分析)中,一般可假设系统所产生的噪音或受到的噪音信号干扰在某频段或限制条件之下是高斯白噪声。
4、相关检测设计
4.1基本原理
DS-CDMA系统的载波调制方式可采用调频或调相,以调相方式应用最广。
以2PSK调制为例,发端用户1发射的信号为
(式1)
上式中,d1(t).c1(t)是(-1,+1)域二元数据,则S1(t)是0/π调相的2PSK信号。
故载波调制器就是模拟乘法器。
式1可写成如下形式
(式2)
或
(式3)
ﻩ
上式表明,发端的DS-CDMA射频信号,可通过先扩频调制再载波调制(式2)或先载波调制再扩频调制(式3)得到,二者是等效的。
与此对应,收端也有二种等效的解调方案。
本实验系统采用的方案是:
发端先扩频调制再载波调制,收端先载波解调再扩频解调。
发端N个用户发射在空中的信号在时域、频域完全混叠在一起,收端每一个用户都可收到。
收端第1个用户天线收到的信号
ﻩﻩﻩﻩ(式4)
解调后的信号
ﻩﻩ (式5)
经过与本地地址码c1(t)相关检测后输出信号
(式6)
上式中,T为地址码序列周期,等于信码周期Tb,故积分号中信码di(t)是常数可提出,得
ﻩﻩ(式7)
已知PN序列的互相关函数为0,即
(式8)
代入式7,根据地址码的正交性关系可得
ﻩ (式9)
上式9中
为c1(t)的自相关函数峰值。
经采样后得到方波形式的信码d1(t)。
收端用户1从发端N个用户发射在空中,在时域及频域完全混叠的DS-CDMA信号中,接收到发端用户1的信码。
4.2解扩设计
将解调后信号与原伪随机序列相乘完成解扩。
4.3滤波器设计
每一路用户与对应的PN序列相乘完成解扩,解扩后的信号是窄带信号。
其他用户仍是宽带信号,因此还需要设计一个低通滤波器,将窄带信号提取出来。
设置滤波器为FIR低通滤波器,Fs=100Hz,Fpass=4Hz,Fstop=9Hz。
四、实验数据结果及分析
1、频谱分析和信号波形对比
假设:
信码速率Rb(单位:
b/s,比特/秒)、周期Tb=1/Rb;地址码速率Rp(单位:
c/s,码片/秒或子码/秒)、周期Tp=1/Rp,地址码序列每周期包含p个子码元,序列周期
。
通常设置
即
上式表明,地址码速率Rp是信息速率Rb的p整数倍,1个信码周期Tb对应一个地址码序列周期T。
信息码与地址码相乘后占据的频谱宽度扩展了p倍。
①扩频前频谱:
②扩频后的频谱:
③解扩滤波后的频谱:
可以看到:
待传信息的频谱被扩展了以后,能量被均匀地分布在较宽的频带上,功率谱密度下降;扩频信号解扩以后,宽带信号恢复成窄带信息,功率谱密度上升;相对与信息信号,脉冲干扰只经过了一次被模二相加的调制过程,频谱被扩展,功率谱密度下降,从而使有用信息在噪声干扰中被提取出来。
④信号源和接收端波形对比
由上图可以看出信号源和接收波形是一致的。
这是在3用户的情况下,误码率只有0.01295时查看的波形。
2、误码率分析
用户数量
调制方式
信道SNR(dB)
误码率
3
8-PSK
10
0.01295
4
8-PSK
10
0.02368
5
8-PSK
10
0.02032
6
8-PSK
10
0.03967
7
8-PSK
10
0.04002
从上面的实验结果可以看出,随着用户数量的增加,误码率基本随着增大的趋势。
而用户数量为5时,误码率反而比用户数量为4时有所下降。
经过查阅资料,是PN序列的性能较差所导致。
我们采取的6位的PN序列,生成多项式为[10000 11],自相关性不够强,所以导致用户数量为4时,PN码产生相互干扰,解扩和多用户检测时误码率升高。
五、实验中遇到的问题及解决方法。
1、频谱的观察
直接用频谱仪(spectrum)观察信号频谱效果不好。
解决的关键在于对其参数的设置,包括缓冲区,同时要应当使用速率调整模块(Rate Transition),调整抽样速率,使其符合奈奎斯特定理。
2、滤波器的设计
我们经过很长时间都没有完成多用户检测功能。
经过查阅资料,发现需要设计匹配滤波器和抽样判决器,在matlab的simulink上可以用digitalfilterdesigner做匹配滤波器和relay做抽样判决器。
滤波器的设计方法是:
研究信源的功率谱波形,所以经过多次试验,设置滤波器为为FIR低通滤波器,Fs=100Hz,Fpass=4Hz,Fstop=9Hz。
3、为什么8psk不需要加入载波
调制载波是根据你的调制方式,在内部产生的载波信号,不用输入的。
4、PN码的设计
我们之前使用的是4位的PN码,但是误码率很高。
经过查阅资料发现是因为PN码周期越长,自相关性就会越好,所以使用6位的PN码。
一般通信系统中使用的PN码有15位或者42位。
六、各成员分工情况
:
主要负责相关检测设计,滤波器参数调整,抽样判决器的设计
:
主要负责基本扩频解扩原理设计,实验结果分析
:
主要负责基本扩频解扩原理设计,系统整理封装,实验报告编写
七、参考文献
[1]樊昌信.曹丽娜.通信原理(第六版).国防工业出版社.2011
[2]邓华.MATLAB通信仿真及应用实例详解.人民邮电出版社,2003
[3] 邵玉斌.Matlab/Simulink通信系统建模与仿真实例分析编著.清华大学出版社,2008
八、附录
1、系统总框图
系统的用户由subsystem封装成user(用户)模块,系统一共提供了7个用户模块。
用户信息扩频调制后经信道传输,然后解调进入相关检测模块,完成信息接受。
相关检测模块用subsystem封装成demo模块。
并设置了误码率测试部分。
2、系统具体设计分析
2.1用户模块
用户模块完成扩频功能
①贝努利序列设计
不同用户模块的initial seed不同
②PN序列设计
不同用户的initialseed设置为不同,生成多项式保持一样
③抽样判决设计
用抽样判决进行极性转换
④乘法器设计
用乘法器进行扩频
2.2信道传输设计模块
①极性转换
进信道前要先进行极性转换
②调制解调
调制解调使用8-PSK
③信道
使用AWGNChannel模块,设置信噪比SNR为10dB。
2.3相关接受模块
由输入信号与PN码相乘完成解扩,并需要设置一个低通滤波器和抽样判决器完成多用户检测。
解扩的PN序列设计与原扩频该用户PN序列设置保持一致。
滤波器设置如下:
抽样判决器设置如下:
2.4误码率测试模块
误码率检测使用ErrorRate Calculation和display模块组成,ErrorRateCalculation一端必须接上与对应用户相同的Bernoulli BinaryGenerator,才能正确反应误码率情况,并且而信号源需要unit delay延时完成同步。