2PSK和2DPSK调制仿真Word下载.docx

上传人:b****4 文档编号:16117231 上传时间:2022-11-20 格式:DOCX 页数:13 大小:99.52KB
下载 相关 举报
2PSK和2DPSK调制仿真Word下载.docx_第1页
第1页 / 共13页
2PSK和2DPSK调制仿真Word下载.docx_第2页
第2页 / 共13页
2PSK和2DPSK调制仿真Word下载.docx_第3页
第3页 / 共13页
2PSK和2DPSK调制仿真Word下载.docx_第4页
第4页 / 共13页
2PSK和2DPSK调制仿真Word下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

2PSK和2DPSK调制仿真Word下载.docx

《2PSK和2DPSK调制仿真Word下载.docx》由会员分享,可在线阅读,更多相关《2PSK和2DPSK调制仿真Word下载.docx(13页珍藏版)》请在冰豆网上搜索。

2PSK和2DPSK调制仿真Word下载.docx

通信系统;

MATLAB;

数字调制;

2DPSK;

2PSK;

1.2PSK和2DPSK调制

1.12PSK和2DPSK的产生方法

2PSK信号与2DPSK信号的产生方法相同主要有两种。

第一种叫相乘法(如图1),是用二进制基带不归零矩形脉冲信号与载波相乘,得到相位反相的两种码元。

第二种方法叫选择法(如图2),是用此基带信号控制一个开关电路,以选择输入信号,开关电路的输入信号是相位相差

的同频载波。

这两种方法都可以用数字信号处理器实现。

图1相乘法

图2选择法

2.2PSK及2DPSK基本原理

2.12PSK的基本原理

数字调相:

如果两个频率相同的载波同时开始振荡,这两个频率同时达到正最大值,同时达到零值,同时达到负最大值,它们应处于"

同相"

状态;

如果其中一个开始得迟了一点,就可能不相同了。

如果一个达到正最大值时,另一个达到负最大值,则称为"

反相"

一般把信号振荡一次(一周)作为360度。

如果一个波比另一个波相差半个周期,我们说两个波的相位差180度,也就是反相。

当传输数字信号时,"

1"

码控制发0度相位,"

0"

码控制发180度相位。

载波的初始相位就有了移动,也就带上了信息。

二进制移相键控,简记为2PSK或BPSK。

2PSK信号码元的“0”和“1”分别用两个不同的初始相位“0”和“

”来表示,而其振幅和频率保持不变.因此,2PSK信号的时域表达式为

(t)=Acos

t+

其中,

表示第n个符号的绝对相位:

=

因此,上式可以改写为

这种以载波的不同相位直接表示相应二进制数字信号的调制方式,称为二进制移相键控方式。

二进制移相键控信号的典型时间波形如图3-12所示:

图3二进制相移键控信号的时间波形

2.22DPSK的基本原理

二进制差分相移键控常简称为二相相对调相,记为2DPSK。

它不是利用载波相位的绝对数值传送数字信息,而是用前后码元的相对载波相位值传送数字信息。

所谓相对载波相位是只本码元初相与前一码元初相之差。

传输系统中要保证信息的有效传输就必须要有较高的传输速率和很低的误码率。

在传输信号中,2PSK信号和2ASK及2FSK信号相比,具有较好的误码率性能,但是,在2PSK信号传输系统中存在相位不确定性,并将造成接收码元“0”和“1”的颠倒,产生误码。

为了保证2PSK的优点,又不会产生误码,将2PSK体制改进为二进制差分相移键控(2DPSK),及相对相移键控。

2DPSK方式即是利用前后相邻码元的相对相位值去表示数字信息的一种方式。

现假设用Φ表示本码元初相与前一码元初相之差,并规定:

Φ=0表示0码,Φ=π表示1码。

则数字信息序列与2DPSK信号的码元相位关系可举例表示如2PSK信号是用载波的不同相位直接去表示相应的数字信号而得出的,在接收端只能采用相干解调,它的时域波形图如图4所示。

图42DPSK信号波形图

在这种绝对移相方式中,发送端是采用某一个相位作为基准,所以在系统接收端也必须采用相同的基准相位。

如果基准相位发生变化,则在接收端回复的信号将与发送的数字信息完全相反。

所以在实际过程中一般不采用绝对移相方式,而采用相对移相方式。

定义为本码元初相与前一码元初相之差,假设:

→数字信息“0”;

→数字信息“1”。

则数字信息序列与2DPSK信号的码元相位关系可举例表示如下:

数字信息:

1011011101

DPSK信号相位:

(0)ππ0ππ0π00π

或:

(π)00π00π0ππ0

采用π相位后,若已接收2DPSK序列为π0πππ0ππ0,则经过解调后和逆码变换后可得基带信号,这一过程如下:

2DPSK信号:

(0)π0πππ0ππ0(π)0π000π00π

∆Φ:

πππ00ππ0ππππ00ππ0π

变换后序列:

(0)101110110(π)010001001(相对码)

基带信号:

111001101111001101(绝对码)虽然相同信噪比2DPSK信号的比2PSK稍高一点,但比2PSK要稳定得多。

