压缩采样 矩阵重构 最小l1范数算法 matlab,【网安学术】超宽带信号的快速匹配追踪算法...

原标题:【网安学术】超宽带信号的快速匹配追踪算法

2321c21bae86712d14a5354ebab09e97.png

摘要:压缩感知理论可应用到脉冲超宽带通信中,以降低采样速率。超宽带信号常常采用多径分集字典来稀疏表示,使得压缩采样匹配追踪(CoSaMP)、广义正交匹配追踪(GOMP)等经典的重构算法经常出现原子误选的情况,导致信号重构误差增大。因此,在GOMP的基础上,提出了一种新的重构算法。该算法在每次迭代中可选取多个原子以加快迭代收敛速度,并且通过限制被选中原子之间的序号差来避免原子误选。仿真实验表明,该算法不仅可以保证重构精度,而且具有更低的计算复杂度。

0 引言

传统采样定理要求采样频率是信号带宽的2倍以上,从而保证采样所得信号不失真。因此,在处理超宽带信号时,就会面临许多困难。压缩感知(Compressive Sensing,CS)[1]是一种新的稀疏信号采样和重建理论。该理论中,信号采样和压缩能同时完成,使得系统能够低于奈奎斯特采样频率采样,降低了系统的数据采样和储存成本,适合应用于超宽带通信系统。

Jose[2]是最早研究压缩感知应用于超宽带的学者之一。文献[2]中提到了两种超宽带稀疏信号的表示方式,一种用时域稀疏字典来表示,即单位矩阵,一种用多径分集字典来表示,能够更加稀疏地表示超宽带信号,因此被更多采用。但是,多径分集字典由超宽带脉冲波形位移产生,相邻原子之间的相关性较高,在使用匹配追踪算法时,会对原子的正确选择造成一定干扰。压缩采样匹配追踪(Compressive Sampling Matching Pursuit,CoSaMP)[3]算法、稀疏度自适应匹配追踪(Sparsity Adaptive Matching Pursuit,SAMP)[4]算法和正则化正交匹配追踪(Regularized Orthogonal Matching Pursuit,ROMP)[5]算法,每次迭代都会选取多个原子,使得选取相邻原子的可能性加大而产生误选。广义正交匹配追踪(Generalized Orthogonal Matching Pursuit,GOMP)[6]每次迭代选择L 个原子,L 被称为迭代步长。L 越大,GOMP发生原子误选的可能性越高。正交匹配追踪(Orthogonal Matching Pursuit,OMP)算法[7]由于每次迭代只选择一个原子,所以重构精度没有明显降低。但是,OMP的迭代次数过多,需要大量计算时间,所以L 在一定范围内时,GOMP更加适合应用于超宽带通信。

本文在GOMP算法的基础上,针对超宽带信号稀疏表示的特点做出改进,尽可能避免一定区间范围内同时选择多个原子。仿真实验表明,本文算法能够在运算时间接近GOMP的情况下,获得更高的重构精度。而相对于OMP而言,本文算法能在保证重构精度的同时,有效节省运算时间。

1 压缩感知理论

压缩感知理论指出:假设信号在nxn 维的稀疏字典下可以被稀疏表示,稀疏度k<n ,通过mxn 维的测量矩阵随机采样后得到m(k<m<n) 维的观测向量y 为:

其中称作传感矩阵,向量a 是信号x 在稀疏字典下的稀疏表示。由于m<n ,通过观测向量y 和测量矩阵无法直接求信号x ,所以将其转化成如下最优化问题:

其中,表示a 的l0 范数。式(2)中的优化问题是一个NP-Hard问题,通常在传感矩阵满足约束等距性质(Restricted Isometry Property,RIP)[8]的条件下,将式(2)中l0 范数优化问题转化为如式(3)所示的l1 范数优化问题:

通过相关重构算法,如OMP算法、基追踪(Basis Pursuit,BP)算法[9]和迭代硬阈值(Iterative Hard Thresholding,IHT)算法[10]等,就可以利用已知的观测向量y 和传感矩阵求得稀疏表示向量a ,再进而求出信号x 。

2 超宽带信号的快速匹配追踪算法

2.1 算法分析

