`
`mxmwwwfiH
`
`EXHIBIT
`
`9k 010 V
`
`
`
`
`CYWEE GROUP LTD,
`
`vs.
`
`AND LG ELECTRONICS MOBILECOMM U.S.A., INC.,
`
`LG ELECTRONICS U.S.A., INC.,
`
`LG ELECTRONICS, INC.,
`
`FOR THE SOUTHERN DISTRICT OF CALIFORNIA
`
`UNITED STATES DISTRICT COURT
`
`EXEMPLARY CLAIM CHART
`
`U.S. PATENT NO. 8,441,438 - LG V20
`
`Infringement Contentions
`
`These contentions are disclosed to only provide notice of Plaintiff's theories of infringement.
`These contentions do not constitute proof nor do they marshal Plaintiff's evidence of
`infringement to be presented during trial.
`
`
`
`U.S. Patent No. 8,441,438 - LG V20
`
`Claim 1
`Claim 1, with claim constructions, is recited below (text in brackets [] reflects the Court's claim construction or the parties' agreed
`claim construction in CyWee Group, Ltd. a Apple Inc., No. 3:13 -cv- 01853 -HSG or in CyWee Group, Ltd. a Samsung Elecs. Co., Ltd.,
`No. 2:17 -cv- 00140 -WCB). Construed terms and constructions are underlined.
`
`1. A three- dimensional (3D) pointing device [Samsung Court's construction: no construction necessary" subject to movements and
`rotations in dynamic environments, comprising:
`a housing associated with said movements and rotations of the 3D pointing device in a spatial pointer reference frame [Samsung
`Court's construction: frame of reference associated with the 3D pointing device, which always has its origin at the same point in the
`device and in which the axes are always fixed with respect to the devicel;
`a printed circuit board (PCB) enclosed by the housing;
`a six -axis motion sensor module [Samsung Court's construction: no construction necessary" attached to the PCB, comprising a
`rotation sensor for detecting and generating a first signal set [Samsung Court's construction: no construction necessary" comprising
`angular velocities w,t, coy, co, associated with said movements and rotations of the 3D pointing device in the spatial pointer reference
`frame, an accelerometer for detecting and generating a second signal set [Samsung Court's construction: no construction necessary"
`comprising axial accelerations AX, Ay, Az associated with said movements and rotations of the 3D pointing device in the spatial pointer
`reference frame; and
`a processing and transmitting module, comprising a data transmitting unit electrically connected to the six -axis motion sensor module
`for transmitting said first and second signal sets thereof and a computing processor for receiving and calculating said first and second
`signal sets from the data transmitting unit [Apple Court's construction: no construction necessary], communicating with the six -axis
`motion sensor module to calculate a resulting deviation comprising resultant angles in said spatial pointer reference frame [Samsung
`Court's construction: no construction necessary] by utilizing a comparison to compare the first signal set with the second signal set
`jApple Court's construction: using the calculation of actual deviation angles to compare the first signal set with the second signal set]
`whereby said resultant angles in the spatial pointer reference frame of the resulting deviation of the six -axis motion sensor module of
`the 3D pointing device are obtained under said dynamic environments, wherein the comparison utilized by the processing and
`transmitting module further comprises an update program to obtain an updated state based on a previous state associated with said
`first signal set and a measured state associated with said second signal set; wherein the measured state includes a measurement of said
`second signal set and a predicted measurement obtained based on the first signal set without using any derivatives of the first signal
`set [Samsung Court's construction: the measured state includes a measurement of axial accelerations and predicted axial accelerations
`calculated using the angular velocities without computing derivatives of said angular velocities (i.e. angular accelerations)].
`
`
`
`Claim 1
`A three- dimensional (3D) pointing device [Samsung Court's construction: no construction necessarv] subject to movements and
`rotations in dynamic environments, comprising:
`
`U.S. Patent No. 8,441,438 - LG V20
`
`LG V20
`
`
`
`U.S. Patent No. 8,441,438 - LG V20
`
`Claim 1
`a housing associated with said movements and rotations of the 3D pointing device in a spatial pointer reference frame [Samsung Court's
`construction: frame of reference associated with the 3D pointing device, which always has its origin at the same point in the device and in which
`the axes are always fixed with respect to the devicel;
`
`Y
`
`z
`
`z
`
`. Coordinate system (relative to a
`that's used by the Sensor API.
`
`spatial pointer reference frame
`
`Source: http: / /developer.android.com /guide/ topics/ sensors /sensors_overview.htinl #sensors -coords
`
`4
`
`
`
`U.S. Patent No. 8,441,438 - LG V20
`
`Claim 1
`a printed circuit board (PCB) enclosed by the housing;
`
`printed circuit board (PCB)
`
`Source: https: / /www.ifixit.corn/Guide /LG +V20+ Motherboard +Assembly +Replacement /96392
`
`
`
`U.S. Patent No. 8,441,438 - LG V20
`
`Claim 1
`a sa< - axis 3no ton sensor liaíÿ
`rotation sensor for detecting and generating a first signal set [Samsung Court's construction: no construction necessary] comprising
`angular velocities cox, coy, co, associated with said movements and rotations of the 3D pointing device in the spatial pointer reference
`frame,
`The
`included in the six -axis motion sensor module.
`
`"v-P ;S motion sensor module includes an accelerometer and gyroscope combo. The rotation sensor is the Gyroscope
`
`íSamsung Court's construction: no construction necessarvl attached to the PCB, comprising a
`
`A 0
`
`Sensor Kinetics S
`
`?220
`
`®203P1A
`
`Multi- Sensor Recorder
`
`new
`
`Three Dimensional Sensors
`
`..-...:4:4
`
`Type: LGE Accelerometer
`Mtn BOSCH Vet 1173900
`Power Consumption: 0.180mA
`Resolution: 0.002 Range: 78.453
`Mtn Delay: 5000 ps
`
`19Hz
`
`ete:Ul
`R
`
`! hits Ms22
`X.0.3129
`v. -I Y.- 0.4077
`Z 9.9023
`
`type: LGE Gyroscope
`vHr: BOSCH Ver. 1173900
`r'ower Consumption: 0.900mA
`2esolutlon: 0.001 Range: 34.907
`Jlin Delay: 5000 ps
`
`18Hz
`
`Rate:Ul
`
`rad /s
`
`A
`
`X.- 0.0013
`Y =0.0002
`Z= -0.0001
`
`Three Dimensional Sensors
`
`Accelerometer
`Type: LGE Accelerometer
`Mfr. BOSCH Ver 1173900
`Power Consumption: 0.180mA
`Resolution: 0.002 Range: 78.453
`Min Delay: 5000 ps
`
`19Hz
`
`Rate:Ul
`
`/ Y =- 0.4077
`
`units: m /s2
`X= 0.3129
`
`Z =9.9023
`
`Type: LGE Gyroscope
`Mfr: BOSCH Ver: 1173900
`Power Consumption: 0.900mA
`Resolution: 0.001 Range: 34.907
`Min Delay: 5000 us
`
`18Hz
`
`Rate:Ul
`
`rad /s
`
`X =- 0.0013
`A Y =0.0002
`Z =- 0.0001
`
`Sensors
`
`Fingerprint (rear- mounted) acceleromete
`color spectrum
`
`, gyro proximity, compass, barometer,
`
`Source: https:// www .gsmarena.com /lg_v20- 8238.php
`
`E
`
`
`
`U.S. Patent No. 8,441,438 - LG V20
`
`Claim 1
`a six -axis motion sensor module fSamsung Court's construction: no construction necessary] attached to the PCB, comprising a
`rotation sensor for detecting and generating a first signal set [Samsung Court's construction: no construction necessary] comprising
`angular velocities co,{, coy, co, associated with said movements and rotations of the 3D pointing device in the spatial pointer reference
`frame,
`The first signal set includes the sensor event values of TYPE GYROSCOPE.
`
`Gyroscope
`
`Reporting -mode: Continuous
`
`getDefaultSensor (SENSOR_TYPE_GYROSCOPE) returns a non -wake -up sensor
`
`A gyroscope sensor reports the rate of rotation of the device around the 3 sensor axes.
`
`Rotation is positive in the counterclockwise direction (right -hand rule). That is, an observer looking from some positive
`location on the x, y or z axis at a device positioned on the origin would report positive rotation if the device appeared to
`be rotating counter clockwise. Note that this is the standard mathematical definition of positive rotation and does not
`agree with the aerospace definition of rall.
`
`he measurement is reported in the x, y and z fields of sensors_event_t . gyro and all values are in radians per second
`(rad /s).
`
`Source: https: / /source.android.corn /devices /sensors /sensor- types #gyroscope
`
`i Sensor .TYP__GYROSCOPE:
`
`All values are in radians/second and measure the rate of rotation around the device's local X, Y and Z axis. The coordinate system is the same as
`used for the acceleration sensor. Rotation is positive in the counter-clockwise direction. That is, an observer looking from some positive location on the
`
`values[ç1] Annidar speed aroused the x-axis
`
`values[1]: Angular speed around the y -axis
`
`values[2}: Angular speed around the z -axis
`
`Source: https: / /developer. android. com / reference / android /hardware /SensorEvent.html #values
`
`isi
`
`i
`
`
`
`U.S. Patent No. 8,441,438 - LG V20
`
`Claim 1
`a six -axis motion sensor module [Samsung Court's construction: no construction necessary] attached to the PCB, comprising a
`rotation sensor for detecting and generating a first signal set [Samsung Court's construction: no construction necessary] comprising
`angular velocities cox, coy, coz associated with said movements and rotations of the 3D pointing device in the spatial pointer reference
`frame,
`Variable w, used by the handl eGyro () function in the fusion.cpp file, represents gyroscope data or a first signal set.
`
`313
`
`314
`
`315
`
`void Fusion: : handleGyro (const vec3_t& w, float dT) {
`
`if ( ! checkIni tcorTiplete (GYRO, w, dT) )
`
`return;
`
`Source: https: // android .googlesource.com /platform /frameworks /native /+ /master /ser vices /sensorseivice /Fusion.cpp
`
`
`
`U.S. Patent No. 8,441,438 - LG V20
`
`Claim 1
`a six -axis motion sensor module [Samsung Court's construction: no construction necessary] attached to the PCB, comprising a
`rotation sensor for detecting and generating a first signal set [Samsung Court's construction: no construction necessary] comprising
`angular velocities wX, coy, co, associated with said movements and rotations of the 3D pointing device in the spatial pointer reference
`frame,
`
`Sensor Coordinate System
`In general, the sensor framework uses a standard 3 -axis coordinate system to express data values. For most sensors, the coordinate system is defined
`relative to the devices screen when the device is held in its default orientation (see figure 1). When a device is held in its default orientation, the X axis is
`horizontal and points to the right, the Y axis is vertical and points up, and the Z axis points toward the outside of the screen face. In this system,
`coordinates behind the screen have negative Z values. This coordinate system is used by the following sensors:
`
`Acceleration sensor
`
`Gravity sensor
`
`Gyroscope
`
`Linear acceleration sensor
`
`Geomagnetic field sensor
`
`y
`
`The most important point to understand about this coordinate system is that the axes are not swapped
`when the device's screen orientation changes -that is, the sensor's coordinate system never changes as
`the device moves. This behavior is the same as the behavior of the OpenGL coordinate system.
`
`Another point to understand is that your application must not assume that a device's natural (default)
`orientation is portrait. The natural orientation for many tablet devices is landscape. And the sensor
`coordinate system is always based on the natural orientation of a device.
`
`Figure 1. Coordinate system (relative to a
`device) that's used by the Sensor API.
`
`Source: http: / /developer.android.com /guide/ topics/ sensors /sensors_overview.html #sensors -coords
`
`
`
`U.S. Patent No. 8,441,438 - LG V20
`
`Claim 1
`a ii--axis motioü sensor
`accelerometer for detecting and generating a second signal set [Samsung Court's construction: no construction necessary] comprising
`rotations of the 3D pointing device in the spatial reference frame;
`axial accelerations Ax, Ay, Az associated with said movements
`and
`The x -axis motion sensor module is an accelerometer and gyroscope combo.
`
`[Samsung Court's construction: no construction necessarv] attached to the PCB, comprising...an
`
`E G
`
`7120
`1P It' B2 03 PM
`
`Sensor Kinetics cj
`
`Multi- Sensor Recorder
`
`new 0.
`
`type: LGE Accelerometer
`Mfr. BOSCH Ver: 1173900
`Power Consumption: 0.180mA
`Resolution: 0.002 Range: 78.453
`Min Delay: 5000 ps
`
`19Hz
`
`Rate:Ul
`
`m/a2
`
`X.0.3129
`Y..0.4077
`Z.9.9023
`
`Type: LGE Gyroscope
`Mfr: BOSCH Ver. 1173900
`Power Consumption: 0.900mA
`Resolution: 0.001 Range: 34.907
`Min Delay: 5000 ps
`
`18Hz
`
`Rate:UI
`
`red /s
`
`X= -0.0013
`Y =0.0002
`
`11
`
`Three Dimensional Sensors
`
`ot rgivsl}o.f."a-0±ßr
`
`Type: LGE Accelerometer
`Mfr: BOSCH Ver: 1173900
`Power Consumption: 0.180mA
`Resolution: 0.002 Range: 78.453
`Min Delay: 5000 ps
`
`19Hz
`
`Rate:Ul
`
`GytdscQm
`
`m/s2
`
`X=0.3129
`A Y=-0.4077
`Z=9.9023
`
`Type: LGE Gyroscope
`Mfr: BOSCH Ver: 1173900
`Power Consumption: 0.900mA
`Resolution: 0.001 Range: 34,907
`Min Delay: 5000 ps
`
`18Hz
`
`Rate :Ul
`
`radis
`
`X=- 0.0013
`A Y =0.0002
`z=- 0.0001
`
`Sensors
`
`Fingerprint (rear-mounted)
`color spectrum
`
`accelerometer gyro, i roximity, compass, barometer,
`
`Source: https:// www .gsmarena.com /lg_v20- 8238.php
`
`10
`
`
`
`I
`
`Claim 1
`
`U.S. Patent No. 8,441,438 - LG V20
`
`{Saiiisiing Court's construction: no construction necessary] attached to the PCB, comprising... an accelerometer
`a
`for detecting and generating a second signal set [Samsung Court's construction: no construction necessary] comprising axial accelerations Ax, Ay,
`Az associated with said movements and rotations of the 3D pointing device in the spatial reference frame; and
`The six -axis motion sensor module also includes an accelerometer for detecting and generating a second signal set comprising axial
`accelerations. The second signal set includes the sensor event values of TYPE_ACCELEROMETER.
`
`; ion sensor
`
`.
`
`;
`
`_ _
`
`Accelerometer
`
`Reporting -mode: Continuous
`
`getDefaultSensor (SENSOR_TYPE_ACCELEROMETER) returns a non -wake -up sensor
`
`An accelerometer sensor resorts the acceleration of the device alone the 3 sensor axes. The measured acceleration
`includes both the physical acceleration (change of velocity) and the gravity. The measurement is reported in the x, y and
`z fields of sensors_event_t.acceleration.
`
`All values are in SI units (m/sA2) and measure the acceleration of the device minus the force of gravity along the 3
`sensor axes.
`
`Source: https : / /source.android.cor/devices /sensors /sensor- types #accelerometer
`
`Sensor . TYPE ACCELEROMETER:
`
`All values are in SI units (m /s"2)
`
`values[0]: Acceleration minus Gx on the x -axis
`
`values[1]: Acceleration minus Gy on the y -axis
`
`values[2]: Acceleration minus Gz on the z -axis
`
`A sensor of this type measures the acceleration applied to the device (Ad). Conceptually, it does so by measuring forces applied to the sensor itself (Fs)
`using the relation:
`
`In particular, the force of gravity is always influencing the measured acceleration:
`
`Ad = - ZFs / mass
`
`Ad = -g - EF /mass
`
`For this reason, when the device is sitting on a table (and obviously not accelerating), the accelerometer reads a magnitude of g = 9.81 m /sA2
`
`Source: https: // developer .android.com /reference /android/ hardware /SensorEvent.htinl #values
`
`
`
`U.S. Patent No. 8,441,438 - LG V20
`
`I
`
`Claim 1
`a six -axis motion sensor module [Samsung Court's construction: no construction necessary] attached to the PCB, comprising...an accelerometer
`for detecting and generating a second signal set [Samsung Court's construction: no construction necessary] comprising axial accelerations Ax, Ay,
`Az associated with said movements and rotations of the 3D pointing device in the spatial reference frame; and
`Variable a, used by the handleAcc O function in the fusion.cpp file, represents acceleration data or a second signal set.
`
`,320
`321
`
`322
`
`status_t Fusion::handleAcc(const Vec3_t& a, float dT) {!
`
`merhofflosilMie
`
`if (.'checkInitComplete(ACC, a, dT))
`
`return BAD _VALUE,
`
`Source: https: // android. googlesource .com /platform/frameworks/ native / +/ master / services /sensorservice /Fusion.cpp
`
`
`
`U.S. Patent No. 8,441,438 - LG V20
`
`Claim 1
`a six -axis motion sensor module [Samsung Court's construction: no construction necessary) attached to the PCB, comprising...an accelerometer
`for detecting and generating a second signal set [Samsung Court's construction: no construction necessary] comprising axial accelerations Ax, Ay,
`Az associated with said movements and rotations of the 3D pointing device in the spatial reference frame; and
`
`I
`
`Sensor Coordinate System
`In general, the sensor framework uses a standard 3 -axis coordinate system to express data values. For most sensors, the coordinate system is defined,
`relative to the device's screen when the device is held in its default orientation (see figure 1). When a device is held in its default orientation, the X axis is
`horizontal and points to the right, the Y axis is vertical and points up, and the Z axis points toward the outside of the screen face. In this system,
`coordinates behind the screen have negative Z values. This coordinate system is used by the following sensors:
`
`Acceleration sensor
`
`Gravity sensor
`
`Gyroscope
`
`Linear acceleration sensor
`
`Geomagnetic field sensor
`
`x
`
`The most important point to understand about this coordinate system is that the axes are not swapped
`when the device's screen orientation changes -that is, the sensor's coordinate system never changes as
`the device moves. This behavior is the same as the behavior of the OpenGL coordinate system.
`
`Another point to understand is that your application must not assume that a device's natural (default)
`orientation is portrait. The natural orientation for many tablet devices is landscape. And the sensor
`coordinate system is always based on the natural orientation of a device.
`
`Figure 1. Coordinate system (relative to a
`device) that's used by the Sensor API.
`
`Source: http : / /developer.android.com/guide/ topics/ sensors /sensors_overview.html #sensors -coords
`
`13
`
`
`
`U.S. Patent No. 8,441,438 - LG V20
`
`Claim 1
`a processing and transmitting module, comprising a data transmitting unit electrically connected to the 71x -axis mot-7-7 sensor
`aproUUAc for transmitting said first and second signal sets thereof and a computing processor for receiving and calculating said first
`and second signal sets from the data transmitting unit [Apple Court's construction: no construction necessary],
`
`A O
`
`1111
`
`7)20
`
`2:03 PM
`
`Sensor Kinetics
`
`S
`
`?
`
`°
`
`Multi- Sensor
`
`corder
`
`new
`
`Three Dimensional Sensors
`
`Type: LGE Accelerometer
`Mfr: BOSCH Ver: 1173900
`Power Consumption: 0.180mA
`Resolution: 0.002 Range: 78.453
`Min Delay: 5000 ps
`
`19Hz
`
`Rate:Ul
`
`Gy:
`
`m /sz
`
`A
`
`X= 0.3129
`Y =- 0.4077
`Z= 9.9023
`
`Type: LGE Gyroscope
`Mfr: BOSCH Ver: 1173900
`Power Consumption: 0.900mA
`Resolution: 0.001 Range: 34.907
`Min Delay: 5000 ps
`
`18Hz
`
`Rate:Ul
`
`rad /s
`
`X=- 0.0013
`A Y= 0.0002
`Z =- 0.0001
`
`computing processor
`
`MAUI
`rig CPU -2
`
`Ìl H ro
`
`1)20
`
`2:04 PM
`
`.
`
`.oc
`
`SYSTEM
`
`BATTERY
`
`Qualcomm
`snapdragon
`
`Model
`
`Qualcomm Snapdragon 820
`2.15 GHz
`
`Qualcomm Technologies, Inc
`MSM8996
`
`Cores
`
`4
`
`big.LITTLE
`Architecture
`
`Revision
`
`Process
`
`HMP (2 clusters)
`
`Kryo
`
`r1p2
`
`14 nm
`
`Clock Speed
`
`307 MHz -2.15 GHz
`
`CPU 0
`
`CPU 1
`
`CPU 2
`
`CPU 3
`
`307 MHz
`
`307 MHz
`
`307 MHz
`
`307 MHz
`
`CPU Load
`
`11 %
`
`GPU Vendor
`
`not I penrlArar
`
`Qualcomm
`Arlrnnn (TAM FZ(1 ell") Al 11A44 ,
`
`. X:t:_
`
`1 -,
`
`
`
`U.S. Patent No. 8,441,438 - LG V20
`
`Claim 1
`
`communicating with the six -axis motion sensor module to calculate a resulting deviation comprising resultant angles in said spatial
`pointer reference frame (Samsung Court's construction: no construction necessary] by utilizing a comparison to compare the first
`signal set with the second signal set {Apple Court's Construction: using the calculation of actual deviation angles to compare the first
`signal set with the second signal set] whereby said resultant angles in the spatial pointer reference frame of the resulting deviation of
`the six -axis motion sensor module of the 3D pointing device are obtained under said dynamic environments,
`
`4
`
`Rotation vector
`
`getRotationMatrixFromVector
`
`added in API level 9
`
`Underlying physical sensors: Accelerometer, Magnetometer, and Gyroscope
`
`void getRotationMatrixFromVector (float[] R,
`
`float[] rotationVector)
`
`Reporting -mode: Continuous
`
`1i getDefaultSensor ( SENSOR TYPE_ROTATIONVECTOR) returns a non -wake-up sensor
`
`Source: https: / /source.android.com/ devices / sensors /sensor -types #rotation_vector
`
`getOrientation
`
`float[] getOrientation (float[] R,
`
`float[] values)
`
`Computes the devices orientation based on the rotation matrix.
`
`When it returns, the array values are as follows:
`
`Helper function to convert a rotation vector to a rotation matrix. Given a rotation vector
`(presumably from a ROTATION VECTOR sensor), returns a 9 or 16 element rotation matrix in the
`array R. R must have length 9 or 16. If R.Iength == 9, the following matrix is returned:
`Source: https: // developer. android. corn /reference /android /hardware /SensorManager
`
`# getRotationMatrixFromVector (float[], %20float[])
`
`added in API level 3
`
`rotation about the -z axis. This value represents the angle between the devices y axis and the magnetic north pole. When
`values[O]: Azimuth,
`facing north, this angle is O, when facing south, this angle is n. Likewise, when facing east, this angle is n /2, and when facing west, this angle is -n /2.
`The range of values is -n to n.
`
`angle of
`
`values[1): Pitch, angle of rotation about the x axis. This value represents the angle between a plane parallel to the device's screen and a plane parallel
`to the ground. Assuming that the bottom edge of the device faces the user and that the screen is face -up, tilting the top edge of the device toward
`the ground creates a positive pitch angle. The range of values is -n to n.
`
`values[2]: Roll, angle of rotation about the y axis. This value represents the angle between a plane perpendicular to the device's screen and a plane
`perpendicular to the ground. Assuming that the bottom edge of the device faces the user and that the screen is face -up, tilting the left edge of the
`rPVI!`P tnwarrl the nrnl,nri f ro,tPC a nnc itiv, rnll annlç Tha ranna of vals lac is -n/9 to n/9
`
`Source: https: / /developer.android.com/ reference / android / hardware /SensorManager#getOrientation (float[], %20float[])
`
`15
`
`
`
`U.S. Patent No. 8,441,438 - LG V20
`
`Claim 1
`communicating with the six -axis motion sensor module to calculate a resulting deviation comprising resultant angles in said spatial
`pointer reference frame ÍSamsun , Court's construction: no construction necessary) by utilizing a comparison to compare the first
`signal set with the second signal set (Apple Court's Construction: using the calculation of actual deviation angles to compare the first
`signal set with the second signal set] whereby said resultant angles in the spatial pointer reference frame of the resulting deviation of
`the six -axis motion sensor module of the 3D pointing device are obtained under said dynamic environments,
`The predict O function shows that the first signal set (angular velocities), w, is used to calculate the global variable x0.
`
`i
`
`430 void Fusion: :predict ( const vec3_t& w, float dT) {
`431
`
`const vec4_t q
`
`= x0;
`
`485
`
`x0 = 0*q;
`
`The second signal set (axial accelerations) a, is passed to the variable z, and used in the update O function to update the global
`variable x0.
`
`345
`
`¡
`
`349
`
`vec3_t unityA = a * 1_inv;
`
`update(unityA, Ba, p);
`
`495 void Fusion::update(const vec3_t& z, const
`
`vec3_t& Bi, boat sigma) {
`
`z 496
`
`497
`
`498
`
`499
`
`529
`533
`
`vec4_t q ( x0 )
`// measured vector in body space: h(p) = A (p) *Bi
`const mat33_t A(quatToMatrix(q));
`const vec3_t Bb(A*Bi);
`const vec3_t e(z - Bb);
`= normalize_quat (q);
`
`..__ _..
`
`;
`
`Source: https: // android .googlesource.com /platform/ frameworks/ native / +/ master / services /sensorsetvice /Fusion.cpp
`
`1 6
`
`
`
`U.S. Patent No. 8,441,438 - LG V20
`
`Claim i
`
`i
`
`communicating with the six -axis motion sensor module to calculate a resulting deviation comprising resultant angles in said spatial
`pointer reference frame [Samsung Court's construction: no construction necessary] by utilizing a comparison to compare the first
`signal set with the second signal set {Apple Court's Construction: using the calculation of actual deviation angles to compare the first
`signal set with the second signal seti whereby said resultant angles in the spatial pointer reference frame of the resulting deviation of
`the six -axis motion sensor module of the 3D pointing device are obtained under said dynamic environments,
`The predict O function and update O functions are used in sensor fusion to update the global variable x0 in a quaternion form,
`which can represent actual deviation angles. In the predict O function, the first signal set, w, is used to calculate the global variable
`x0. In the update O
`local variable z, and is used by the update O function to update the global variable x0. The variable Bb (from the first signal set) and
`the variable z (from the second signal set) are compared to calculate the variable e on line 529 of the Fusion.cpp file. Therefore,
`during the calculation of actual deviation angles, the first signal set is compared with the second signal set.
`
`function, x0 is converted to the variable Bb. The second signal set, a, is passed to the update O function as
`
`436
`
`vo1 ci Fu si on :
`
`: p rech ct ( const vec3®t& w, float dT)
`
`i 431
`
`const vec4_t q
`
`= x0;
`
`xO = okci;
`
`495
`
`496
`
`497
`
`498
`
`499
`
`529
`
`533
`
`void F, Isi on :
`
`: update (const vec3_t& z, const vec3_t
`
`Bi, float sigma) {
`
`vec4_t q (x0) ;
`1/ measured vector in body space: h(p) = A ( p ) *Bi
`const mat33_t A ( quatToMat ri x ( g ) ) ;
`const vec3_t Bb (A* Bi )
`
`;
`
`const vec3_t e
`
`- Bb) ;
`x0 = normali ze_quat (q) ;
`
`Source: https: / /android.googlesource .corn /platform /frameworks/ native /+ /master/ services /sensorservice /Fusion.cpp
`
`17
`
`
`
`U.S. Patent No. 8,441,438 - LG V20
`
`Claim 1
`wherein the comparison utilized by the processing and transmitting module further comprises an update program to obtain an
`updated state based on a previous state associated with said first signal set and a measured state associated with said second
`signal set;
`
`For example, the update program includes a predict 0 function and an update 0 function that are used to update the global
`variable x0 based on x0 (the previous state) associated with the first signal set w and e (the measured state) associated with the
`second signal set to calculate an updated state x0. The updated state x0 becomes the previous state x0 in the next iteration of the
`update program to obtain the updated state x0 in that iteration.
`
`first signal set
`
`__
`
`. 430
`
`431
`
`485
`
`-
`
`const vec4_t q
`xO = cf*q ;
`
`1
`
`= xe ;
`
`previous state
`
`void Fusion; :p r edi ct ( const vec3,t& w, float dT
`
`495
`
`void Fusion: ;update (corls"t vec3_t&
`
`const vec3_t& Bi , float sigma)
`
`1
`
`496
`
`vec4_t g(x0);
`
`measured state
`
`r "
`
`_
`
`second signal set
`
`const vec3_t e (
`const vec3_t dg(K[0]*e);
`
`- B b ) ;
`
`q += get F (q) * (0.5f*dg) ;
`x0 = no r-mali ze_quat ( q ) ;
`
`j'
`
`next iteration
`
`Source: https : / /android.googlesource.conl/ platform /frameworks /native /+ /master/ services /sensorservice /Fusion.cpp
`
`updated state
`
`529
`
`530
`
`531
`
`532
`
`J J
`
`
`
`U.S. Patent No. 8,441,438 - LG V20
`
`Claim 1
`wherein the measured state includes a measurement of said second signal set and a predicted measurement obtained based on the first signal
`set without using any derivatives of the first signal set [Samsung Court's construction: the measured state includes a measurement of axial
`accelerations and predicted axial accelerations calculated using the angular velocities without computing derivatives of said angular velocities (i.e.
`angular accelerations)]
`The variable e is a measured state that includes a measurement of said second signal set z and a predicted measurement Bb
`calculated based on x0 (the previous state, which is calculated based on the first signal set).
`
`second signal set (measured accelerations)
`
`1 345
`
`vec3_t unityA = a * t_i nv ;
`
`- 495
`
`void Fusion ; ;update ( const vec3_t& z, const vec3_t& Bi , float sigma) {
`
`496
`
`497
`
`498
`
`499
`
`vec4t q (x4) ;
`// measured vector in body space: h(p) = A (p) *B1
`const mat33_t A (quatTor»latri x (q)) ;
`const vec3_t Bb (A *B-i ) ;
`
`i 529
`
`const vec3 t e(z -
`
`Bb);
`
`measured state
`
`second
`
`signal set
`
`predicted measurement
`
`As shown in the code above, the predicted measurement
`first signal set.
`
`is obtained based on the first signal set without using any derivatives of the
`
`Source: https: // android. googlesource .com /platform
`
`/frameworks/ native / +/master/ services /sensorservice /Fusion.cpp
`
`19
`
`
`
`Claim 3
`The 3D pointing device of claim 1, wherein the PCB enclosed by the housing comprises at least one substrate having a first
`longitudinal side configured to be substantially parallel to a longitudinal surface of the housing.
`
`U.S. Patent No. 8,441,438 - LG V20
`
`first longitudinal side
`
`longitudinal surface of the housing
`
`Source: https: / /www.ifixit.corn /Guide /LG +V20+ Motherboard +Assembly +Replacement /96392
`
`20
`
`
`
`U.S. Patent No. 8,441,438 - LG V20
`
`Claim 4
`The 3D pointing device of claim 1, wherein the spatial pointer reference frame is a reference frame in three dimensions; and wherein
`said resultant angles of the resulting deviation includes yaw, pitch and roll angles about each of three orthogonal coordinate axes of
`the spatial pointer reference frame.
`getOrientation
`
`added in API level 3
`
`float() getOrientation (float() R,
`
`float[] values)
`
`Computes the device's orientation based on the rotation matrix.
`
`When it returns, the array values are as follows:
`
`values(0): Azimuth, angle of rotation about the -z axis. This value represents the angle between the device's y axis and the magnetic north pole. When
`facing north, this angle is 0, when facing south, this angle is n. Likewise, when facing east, this angle is n/2, and when facing west, this angle is -tt /2.
`The range of values is -n to n.
`
`values(1): Pitch, angle of rotation about the x axis. This value represents the angle between a plane parallel to the device's screen and a plane parallel
`to the ground. Assuming that the bottom edge of the device faces the user and that the screen is face -up, tilting the top edge of the device toward
`the ground creates a positive pitch angle. The range of values is -n to n.
`
`values(2): Roil, angle of rotation about the y axis. This value represents the angle between a plane perpendicular to the device's screen and a plane
`perpendicular to the ground. Assuming that the bottom edge of the device faces the user and that the screen is face -up, tilting the left edge of the
`device toward the ground creates a positive roll angle. The range of values is -n /2 to n /2.
`
`Source: https: // developer. android.com /reference/ android / hardware /SensorManager #getOrientation(float[], float[])
`y
`Sensor Coordinate System
`In general, the sensor framework uses a standard 3 -axis coordinate system to express data values. For most
`sensors, the