1等效时间采样原理简介
等效时间采样适用于周期性的或者可以重复触发的信号,可以分为顺序等效采样和随机等效采样。
1.1顺序等效采样 顺序等效采样是指:每个周期中,采样时刻相对触发时刻的时间间隔依次延长一个△t,经过足够多的采样次数,依次取得原始信号周期中各个相位的采样数据,即得到等效采样率为1/△t的采样序列。其等效采样率仅决定于延时步进△t的大小。原理如下图
[1]:
1.2随机等效采样 随机等效采样是指:在随机的时刻进行采样,测量采样时刻与触发时刻之间的时间差,进行大量采样之后,按时间差对数据点进行排序,就能够大概率地恢复波形。原理如下图:
2压缩感知在随机等效采样中的应用
2.1压缩感知引入背景 数字示波器采集的对象是一个在时间上连续的电压信号,采集的结果是一个离散时间序列。假设电压信号为xa(t),则理想等间隔采样后得到信号^xa(nT)=xa(t)·δT(t)。离散表示为时间序列xa[nT]。其采样率fs=1/T。
等效采样的目标是:以更低的实时采样率fc (fc<fs,且不一定是均匀采样),并通过一定的构建手段,获得时间序列xa[nT]。其等效采样率feq=1/T=fs。 在采样次数不受限制、采样时刻绝对随机的情况下,对于一个测时分辨率为Te的随机等效采样系统,当
有效采样点[注1]数达到
N=Tf/Te个时(Tf为被测信号周期),能够通过排序获得包含一个完整周期的时间序列x[nTe](n=1,2,3……N)。根据上面的定义,其等效采样率feq=1/Te。但实际情况下,由于采样时钟与触发脉冲直接存在一定相位相关性,或者一些突发重复信号持续时间较短,
仅采集到M个有效数据点(M<N),则此时无法通过排序来获得xa[nTe]。例如一个频率为1GHz的信号,测时分辨率为1ps,而实际仅采集到100个有效采样点。商品示波器在处理这一问题时,常采用排序后插值的方法,但插值过程容易带来信号失真。
只采集M个采样点,再恢复包含N个采样点的时间序列,可以用压缩感知理论解决。2.2压缩感知理论简介 使用MxN的观测矩阵
A观测一个N维的信号
x,得到M维的观测值
y。由于M<N,故实现了在观测的同时进行降维,即实现了数据在采集之前的前端压缩。如果能从欠采样的观测值y中恢复出原始信号x,就从理论上提供了突破奈奎斯特定理限制的可能。恢复信号x的过程即是求解以下方程的过程。(已知y和A,求解x)
y=
A·x (1)
由于A的秩不足,求解这个线性方程组是一个欠定问题。但如果信号x是严格K稀疏的(仅在K个位置有非零值),即该信号只有K+1个自由度,则只要测度M>K,且A满足K阶RIP性质,仍然可能通过某种非线性过程高概率地求解。该过程可以描述为:在满足约束条件y=A·x的情况下,寻找一个最稀疏的解
^x。
^x=arg min
x||
x||
0 s.t.
y=
A·x (2)
由于求解l0范数最优化问题只能通过穷举所有可能情况寻找非零元素最小的方式求解,(2)是一个NP-hard问题。故实际常用l1范数最优化取而代之:
^x=arg min
x||
x||
1 s.t.
y=
A·x (3)
此时目标和约束函数都是凸函数,(3)是一个凸优化问题。由此产生了一些基于凸优化的恢复算法,例如基追踪(BP)算法。
另一大类重要的恢复算法是贪婪算法,例如匹配追踪(MP),正交匹配追踪(OMP)。给一种不严格的理解:首先将恢复值^x设置为零向量,每次寻找A中与y相关度最高的一个列向量At,选中At并求得用其表示y的一个系数xt更新到^x的对应行上,直到残差小于预设值。由于每次选取的At与y最“相关”,故最终使用最少数量的xt即可较准确地表示出y。此时矩阵^x只在xt处为非零值,故包含了最少的非零值。相比于凸优化算法,贪婪算法更容易因陷入局部最优化而造成较大的恢复残差,但其运算速度更快。
2.3观测矩阵的构建 采样过程即是计算x在A上投影的过程。对于电压信号x,无法直接用计算机计算A·x来获得观测值y。因此,在等效采样中用到的观测矩阵,必须使得A·x具有一定的物理意义。根据现有的观测行为:
1、使用ADC采集某个时刻的电压值。2、测量这个时刻。可以确定A·x必须为原始信号在某个时刻的电压值。上述观测行为得到了M个二元组(时间△tm,电压y(m)),从中恢复出连续的电压信号xa(t)可以使用香农内插公式:
\(x_a(t)=\sum_{n=-∞}^{∞}y_a(nT)sinc\frac{(t-nT)}{T}\)
[注2] (4)
在构建观测矩阵时,把公式倒过来用。即将连续信号xa(t)通过观测矩阵,变换为二元组(时间△tm,电压y(m))。据此构建观测矩阵A:(m指第M次采样,M指采样次数)
\(A(m,n)=sinc\frac{△t_m-nTe}{Te}\) (5)
由矩阵乘法运算可知,此时y的计算过程为:
\(y(m)=\sum_{n=1}^{N}A(m,n)x(n)\)
\(=\sum_{n=1}^{N}sinc\frac{△t_m-nTe}{Te}x(n)\) (6)
根据式(4):
\(y(m)=x(△t_m)\) (7)
上式可见,第m次的观测值y(m),即为在第m次观测时电压信号x的取值。显然,现在y就对应了ADC采样的结果。观测时刻相对触发时刻的时间差△t
m可以由TDC器件测量。这里的x并非真正意义上的连续信号,而是上文提到的x[nTe]。根据y(m)恢复出的x实际是x[nTe],而y(m)是ADC对连续信号x采样的结果,因此这里存在测量时间过程中的量化误差。
根据式(5)构建观测矩阵后,只要选择一种2.2中提到的恢复算法,即可
恢复出x[nTe],完成一次基于压缩感知的等效采样。-------------------
[注1]:有效采样点定义为:该点采样时刻相对触发时刻的时间差,经量化得到的kTe(k∈N)与之前各点都不重复的采样点。
[注2]:这里的sinc指归一化后的sinc(x)=sin(π*x)/π*x。--------------------
参考文献
[1].赵伟. 基于等效采样的数字存储示波器的设计与实现[D]. 西安:西安电子科技大学, 2011.
----原理部分结束。算法换楼再写。(づ。◕‿‿◕。)づ----