首先介绍多径分集字典。脉冲超宽带信号经过多条不同时延和衰落的路径到达接收机,接收信号就由这些分量组合而成。稀疏字典的设计应该尽可能考虑和利用被稀疏表示信号的结构与特征。所以,文献[2]提出了一种稀疏表示基,即:

其中,p(t) 表示超宽带发射脉冲波形,表示理论上的采样时间间隔。若N 表示一次观测的总采样点数,则一次观测的总时长为。接收信号在此稀疏字典下可表示为:

其中,K 既代表信号多径的数目,也代表信号x 的稀疏度,{a(nl)} 为各个多径分量的幅值。超宽带信号占用的带宽极宽,具有高多径分辨率,可认为多径分量重叠的概率很小,且只有一小部分的多径分量幅值较大。因此,超宽带信号在该稀疏字典下可以被稀疏表示,且相对于时域稀疏字典,这种表示方法的结果更加稀疏。

目前,关于压缩感知应用于超宽带的研究中,大多数采用了多径分集字典作为稀疏矩阵。因为多径分集字典相比于时域稀疏字典,更能充分利用脉冲超宽带信号的稀疏性。使用时域稀疏字典时,无论采用何种重构算法,重构精度都比较低。因此,实际应用中采用时域稀疏字典是不可行的。

然而,在使用多径分集字典时,CoSaMP、SAMP、ROMP均出现了较大误差,原因是多径分集字典的相邻原子相关性很高,匹配追踪类算法采用内积的绝对值大小作为原子筛选的标准。正确原子相邻的位置的内积绝对值往往也较大,若一次迭代中选择很多原子,那么在匹配追踪的原子筛选过程中容易选择正确原子的相邻原子,从而产生误选。

文章第3节的图1可以看出,随着GOMP迭代步长的增大,重构精度明显下降。但是,当字典为单位矩阵时,迭代步长的增大并不会造成重构精度明显下降[6]。由此可以证明,多径分集字典对迭代步长较大的匹配追踪算法会有一定影响,问题的根本原因是正确原子的相邻原子与残差的内积值较大,致使其容易在同一次迭代中被选中。解决这一问题的办法是在匹配原子的过程中尽量避免同一次迭代选中相邻原子。基于这样的目的,本文提出了一种算法,使得同一次迭代所选原子保持一定距离。若只选择正确的原子,再经过正交化处理,那么下一次迭代中残差与其相邻原子的内积值会明显减小,从而可以有效降低误选的可能性。

此外,本文算法将GOMP的迭代停止条件改为或者满足t>K ,其中t 代表迭代次数的序号,rt 代表第t 次迭代后的残差,K 是允许的最大迭代次数,为常数。也就是说,当残差的相对变化率小于一定数值时,认为匹配追踪已经完成。该条件增强了算法的自适应性,在信号稀疏度不明确的条件下也能使用该算法。

2.2 算法步骤

GOMP的计算复杂度比OMP低,在步长L 不大时,其重构精度甚至略微优于OMP,所以显然更适合应用在超宽带的高速通信中。本文在GOMP的基础上,针对算法的不足作出改进,使得在算法复杂度没有明显提高的前提下提高重构精度,使算法更具有应用价值。

下面是本文提出算法的具体步骤:

输入:感知矩阵,观测向量y ,每次迭代选取的原子个数L ,最大迭代次数K ;

(1)初始化:残差r0=y ,已选原子索引集合,已选原子集合,迭代次数t=1 ;

(2)计算, 表示中各原子(列向量)的序号和u 中各元素的序号;

(3)按照向量u 各元素的值从大到小依次选择对应序号的原子。在此过程中,若某原子与任意已被选中原子的序号之差的绝对值小于S ,则该原子被舍弃,直到L 个原子被选中,再进行下一步;

(4)将这L 个原子对应的序号构成集合J ,代表第j 个原子;

(5)利用最小二乘法计算被选原子对应的系数;

(6)更新残差 ;

(7)t=t+1 ,如果或者满足t>K ,则进行下一步;否则返回第2步继续迭代;

(8)根据被选原子的系数at 和稀疏矩阵,可以得到原始信号;

输出:原始信号x 。

3 仿真与分析

