MATLAB2psk通信系统仿真报告.docx
- 文档编号:7686489
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:12
- 大小:19.03KB
MATLAB2psk通信系统仿真报告.docx
《MATLAB2psk通信系统仿真报告.docx》由会员分享,可在线阅读,更多相关《MATLAB2psk通信系统仿真报告.docx(12页珍藏版)》请在冰豆网上搜索。
MATLAB2psk通信系统仿真报告
实验一2PSK调制数字通讯系统
一实验题目
设计一个采纳2PSK调制的数字通讯系统
设计系统整体框图及数学模型;
产生失散二进制信源.进行信道编码(汉明码).产生BPSK信号;
加入信道噪声(高斯白噪声);
BPSK信号相关解调.信道解码;
系统性能剖析(信号波形、频谱.白噪声的波形、频谱.信道编解
二实验基来源理
数字信号的传输方式分为基带传输和带通传输.在实质应用中.大多半信道拥有带通特征而不可以直接传输基带信号。
为了使数字信号在带通讯道
中传输.一定使用数字基带信号对载波进行调制.以使信号与信道的特征相般配。
这类用数字基带信号控制载波.把数字基带信号变换为数字带通讯号的过程称为数字调制。
数字调制技术的两种方法:
①利用模拟调制的方法去实现数字式调制.
即把数字调制当作是模拟调制的一个特例.把数字基带信号当成模拟信号的
特别状况办理;②利用数字信号的失散取值特色经过开重点控载波.进而实现数字调制。
这类方法往常称为键控法.比方对载波的相位进行键控.即可获取相移键控(PSK)基本的调制方式。
图1相应的信号波形的示例
101
调制原理
数字调相:
假如两个频次同样的载波同时开始振荡.这两个频次同时达到正最大值.同时达到零值.同时达到负最大值.它们应处于"同相"状态;假如此中一个开始得迟了一点.即可能不同样了。
假如一个达到正最大值时.另一个达到负最大值.则称为"反相"。
一般把信号振荡一次(一周)作为360度。
假如一个波比另一个波相差半个周期.我们说两个波的相位差180度.也就是
反相。
当传输数字信号时."1"码控制发0度相位."0"码控制发180度相位。
载波的初始相位就有了挪动.也就带上了信息。
相移键控是利用载波的相位变化来传达数字信息.而振幅和频次保持不变。
在2PSK中.往常用初始相位0和π分别表示二进制“1”和“0”。
所以.2PSK信号的时域表达式为(t)=Acost+)
此中.表示第n个符号的绝对相位:
=
所以.上式能够改写为
图22PSK信号波形
解调原理
2PSK信号的解调方法是相关解调法。
因为PSK信号自己就是利用相位
传达信息的.所以在接收端一定利用信号的相位信息来解调信号。
下列图2-3中给出了一种2PSK信号相关接收设施的原理框图。
图中经过带通滤波的信号在相乘器中与当地载波相乘.而后用低通滤波器滤除高频重量.在进行抽
样裁决。
裁决器是按极性来裁决的。
即正抽样值判为1.负抽样值判为0.
2PSK信号相关解调各点时间波形如图3所示.当恢复的相关载波产生180°倒相时,解调出的数字基带信号将与发送的数字基带信号正好是相反,解调器输出数字基带信号所有犯错.
图32PSK信号相关解调各点时间波形
这类现象往常称为"倒π"现象.因为在2PSK信号的载波恢复过程中存在着180°的相位模糊,所以2PSK信号的相关解调存在随机的"倒π"现象,进而使得2PSK方式在实质中极少采纳.
三仿真方真
产生随机汉明码2PSK
n位二进信道
制码元编码调制
输出
2PSK
误码率
仿真
加性
AWGN
抽样低通低通相干
判决滤波滤波解调
四程序源代码
clearall;
closeall;
clc;
max=15;
s=randint(1,max);%长度为max的随机二进制序列
Sinput=[];
forn=1:
length(s);
ifs(n)==0;
A=zeros(1,2000);
elses(n)==1;
A=ones(1,2000);
end
Sinput=[SinputA];
end
figure
(1);
subplot(211);
plot(Sinput);
gridon
axis([02000*length(s)-22]);
title('输入信号波形');
Sbianma=encode(s,7,4,'hamming');%汉明码编码后序列
a1=[];
b1=[];
f=1000;
t=0:
2*pi/1999:
2*pi;
forn=1:
length(Sbianma);
ifSbianma(n)==0;
B=zeros(1,2000);%每个值2000个点
elseSbianma(n)==1;
B=ones(1,2000);
end
a1=[a1B];%s(t),码元宽度2000
c=cos(2*pi*f*t);%载波信号
b1=[b1c];%与s(t)等长的载波信号.变成矩阵形式
end
figure
(2);
subplot(211)
plot(a1);
gridon;
axis([02000*length(Sbianma)-22]);title('编码后二进制信号序列');a2=[];
b2=[];
forn=1:
length(Sbianma);
ifSbianma(n)==0;
C=ones(1,2000);%每个值2000点
d=cos(2*pi*f*t);%载波信号
elseSbianma(n)==1;
C=ones(1,2000);
d=cos(2*pi*f*t+pi);%载波信号
end
a2=[a2C];%s(t).码元宽度2000
b2=[b2d];%与s(t)等长的载波信号
end
tiaoz=a2.*b2;%e(t)调制
figure(3);
subplot(211);
plot(tiaoz);
gridon;
axis([02000*length(Sbianma)-22]);
title('2psk已调制信号');
figure
(2);
subplot(212);
plot(abs(fft(a1)));
axis([02000*length(Sbianma)0400]);
title('编码后二进制信号序列频谱');
figure(3);
subplot(212);
plot(abs(fft(tiaoz)));
axis([02000*length(Sbianma)0400]);
title('2psk信号频谱')
%-----------------带有高斯白噪声的信道----------------------
tz=awgn(tiaoz,10);%信号tiaoz加入白噪声.信噪比为10
figure(4);
subplot(211);
plot(tz);
gridon
axis([02000*length(Sbianma)-22]);
title('经过高斯白噪声后的信号');
figure(4);
subplot(212);
plot(abs(fft(tz)));
axis([02000*length(Sbianma)0800]);
title('加入白噪声的2psk信号频谱');
%-------------------同步解调-----------------------------
jiet=2*b1.*tz;%同步解调
figure(5);
subplot(211);plot(jiet);
gridon
axis([02000*length(Sbianma)-22]);title('相乘后的信号波形')
figure(5);
subplot(212);
plot(abs(fft(jiet)));
axis([02000*length(Sbianma)0800]);
title('相乘后的信号频次');
%----------------------低通滤波器---------------------------
fp=500;
fs=700;
rp=3;
rs=20;
fn=11025;
ws=fs/(fn/2);
wp=fp/(fn/2);%计算归一化角频次
[n,wn]=buttord(wp,ws,rp,rs);%计算阶数和截止频次
[b,a]=butter(n,wn);%计算H(z)
figure(6);
freqz(b,a,1000,11025);
subplot(211);
axis([040000-1003])
title('lpf频谱图');
jt=filter(b,a,jiet);
figure(7);
subplot(211);
plot(jt);
gridon
axis([02000*length(Sbianma)-22]);
title('经低通滤波器后的信号波形');
figure(7);
subplot(212);
plot(abs(fft(jt)));
axis([02000*length(Sbianma)0800]);
title('经低通滤波器后的信号频次');
%-----------------------抽样裁决--------------------------
form=1:
2000*length(Sbianma);
ifjt(m)<0;
jt(m)=1;
elsejt(m)>0;
jt(m)=0;
end
end
figure(8);
subplot(211);
plot(jt)
gridon
axis([02000*length(Sbianma)-22]);
title('经抽样裁决后信号jt(t)波形')
figure(8);
subplot(212);
plot(abs(fft(jt)));
axis([02000*length(Sbianma)0800]);
title('经抽样裁决后的信号频谱');
gridon;
n=500:
2000:
2000*length(Sbianma);
a5=[];
a5=[a5jt(n)];
s1=decode(a5,7,4,'hamming');
a6=[];
forn=1:
length(s1);
ifs1(n)==0;
G=zeros(1,2000);
elses1(n)==1;
G=ones(1,2000);
end
a6=[a6G];
end
figure
(1);
subplot(212);
plot(a6);
gridon
axis([02000*length(s)-22]);
title('汉明码译码后的波形')
gridon
%------------------
2psk误码率仿真-------------------------
snrdB_min=-10;
snrdB_max=10;
snrdB=snrdB_min:
1:
snrdB_max;
Nsymbols=200;
snr=10.^(snrdB/10);
h=waitbar(0,'SNRIteration');
len_snr=length(snrdB);
forj=1:
len_snr
waitbar(j/len_snr);
sigma=sqrt(1/(2*snr(j)));
error_count=0;
fork=1:
Nsymbols
d=round(rand
(1));
x_d=2*d-1;
n_d=sigma*randn
(1);
y_d=x_d+n_d;
ify_d>0
d_est=1;
%随即数据
%分别转变成
%加噪
%加噪后接收
else
d_est=0;
end
if(d_est~=d)
error_count=error_count+1;
end
end
errors(j)=error_count;
end
ber_sim=errors/Nsymbols;
ber_theor=(erfc(sqrt(snr))).**erfc(sqrt(snr)));
figure(9);
semilogy(snrdB,ber_theor,'-',snrdB,ber_sim,'*');
axis([snrdB_minsnrdB_max1]);
xlabel('信噪比');
ylabel('误码率');
title('2psk信噪比误码率关系图');
legend('理论值','实质值')、
五实验结果及剖析
图1.随机产生的15位二进制序列波形
图2.汉明码编码后的序列波形极其频谱
由图2可看出输入信号经过汉明码编码后的波形与理论推出的序列同样
图3.经过2psk调制后的信号波形及其频谱
图3中显示的2psk因为显示幅度限制已叠在一同.放大看可获取以理论同样的正弦波波形.在变换出有π的相位变化.而且信号的频谱图切合信号频次被载波搬移的解说。
图4.信号经过信道加入白噪声后的波形极其频谱
图4所示是信号加入高斯白噪声后的波形.此中信噪比可调.实验中信噪比为10dB。
在频谱图下方能够看到高斯白噪声的频谱密度.和理论的高斯白噪声频谱密度同样。
图5.经过相关解调后的信号波形及其频谱
经过调制的2psk信号只好经过相关解调。
实验中当信号与载波相乘后与实验原理中的推导符合。
图6.经过低通滤波器后的信号波形及其频谱
经过低通滤波后.除掉信号中的高频成分和大多半高斯白噪声
图7.低通滤波器的传输函数的频谱及相谱图
图8.经过抽样裁决后的信号极其频谱经过抽样裁决后输出的波形与编码后的波形一致
图9.裁决后的信号经过汉明码译码后的波形
将上一步中的信号经过汉明码译码后获取与输入波形同样的信号。
可得出这个2psk通讯系统可实现。
图信噪比与误码率关系图
六心得领会
经过此次通讯原理实验.我发现自己的基础知识和应用能力都很差。
刚拿到题目时.在怎样实现汉明码编码处就卡住.再以后的译码.因为程序有问题.每次都进入死循环。
最后经过各样网上的资料解决了各种问题。
经过了此次实验.我加深了讲堂上所学的理论知识.提升了知识的应用能力。
熟习了MATLAB的运转环境.掌握了一些MATLAB语言和函数的调用.很大程度上提升了自己的能力。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB2psk 通信 系统 仿真 报告