MEMS传感器中的解调方式

 MEMS传感器需要将物理量转换为电信号,然而转换获得电信号通常是正弦波且不能直观的反应物理量的变化,需要通过解调来获得相应的信号。目前都有哪些解调方式呢?

从传感器的驱动模态来看,通常需要将传感器的一个自激或者锁相环闭环振荡,因此对于驱动模态,主要解调的作用是获取振荡信号的幅值和相位用于闭环控制。目前主流的解调方式有以下几种:

1. 绝对值解调,在模拟电路中通常称之为全波整流,将正弦波的下半周期搬到上半来,获得其整个周期的均值幅值,显然的该方法只能获得幅度而不能获得相位。解调输出的幅值为\[A_{out}=\frac{2}{\pi } A_x\]

2. 乘法解调,最为经典和常用的解调方法,正弦波乘以同频同相位和同频正交相位的信号,低通滤波后获得成分,进行计算即可获得幅度和相位。解调输出为:

\[cx=LPF[(sin(\omega t+\phi)*sin(\omega t)]\]

\[sx=LPF[(sin(\omega t+\phi)*cos(\omega t)]\]

\[A_{out}=2\sqrt{cx^2+sx^2}\]

\[\phi=-atan\frac{sx}{cx}\]

3. LMS解调,最小均方根解调,LMS 通过迭代算法自动调整权重,使估计信号逼近输入信号,从而提取出特定频率的幅值和相位。

$$\hat{y}(t)=w_{1}(t) \cos \left(\omega t\right)+w_{2}(t) \sin \left(\omega t\right)$$

$$e(t)=y(t)-\hat{y}(t)$$

使得误差最小来获得w1和w2的估计。

\[A_{out}=\sqrt{w_1^2+w_1^2}\]

\[\phi=-atan\frac{w_1}{w_1}\]

4. 卡尔曼滤波解调,其本质是将解调问题转化为一个最优状态估计问题。与 LMS类似,我们的目标是求出信号的同相分量 和 正交分量 。但与 LMS 使用固定的步长 不同,卡尔曼滤波会根据当前的噪声水平和估计的不确定度,动态调整“步长”K矩阵。

$$x_k=\left [ \begin{matrix} A_k\\B_k \end{matrix} \right ] $$

获得的状态向量矩阵,同样也是通过平方和的开方和反tan运算获得幅度和相位。

5. 滑模解调,与LMS 类似,都是通过不断修正估计值来逼近真实值。但两者有一个本质区别:LMS 根据误差的大小成比例地调整(软调整)。SMO 根据误差的符号(正或负)以恒定的力度进行调整(硬开关)。

$$\dot{\hat{A}}(t)=K \cdot \operatorname{sgn}(e(t)) \cdot \cos (\omega t) $$

$$\dot{\hat{B}}(t)=K \cdot \operatorname{sgn}(e(t)) \cdot \sin (\omega t)$$

根据误差的符号来开关更新估计值,存在抖振现象,不加滤波的话解调效果肯定不如LMS和卡尔曼解调。

在SIMULINK中建立几种解调模型,采样率500kHz,输入信号频率20kHz,低通滤波器统一设置成200Hz带宽。仿真可以获得

SMO解调的噪声太大,速度太慢了,我们将其剔除掉,对比剩下几个。


可以看到除了ABS解调,其他都在1位置,这是因为ABS会将噪声幅值也会搬到输出上去,当噪声幅值更大时偏移的会更多。而乘法解调会存在残余二倍频,当然在数字滤波中,抽样滤波会消除这部分,LMS和Kalman解调的效果近似,Kalman的效果最好,但是考虑到复杂性,确实LMS也推荐使用。

相位输出也是SMO效果最差,乘法解调、LMS和Kalman效果比较接近。解调输出的相位135度。










评论

此博客中的热门博文