2PSK数字传输系统设计与仿真.docx
《2PSK数字传输系统设计与仿真.docx》由会员分享,可在线阅读,更多相关《2PSK数字传输系统设计与仿真.docx(23页珍藏版)》请在冰豆网上搜索。
![2PSK数字传输系统设计与仿真.docx](https://file1.bdocx.com/fileroot1/2023-7/12/4b6f2069-aeed-49b4-a94b-97b5bbb7405b/4b6f2069-aeed-49b4-a94b-97b5bbb7405b1.gif)
2PSK数字传输系统设计与仿真
通信系统设计与仿真实践
课程设计实验报告
课题名称:
2PSK数字传输系统设计与仿真
#
专业班级:
姓名:
学号:
起止时间:
浙江科技学院
~
信息与电子工程学院
一、课题内容………………………………………..….……...1
二、设计目的………………………………………..….….…..1
三、设计要求…………………………………………………..1
四、实验条件…………………………………………..…..…..2
五、系统设计………………………………………….…...…..2
1.通信系统的基本原理…………………………………….2
2.所设计子系统的原理……………………….…...….……4
六、详细设计与编码…………………………….…………….5
1.设计方案……………………………….…….…..……..5
2.编程工具的选择…………………………………….…..7
3.编码与测试……………………………………....……..8
4.编码与调试过程………………………………..….…..13
5.运行结果及分析……………………………..…….…..14
七、设计心得………………………………………..………..21
八、参考文献……………………………….………..……….21
一、课题内容
使用Matlab进行2PSK的调制解调系统设计与仿真,能输出调制前的基带信号、调制后的2PSK信号和叠加噪声后的2PSK信号波形、解调器在接收到信号后解调的各点的信号波形以及眼图和星座图,并对仿真结果进行分析。
二、设计目的
1、综合应用《Matlab原理及应用》、《信号与系统》、《通信原理》等多门课程知识,使学生建立通信系统的整体概念;
2、培养学生系统设计与系统开发的思想;
3、培养学生利用软件进行通信仿真的能力。
三、设计要求
1、每2人一组,组内成员进行各自分工,分别完成不同子系统的详细功能;
2、对通信系统有整体的较深入的理解,深入理解自己仿真部分的原理的基础,画出对应的通信子系统的原理框图;
3、提出仿真方案;
4、完成仿真软件的编制;
5、仿真软件的演示;
6、提交详细的设计报告。
四、实验条件
计算机、Matlab软件
五、系统设计
1.通信系统的原理
通信系统的一般模型
图1通信系统的一般模型
信息源:
消息的生成者或来源;
发送设备:
将信源输出的信号变为适合信道传输的发射信号,且发送信号包含了原始信号的一切信息;
信道:
传输信号的通道,可以是有线的,也可以是无线的;
噪声源:
在信道中传输,噪声是绝不可避免的,噪声又可为加性噪声(线性的噪声)和乘性噪声(非线性的噪声),一般我们只考虑加性噪声;
接收设备:
从接收信号中提取我们所希望的信号,并将其转换成适合输出传感器的形式;
受信者:
消息接收者。
在通信系统中,按信号参量的取值方式不同可把信号分为两类,即模拟信号和数字信号,再按照信道中传输信号的特征,来分为模拟通信系统和数字通信系统。
下面分别来介绍模拟通信系统与数字通信系统:
模拟通信系统模型
图2模拟通信系统模型
调制器:
将原始电信号变换成其频带适合信道传输的信号;
解调器:
在接收端将信道中传输的信号还原成原始的电信号。
数字通信系统模型
图3数字通信系统模型
信源编码/译码:
主要完成A/D变换、数据压缩、加密等三部分功能;
信道编码/译码:
数据扩张,增加保镖,提高抗干扰能力等;
基带脉冲生成器/抽样判决器:
数字基带传输系统的重要部分;
数字调制器/解调器:
(1)将数字基带信号的频谱搬移到信道的频带之内,以便于在信道中传输;
(2)便于对信道进行频分复用,从而有效地利用信道的频率资源。
数字解调是数字调制的反过程。
模拟通信系统与数字通信系统的比较
模拟通信系统和数字通信系统各有自己的一些特点,但相对于模拟通信系统,数字通信系统有许多独特的优点,例如:
数字通信系统抗噪能力强、便于加密、易复用也易压缩、易于集成化、便于用计算机处理数字信号、更适合多种数字业务,容易实现多网合一等。
相应地,数字通信系统也有自己的缺点:
它需要更宽的传输带宽和较复杂的同步系统等。
2.所设计子系统的原理
本小组所设计的子系统是数字通信系统,内容是研究不同信道条件下不同的调制解调方法。
数字调制技术的两种方法:
(1)利用模拟调制的方法去实现数字式调制,即把数字调制看成是模拟调制的一个特例,把数字基带信号当做模拟信号的特殊情况处理;
(2)利用数字信号的离散取值特点通过开关键控载波,从而实现数字调制。
这种方法通常称为键控法,比如对载波的相位进行键控,便可获得相移键控(PSK)基本的调制方式。
图42PSK通信系统调制解调模型
数字通信的主要特点:
a.抗干扰能力强
b.易加密通信
c.差错可控
d.适应飞速发展的计算机通信的要求
六、详细设计与编码
1.设计方案
本次仿真用2PSK对信号进行调制解调。
①2PSK的调制原理
如果两个频率相同的载波同时开始振荡,这两个频率同时达到正最大值,同时达到零值,同时达到负最大值,它们应处于"同相"状态;如果其中一个开始得迟了一点,就可能不相同了。
如果一个达到正最大值时,另一个达到负最大值,则称为"反相"。
一般把信号振荡一次(一周)作为360度。
如果一个波比另一个波相差半个周期,我们说两个波的相位差180度,也就是反相。
当传输数字信号时,"1"码控制发0度相位,"0"码控制发180度相位。
载波的初始相位就有了移动,也就带上了信息。
相移键控是利用载波的相位变化来传递数字信息,而振幅和频率保持不变。
在2PSK中,通常用初始相位0和π分别表示二进制“1”和“0”。
因此,2PSK信号的时域表达式为
(1)
式中,n表示第n个符号的绝对相位:
(2)
因此,上式可以改写为
(3)
由于两种码元的波形相同,极性相反,故BPSK信号可以表述为一个双极性全占空矩形脉冲序列与一个正弦载波的相乘:
(4)
式中
(5)
这里s(t)为双极性全占空(非归零)矩形脉冲序列,g(t)是脉宽为Ts的单个矩形脉冲,而an的统计特性为
(6)
BPSK信号的调制原理框图如图2所示。
与2ASK信号的产生方法相比较,只是对是S(t)的要求不同。
在2ASK中S(t)是单极性的,而在BPSK中S(t)是双极性的基带信号。
图52PSK信号的调制原理框
②2PSK的解调原理
2PSK信号的解调方法是相干解调法。
由于PSK信号本身就是利用相位传递信息的,所以在接收端必须利用信号的相位信息来解调信号。
下图3中给出了一种2PSK信号相干接收设备的原理框图。
图中经过带通滤波的信号在相乘器中与本地载波相乘,然后用低通滤波器滤除高频分量,在进行抽样判决。
判决器是按极性来判决的。
即正抽样值判为1,负抽样值判为0。
图62PSK的相干接收机原理框图
③2PSK的仿真框图
图7基于MATLAB的2PSK调制解调仿真框图
2.编程工具的选择
本仿真所用的工具软件是。
该软件的功能强大,最擅长矩阵处理,并在系统仿真、数字信号处理、图形图像分析、数理统计、通信及自动控制领域得到广泛应用,同时MATLAB内部有许多与通信有关的函数,这样程序编写方便,也便于观察波形特征。
3.编码与测试
2PSK主函数:
%------------2PSK通信系统仿真主函数----------------
clearall;
closeall;
clc;
max=64;
g=randint(1,max);%长度为max的随机二进制序列比特率
a1=[];
b1=[];
f=1000;%载波频率1kHz
t=0:
2*pi/1999:
2*pi;%采样频率2kHz
forn=1:
length(g);
ifg(n)==0;
A=zeros(1,2000);%每个值2000个点
elseg(n)==1;
A=ones(1,2000);
end
a1=[a1A];%s(t),码元宽度2000
c=cos(2*pi*f*t);%载波信号
b1=[b1c];%与s(t)等长的载波信号,变为矩阵形式
end
figure
(1);subplot(3,2,1);plot(a1);gridon;
axis([02000*length(g)-22]);title('二进制信号序列');
a2=[];
b2=[];
forn=1:
length(g);
ifg(n)==0;
B=ones(1,2000);%每个值2000个点
c=cos(2*pi*f*t);%载波信号
elseg(n)==1;
B=ones(1,2000);
c=cos(2*pi*f*t+pi);%载波信号
end
a2=[a2B];%s(t),码元宽度2000
b2=[b2c];%与s(t)等长的载波信号
end
tiaoz=a2.*b2;%e(t)调制
figure
(1);subplot(3,2,2);plot(tiaoz);gridon;
axis([02000*length(g)-22]);title('2PSK调制信号');
figure
(2);subplot(3,2,1);plot(abs(fft(a1)));
axis([02000*length(g)0400]);title('原始信号频谱');
figure
(2);subplot(3,2,2);plot(abs(fft(tiaoz)));
axis([02000*length(g)0400]);title('2PSK信号频谱');
%------------------带有高斯白噪声的信道--------------------
tz=awgn(tiaoz,10);%信号tiaoz中加入白噪声,信噪比为10
figure
(1);subplot(3,2,3);plot(tz);gridon
axis([02000*length(g)-22]);title('通过高斯白噪声信道后的信号');
figure
(2);subplot(3,2,3);plot(abs(fft(tz)));
axis([02000*length(g)0400]);title('加入白噪声的2PSK信号频谱');
jiet=2*b1.*tz;%同步解调
figure
(1);subplot(3,2,4);plot(jiet);gridon
axis([02000*length(g)-22]);title('相乘后信号波形')
figure
(2);subplot(3,2,4);plot(abs(fft(jiet)));
axis([02000*length(g)0400]);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(3);freqz(b,a,1000,11025);subplot(2,1,1);
axis([040000-1003])
title('LPF幅相频图');
jt=filter(b,a,jiet);
figure
(1);subplot(3,2,5);plot(jt);gridon
axis([02000*length(g)-22]);title('经低通滤波器后信号波形')
figure
(2);subplot(3,2,5);plot(abs(fft(jt)));
axis([02000*length(g)0400]);title('经低通滤波器后信号频谱');
%----------------------抽样判决-----------------------
form=1:
2000*length(g);
ifjt(m)<0;
jt(m)=1;
elsejt(m)>=0;
jt(m)=0;
end
end
figure
(1);subplot(3,2,6);plot(jt);gridon
axis([02000*length(g)-22]);title('经抽样判决后信号s^(t)波形')
figure
(2);subplot(3,2,6);plot(abs(fft(jt)));
axis([02000*length(g)0400]);title('经抽样判决后信号频谱');
2PSK性能分析:
%------------2PSK误码率仿真all;
closeall;
snrdB_min=-10;
snrdB_max=10;
snrdB=snrdB_min:
1:
snrdB_max;
Nsymbols=64;
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;%0,1分别转化为-1,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;%errorcounter
end
end%simulationloopends
errors(j)=error_count;
end
ber_sim=errors/Nsymbols;%BERestimate
ber_theor=(erfc(sqrt(snr))).**erfc(sqrt(snr)));
%theoreticalBER相干2dpsk
semilogy(snrdB,ber_theor,'-',snrdB,ber_sim,'o');
axis([snrdB_minsnrdB_max1]);
xlabel('信噪比');ylabel('误码率');title('2PSK信噪比误码率关系图');
legend('理论值','实际值');
2PSK眼图星座图:
M=2;
k=log2(M);
n=2000;%比特序列长度
samp=1;%过采样率
x=randint(n,1);%生成随机二进制比特流
stem(x(1:
50),'filled');%画出相应的二进制比特流信号
title('二进制随机比特流');
xlabel('比特序列');ylabel('信号幅度');
x4=reshape(x,k,length(x)/k);%将原始的二进制比特序列每一个一组分组,并排列成k行length(x)/k列的矩阵
xsym=bi2de(x4.','left-msb');%将矩阵转化为相应的2进制信号序列
figure;
stem(xsym(1:
50));%画出相应的2进制信号序列
xlabel('信号序列');ylabel('信号幅度');
y=modulate(M),xsym);%用2PSK调制器对信号进行调制
scatterplot(y);%画出2PSK信号的星座图
text(real(y)+,imag(y),dec2bin(xsym));
axis([-55-55]);
EbNo=15;%假设Eb/No=15db
snr=EbNo+10*log10(k)-10*log10(samp);%信噪比
yn=awgn(y,snr,'measured');%加入高斯白噪声
h=scatterplot(yn,samp,0,'b.');%经过信道后接收到的含白噪声的信号星座图
eyediagram(yn,2);%眼图
yd=demodulate(M),yn);%此时解调出来的是2进制信号
z=de2bi(yd,'left-msb');%转化为对应的二进制比特流
z=reshape(z.',numel(z),1');
[number_of_errors,bit_error_rate]=biterr(x,z)%计算误码率
4.编码与调试过程
由于通过查阅参考书及网上资料,我所编写的这种程序基本上不存在语法上的错误,只是要求对程序进行仔细阅读及理解,并在一些地方进行必要改写,且加入我自己的思想,使这种程序更容易理解。
通过查阅资料,我了解了以下一些有用的与通信有关的名词及关键的MATLAB函数:
randint():
是产生二进制随机数,默认为0和1;
awgn():
在某一信号中加入高斯白噪声;
fft():
快速傅里叶函数;
freqz():
计算滤波器频率响应;
filter():
实现滤波功能;
modulate():
调制信号;
scatterplot():
画星座图;
eyediagram():
画眼图;
biterr():
计算误比特数、误比特率;
5.运行结果及分析
编完程序经检查无误后,运行程序得结果如下:
在实际传输中,我我们需要传输的就是二进制基带信号。
因此通过随机函数随机产生二进制比特流,即基带信号。
调制解调信号图
图8随机产生的二进制基带信号
实际通信中不少信道都不能直接传送基带信号,必须用基带信号对载波波形的某些参量进行控制,使载波的这些参量随基带信号的变化而变化,即所谓正弦载波调制。
正弦波可以作为数字模拟调制系统和数字调制系统的载波。
从原理上来说,受调载波的波形可以是任意的,只要已调信号适合于信道传输就可以了。
但实际上,在大多数数字通信系统中,都寻则正弦信号作为载波。
这是因为正弦信号形式简单,便于产生及接收。
和模拟调制一样,数字调制业余调幅、调频和调相三种基本形式,并可以派生出多种其他形式。
数字调制与模拟调制相比,其原理并没有什么区别。
不过模拟调制时对载波信号的参量进行连续调制,在接收端则对载波信号的调制参量连续地进行估值;而数字调制都是用载波信号的默写离散状态来表征所传送的信息,在接受算也只要对载波信号的离散调制参量进行检测。
数字调制信号,在二进制时有振幅键控(ASK)、移频键控(FSK)和移相键控(PSK)三种基本信号形式。
移相键控(PSK)相对于振幅键控(ASK)和频移键控(FSK)来说,具有抗加性高斯白噪声能力强,频带利用率高,对信道变化不明感,性能好的优点,因此采用BPSK对基带信号进行调制。
图92PSK调制波形
实际信道处于一个充满了各种干扰的环境中,因此,调制信号不可能无干扰的在信道中传输。
为了逼真的模拟调制信号的传输环境,所以在已调信号上叠加上高斯白噪声。
图10调制信号叠加噪声的波形图
当信号接收机接收到信号后,该信号是经过调制和叠加噪声后的信号,不能为人们所用,为了使接收到的信号能为人们所用,只用对接收到的信号进去滤波和反调制(即解调)处理。
在相同的信噪比条件下,相比2ASK系统和2FSK系统,相干解调的2PSK系统的误码率Pe最小。
因此解调方法用相干解调的2PSK。
再将解调信号通过低通滤波器进行低通滤波。
图11基带信号与带高斯白噪声的载波信号相乘图
图12低通滤波器后的波形图
通过相干解调和低通滤波器后的信号,通过抽样判决后,原则上能恢复成系统发送的二进制基带信号,但是在实际的解调和调制的过程中,BPSK系统往往会出现“倒相”,因此在抽样判决的时候需要注意这个问题。
为了解决这个问题,现在在实际应用中大多数都采用二进制差分相移键控(2DPSK)。
图13经过抽样判决的信号
调制解调频谱图
图14原始信号频谱
图152PSK信号频谱
图162PSK信号叠加噪声信号频谱
图17两信号相乘后的信号频谱
图18经过低通滤波后信号的频谱
图19经过抽样判决的信号频谱
系统函数的频率响应图
图20幅频响应
图21相频响应
2PSK性能分析图
图222PSK系统的Eb/N0-Pb关系图
2PSK星座图与眼图
图232PSK无噪声的星座图
图242PSK带高斯白噪声的星座图
图252PSK眼图
七、设计心得
在这次的课程设计过程中,我发现自己的基础知识和应用能力并没有因为本学期上过MATLAB课程完全精通设计。
刚接过课题,按照设计步骤走的时候,在数字基带信号的产生和加载载波上遇到了困难,由于课上的MATLAB知识能学到很少,很多都要网上找编程代码和原理,并且,因为上一学期上的课没多少印象了,通信之类的知识点忘记了很多,以至于在设计开始时必须得先复习一下相关的基础知识。
随着实验的进行,发现自己的通信原理课程学得远远不够,不能根据要求设计出最佳效果的2PSK系统。
然而,通过这次设计,看了一遍通信原理课程关于2PSK系统的内容,再通过利用参考文献与网络,最终完成了用Matlab进行2PSK系统的课程设计。
这次设计加深了对课堂抽象概念的理解,巩固了课堂上所学的理论知识,并能很好地理解与掌握通信原理课程中的基本概念、基本原理、基本分析方法。
熟悉了MATLAB的运行环境,初步掌握了MATLAB语言在信号调制和解调中一些基本库函数的调用和编写基本程序等应用;熟悉了2PSK系统设计的一般原理,对其有了一个感性的认识,很大程度上提高了自己的实践能力。
八、参考文献
1.翁剑枫,信号与系统.人民邮电出版社.
2.[美]BernardSklar.数字通信—基础与应用.电子工业出版社.
3.浙江科技学院,MATLAB仿真分析基础.教材.
4.刘顺兰,吴杰.数字信号处理.西安电子科技大学出版社.
5.孟利明,朱建军,赵新建.全数字BPSK调制解调系统的仿真[J].浙江工业大学学报,2003,31
(1).42-47.
$