主要内容

P25频谱感知与合成和捕获数据

这个例子展示了如何使用循环平稳特征检测来区分不同调制方案的信号,包括P25信号[1].它定义了四种情况的信号:仅噪声、C4FM、CQPSK和一种任意类型的信号。本例将检测算法应用于不同信噪比的信号,并对捕获的真实P25信号进行分类。图形结果表明,该检测算法在所有情况下都成功。

项目25 (P25)

Project 25 (P25或APCO-25)是一套数字无线电通信标准,供北美联邦、州、省和地方公共安全机构使用。当发生紧急情况时,该协议套件可在政府机构和互助响应小组之间进行通信。在这方面,P25的作用与欧洲陆地集群无线电(TETRA)相同[2协议,尽管这两个标准彼此不能互操作。在北美地区,P25广泛应用于公共安全、安防、公共服务、商业等领域[1].

项目25分两个阶段部署。在第一阶段,P25采用C4FM (compatible 4 level frequency modulation)。在最简单的形式中,它是一种特殊类型的4FSK调制,它使用四种不同的频率来表示符号。阶段1使用这种调制方案在12.5 kHz信道上传输数字信息。

阶段2使用兼容的正交相移键控(CQPSK)调制格式在6.25 kHz信道上传输数字信息。CQPSK调制本质上是pi/4差分正交相移键控(pi/4 DQPSK),其中编码是对称的,使用的相变值为-135度,-45度,+45度和+135度,如下图所示。

在这个图中,红点的下一个状态只能是绿点,反之亦然。虽然数据速率和每个符号的比特数是相同的,但两种调制方案之间的主要区别是C4FM使用频移来描述一个符号,这提供了一个固定幅度的信号。相比之下,CQPSK使用相移来描述符号,它赋予信号一个振幅分量。

循环平稳特征检测

调制识别和信号分类是一个研究了二十多年的课题。分类方案一般可分为两大类之一:基于可能性(LB)的方法和基于特征(FB)的方法[3.].循环平稳特征检测是一种基于这样一个事实的FB技术,即通信信号不能被准确地描述为平稳,而是更恰当地建模为循环平稳[4].

循环平稳过程是具有统计特性随时间周期性变化的信号[5].由于采样、扫描、调制、多路复用和编码等过程,信号以明确定义的方式出现这些周期性。由此产生的信号周期性可以用来确定未知信号的调制方案[4].

循环平稳特征检测是一种鲁棒的频谱感知技术,因为调制信息是一个循环平稳的过程,而噪声不是。因此,即使在低信噪比环境下,循环探测器也能成功工作。

Noise-Only案例

对于只有噪声的情况,生成一个(4*N)乘1的高斯白噪声向量,其幂为1 dBW。1/(4*N)为计算光谱自相关函数(SAF)的循环分辨率commP25ssca.m

N = 4096;input = wgn(4*N,1,1);

利用时域谱自相关函数分析信号x(t)的周期平稳特征。运行谱自相关函数commP25ssca.m在输入信号上。该函数使用条形谱相关算法(SSCA)估计理想谱自相关函数[3.时间平滑法。这是一种基于FFT的时间平滑算法。参阅[6],以了解该算法的实现。

运行绘图函数commP25plot.m.这一步说明了谱自相关函数,这是一个三维图形。它的x轴表示从-1到1的循环频率(alpha)。它的y轴表示从-0.5到0.5的光谱频率(f), z轴(Sx)表示每个(alpha, f)对的光谱自相关函数的相应大小。循环分辨率dalpha = 1/T,其中T为数据的观测时间。谱分辨率df = 1/Tw,其中Tw是计算复解调的窗口时间[7].因为T > Tw, dalpha < df。注意,当alpha不等于零时,SAF值近似为零。

% 64为窗口时间Tw, 4*N为观测时间T(Sx, alphao fo) = commP25ssca(输入1 1/64,1 / (4 * N));Fig1 = figure(“位置”,figposition([5 40 40 40]));commP25plot (Sx, alphao fo);

commP25decision_noise.m确定输入信号是否只包含噪声。commP25decision_c4fm.m确定输入信号是否是C4FM信号。和commP25decision_cqpsk.m确定输入信号是否是CQPSK信号。这些决定是根据SAF中山峰的位置作出的。在本例中,代码正确地推断不存在P25信号。

[c,d] = size(Sx);[Ades,Index] = sort(Sx(:)),“下”);根据Sx的元素排序并存储在Ades中[Ridx,Cidx] = ind2sub(size(Sx),Index);%对应行索引和列索引长度(Ades);noise_decision = commP25decision_noise(Ades,Ridx,Cidx,leng,c,d);如果noise_decision == 0 c4fm_decision = commP25decision_c4fm(Ades,Ridx,leng,c);如果c4fm_decision == 0 commP25decision_cqpsk(Ades,Ridx,Cidx,leng,c,d);结束结束
无P25信号。

C4FM案例与合成数据

根据[8],下面的调制结构产生C4FM输出信号。

正常凸起余弦滤波器满足奈奎斯特脉冲整形准则,最大限度地减少码间干扰。凸起余弦滤波器的参数根据滤波器的规格在[8].具体来说,这个凸起的余弦滤波器的上采样因子为4,滚转因子为0.2。C4FM标准还要求在提升余弦滤波器之后添加逆sinc滤波器,以补偿P25接收器积分和转储滤波器的sinc响应。调制器有600hz的偏差。

为了观察噪声对设计决策的影响,在信噪比值为-3 dB, 3 dB和无穷大dB时运行检测。

输入位的长度%为n,输出位的长度也必须为% Nx = randi([0,3],N,1);Sym = 2*x-3;%整数输入上升余弦滤波器%sampsPerSym = 4;%上采样因子按给定的符号顺序设计凸起余弦滤波器。将增益应用于%的单位能量滤波器,以获得最大振幅为1。rctFilt = com . raisedcosinetransmitfilter (...“形状”“正常”...“RolloffFactor”, 0.2,...“OutputSamplesPerSymbol”sampsPerSym,...“FilterSpanInSymbols”现年60岁的...“获得”, 1.9493);c4fm_init = rctFilt(sym);shape2 =“Inverse-sinc低通”;D2 = fdesign.interpolator(2, shape2);Intrpltr =设计(d2,“SystemObject”,真正的);C4fm_init = intrpltr(C4fm_init);基带频率调制器Fs = 4800;Freqdev = 600;int_x = cumsum(c4fm_init)/Fs;C4fm_output = exp(1i*2*pi*freqdev*int_x);y = c4fm_output(1:N);%理想情况下,信噪比=无穷大Y1 = awgn(y,3);%信噪比= 3分贝Y2 = awgn(y,-3);%信噪比= -3 dB

计算并绘制了相应的谱自相关函数。注意,随着信噪比的降低,SAF峰值变得更加模糊。

[Sx0, alphao0 fo0] = commP25ssca (y, 1, 1/64, 1 / (4 * N));[朋友,alphao1 fo1] = commP25ssca (y1, 1, 1/64, 1 / (4 * N));[Sx2, alphao2 fo2] = commP25ssca (y2, 1, 1/64, 1 / (4 * N));Fig2 = figure(“位置”,figposition([5 40 80 40]));次要情节(131);commP25plot (Sx0 alphao0 fo0);标题(“理想情况”);次要情节(132);commP25plot(朋友、alphao1 fo1);标题('信噪比= 3 dB');次要情节(133);commP25plot (Sx2 alphao2 fo2);标题(信噪比= -3 dB);

本节的步骤与上一节相同,得到每个信噪比的分类结果。这个函数commP25decision.m对所有可能的输入信号类型进行频谱感知分类。

commP25decision (Sx0);%理想情况
有信号存在。检查是否存在C4FM。这里是C4FM。
commP25decision(朋友);%信噪比= 3分贝
有信号存在。检查是否存在C4FM。这里是C4FM。
commP25decision (Sx2);%信噪比= -3 dB
有信号存在。检查是否存在C4FM。这里是C4FM。

CQPSK案例与合成数据

根据[8],下面的调制结构产生一个CQPSK输出信号。

CQPSK调制器由In Phase和Quadrature (I和Q)部分组成。输入位由查找表[8产生一个5级I/Q信号。因为查找表的规范相当于pi/4 DQPSK,所以本例使用DQPSK调制器System对象™来实现这个查找表。然后用前一种情况中描述的凸起余弦滤波器对I/Q信号进行滤波。

%输入比特大小为2*N,输出比特大小为4*Nx = randi([0,1],2*N,1);创建一个DQPSK调制器系统对象,以比特作为输入,相位圆周率/4的%旋转和灰色编码星座dqpskMod = com . dqpskmodulator (pi/4,“BitInput”,真正的);调制和过滤mod = dqpskMod(x);释放(rctFilt);cqpsk_output = rctFilt(modout);Y = cqpsk_output;%理想情况下,信噪比=无穷大Y1 = awgn(y,3);%信噪比= 3分贝Y2 = awgn(y,-3);%信噪比= -3 dB

计算并绘制相应的谱自相关函数。

[Sx0, alphao0 fo0] = commP25ssca (y, 1, 1/64, 1 / (4 * N));[朋友,alphao1 fo1] = commP25ssca (y1, 1, 1/64, 1 / (4 * N));[Sx2, alphao2 fo2] = commP25ssca (y2, 1, 1/64, 1 / (4 * N));Fig3 = figure(“位置”,figposition([5 40 80 40]));次要情节(131);commP25plot (Sx0 alphao0 fo0);标题(“理想情况”);次要情节(132);commP25plot(朋友、alphao1 fo1);标题('信噪比= 3 dB');次要情节(133);commP25plot (Sx2 alphao2 fo2);标题(信噪比= -3 dB);

下面的代码输出显示了三种不同信噪比值的CQPSK检测结果。

commP25decision (Sx0);%理想情况
有信号存在。检查是否存在C4FM。这不是C4FM。检查是否存在CQPSK。这里是CQPSK。
commP25decision(朋友);%信噪比= 3分贝
有信号存在。检查是否存在C4FM。这不是C4FM。检查是否存在CQPSK。这里是CQPSK。
commP25decision (Sx2);%信噪比= -3 dB
有信号存在。检查是否存在C4FM。这不是C4FM。检查是否存在CQPSK。这里是CQPSK。

非p25信号案例与合成数据

本案例定义了任意一种信号类型,用P25周期平稳检测器对其进行处理,并确定它是否是P25信号。

设计了FIR等纹波低通滤波器,并将其应用于随机输入。在这种情况下,不要给信号添加任何噪声。尝试其他信号类型,并让循环平稳特征检测器对它们进行分类。

Bcoeffs = firpm(200,[0 0.2 0.22 1],[1 1 00]);%设置N达到40db拒绝input = randn(N,1);Y = filter(bcoeffs,1,input);

然后计算并绘制谱自相关函数。注意,每个信号的不同调制特性会产生显著不同的SAFs。

[Sx,alpha,fo] = commP25ssca(y,1,1/64,1/(4*N));Fig4 = figure(“位置”,figposition([5 40 40 40]));commP25plot (Sx, alphao fo);

按照同样的步骤,得到分类结果。

commP25decision (Sx);
有信号存在。检查是否存在C4FM。这不是C4FM。检查是否存在CQPSK。这也不是CQPSK,所以它不是P25信号。

C4FM案例与捕获数据

本案例将检测算法应用于捕获的真实C4FM信号。信号由P25无线电以446 MHz传输,由USRP®无线电接收,然后由MATLAB®保存在capturedc4fm.mat中。按照同样的步骤,得到分类结果。

负载capturedc4fm.mat;y = y(1:4*N);agc = com . agc;Y = 0.1*agc(Y);[Sx,alpha,fo] = commP25ssca(y,1,1/64,1/(4*N));Fig5 = figure(“位置”,figposition([5 40 40 40]));commP25plot (Sx, alphao fo);commP25decision (Sx);
有信号存在。检查是否存在C4FM。这里是C4FM。

结论

这个例子展示了如何使用循环平稳特征检测来区分不同调制方案的信号。该算法根据谱自相关函数中峰值的位置对信号进行分类。由于循环平稳特征检测对噪声的抗扰能力,它比一些探测器(如能量探测器)有优势。

附录

本例使用了以下脚本和helper函数:

选定的参考书目

  1. 兴趣小组:https://www.project25.org/

  2. 脂鲤< https://en.wikipedia.org/wiki/Terrestrial_Trunked_Radio>

  3. 例如,“利用循环统计量的非合作调制识别”。硕士论文,2007年

  4. E. C. Like, V. D. Chakravarthy, P. Ratazzi,和Z. Wu,“使用循环频谱分析在衰落信道中的信号分类”,EURASIP无线通信与网络杂志,2009年卷。

  5. W. a . Gardner, a . Napolitano和L. Paura,“循环平稳性:半个世纪的研究”,信号处理,第86卷,第4期,第639-697页,2006。

  6. E. L.达·科斯塔,“循环平稳信号的检测与识别”。硕士论文,1996。

  7. Antonio F. Lima, Jr.,“使用循环平稳处理的低概率拦截(LPI)无线电信号分析”。硕士论文,2002。

  8. TIA标准项目25:< https://tiaonline.org/what-we-do/standards/>