其调制原理图如图5所示

图52DPSK信号调制器原理图

2.32PSK和2DPSK信号的功率谱密度

2PSK信号可表示为双极性不归零二进制基带信号与正弦载波相乘,则2PSK信号的功率谱为

代入基带信号功率谱密度可得:

若二进制基带信号采用矩形脉冲,且“1”符号和“0”符号出现概率相等,即P=1/2时,则2PSK信号的功率谱简化为:

一般情况下二进制移相键控信号的功率谱密度由离散谱和连续谱所组成,其结构与二进制振幅键控信号的功率谱密度相类似,带宽也是基带信号带宽的两倍。

当二进制基带信号的“1”符号和“0”符号出现概率相等时,则不存在离散谱。

2PSK信号的功率谱密度如图6所示

图62PSK信号的功率谱密度

从2PSK和2DPSK的调制原理和它们的波形可以知道,2PSK和2DPSK具有相同形式的表达式。

因此2PSK和2DPSK信号的功率谱密度是完全一样的。

3.MATLAB编程仿真

3.12PSK的技术仿真

前面已经对数字振幅键控方式和数字频率键控方式下产生的信号进行了仿真设计,这两个都是最基础最简单的调制方式,因为二进制调制方式除了振幅键控、频率键控外,还有相位键控方式,在这节中我们要对数字相位键控方式乤产生的信号进行仿真。

数字相位键控也是基本的键控方式,这节中是对二进制的相位键控方式产生信号的仿真进行编程实现,在这个过程中需要用到一个二进制信号,有了前面两个仿真程序的基础,对于这个就简单了,函数文件pskdigital.m程序如下:

%pskdigital.m

functionpskdigital(s,f)

%本函数实现将输入的一段二进制代码调制成相应的psk信号输出

%s为输入二进制码,f为载波频率,psk为调制后输出信号

t=0:

2*pi/99:

2*pi;

m1=[];

c1=[];

b1=[];

%与ask、fsk程序相似,是给变量赋值空向量做中间变量存储数据

forn=1:

length(s)

ifs(n)==0;

m=-ones(1,100);

b=zeros(1,100);

elses(n)==1;

m=ones(1,100);

b=ones(1,100);

end

%通过循环方式对输入信号的进行赋值实现调制目的

c=sin(f*t);

m1=[m1m];

c1=[c1c];

b1=[b1,b];

end

%注意每个for循环后面必须以end结束

%if条件函数,后面要有else,也应该跟有end

psk=c1.*m1;

%注意向量相乘不能直接相乘,要用点成符号

%这条程序是最终实现调制的目的

subplot(211);

plot(b1)

title('

原始信号'

);

axis([0100*length(s)-0.21.1]);

subplot(212);

plot(psk)

psk信号'

gridon;

以上程序通过调试后保存,然后在MATLAB的命令窗口中输入s的二进制代码和载波频率f再输入函数名,就可以得到所对应的psk信号输出。

MATLAB中输入命令如下:

s=[10101101];

f=100;

pskdigital(s,f)

%格式要输入正确,否则得不到结果,会报错

运行结果如图7所示:

图72PSK信号波形

以上是对2PSK调制的设计程序,图4-4是对其中一种数据结果的仿真图,跟2ask一样输入的载波频率与码元速率具有相同的值,跟原理一样,振幅和频率保持不变,当输入为“0”是,输出相位是0,输入为“1”时,输出相位是

输入值不同,输出结果有所变化,但是与原理相符。

3.22DPSK调制仿真

为了解决2PSK信号解调过程的反向工作问题,提出了二进制差分相位键控(2DPSK),以下程序是二进制差分相位键控信号调制的仿真代码。

2DPSK不是利用载波相位的绝对数值传送数字信息,而是用前后码元的相对载波相位值传送数字信息,所以它的仿真程序与2DPSK也有所不同。

在上面三种仿真实现中都采用的是函数文件进行实现,对于2DPSK信号调制采用的是功能文件,仿真程序如下:

%-2DPSK调制-

fs=1000;

Time_Hold_On=0.1;

Num_Unit=fs*Time_Hold_On;

High_Level=ones(1,Num_Unit);

Low_Level=zeros(1,Num_Unit);

w=300;

A=1;

Sign_Set=[10101101];

Lenth_Of_Sign=length(Sign_Set);

st=zeros(1,Num_Unit*Lenth_Of_Sign);

sign_orign=zeros(1,Num_Unit*Lenth_Of_Sign);

sign_result=zeros(1,Num_Unit*Lenth_Of_Sign);

t=0:

1/fs:

Time_Hold_On*Lenth_Of_Sign-1/fs;

%产生基带信号

forI=1:

Lenth_Of_Sign

ifSign_Set(I)==1

sign_orign((I-1)*Num_Unit+1:

I*Num_Unit)=High_Level;

else

sign_orign((I-1)*Num_Unit+1:

I*Num_Unit)=Low_Level;

%调制部分

st((I-1)*Num_Unit+1:

I*Num_Unit)=A*cos(2*pi*

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 兵器核科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1