磁盘阵列中高速并行RS译码算法研究
Research on high speed and parallel RS decoding algorithm in disk array
-
摘要: 该文在总结研究 RS译码的基础上,给出了一种适合并行方式进行高速 RS译码的方法,该方法对于高速数据磁盘阵列录取系统、高速数据通信系统的纠错译码效果显著,已成功地应用到磁盘阵列高速数据录取系统中。
-
关键词:
- RS译码; 磁盘阵列
Abstract: A method of high Speed RS decoding which is propitious to parallel implementation is presented in this paper. The method is suitable for error correcting decoding with high speed data recording system of disk array and high speed data communicating system. It is successfully used in high speed data recording system of disk array. -
1. 引言
当一个系统的脉冲响应包含很多为零或者接近于零的系数时,且只有少数比较大的系数时,这个系统就可以看作稀疏系统。众所周知,在实际生活中,许多需要辨识的信号都具有这样的稀疏特性,比如数字电视传输信道和回声路径等[1]。多年来,Widrow等人[2]提出的基于均方误差(Mean Square Error, MSE)准则的最小均方(Least Mean Square, LMS)算法具有结构简单、计算复杂度低的优点,已经广泛应用于信道估计、回声消除等领域。在稀疏系统识别时,稀疏系统的先验稀疏信息可以改善系统识别的性能。但是,标准的LMS算法并没有利用这些信息。针对这个问题,文献[3]提出零吸LMS(Zero-Attracting LMS, ZA-LMS)算法,文献[4-6]提出重加权ZA-LMS(Reweighted Zero-Attracting LMS, RZA-LMS)算法用于识别稀疏系统。ZA-LMS在代价函数中引入滤波器系数的l1范数约束,导致在迭代过程中生成一个零吸因子,能够促进滤波器抽头的稀疏性,改善识别和跟踪性能。RZA-LMS算法则利用系数的加权l1范数约束构造一个重加权零吸因子,以获得相对于ZA-LMS算法更好的性能。
然而,基于LMS的稀疏自适应算法是在系统噪声为高斯噪声下所提出的。当系统噪声为脉冲噪声时,LMS类算法的性能会受到很大影响。为了解决脉冲噪声下的系统识别问题,Zhao等人[7]用最大熵准则(Maximum Correntropy Crition, MCC)来取代MSE准则,提出了一系列MCC算法,实验结果表明提出的MCC算法对于脉冲噪声具有很好的鲁棒性。基于MCC算法,文献[8,9]提出了用于稀疏系统识别的ZA-MCC和RZA-MCC算法,以对抗脉冲噪声环境。最近,基于双曲余弦函数的自然对数lncosh函数[10,11]的自适应滤波算法已经用于系统识别。利用lncosh函数构建的代价函数可以看作MSE准则和平均绝对值误差(Mean Absolute Error, MAE)准则的组合,且组合比例由系数q>0确定。当参数q接近于0时,该代价函数接近于MSE代价函数,当参数q为无穷大时,该代价函数可以看作MAE代价函数。类似地,文献[12]提出了零吸双曲余弦函数的自然对数(ZA-lncosh)和加权零吸双曲余弦函数的自然对数(RZA-lncosh)算法,并用来识别稀疏系统。
Lawson范数[13]可以近似替代l1和l0范数,且当Lawson范数中的参数p等于1或者0时,该范数可以分别近似l1和l0范数。基于Lawson范数和lncosh函数,本文提出一种用于稀疏系统识别的通用Lawson-lncosh自适应滤波算法,本算法采用系数向量的Lawson范数和误差的lncosh函数构建新的代价函数,并采用梯度下降法得到更新方程。然后,在脉冲噪声环境下对稀疏系统进行估计,以验证算法的有效性,计算机仿真结果表明,在高斯信号输入和色信号输入情况下,所提Lawson-lncosh算法的性能都要优于其他现存的算法,且具有鲁棒性。
2. ZA-lncosh和RZA-lncosh算法
考虑一个M维未知系统的权向量
{{\boldsymbol{h}}_0} = \left[ {h_1},{h_2}, \cdots , {h_M} \right]^{\rm{T}} ,x(l)=[x(l),x(l−1),⋯,x(l−M+1)]T 表示时刻l处的输入信号,那么未知系统在时刻l时的输出可以表示为d(l)=hT0x(l)+n(l) (1) 其中,n(l)为零均值系统背景噪声,估计误差e(l)可以表示为
e(l)=d(l)−hT(l)x(l) (2) 其中,h(l)是时刻l处的估计权向量。
2.1 ZA-lncosh算法
对于ZA-lncosh算法,代价函数为误差信号e(l)的lncosh函数和系数向量的l1范数约束的组合,定义为
JL1(h(l))=1qlncosh(qe(l))+γ‖h(l)‖1 (3) 其中,
γ>0 是一个常数。利用梯度下降法,可得h(l+1)=h(l)−μ∂JL1(h(l))∂h(l) (4) 其中,
μ 为步长∂JL1(h(l))∂h(l)=−tanh(qe(l))x(l)+γsgn(h(l)) (5) 那么,ZA-lncosh的迭代方程为
h(l+1)=h(l)+μtanh(qe(l))x(l)−ηsgn(h(l)) (6) 其中,
η=μγ ,sgn(⋅) 为符号函数,定义为sgn(a)={a/|a|,a≠00,a=0 (7) 与标准lncosh算法相比,ZA-lncosh算法增加了一个额外的
−ηsgn(h(l)) 项,该项能够使滤波器近零系数快速趋近于0,所以叫作零吸引项。在系统系数接近0时,该项可以加快收敛速度,减小稳态误差。2.2 RZA-lncosh算法
由于ZA-lncosh算法不能区分零和非零抽头,在迭代过程中,促使所有的抽头系数均匀地趋近于0。所以对于稀疏性度低的系统,ZA-lncosh算法的性能会恶化。因此,RZA-lncosh算法可以解决以上问题,RZA-lncosh算法的代价函数为
JL2(h(l))=1qlncosh(qe(l))+γM∑i=1lg(1+|hi(l)|δ′) (8) 式(8)引入的对数和约束项
\displaystyle\sum\nolimits_{i = 1}^M \lg \left( 1 + {{\left| {{h_i}\left( l \right)} \right|} / {\delta '}} \right) 更加类似于l0范数,其中δ′ 是一个正的常数,用来调整算法的零吸强度,利用梯度法得到的系数更新方程为hi(l+1)=hi(l)+μtanh(qe(l))xi(l)−ηsgn(hi(l))1+δ|hi(l)| (9) 式(9)的向量形式为
h(l+1)=h(l)+μtanh(qe(l))x(l)−ηsgn(h(l))1+δ|h(l)| (10) 其中,
η=μγ/δ′ ,δ=1/δ′ , RZA-lncosh算法可以有选择地调整抽头系数的零吸强度,且该重加权零吸因子只对那些在量级上与1/δ 相当的抽头影响较大,对于量级大于1/δ 的抽头影响很小。3. Lawson-lncosh算法
本文所提Lawson-lncosh算法利用抽头系数向量的Lawson范数与误差e(l)的lncosh函数构建代价函数。Lawson范数为
‖h(l)‖L=M∑i=1h2i(l)(h2i(l)+β2)2−p2 (11) 其中,
β >0是一个很小的常数。当参数p等于0或者1时,Lawson范数分别接近于l0和l1范数。根据自适应滤波算法理论,Lawson-lncosh算法的代价函数写为J(h(l))=1qlncosh(qe(l))+γM∑i=1h2i(l)(h2i(l)+β2)2−p2 (12) 根据梯度下降法,有
∂J(h(l))∂h(l)=−tanh(qe(l))x(l)+γ∂M∑i=1h2i(l)(h2i(l)+β2)2−p2/∂h(l) (13) 式(13)可以改写为
∂J(h(l))∂h(l)=−tanh(qe(l))x(l)+γG(l)h(l) (14) 其中
G(l)=diag((ph21(l)+2β2)(h21(l)+β2)4−p2,(ph22(l)+2β2)(h22(l)+β2)4−p2,⋯,(ph2M(l)+2β2)(h2M(l)+β2)4−p2) (15) 由此,Lawson-lncosh算法的迭代方程为
h(l+1)=h(l)−μ∂J(h(l))∂h(l)=h(l)+μtanh(qe(l))x(l)−ηG(l)h(l) (16) 其中,
η=μγ 。为了分析所提Lawson-lncosh算法,定义系数误差向量
˜h(l)=h(l)−h0 ,且它与输入向量x(l) 和所需信号d(l) 无关。式(16)的两端同时减去h0 ,得到˜h(l+1)=˜h(l)+μtanh(qe(l))x(l)−ηG(l)h(l) (17) 式(17)两端同时取数学期望,得到
E[˜h(l+1)]=E[˜h(l)]+μE[tanh(qe(l))x(l)]−ηE[G(l)h(l)] (18) 基于文献[14],得到
E[tanh(qe(l))x(l)]=E[e(l)tanh(qe(l))]E[e2(l)]E[x(l)e(l)]=F(q)E[x(l)e(l)] (19) 其中,
F(q)=E[e(l)tanh(qe(l))]E[e2(l)] 。由于背景噪声
n(l) 与输入信号统计独立,所以E[x(l)e(l)]=E[x(l)(hT0x(l)−hT(l)x(l)+n(l))]=−RE[˜h(l)] (20) 其中,
R=E[x(l)xT(l)] 。将式(19)和式(20)代入式(18)中,得到E[˜h(l+1)]=[I−μF(q)R]E[˜h(l)]−ηE[G(l)h(l)] (21) 其中,
G(l)h(l) 的第i个分量(ph3i(l)+2β2hi(l))(h2i(l)+β2)4−p2 为连续函数,且当p=1 时,有lim (22) 当
0 \le p < 1 时,有\left. \begin{split} & \mathop {\lim }\limits_{{h_i}\left( l \right) \to + \infty } \frac{{\left( {ph_i^3\left( l \right) + 2{\beta ^2}{h_i}\left( l \right)} \right)}}{{{{\left( {h_i^2\left( l \right) + {\beta ^2}} \right)}^{\frac{{4 - p}}{2}}}}} = 0\\ & \mathop {\lim }\limits_{{h_i}\left( l \right) \to - \infty } \frac{{\left( {ph_i^3\left( l \right) + 2{\beta ^2}{h_i}\left( l \right)} \right)}}{{{{\left( {h_i^2\left( l \right) + {\beta ^2}} \right)}^{\frac{{4 - p}}{2}}}}} = 0 \end{split}\right\} (23) 可以看出,该项是有界的。因此,若使
{\rm{E}}\left[ {\tilde {\boldsymbol{h}}\left( l \right)} \right] 收敛,\left[ {{\boldsymbol{I}} - \mu F\left( q \right){\boldsymbol{R}}} \right] 的最大特征值要小于1[15],即0 < \mu < \frac{2}{{F\left( q \right){\lambda _{\max }}}} (24) 当
q \to 0 时,F\left( q \right) \to q 。此时步长\mu ' = \mu q 满足0 < \mu ' < \frac{2}{{{\lambda _{\max }}}} (25) 当
q \to + \infty 时,\tanh \left( {qe\left( l \right)} \right) \sim {\rm{sign}}\left( {e\left( l \right)} \right) ,F\left( q \right) = \dfrac{{{\rm{E}}\left[ {e\left( l \right){\rm{sign}}\left( {e\left( l \right)} \right)} \right]}}{{{\rm{E}}\left[ {{e^2}\left( l \right)} \right]}} 。假设e(l)为零均值高斯,那么有{\rm{E}}\left[ {e\left( l \right){\rm{sign}}\left( {e\left( l \right)} \right)} \right] = \sqrt {\frac{{2{\rm{E}}\left[ {{e^2}\left( l \right)} \right]}}{\pi }} (26) 由此得到
F\left( q \right) = \sqrt {\dfrac{2}{{\pi {\rm{E}}\left[ {{e^2}\left( l \right)} \right]}}} ,此时0 < \mu < \frac{{\sqrt {2\pi {\rm{E}}\left[ {{e^2}\left( l \right)} \right]} }}{{{\lambda _{\max }}}} (27) 4. 仿真结果
本节设计了5个实验以验证所提算法的性能。所有仿真结果均在100次独立仿真下取得,在算法迭代过程中,本文将
{\boldsymbol{h}} 的初始值设置为一个M维的0向量。实验1 假设未知系统具有16个系数,其中只有1个系数非0,其他系数均为0,即系统的稀疏度为93.75%。分别用高斯输入信号和AR(1)输入信号测试标准lncosh, ZA-lncosh, RZA-lncosh和Lawson-lncosh这4种算法,这4种算法的参数q=1, RZA-lncosh的参数
\delta {\rm{ = }}10 ,Lawson-lncosh的参数p=0,系统噪声是脉冲噪声[16,17]。脉冲噪声{n_i}\left( l \right) 可表示为{n_i}\left( l \right) = b\left( l \right)w\left( l \right) + z\left( l \right) ,其中b\left( l \right) 为伯努利过程,b\left( l \right) =1的概率为pr,b\left( l \right) =0的概率为1–pr。w\left( l \right) 和z\left( l \right) 均是0均值高斯噪声,\sigma _w^2 和\sigma _z^2 分别表示二者的方差且\sigma _w^2 远大于\sigma _z^2 。本实验中,pr,\sigma _w^2 和\sigma _z^2 的取值分别为0.1, 1和10–3。图1(a)为以上4种算法在高斯信号输入时的均方偏差(Mean Square Deviation, MSD),输入信号是方差为1的0均值高斯信号。4种算法的步长\mu 均设置为0.05,参数\eta 设置为0.0005,\beta 为0.03。图1(b)是在AR(1)输入信号下的MSD曲线,AR(1)信号的功率为1,由高斯信号v(n)通过一个AR 1阶滤波器获得,即x\left( n \right) = 0.8x\left( {n - 1} \right) + v\left( n \right) 。4种算法的步长\mu 均设置为0.015,参数\eta 设置为0.00003,\beta 为0.01。由图1可知,无论是高斯输入还是AR(1)输入信号,所提Lawson-lncosh算法的性能要优于其他3种算法。实验2 假设未知系统具有16个系数,设置奇数位上的抽头系数为1,其他的抽头为0,即系统的稀疏度为50%。分别用高斯信号和AR(1)信号输入,标准lncosh, ZA-lncosh, RZA-lncosh和Lawson-lncosh 4种算法中,输入信号、系统噪声和各算法参数与实验1相同。图2(a)是以上4种算法在高斯信号输入时的MSD曲线。图2(b)是在AR(1)输入信号下的MSD曲线。由图2可知,无论是高斯输入还是AR(1)输入信号下,所提Lawson-lncosh算法的性能都要优于其他3种算法。
实验3 假设未知系统具有16个抽头系数,设置奇数位上的抽头系数为1,偶数位上的抽头系数为–1,即系统的稀疏度为0%。分别用高斯输入信号和AR(1)输入信号来测试标准lncosh, ZA-lncosh, RZA-lncosh和Lawson-lncosh这4种算法,输入信号、系统噪声和各算法参数与实验1相同。图3(a)所示的是以上4种算法在高斯信号输入时的MSD曲线。图3(b)是在AR(1)输入信号下的MSD曲线。由图3可知,无论是高斯输入还是AR(1)输入信号,Lawson-lncosh, lncosh和RZA-lncosh算法的性能基本一致,即该Lawson-lncosh算法在稀疏度为0%时也能达到与标准lncosh算法相似的性能。
实验4 假设未知系统具有256个抽头系数,具有32个非0随机系数且满足
{\boldsymbol{h}}_0^{\rm{T}}{{\boldsymbol{h}}_0} = 1 。分别用高斯输入信号和AR(1)输入信号来测试ZA-LMS, RZA-LMS, ZA-MCC,RZA-MCC,ZA-lncosh, RZA-lncosh, Lawson-lncosh(p=1),Lawson-lncosh(p=0.5)和Lawson-lncosh(p=0)这7种算法,其中lncosh类算法的参数q=1,MCC类算法的核宽为3,输入信号与实验1相同。此实验中的脉冲噪声参数pr,\sigma _w^2 和\sigma _z^2 的取值分别为0.1, 4和10–3,\beta 为0.001,各算法的参数如表1所示(本文仔细调整了参数使其在同一收敛速率的情况下均能达到最小的稳态误差)。图4(a)所示的是以上8种算法在高斯信号输入时的MSD曲线。图4(b)是在AR(1)输入信号下的MSD曲线。由图4可知,无论是高斯输入还是AR(1)输入信号,所提Lawson-lncosh(p=1)算法的性能都要优于其他ZA类算法,Lawson-lncosh(p=0)的性能要优于其他RZA类算法,而且当参数p越小时,Lawson-lncosh算法的性能越好。表 1 实验4各算法参数算法 \mu (高斯输入) \eta (高斯输入) \mu (AR输入) \eta (AR输入) ZA-LMS 0.0020 0.000008 0.002 0.0000100 RZA-LMS 0.0020 0.000040 0.002 0.0000300 ZA-MCC 0.0020 0.000005 0.002 0.0000050 RZA-MCC 0.0022 0.000020 0.002 0.0000100 ZA-lncosh 0.0024 0.000005 0.002 0.0000100 RZA-lncosh 0.0024 0.000010 0.002 0.0000040 Lawson-lncosh(p=1) 0.0024 0.000008 0.002 0.0000030 Lawson-lncosh(p=0.5) 0.0024 0.000003 0.002 0.0000010 Lawson-lncosh(p=0) 0.0024 0.000004 0.002 0.0000004 实验5 本文在实验4的基础之上比较了Lawson-lncosh(p=0)算法在不同迭代步长下的性能,分别在高斯输入信号和AR(1)输入信号的情况下分析算法的性能,迭代步长
\mu 分别为0.0012, 0.0018和0.0024,其他参数与实验4一致。图5(a)是在高斯信号输入时的MSD曲线。图5(b)是在AR(1)输入信号下的MSD曲线。由图5可知,无论是高斯输入还是AR(1)输入信号,迭代步长对于算法均有很大的影响,且步长较大时,算法收敛较快,但MSD较大。步长越小,算法收敛越慢,但可以获得更小的MSD。由上述实验可知,本文所提Lawson-lncosh算法比其他现存的算法具有更好的性能,且具有很好的抗脉冲噪声的能力。可以用在宽带无线通信信道估计、水声信道估计、卫星通信信道估计、噪声抑制和稀疏系统识别等具有稀疏特性的系统中或者脉冲噪声环境中。
5. 结论
本文提出一种用于稀疏系统识别的通用Lawson-lncosh自适应滤波算法,本算法利用系数向量的Lawson范数和误差的lncosh函数提出了新的代价函数,并分析了所提Lawson-lncosh算法步长参数的取值范围。仿真结果表明在不同稀疏度的系统识别中,Lawson-lncosh算法都具有很好的性能且系统的稀疏度越高,算法的性能越好。误差的lncosh函数可以提供优秀的抗脉冲噪声的性能,能够在脉冲噪声的环境下稳定地识别系统。计算机仿真结果验证了在高斯信号输入和色信号输入下,背景噪声为脉冲噪声时,本文算法的性能要明显优于其他现存算法。
-
W.A. Burkhard, J. Menon, Disk array storage system reliability, In 23rd International Symposium on Fault-Tolerant Computing, Toulouse, France, June 1993, 432-441.[2]G.A. Gibson, L. Hellerstein, R. M. Karp, R. H. Katz, D. A. Patterson, Failure correction techniques for large disk arrays, In Third International Conference on Architectural Support for Programming Languages and Operating Systems, Boston, MA, Apr. 1989, 123-132.[3]H. Brunner, A. Curiger, M. Hofstetter, On computing multiplicative inverses in GF(2m), IEEE Trans. on Comput., 1989, 42(8), 1010-1015.[4]C.C. Wang, T. K. Truong, K. wang, H. M. Shao, L. J. Deutsch, J. K. Omura, I. S. Reed,VLSI architectures for computing multiplication and inverse in, IEEE Trans. on Comput., 1985,C-34(8), 709-717.[5]I.S. Hsu, T. K. Truong, L. J. Deutsch, I. S. Reed, A comparison of VLSI architecture of finite field multipliers using dual, normal, or standard bases, IEEE Trans. On Comput., 1988, 37(6),735-739.[6]S.T.J. Fenn, M. Benaissa, D. Taylor, multiplication and division over the dual basis, IEEE Trans. On Comput., 1996, 45(3), 319-327.[7]S.T.J. Fenn, M. Benaissa, D. Taylor, Division in GF(2m), Electron. Lett., 1992, 28(19), 2259-2261.[8]S.T.J. Fenn, M. Benaissa, D. Taylor, Improved algorithm for division over, Electron. Lett.,1993, 29(4), 469-470.[9]G.L. Feng, A VLSI Architecture for Fast Inversion in GF(2m), IEEE Trans. on Comput., 1989,38(10), 1383-1386.[10]Kuang Uung Liu, Architecture for VLSI design of Reed-Solomon decoders, IEEE Trans. on Comput, 1984, C-33(2), 178-189. 期刊类型引用(2)
1. 吴健华,张晓锋,陈亮. OVMD-MF算法用于漏电流光纤传感. 国防科技大学学报. 2025(01): 181-189 . 百度学术
2. 吴健华,张晓锋,陈亮. OVMD-ICA算法用于光纤电流传感器降噪. 光学学报. 2023(02): 43-52 . 百度学术
其他类型引用(3)
-
计量
- 文章访问数: 2110
- HTML全文浏览量: 85
- PDF下载量: 451
- 被引次数: 5