本文通过仿真实验验证算法的性能。选取原始信号为IEEE802.15.3a CM1模型下1024x1 的脉冲超宽带多径信号,测量矩阵为Mx1024 的高斯随机矩阵,M 为观测点数,本文算法中 S的取值为3,取值为0.1。参照文献[2]中的评价标准:若重构误差小于原始信号能量的1%,即,则认为信号被成功重构。本文采用信号重构成功的概率作为重构精度的衡量指标。仿真环境为Intel i5-5200U CPU,8G RAM,Windows 10 64位操作系统,采用Matlab 2016b仿真。

图1和图2分别表示迭代步长L 从1变化到15过程中,GOMP算法和本文算法运行时间和重构精度的对比,其中稀疏字典都采用多径分集稀疏字典。由图1和图2可得以下结论:(1)本文算法与GOMP算法的计算复杂度相近,迭代次数是影响整体计算复杂度的最主要因素。相比OMP算法(即GOMP算法L=1 时),GOMP和本文算法在计算复杂度上有明显优势。(2)当随机采样点数为256时,本文算法在迭代步长L=4 时成功重构信号的概率最大,GOMP算法在L=3 时成功重构的概率最大。相比于OMP算法和GOMP算法,本文算法在重构精度和计算复杂度两个方面都有一定优势。(3)当迭代步长过大时,GOMP和本文算法的重构精度都会下降,但显然本文算法受到的影响更小,所以同等精度要求下,本文算法可以选择更大的迭代步长。

1901ebd318e68536908f5e10d7b081b1.png

1c7e123a6348c3d004f56dbb9d1e6b16.png

表1为观测点数M 不同的情况下,不同重构算法成功重构原始信号的概率。分别检测OMP算法、GOMP算法(L=3 、L=6 )以及本文算法(L=3 、L=6 )在稀疏字典为多径分集字典的情况下成功重构的概率。各种情况均重复10 000次,最后得到如表1所示的统计结果。从表1的数据中可以看出,当要求重构成功概率为1时,OMP和本文算法(L=3 )所需的观测点数M 最少,但本文算法运行时间约是OMP的1/3。GOMP需要的观测点数最多,不利于降低采样率,也增加了重构所需的时间,说明本文算法相比OMP和GOMP具有更佳的性能。在实际应用中,可以根据需求选择合适的步长,从而在满足采样率和重构精度要求的前提下节省算法的运行时间。

c5725eec4cc7323db139a5199b95bbcf.png

4 结语

本文介绍了用于稀疏表示超宽带信号的多径分集字典,分析了CoSaMP、GOMP等算法出现原子误选的原因,并针对OMP和GOMP两种算法在超宽带应用中的不足作出改进,限制被选原子之间的序号差,减少原子误选的发生,弥补多径分集字典的不足,从而选择更大的迭代步长。仿真实验证明,该算法在运行时间和重构精度两个方面都获得了一定改善。

参考文献:

[1] Donoho D L.Compressed Sensing[J].IEEE Transactions on Information Theory,2012,52(04):1289-1306.

[2] Paredes J L,Arce G R,Wang Z.Ultra-Wideband Compressed Sensing:Channel Estimation[J].IEEE Journal of Selected Topics in Signal Processing,2007,1(03):383-395.

[3] Needell D,Tropp J A.CoSaMP:Iterative Signal Recovery from Incomplete and Inaccurate Samples[J].Applied & Computational Harmonic Analysis,2008,26(03):301-321.

[4] Do T T,Lu G,Nguyen N,et al.Sparsity Adaptive Matching Pursuit Algorithm for Practical Compressed Sensing[C].Signals,Systems and Computers,2009:581-587.

[5] Needell D,Vershynin R.Uniform Uncertainty Principle and Signal Recovery via Regularized Orthogonal Matching Pursuit[J].Foundations of Computational Mathematics,2009,9(03):317-334.

[6] Jian W,Kwon S,Shim B.Generalized Orthogonal Matching Pursuit[J].IEEE Transactions on Signal Processing,2012,60(12):6202-6216.

[7] Pati Y C,Rezaiifar R,Krishnaprasad P S.Orthogonal Matching Pursuit:Recursive Function Approximation with Applications to Wavelet Decomposition[C].Signals,Systems and Computers,2002:40-44.

