美文网首页
matlab unwrap函数的java实现

matlab unwrap函数的java实现

作者: never615 | 来源:发表于2021-06-29 19:06 被阅读0次

    matlab unwrap文档

    平移相位角 - MATLAB unwrap - MathWorks 中国

    平移相位角
    Q = unwrap(P)展开向量 P 中的弧度相位角。每当连续相位角之间的跳跃大于或等于 π 弧度时,unwrap 就会通过增加 ±2π 的整数倍来平移相位角,直到跳跃小于 π。如果 P 是矩阵,unwrap 将按列运算。如果 P 是多维数组,unwrap 将对大小大于 1 的第一个维度进行运算。

    java实现

        /**
         * matlab unwrap
         *
         * @param data_in
         * @link https://ww2.mathworks.cn/help/matlab/ref/unwrap.html
         */
        public double[] unwrap(double[] data_in) {
            int n = data_in.length;
    
            double[] data_out = new double[n];
    
            data_out[0] = data_in[0];
    
            for (int i = 1; i < n; i++) {
                double diff = Math.abs(data_in[i] - data_out[i - 1]);
                if (diff < Math.PI) {
                    data_out[i] = data_in[i];
                } else {
                    //连续相位角之间的跳跃大于等于Math.PI,执行增加 ±2π操作
                    double multiple = diff / (2 * Math.PI);
                    double remainder = diff % (2 * Math.PI);
                    int move = (int) Math.floor(multiple);
                    if (remainder > Math.PI) {
                        move++;
                    }
    
                    if (data_in[i] > data_out[i - 1]) {
                        data_out[i] = data_in[i] - move * 2 * Math.PI;
    
                    } else {
                        data_out[i] = data_in[i] + move * 2 * Math.PI;
    
                    }
    
    //                System.out.println("i:" + i +";multiple:"+multiple+";remainder"+remainder
    //                    + ";move:" + move + ";diff:" + diff
    //                    + ";data_in[i]:" + data_in[i] + "; data_out[i - 1]:" + data_out[i - 1]
    //                    + ";data_out[i]:" + data_out[i]
    //                );
                }
            }
    
            return data_out;
        }
    

    相关文章

      网友评论

          本文标题:matlab unwrap函数的java实现

          本文链接:https://www.haomeiwen.com/subject/bupkultx.html