基于Matlab的Mpsk信号在莱斯衰落信道下的性能仿真.docx
《基于Matlab的Mpsk信号在莱斯衰落信道下的性能仿真.docx》由会员分享,可在线阅读,更多相关《基于Matlab的Mpsk信号在莱斯衰落信道下的性能仿真.docx(15页珍藏版)》请在冰豆网上搜索。
![基于Matlab的Mpsk信号在莱斯衰落信道下的性能仿真.docx](https://file1.bdocx.com/fileroot1/2023-4/19/b6600435-a3ac-49dd-81e9-cf282b047b71/b6600435-a3ac-49dd-81e9-cf282b047b711.gif)
基于Matlab的Mpsk信号在莱斯衰落信道下的性能仿真
课程设计(II)
通信系统仿真
题目MPSK在莱斯衰落信道下的性能
专业
学号
姓名
日期
1、课程设计目的
多进制绝对相移键控MPSK是2PSK的推广,MPSK利用载波的多种不同相位状态来表征数字信息的调制方式。
本次设计以QPSK为主要设计目标,利用MATLAB对其进行调制解调及在莱斯信道下的传输性能仿真,以此来熟悉掌握相关的知识和MATLAB的使用方法。
2、课程设计内容
本次设计主要是对QPSK在莱斯信道下的性能进行仿真。
为此需要先调制出QPSK信号,QPSK信号原理如下:
四进制绝对相移键控(4PSK)直接利用载波的四种不同相位来表四进制信息。
如下图
由于一个想为代表两个比特信息,因此每个四进制码元可用两个二进制码元的组合来表示。
两个二进制码元中的前一码元用a表示,后一比特用b表示,则双比特ab与载波相位关系如下表
双比特码元
载波相位
a
b
A方式
B方式
0
0
0
225
0
1
270
135
1
0
90
315
1
1
180
45
4PSK信号等效为两个正交载波进行双边带调制信号之和,这样就把数字调制和线性调制结合起来,为四相波形的产生提供依据。
4PSK的调制方法有正交调制方式,相位选择法,插入脉冲法等。
正交调制法原理如图
4PSK可以看作两个正交的2PSK调制器构成。
图中串并转换将输入的二进制序列分为两个速度减慢的两个并行双极性序列a和b,在分别进行极性变换。
再调制到coswt和sinwt载波上。
两路相乘器输出的信号是相互正交的抑制载波的双边带调制信号,相位与各路码元的极性有关,分别由码元a和码元b决定,经相加电路后输出两路的合波即是4PSK信号,图中两个乘法器,一个用于产生0和180两个相位,另一个用于产生90和270两个相位。
相加后可以得到45,135,225,315四种相位状态。
产生4psk信号同样可以采用相位选择法,在一个码元持续时间内,4psk信号为载波4个相位中的某一个,因此,可以用相位选择的方法来产生4psk信号。
其原理图如下:
a4psk
二进制数码b
45°135°225°315°
在图中,四相载波发生器产生4psk信号所需要的4种不同相位的载波,输
入的二进制数码经串并变换器输出双比特码元,按照输入的双比特码元的不同,逻辑选相电路输出相应相位的在载波。
例如当双比特码元ab为11时,输出相位为45度的载波;双比特码元ab为01时,输出香味为135度的载波等。
产生QPSK信号后,让其在莱斯信道中进行传输,考虑到接收到可以采用滤波器滤除带内噪声,故本次设计忽略噪声的影响,只考虑莱斯信道的影响。
莱斯衰落的表达式为
下图为K=7db时的莱斯分布包络图:
经过莱斯衰落的QPSK信号在接收端进行解调,才用相干解调,解调框图如下:
通过对判决后的码与一开始产生的码进行比较可以得错码数,从而可计算误码率。
3、设计与实现过程
如前所述的两种4psk信号产生方式,本文采用调相发来产生4psk信号。
即如要产生4种不同的相位,需要4个不同的数字,通过randsrc函数来产生。
随后进行调制,得到的4psk信号与产生的莱斯信道因子相乘即可得到信号在莱斯信道中传输的效果。
将产生的信号加入噪声信号后就可以进行解调了。
采用相干解调的解调方式,即产生4种不同相位的载波分别于接受到的信号进行相乘,将产生的各结果进行判决,从而最终可以计算出误码率的大小。
本设计中主要包括如下几个模块:
1.利用randsrc函数产生一个包含0,1,2,3的数组,各数出线的概率相同,即均为25%。
2.利用产生的数组进行4psk信号调制。
3.对其进行调制并在莱斯信道中传输。
4.解调判决恢复。
5.计算误码率。
设计流程图如下:
matlab仿真代码:
>>clear
SNR=0:
1:
14;%信噪比
fork=1:
15
M=250;
forl=1:
M
N=80;
F=10;
n=0;
cntError=0;
m=1:
1:
10;
s0=sin(2*pi*m/F);%产生四种相位下的载波信号
s0=s0';
s1=sin(2*pi*m/F+pi/2);
s1=s1';
s2=sin(2*pi*m/F+pi);
s2=s2';
s3=sin(2*pi*m/F+3*pi/2);
s3=s3';
source=randsrc(1,N,[0,1,2,3;.25,.25,.25,.25]);%产生随机序列
fori=1:
N
forj=1:
F
modsrc(j+(i-1)*F)=sin(pi/2*source(i)+2*pi*j/F);%4psk调制
end
end
r=rice_fading(7,800,1);%产生莱斯衰落因子
fa=r.*modsrc;%与4psk想乘
modsrcnoise=awgn(fa,SNR(k),4);%在信号中加入噪声
fori=1:
N%判决
ffa=modsrcnoise((i-1)*F+(1:
F));
ifffa*s0-ffa*s1>=0&&ffa*s0-ffa*s2>=0&&ffa*s0-ffa*s3>=0;
receive(i)=0;
elseifffa*s1-ffa*s0>0&&ffa*s1-ffa*s2>=0&&ffa*s1-ffa*s3>=0;
receive(i)=1;
elseifffa*s2-ffa*s0>0&&ffa*s2-ffa*s1>0&&ffa*s2-ffa*s3>=0;
receive(i)=2;
else
receive(i)=3;
end
end
fori=1:
N%计算误码个数
ifsource(i)==receive(i);
else
cntError=cntError+1;
end
end
n=n+N;
ErrorRate(l)=cntError/n;%误码率
end
ErrorRatesum(k)=0;
fori=1:
M
ErrorRatesum(k)=ErrorRatesum(k)+ErrorRate(i);%总误码率
end
ErrorRateave(k)=1/M*ErrorRatesum(k);%平均误码率
end
semilogy(SNR,ErrorRateave,'o');%画出信噪比和误码率的曲线
gridon
holdon%加入理想情况下的误码率曲线
ENR=10.^(SNR/10);
fori=1:
15%计算理想误码率
symst
f=1/sqrt(2*pi)*exp(-t.^2/2);
p(1,i)=int(f,t,-sqrt(ENR(i)),inf);%积分
end
p=double(p);
p=1-p.^2;
semilogy(SNR,p);
title('BERof4psk');
legend('simulation','theory');
xlabel('SNR');
ylabel('BER');
过程及图像:
1.利用randsrc函数产生数组矩阵source。
source波形
2.产生4psk信号
4psk波形
3.产生莱斯分布的包络:
莱斯信道
4psk信号经过莱斯信道后波形
4.在信号中加入噪声信号
加入噪声后的传输信号
未加噪声和加入噪声后信号对比
5.产生4种不同相位的载波信号s0~s3
四种不同相位的载波信号
6.对接受信号解调并判决最终得到误码率曲线
误码率曲线
4、结论
从误码率曲线中可以看出,在4psk未加莱斯信道相比加入莱斯信道后的信号误码率在一定程度内有所升高。
由此可以得到结论,4psk信号在莱斯信道中传输时,其性能会受到莱斯信道的影响,使性能有一定的下降。
5、心得和体会
通过这次课程设计,我知道了只有理论是远远行不通的,只有在理论与实践相结合的前提下,才能从中得出结论,才能真正提高自己的实际动手能力和独立思考能力。
设计过程中遇到很多困难,然后从书中找材料,和同学商量,还发现对以前的很多知识掌握的都不好,因此绕了很多弯。
从一开始老是出错,到后来仿真不出结果,在很多错误的地方纠结,整天泡在学校机房和同学一起商讨,但结果还是不令人满意。
但是通过这次实践,我对这些知识掌握得更加牢固了,作为电子信息专业的学生,我们不仅仅要学会电子知识,更重要的是学以致用,而且现在科技日新月异,更应不断充实自己,这样才能在毕业时有更好的就业机会,才能更好地实现自己的理想!
课程设计成绩评定表
成
绩
评
定
项目
比例
得分
平时成绩(百分制)
20%
业务考核成绩(百分制)
80%
总评成绩(百分制)
100%
评语:
评审教师:
时间: