数字信号调制基于matlab多进制数字相位调制(4PSK)含Matlab源码 1001期

Posted 紫极神光(Q1564658423)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字信号调制基于matlab多进制数字相位调制(4PSK)含Matlab源码 1001期相关的知识,希望对你有一定的参考价值。

一、简介

相移键控法, 根据数字基带信号的两个电平使载波相位在两个不同的数值之间切换的一种相位调制方法。
产生PSK信号的两种方法:
1)、调相法:将基带数字信号(双极性)与载波信号直接相乘的方法:
2)、选择法:用数字基带信号去对相位相差180度的两个载波进行选择。
两个载波相位通常相差180度,此时称为反向键控(PSK)。
解调方法:只能采用相干解调。
类型:二进制相移键控(2PSK),多进制相移键控(MPSK)。

二、源代码

%4PSK解调与解调
%假设在T=1,加入高斯噪声
clear all
close all
% 调制
bit_in = randint(1e3, 1, [0 1]);
bit_I  = bit_in(1:2:1e3);
bit_Q  = bit_in(2:2:1e3);
data_I = -2*bit_I+1;
data_Q = -2*bit_Q+1;
data_I1=repmat(data_I',20,1);
data_Q1=repmat(data_Q',20,1);
for i=1:1e4
    data_I2(i)=data_I1(i);
    data_Q2(i)=data_Q1(i);
end;
f=0:0.1:1;
xrc=0.5+0.5*cos(pi*f);
data_I2_rc=conv(data_I2,xrc)/5.5;
data_Q2_rc=conv(data_Q2,xrc)/5.5;
f1=1;
t1=0:0.1:1e3+0.9;
n0=rand(size(t1));
I_rc=data_I2_rc.*cos(2*pi*f1*t1);
Q_rc=data_Q2_rc.*sin(2*pi*f1*t1);
QPSK_rc=(sqrt(1/2).*I_rc+sqrt(1/2).*Q_rc);
QPSK_rc_n0=QPSK_rc+n0;
% 解调
I_demo=QPSK_rc_n0.*cos(2*pi*f1*t1);
Q_demo=QPSK_rc_n0.*sin(2*pi*f1*t1);
% 低通滤波
I_recover=conv(I_demo,xrc);    
Q_recover=conv(Q_demo,xrc);
I=I_recover(11:10010);
Q=Q_recover(11:10010);
t2=0:0.05:1e3-0.05;
t3=0:0.1:1e3-0.1;
% 抽样判决
data_recover=[];
for i=1:20:10000
    data_recover=[data_recover I(i:1:i+19) Q(i:1:i+19)];
end;
bit_recover=[];
for i=1:20:20000
    if sum(data_recover(i:i+19))>0
        data_recover_a(i:i+19)=1;
        bit_recover=[bit_recover 1];
    else
        data_recover_a(i:i+19)=-1;
        bit_recover=[bit_recover -1];
    end
end

三、运行结果

在这里插入图片描述

四、备注

版本:2014a

以上是关于数字信号调制基于matlab多进制数字相位调制(4PSK)含Matlab源码 1001期的主要内容,如果未能解决你的问题,请参考以下文章

数字信号调制基于二进制数字相位调制(2PSK)matlab源码

数字信号调制基于matlab GUI FSK调制+解调含Matlab源码 645期

数字信号调制基于matlab GUI数字信号调制系统含Matlab源码 1030期

数字信号调制基于matlab多进制数字频率调制(4FSK)含Matlab源码 999期

数字信号调制基于多进制数字频率调制(4FSK)matlab源码

数字信号调制基于matlab GUI 2ASK+2FSK+2PSK调制解调仿真含Matlab源码 1504期