1.算法描述
OQPSK调制技能是一种恒包络调制技能,受体系非线性影响小,具有较高的带宽利用率和功率利用率,在卫星环境、无线环境下得到广泛应用。因而,在通信信号侦收设备所处理的信号中,存在很多的OQPSK信号。在传统的侦收设备中,接纳机的解调单元都是选用模仿处理办法和器材完成的。大都运用了模仿滤波器、鉴相器(乘法器)和压控振荡器(VCO)。这种传统的模仿解调单元电路体积大,方法杂乱;调试进程杂乱、调试周期长;器材内部噪声大,易受环境影响,可靠性差。因而,这种传统的侦收设备不能完全发挥数字通信的优势,完成信号的最佳接纳。随着大规模集成电路(VLSI)技能和工艺的前进,数字集成电路的杂乱度和功用达到了前所未有的高度,以专用集成电路(ASIC)、数字信号处理器(DSP)、和现场可编程逻辑门阵列(FPGA)为代表的IC,已经在工业生产中得到大规模的应用。这些技能和工艺的快速发展,给侦收设备中解调单元的全数字化供给了或许。
全数字化的调制解调器与传统的模仿电路调制解调器比较主要有以下长处:硬件电路安稳、通用、易保护;电路的安稳性好,根本不受环境、器材个体功能差异因素影响,无需杂乱的电路调试。算法由软件完成,能够在通用的硬件平台上用不同的算法完成不同的调制解调器。数字调制解调算法通过计算机规划仿真,易于调试。易于完成自适应接纳,能够切换或者调整体系软件,加载不同的算法,完成对多种不同体制信号的自适应接纳。利于集成,随着数字器材的高速发展,数字接纳机的集成度越来越高,使通信设备的小型化成为或许。本课题正是以某型侦收设备中OQPSK解调器的全数字化为布景展开研讨,规划并完成全数字OQPSK调制解调器。
OQPSK也称为偏移四相相移键控(offset-QPSK),是QPSK的改进型。它与QPSK有相同的相位关系,也是把输入码流分红两路,然后进行正交调制。不同点在于它将同相和正交两支路的码流在时间上错开了半个码元周期。因为两支路码元半周期的偏移,每次只要一路或许产生极性翻转,不会产生两支路码元极性一起翻转的现象。因而,OQPSK信号相位只能跳变0、90,不会呈现180的相位跳变。
OQPSK信号可选用正交相干解调方法解调。它与QPSK信号的解调原理根本相同,其差别仅在于对Q支路信号抽样判定时间比I支路延迟了/2,这是因为在调制时Q支路信号在时间上偏移了/2,所以抽样判定时间也应偏移/2,以保证对两支路交织抽样。
OQPSK克服了QPSK的l80的相位跳变,信号通过BPF后包络崎岖小,功能得到了改善,因而受到了广泛重视。可是,当码元转化时,相位改动不连续,存在90的相位跳变,因而高频滚降慢,频带仍然较宽。
选用非归零码直接进行调制所得的QPSK信号的起伏非常稳定,但其信号频谱较大。但是,当QPSK进行波形成形时,它们将失掉恒包络的性质。偶尔产生的弧度为的相移,会导致信号的包络在瞬间通过零点。任何一种在过零点的硬限幅或非线性扩大都会引起旁瓣再生和频谱扩展,必须运用功率较低的线性扩大器扩大QPSK信号,这将使扩大器的功率受到限制,从而影响到终端的小型化。
为了克服QPSK对信道的线性度要求很高,交织QPSK(OQPSK)或参差QPSK虽然在非线性环境下也会产生频谱扩展,但对此已不那么灵敏,因而能支撑更高功率的扩大器。
在OQPSK中,其I支路比特流和Q支路比特流在数据沿上差半个符号周期,其它特性和QPSK信号相似。在QPSK信号中,奇比特流和偶比特流的比特一起跳变,可是在OQPSK信号中,I支路比特流和Q支路比特流,在它们的改动沿的当地错开一比特(半个符号周期)。
因为在规范QPSK中,相位跳变仅在每个Ts=2TB秒时产生,而且存在180的最大相移。可是在OQPSK信号中,比特跳变(从而相位跳变)每Tb秒产生一次。因为I支路和Q支路的跳变瞬时被错开了,所以在任意给定时间只要两个比特流中的一个改动它的值。这意味着,在任意时间发送信号的最大相移都限制在90。因而OQPSK信号消除了180相位跳变,改善了其包含特性。
从星座图看出,180相位跳变消除了,所以OQPSK信号的带限不会导致信号包络通过零点。OQPSK包络的改动小多了,因而对OQPSK的硬限幅或非线性扩大不会再生出严重的频带扩展示,OQPSK即便在非线性扩大后仍能保持其带限的性质,这就非常适合移动通信体系,因为在低功率应用情况下,带宽功率和高效非线性扩大器是起决定性作用的。还有,当在接纳机端因为参阅信号的噪声造成相位抖动时,OQPSK信号表现的功能比QPSK要好。
2.仿真效果预览
matlab2022a仿真成果如下:
3.MATLAB中心程序 `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;
figure(1);stairs(I_Data);
figure(2);stairs(Q_Data);
figure(3);plot(I_D);
figure(4);plot(Q_D);
figure(5);plot(I_Carrier);
figure(6);plot(Q_Carrier);
figure(7);plot(I_MOD);
figure(8);plot(Q_MOD);`