diff --git a/test/gtest_imu_mocap_fusion.cpp b/test/gtest_imu_mocap_fusion.cpp
index 956a87ba787d697415ffc27ea238b1f351fc33e3..b038fbb9a81c2048a00cc0421369f5724c7a8cf2 100644
--- a/test/gtest_imu_mocap_fusion.cpp
+++ b/test/gtest_imu_mocap_fusion.cpp
@@ -31,7 +31,6 @@ using std::endl;
 
 const Vector3d zero3 = Vector3d::Zero();
 const double dt = 0.0001;
-const Vector3d freq = Vector3d::Ones(); 
 
 
 class ImuMocapFusion_Test : public testing::Test
@@ -57,6 +56,13 @@ class ImuMocapFusion_Test : public testing::Test
         // simulate trajectory
         //////////////////////
 
+        Vector3d freq_lin; freq_lin << 0.5, 1, 1.5; 
+        Vector3d freq_ang; freq_ang << 1.5, 1, 0.5; 
+
+        // P = sin(freq*t)
+        // V = freq*cos(freq*t)
+        // A = -freq^2*cos(freq*t)
+
         // biases and extrinsics
         ba_ = Vector3d::Zero();
         bw_ = Vector3d::Zero();
@@ -66,10 +72,10 @@ class ImuMocapFusion_Test : public testing::Test
         // initialize state
         Vector3d w_p_wb = Vector3d::Zero();
         Quaterniond w_q_b = Quaterniond::Identity();
-        Vector3d w_v_wb = freq.array(); // *(1,1,1)
+        Vector3d w_v_wb = freq_lin.array(); // *(1,1,1)
 
         // Problem and solver_
-        problem_ = Problem::create("PO", 3);
+        problem_ = Problem::create("POV", 3);
         solver_ = std::make_shared<SolverCeres>(problem_);
         solver_->getSolverOptions().max_num_iterations = 500;
 
@@ -106,22 +112,22 @@ class ImuMocapFusion_Test : public testing::Test
         sensor_imu_->fixIntrinsics();
 
         // Store necessary values in vectors
-        std::vector<Vector3d> w_p_wb_vec; 
-        std::vector<Vector3d> w_p_wb_sin_vec; 
-        std::vector<Quaterniond> w_q_b_vec; 
-        std::vector<Vector3d> w_v_wb_vec;
-
-        w_p_wb_vec.push_back(w_p_wb);
-        w_p_wb_sin_vec.push_back(w_p_wb);
-        w_q_b_vec.push_back(w_q_b);
-        w_v_wb_vec.push_back(w_v_wb);
+        // std::vector<Vector3d> w_p_wb_vec; 
+        // std::vector<Vector3d> w_p_wb_sin_vec; 
+        // std::vector<Quaterniond> w_q_b_vec; 
+        // std::vector<Vector3d> w_v_wb_vec;
+
+        // w_p_wb_vec.push_back(w_p_wb);
+        // w_p_wb_sin_vec.push_back(w_p_wb);
+        // w_q_b_vec.push_back(w_q_b);
+        // w_v_wb_vec.push_back(w_v_wb);
         
         int traj_size = 10001;
         for (int i=0; i < traj_size; i++){
             double t = i*dt;
-            Vector3d w_p_wb_sin =                    Eigen::sin((freq*t).array());
-            Vector3d w_omg_b = freq.array()*         Eigen::cos((freq*t).array());
-            Vector3d w_a_wb = -freq.array().square()*Eigen::sin((freq*t).array());
+            Vector3d w_p_wb_sin =                    Eigen::sin((freq_lin*t).array());  // just for comparison with the integration
+            Vector3d w_omg_b = freq_ang.array()*         Eigen::cos((freq_ang*t).array());
+            Vector3d w_a_wb = -freq_lin.array().square()*Eigen::sin((freq_lin*t).array());
 
             // integrate simulated traj
             w_p_wb = w_p_wb + w_v_wb*dt + 0.5*w_a_wb*dt*dt;
@@ -145,9 +151,9 @@ class ImuMocapFusion_Test : public testing::Test
             CP->process();
 
             if ((i%1000) == 0){
-                std::cout << "" << std::endl;
-                std::cout << w_p_wb.transpose() << std::endl;
-                std::cout << w_p_wb_sin.transpose() << std::endl;
+                std::cout << t << std::endl;
+                std::cout << "w_p_wb:     " << w_p_wb.transpose() << std::endl;
+                std::cout << "w_p_wb_sin: " << w_p_wb_sin.transpose() << std::endl;
             }
         }