求问失真的正弦波复原及拟合的算法

假如我得到一组数据, y轴上是Yarray = {y1,y2,y3,y4,,,,,,,,yN},x轴上是Xarray={x1,x2,x3,x4,,,,,,xN}
他们在二维平面上的图形近似于正弦波,但是这个正弦波是失真的,比如底部可能会有一段是平的,即是削波。
那这样一个失真的正弦波要怎么样进行复原并拟合出一个正弦函数呢?

http://www.docin.com/p-750405410.html