1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/Y5qWm5hu
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
OQPSK也称为偏移四相相移键控(offset-QPSK),是QPSK的改进型。它与QPSK有同样的相位关系,也是把输入码流分成两路,然后进行正交调制。不同点在于它将同相和正交两支路的码流在时间上错开了半个码元周期。由于两支路码元半周期的偏移,每次只有一路可能发生极性翻转,不会发生两支路码元极性同时翻转的现象。因此,OQPSK信号相位只能跳变0°、±90°,不会出现180°的相位跳变。
4.部分源码
clc;
clear ;
len = 2000; %设置数据长度
Freq_Data = 16.32e6; %采样频率--转换抽样频率为:16.32MHZ
nsamp = 16; %采样率
Freq_Sample = Freq_Data * nsamp;
%%
Freq_Carr = 8e6; %载波频率
FC_NCO = 8e6; %本地NCO频率
Ts = 1 / Freq_Sample;
T = nsamp * Ts;
alpha = 0.5;
delay = 2;
wc = Freq_Carr * 2 * pi;
wc_nco = FC_NCO * 2 * pi;
Delta_Freq = - Freq_Carr/100; %频偏
%得到OQPSK调制两路信号
I_Data = ones(len,1);
for i = 1 : 2 : len
I_Data(i) = -1;
end
Q_Data = I_Data;
I_D = u_rrcsend(I_Data,len,nsamp,0,Ts);
Q_D = u_rrcsend(Q_Data,len,nsamp,0,Ts);
carlen = length(I_D)/nsamp;
%载波信号
Delta_Phase=0; %初始相位为0
I_Carrier=cos((wc+Delta_Freq)/Freq_Sample*(1:carlen*nsamp)); %I路载波
Q_Carrier=-sin((wc+Delta_Freq)/Freq_Sample*(1:carlen*nsamp)); %Q路载波
%调制
I_MOD = I_D.*I_Carrier;
Q_MOD = Q_D.*Q_Carrier;
%生成OQPSK信号
send = I_MOD + Q_MOD;
A133