[8]Donoho D L,Huo X.Uncertainty Principles and Ideal Atomic Decomposition[J].IEEE Transactions on Information Theory,2002,47(07):2845-2862.

[9] Chen S S,Donoho D L,Saunders M A.Atomic Decomposition by Basis Pursuit[J].Siam Review,2001,43(01):129-159.

[10] Donoho D L,Tsaig Y,Drori I,et al.Sparse Solution of Underdetermined Systems of Linear Equations by Stagewise Orthogonal Matching Pursuit[J].IEEE Transactions on Information Theory,2012,58(02):1094-1121.

作者简介:

沈子钰,杭州电子科技大学 通信工程学院硕士,主要研究方向为压缩感知;

褚杭柯,杭州电子科技大学 通信工程学院硕士,主要研究方向为无线通信;

唐川雁,杭州电子科技大学 通信工程学院硕士,主要研究方向为信号处理。

(本文选自《通信技术》2018年第五期)

原创声明 >>>

本微信公众号刊载的原创文章,欢迎个人转发。未经授权,其他媒体、微信公众号和网站不得转载。

···························································返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: l1范数是指向量中各个元素绝对值的和,也被称为绝对值范数。它衡量向量中所有元素对整体贡献的绝对大小。l1范数的计算公式如下:||x||1 = |x1| + |x2| + ... + |xn|。 l1范数的代码实现如下(MATLAB): ```matlab function norm_l1 = l1_norm(x) norm_l1 = sum(abs(x)); end ``` l2范数是指向量中所有元素的平方和的平方根,也被称为欧几里得范数。它衡量向量的整体长度。l2范数的计算公式如下:||x||2 = sqrt(x1^2 + x2^2 + ... + xn^2)。 l2范数的代码实现如下(MATLAB): ```matlab function norm_l2 = l2_norm(x) norm_l2 = sqrt(sum(x.^2)); end ``` matlab源码.zip是一个压缩文件,其中包含了l1范数和l2范数MATLAB代码实现。你可以下载这个压缩文件,解压后使用其中的代码进行l1和l2范数的计算。 ### 回答2: L1范数是指向量中所有元素绝对值的和,而L2范数是指向量中所有元素平方和的平方根。 下面是一个计算L1范数MATLAB源码示例: ``` function l1norm = calculateL1Norm(vector) l1norm = sum(abs(vector)); end ``` 这段代码接受一个向量作为输入参数,并计算该向量的L1范数。它通过调用MATLAB内置函数`abs`来计算向量中每个元素的绝对值,并使用`sum`函数来计算所有元素绝对值的和。 L2范数可以通过MATLAB内置函数`norm`来计算,下面是一个示例: ``` function l2norm = calculateL2Norm(vector) l2norm = norm(vector); end ``` 这段代码接受一个向量作为输入参数,并计算该向量的L2范数。它使用`norm`函数来计算向量的L2范数,默认情况下`norm`函数会计算L2范数。 你提到的`matlab源码.zip`可能是包含上述代码的MATLAB源码文件的压缩文件。你可以将该文件解压缩,并使用MATLAB软件加载源码文件来查看和运行这些代码。 ### 回答3: L1范数是指向量中各个元素的绝对值之和。在数学上,给定一个向量x=(x1,x2,...,xn),它的L1范数表示为||x||_1,计算公式为: ||x||_1 = |x1| + |x2| + ... + |xn| L2范数是指向量中各个元素的平方和再开方。在数学上,给定一个向量x=(x1,x2,...,xn),它的L2范数表示为||x||_2,计算公式为: ||x||_2 = sqrt(x1^2 + x2^2 + ... + xn^2) 可以看出,L1范数是各个元素的绝对值求和,而L2范数是各个元素的平方和开方。 至于所提到的"l1范数代码,l1范数和l2范数,matlab源码.zip",我无法直接提供该文件,因为不能以文本形式输入文件。但你可以在网上搜索相关的代码或者Matlab源码,以学习如何实现L1范数和L2范数的计算。常见的实现方式包括循环遍历向量的元素并累计求和,以及使用内置函数进行计算。对于Matlab而言,可以使用sum()函数计算L1范数,使用norm()函数计算L2范数。 希望以上信息对你有所帮助。如果你有任何进一步的问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值