2DPSK调制与解调(相干与非相干) 课堂实验总结与分析 2PSK的相位模糊问题

①2DPSK的编码原理

由(图7-12)与(图7-17)可以看出2DPSK的调制方式是先将二进制数字基带输入信号(单极性绝对码)进行差分编码(传号与空号),本实验采用传号差分。然后在对相对码进行绝对调相,意思是相对码里的0或1分别对应相位0或Π(+Π/2或-Π/2)。

传号差分的编码规则是

,其中an是单极性绝对码也就是输入的数字基带信号,bn是差分变换后的单极性相对码。而2DPSK需要的码型是双极性不归零码(2PSK绝对调相原理相同)(双极性码的+1与-1正好可以对应两个不同的相位),所以要对bn进行码变换,将单极性不归零码变成双极性不归零码。完成之后再与载波进行相乘便得到了2DPSK调制之后的信号。 

2DPSK调制代码

1.差分变换并且将单极性码变为双极性码

function [ x ] =DPSK_change_code( a,length_ori )

%码变换(绝对码变成相对码)   b(n)=a(n)异或b(n-1)

b=zeros(1,length_ori+1); %相对码,第一位是参考码元,设为“0”

for i=1:length_ori

    b(i+1)=xor(b(i),a(i));

end

c=zeros(1,length_ori);

c(1:length_ori)=b(2:length_ori+1); %c为a转化得到的相对码

%映射(将0映射成-1),载波调制时则相当于对‘0’用了与‘1’相反相位的载波进行调制,达到二进制相位调制的目的

x(c==1)=1; 

x(c==0)=-1;

end

2.载波相乘

function [m,m_x,y,dpsk] = DPSK_Modulation( dataBit,Fc,sample_num,t )

len=length(dataBit);      %码元序列长度

for i=1:len

     m((i-1)*sample_num+1 : i*sample_num)=dataBit(i);  %将码元序列转化成波形

end 

%% 2.1差分编码

x=DPSK_change_code( dataBit,len );%码变换(绝对码变成相对码)

for i=1:len

     m_x((i-1)*sample_num+1 : i*sample_num)=x(i);  %将相对码码元序列转化成波形

end

%% 2.2载波调制

y=cos(2*pi*Fc*t);     %载波信号

dpsk=m_x.*y;            %载波调制

end

②2DPSK的相干解调加码反变换

2DPSK相干解调就是在2PSK相干解调的抽样判决器之后增加了一个码反变换器,将抽样判决器输出的单极性相对码变为单极性绝对码。

%% 带通滤波

dpsk_bp=DPSK_cheby_filter(dpsk,Fc,fs,Rb); %带通滤波

%% 相乘器

dpsk_sin=dpsk_bp.*y;                            %乘法器(乘以相干载波)

%% 低通滤波

dpsk_sin_lp=DPSK_lowpass( dpsk_sin,fs,Rb ); %低通滤波

%%抽样判决(输出的是单极性相对码)

function [ y ] =DPSK_sample_judge( x,delta_T )

length_ori=length(x)/delta_T;

for i=1:length_ori

    if x((i-1)*delta_T+delta_T/2)>0%中点值与阈值比较

        y(i)=1;

    else y(i)=0;

    end

end

end

%% 码反变换

function [ demodulate_dpsk ] =DPSK_oppsite_change_code( sample_judge,length_ori )

demodulate_dpsk=zeros(1,length_ori);

demodulate_dpsk(1)=xor(sample_judge(1),0);  %设定的第一位相对码为“0” 码变换的时候设置的参考马原是0

for i=2:length_ori

    demodulate_dpsk(i)=xor(sample_judge(i),sample_judge(i-1));

end

end

③为什么2PSK会出现相位模糊,2DPSK为什么可以解决相位模糊

在相干解调时,相干解调器的接收端需要根据接收信号产生一个与接收信号同频同相的本地载波(载波恢复)。而2PSK信号没有离散的载频分量提取的载波有可能与信号载波同相或反相。

2DPSK也会受到相位模糊的影响产生倒Π的现象使抽样判决器输出的码元相反,但是2DPSK是用相对码进行绝对调相,在判决输出时就算相对码出现倒Π现象也不影响相对码进行逆变换恢复出正确的绝对码,所以2DPSK不存在相位模糊问题。

④2DPSK非相干解调原理

2DPSK非相干解调与相干解调的不同在于不需要相干波也就是不需要载波恢复,而是将解调器接收端输入的信号延时一个码元周期,在Matlab中就是延迟一个码元周期的采样点数。

注意:延迟的采样点数对应的信号波形应该是参考码元对应的信号波形,而不是补采样点数个0.

%% 4.解调

% 带通滤波

dpsk_bp=DPSK_cheby_filter(dpsk,Fc,fs,Rb); %带通滤波

%产生参考码元的波形

cankao = -1.*ones(1,sample_num); %在调制的时候参考码元设置的是0,在极性变换的时候0对应着-1,所以参考码元的波形是采样点数个-1。

cankao1 = cankao.*y(1:sample_num);

% 相乘器

dpsk_bp_sy = [cankao1(1:sample_num),dpsk_bp(1:end-sample_num)];%时延之后的信号

dpsk_sin = dpsk_bp.*dpsk_bp_sy;                            %乘法器(乘以相干载波)

% 低通滤波

dpsk_sin_lp=DPSK_lowpass( dpsk_sin,fs,Rb ); %低通滤波

% 抽样判决

choupan1=DPSK_sample_judge( dpsk_sin_lp,sample_num ); %抽样判决

choupan1=~choupan1;

for i=1:len%样点序号

     choupan((i-1)*sample_num+1 : i*sample_num)=choupan1(i);  %将码元序列转化成波形

end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值