博客

自如租房遇到的坑

毕业前,在收集租房信息时就了解到了自如的许多负面评价,包括但不限于:租金相较于其他途径贵、管家售前售后的态度转变等。然后浏览了一圈房源后,在同学的怂恿下还是决定在自如上租房。结果坑就出现了。= =

  1. 自如的支付方式不支持支付宝【而我之前把大部分钱转入了支付宝】
  2. 合同签约后,物品交割单内,不仅仅包含了自己租的卧室的物品,还包含了其他卧室的物品,例如3个床垫等。。。= =【我承认这是我自己太不仔细了,物业交割时候没看清就确认了。】
  3. 待续【也希望没坑了】

所以真是韭浪入海便被现实打击。关于第二点,在询问了管家后,得到了他们的口头承诺【自我感觉大概率没有卵用】

好在这次走的季付+0押金,只要能住够每个季度,收房有扯皮也没事。

Win下的C/C++开发环境配置(GCC+GDB+CMake)

安装MinGW(
https://sourceforge.net/projects/mingw-w64/ )主要注意PATH

安装gcc g++ gdb,命令行里输入

$ mingw-get install gcc g++ mingw32-make

安装Cmake( https://cmake.org/download/ )

CMake配置中,编译器需要选择mingw。如果提示

CMake Error: CMake was unable to find a build program corresponding to balabala

需要安装 mingw32_make.exe
$ mingw-get install mingw32-make

穿墙雷达成像中的杂波抑制方法

话说这半中半英的WordPress后台还真不好用

先简单介绍下穿墙雷达成像

穿墙雷达探测属于隐蔽目标探测的范畴,是继叶簇穿透、探地雷达之后的又一重要研究方向。穿墙雷达研究始于上世纪 80 年代,早期基于窄带雷达设计,实现了对目标的一维探测,即目标有无的探测。90 年代后,超宽带雷达技术 (UWB) 得到广泛应用,得益于超宽带雷达的宽频带特性和合成孔径雷达的长孔径特性,穿墙雷达具有了良好的距离向和方位向分辨率,可实现对目标场景的高分辨率成像,由此相继有美国、英国、俄罗斯、加拿大、以色列、中国等国家开展了相关研究并取得一系列成果。

目前最广泛应用的穿墙雷达系统是二维成像系统,美国 Time Domain 公司于 1998 年推出了基于冲激信号的“士兵视觉 1000”超宽带穿墙雷达样机。它的探测距离达 6m,距离分辨率为 10.2cm。随后 2001 年,该公司生产了“士兵视觉 2000”雷达。它的特点是具有合成孔径成像能力,作用距离远达 9m。同样采用冲激信号框架的还有以色列 Camero 公司的 Xaver400 系列,俄罗斯的 PircorR-Bio 系统等;而基于步进频率雷达的穿墙雷达系统有美国 AKELA 公司的 ASTIR 穿墙系统,雷声公司的 EMARS 系统。除了商用产品,众多高校与科研机构也研发了相关穿墙雷达系统,如美国维拉诺瓦 (Villanova) 大学的 SFCW 实验系统,美国麻省理工大学的基于维瓦尔第天线的穿墙探测原型系统以及国内国防科技大学的分裂发射虚拟孔径穿墙成像系统 。

然而,实际应用场景为穿墙雷达的成像和相关信号处理技术提出了新的要求与挑战:

  1. 由于墙体的存在,探测场景为多介质分层穿透模型,介质交界面的混响、反射、折射效应;以及不同介质中电磁波传播速度的改变都会导致目标探测的失焦和偏移;且电磁波通过墙体时会发生幅度和相位畸变。这是媒介传播中的衰减和色散特性,更是降低了回波的信杂比,为信号处理提出挑战;
  2. 实际目标探测中往往是静态目标和运动目标共同存在,运动目标的散射特性变化,对静态目标的屏蔽效应,多目标间的相互干扰,建筑物几何特性带来的多径效应引起的多重虚像都使得目标探测正确率下降;
  3. 此外受观测时间和空间限制,穿墙雷达多为可携带设备,其所发射探测信号在经过双程介质穿透后,回
  4. 波能量衰减严重,以及阵列天线的非理想性带来的复杂旁瓣栅瓣,都会使得成像质量大幅下降。

现有的杂波抑制方法

在穿墙雷达系统中,对来自墙体的杂波进行抑制是非常重要的预处理。墙体杂波包括来自墙体前后表面的反射回波,也包含了墙体内部多次反射后产生的回波。且由于墙体更靠近天线,导致其杂波通常能量更大,非常容易对场景中需成像的弱目标产生遮蔽效应。因此针对墙体杂波抑制的各种预处理算法的研究成为了一大热点。

以往的方法是在成像前, 对接收到的信号进行背景扣除, 用于去除来自天线的串扰和墙体反射。也就是从接收信号中减去没有目标存在时的回波数据, 但是往往很难预先获取空场景时的回波数据。Leigsnering 等人根据成像房间的几何特性,利用了多径传播的特性提出一种基于压缩感知对目标进行检测和速度估计的方法[23]。但是在实际应用场景中,成像房间的几何特性往往很难预先得知,当失去几何特性的先验信息的时候,他们的方法会失效。

利用子空间理论,可以通过对测量的数据矩阵应用奇异值分解,墙壁反射杂波占据低维子空间并且可以被与主要奇异值相关联的奇异向量捕获,通过对相关奇异值和奇异向量的滤除,重新组成新的回波矩阵来进行成像处理,从而完成了杂波抑制。Verma 等人提出在TWRI的墙体杂波消除中,目标信息往往聚于B-Scan矩阵的第二特征分量附近,而杂波则位于第一特征分量。而Tivive 等人则在此基础上,通过对多目标成像的仿真实验,证明了目标反射并非只存在于B-scan 矩阵的第二特征分量中,也可能跨越子空间,这取决于目标位置和数量,由此提高了目标杂波比(Target-to-Clutter Ratio. TCR)。

Zhu 等人指出基于SVD分解的子空间方法需要全部的回波信号进行处理,且SVD运算复杂对相关处理的硬件要求较高,不利于手持穿墙雷达这类低功耗设备 ;此外采用传统数据采集方案在时域、空域或者时空域往往存在大量无用的数据冗余。由此在大阵列大信号带宽情况下,一种在减少测量值的情况下产生的目标场景图像,与采用全部数据样本所产生的图像具有几乎相同的分辨率和质量,这类新的数据采集方案得到发展。

Ahmad 等人指出到傅里叶基不适合用于稀疏表示墙壁杂波中的所有能量,因为它往往被用于表示点目标模型,而墙体是空间拓展目标,其电气参数又与频率有关,所以墙体回波不符合点目标模型,所以可以使用基于离散长椭球体序列(DPSS)的字典来表示墙体回波,然后利用接收信号中的块稀疏特性,采用BOMP的方法来捕获信号。这样做的好处是DPSS能够在给定的时间间隔内使能量集中最大化,所以DPSS可以很好地逼近墙体回波信号。考虑所有天线都观测到了相同的墙和目标,可以联合所有的天线建模墙壁和回波和目标的回波来建立子空间模型,Davenport 等人则指出当DPSS长度为\(2NW\)时能在MSE 意义上最近似表示原信号。

提高穿墙雷达感知目标场景信息量的另一种方法便是使用多极化通道雷达,多极化的应用为雷达探测,成像和分类提供了性能改进。由于在不同偏振下目标的不同散射行为,极化感测包含更多独立观察,换言之,与单个偏振形成鲜明对比的更丰富的目标信息。从压缩感知的角度来看,可以通过使用联合稀疏模型来描述多极化图像, Yang等人提出了一项开创性的工作,其中联合稀疏模型被首次应用于多极化的穿墙雷达成像中, 表明联合稀疏模型可以产生更高的分辨率并滤除更多的杂波。Wang 等人在压缩感知的框架下,为避免使用计算复杂度过大的凸优化算法,在混合匹配追踪(HMP)的基础上拓展出一种贪婪算法用于多极化的穿墙雷达成像,实验结果表明在自由空间和墙后探测两种情况下,所提出的LAHMP算法成像得到的TCR值都较传统匹配追踪算法提升显著。

近年来将低秩方法用于雷达探测回波中的杂波抑制的研究得到发展,Tang 等人在对雷达回波的观测中,指出墙体回波是位于低秩子空间中,并且当回波信号使用适当的基表示时,目标信号是稀疏的。因此可以在低秩保持和稀疏约束的统一框架下,对穿墙雷达的回波同时做墙体杂波抑制和目标成像的工作,由此提出用于多级化穿墙雷达成像的一种基于近似梯度的迭代算法,将墙体杂波抑制和多极化成像问题联合制定为正则化最小二乘优化问题,目标函数包括核范数项和\(\ell_{2,1}\)范数项,其中核范数用于约束回波信号中的墙体杂波项;\(\ell_{1}\)范数用于强化目标回波的稀疏性以增强目标回波信号;\(\ell_{2}\)范数用于抑制回波中的噪声信号;通过对合成数据和真实数据的实验,表明该方法有效地提高了目标探测的成功率,相较于空域滤波器和子空间投影的去杂波方法,联合低秩稀疏的方法能得到更高的TCR 。

由此本文主要介绍一种联合低秩稀疏模型的杂波抑制算法。

穿墙雷达信号模型

以单基步进频率雷达为例,收发器水平墙面放置并平行于墙面移动\(N\)个位置,共发送接收\(M\) 个频率的信号。使用\(z(m, n)\) 表示第\(m\) 个频点上,\(n\) 个接收器位置上收到的回波信号,其中墙体回波为\(z_w (m, n)\) ,目标回波为\(z_t(m, n)\) ,噪声为\(v(m, n)\) :

\begin{equation}
z(m, n) = z_w (m, n)+z_t (m, n) + v(m, n)
\end{equation}

将墙后场景网格化为\(Q\)个网格,其中第\(q\)个网格的反射率可定义为:

\begin{equation}
s_{l}(q)=\begin{cases} \sigma_{p}^{l}, \ \text{if}\ \text{the}\ {p-}\text{th}\ \text{target}\ \text{occupies}\ \text{the}\ {q-}\text{th}\ \text{pixel}\\
0, \ \ \ \ \ \text{otherwise}. \end{cases}
\end{equation}

如下图所示:

采集完所有天线位置的回波后,波束形成方法可用于雷达成像:

\begin{equation}
I(x,y)=\frac{1}{MN}\sum_{n=0}^{N-1}\sum_{m=0}^{M-1}z(m,n)e^{j2\pi f_m \tau_{n,(x,y)}}
\end{equation}

一个初步的探测结果如下图所示:

低秩联合稀疏方法

我们将各天线位置处接收的回波统一用矩阵表示,其中\(\mathbf{Z}=[z(m,n)]\),\(\mathbf{Z}^w=[z^w(m.n)]\),\(\mathbf{Z}^t=[z^t(m,n)]\),且噪声为\(\Upsilon=[v(m,n)]\):
\begin{equation}
\mathbf{Z} = \mathbf{Z}^w+\mathbf{Z}^t+\Upsilon
\end{equation}
依据前文,我们认为墙体回波矩阵\(\mathbf{Z}^w\)具有低秩特性,目标回波矩阵\(\mathbf{Z}^t\)具有稀疏特性,由此杂波抑制问题转化低秩联合稀疏问题为:
\begin{equation}
\begin{split}
\min_{\mathbf{Z}^w,\mathbf{Z}^t}&\text{rank}(\mathbf{Z}^w)+\lVert\mathbf{Z}^t\rVert_0 \
\text{s.t.}\ \ &\mathbf{Z} = \mathbf{Z}^w+\mathbf{Z}^t+\Upsilon;\
&\lVert\Upsilon\rVert_{\mathrm{F}}\le\eta
\end{split}
\end{equation}

上式中,\(\text{rank}(\mathbf{Z}^w)\)和\(\lVert\mathbf{W}^t\rVert_0\)均为NP-hard问题,作为代替通常采用核范数和\(\ell_1\)范数作最紧密的凸松弛。

其中,矩阵\(\mathbf{A}\in\mathbb{R}^{m\times n}\)的核范数\(\lVert\mathbf{A}\rVert_*\)定义为矩阵\(\mathbf{A}\)所有奇异值之和,矩阵\(\mathbf{B}\in\mathbb{R}^{m\times n}\)的\(\ell_1\)范数\(\lVert\mathbf{B}\rVert_1\)为矩阵\(\mathbf{B}\)各元素的绝对值之和。

由此问题转化为:
\begin{equation} \min_{\mathbf{Z}^w,\mathbf{Z}^t}\lVert\mathbf{Z}^w\rVert_*+\lVert\mathbf{Z}^t\rVert_1+\gamma\lVert\mathbf{Z}-(\mathbf{Z}^w+\mathbf{Z}^t)\rVert_{\mathrm{F}}
\end{equation}

WordPress 中公式插入手记

0 安装环境

在插件中安装 MathJax-LaTeX,并在服务器搭建MathJax服务。

github地址:https://github.com/mathjax/MathJax

 

1 插入格式

段内插入用方括号标示

例如 \(E=mc^2\),\(\TeX{}\)

段间插入可以用equation环境或者双美元符

例如:

对B-scan做奇异值分解,可以得到其特征分量的线性组合:
\begin{equation}
{\boldsymbol S}=\sum_{i=1}^{N}w_{i}({\boldsymbol u}_{i}{\boldsymbol v}_{i}^{T})=w_{1}{\boldsymbol E}_{1}+w_{2}{\boldsymbol E}_{2}+\cdots+w_{n}{\boldsymbol E}_{N}
\end{equation}
可以将特征分量划分为三个子空间:
$${\boldsymbol E}=[{\boldsymbol E}_{1\rightarrow k}\vert {\boldsymbol E}_{k+1\rightarrow p}\vert {\boldsymbol E}_{p+1\rightarrow N}]$$

 

 

安装Ubuntu 18.04走过的坑

突发奇想,想给实验室跑程序的电脑安装个Ubuntu用于资源服务器,在网上把iso拉下来,ultraiso进行烧录~emmmm一切好像正常~~

0 烧录到U盘

选择boot,噫!怎么卡住了。。。

查了一圈发现好像是ultraiso对新版系统支持度的问题。

额。。那干脆在主力机用dd命令好了:

sudo dd if=isofile’s path of=usb path

一阵等待。。。

成功了~~

1 双显卡之殇

原生显卡驱动对N卡支持度真的很差。。安装时就可能卡死,安装好后还会卡死。

需要在Grub界面按e键,在splash 后面加上 nomodeset 才能进入系统。

然后参考https://blog.csdn.net/android_chunhui/article/details/78145498?utm_source=debugrun&utm_medium=referral 来安装显卡驱动

 

2 GCC的安装

我也不知道啥原因。。我每次装Ubuntu 18.04都默认没有gcc,只有手动安装了。。

先改下软件源,替换/etc/apt/sources.list的内容

https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

这里用的科大的源。。

然后更新下~

最后:

sudo apt-get  install  build-essential

基于LNMP的WordPress搭建记录

有必要记录下,搭建网站走过的坑~

首先是Nginx:

这里用的是apt-get安装方式,也可以使用下载源码自行编译。

需要说的是Nginx的配置文件位于/etc/nginx/conf.d/

重启Nginx的命令可用 /etc/ini.d/nginx restart

然后是PHP:

依然是apt-get安装~~

sudo apt install php php-fpm 

对于Nginx的配置可参考:

https://blog.csdn.net/shihongliang1993/article/details/51836262

不过需要注意的是

fastcgi_pass unix:/run/php/php7.0-fpm.sock;

根据实际版本改变~~

 

MySQL的安装:

可以参考腾讯云的教程

https://cloud.tencent.com/developer/labs/lab/10122

简单说下就是建立个新database和用户名啥的~~

 

WordPress:

我使用的是git clone直接把库拉下来的方式~

 

以上设置好后,敲入ip地址就可以在网页端进行设置了。

 

后记:

说下坑有哪些,本文全部是基于http的网页,但是我的服务器和域名实际上是有tls的证书的,而且https端指向了我的静态文件服务器。

这就有个很尴尬的问题是同网址会有不同的页面。而且我电脑的chrome会强制将http转换为https。于是在调试时候浪费了很多时间。

差不多就这些吧~