diff --git a/Ri2e.m b/Ri2e.m
new file mode 100644
index 0000000000000000000000000000000000000000..5193b7fd8781cd09b76685b13b5b240395202de7
--- /dev/null
+++ b/Ri2e.m
@@ -0,0 +1,34 @@
+function RotMati2e = Ri2e(grace_gps_time)
+
+% This function returns the rotation matrix from a (pseudo) inertial frame
+% to an Earth-fixed Earth-centered coordinate system. The rotation matrix
+% is a simple Z-rotation, in which the rotation axes of the inertial and
+% the Earth-fixed frames coincide. It is an approximation of the realistic
+% rotation matrix, by neglecting the contribuiton of the Precession, 
+% Nutation and polar motion.
+
+% INPUT arguments:
+% time in GRACE GPS seconds, with size N*1 in which N is the number of time stamps.
+
+% OUTPUT:
+% N*3*3 array
+
+% Example:
+% grace_gps_time = 281361600
+% RotMati2e =  0.341262285804206         0.939968112378121                         0
+%             -0.939968112378121         0.341262285804206                         0
+%                              0                         0                         1
+
+% Written by Majid Naeimi, August 2015, IfE, Germany
+% Contact: naeimi@ife.uni-hannover.de
+
+% Caution: This matrix shall be used only for simulation purposes, in
+% particular along with the simulated data available at:
+% https://www.geoq.uni-hannover.de/mock.html
+
+Tjd = grace_gps_time/86400 + 2451545;
+sdt = (Tjd-2453491.5) * 86400 * 7.29211514670698e-05 - 2.46276246875459;
+rot_mat = [cos(sdt) -sin(sdt) zeros(length(sdt),1)...
+    sin(sdt) cos(sdt) zeros(length(sdt),1)...
+    zeros(length(sdt),1) zeros(length(sdt),1) ones(length(sdt),1)];
+RotMati2e = reshape(rot_mat',3,3,[]);
diff --git a/Ri2srf.m b/Ri2srf.m
new file mode 100644
index 0000000000000000000000000000000000000000..bda4502a3c8979b1bbd80a3fbbceba44cefa66ff
--- /dev/null
+++ b/Ri2srf.m
@@ -0,0 +1,38 @@
+function RotMat_i2srf = Ri2srf(Q)
+
+% this function computes the rotation matrix from inertial frame to
+% satellite reference frame (SRF) based on the given quatrnions Q.
+%
+% INPUT:
+%       quaterninons Q = [Q1, Q2, Q3, Q4] ... where Q4 = Q0 = cos(phi/2)
+%                                         ... size(Q) = n x 4
+% OUTPUT:
+%       rotation matrix RotMat_i2srf = [3 x 3 x n]
+% Written at IfE, Hannover, Germany, April 2010.
+% Contact: naeimi@ife.uni-hannover.de
+
+[a, ~] = size(Q);
+q = Q';
+AA11= q(1,:).^2 -q(2,:).^2 -q(3,:).^2 +q(4,:).^2;
+AA12= 2* (q(1,:).*q(2,:) + q(3,:).*q(4,:));
+AA13= 2* (q(1,:).*q(3,:) - q(2,:).*q(4,:));
+AA21= 2* (q(1,:).*q(2,:) - q(3,:).*q(4,:));
+AA22= -q(1,:).^2 +q(2,:).^2 -q(3,:).^2 +q(4,:).^2;
+AA23= 2* (q(2,:).*q(3,:) + q(1,:).*q(4,:));
+AA31= 2* (q(1,:).*q(3,:) + q(2,:).*q(4,:));
+AA32= 2* (q(2,:).*q(3,:) - q(1,:).*q(4,:));
+AA33= -q(1,:).^2 -q(2,:).^2 +q(3,:).^2 +q(4,:).^2;
+RotMat_i2srf = zeros(3,3,a);
+RotMat_i2srf(1,1,:) = AA11;
+RotMat_i2srf(1,2,:) = AA12;
+RotMat_i2srf(1,3,:) = AA13;
+RotMat_i2srf(2,1,:) = AA21;
+RotMat_i2srf(2,2,:) = AA22;
+RotMat_i2srf(2,3,:) = AA23;
+RotMat_i2srf(3,1,:) = AA31;
+RotMat_i2srf(3,2,:) = AA32;
+RotMat_i2srf(3,3,:) = AA33;
+
+
+
+