Patent Publication Number: US-9403057-B2

Title: Swing analyzing device, swing analyzing program, and recording medium

Description:
BACKGROUND 
     1. Technical Field 
     The present invention relates to a swing analyzing device, a swing analyzing program, and a recording medium on which the swing analyzing program is recorded. 
     2. Related Art 
     In sports such as golf, tennis, and baseball, it is considered that competitive abilities can be enhanced by improving the rhythm of a swing. Particularly in golf, since a player hits a ball at rest, there is a view that the more stabilized the rhythm (allocation of time) of each of phases (back swing, top, down swing, impact, and follow through) is, the better the swing is. Therefore, some training tools or the like measure variations in the times of the phases to provide information for analysis. Moreover, JP-A-10-43349 proposes a method in which acceleration of a trainee&#39;s body is detected and information of the acceleration is analyzed to calculate a back-swing period, a down-swing (forward-swing) period, a follow-through period, and the like. Further, JP-A-2010-68947 proposes a method in which a motion sensor such as an angular velocity sensor is mounted on a site capable of detecting the movement of a user&#39;s trunk axis to measure an angular velocity generated by a golf swing and information of the angular velocity is analyzed to calculate the times of back swing, down swing, follow through, or the like. 
     However, in the measurement of the swing, a user needs to indicate the timings of the start and end of the measurement in many cases. Therefore, the swing motion is limited, making it impossible in many cases to measure the swing in a natural movement as usual. Moreover, in general, a process of finding a matching pattern through waveform pattern matching is performed for extracting swing data corresponding to the swing motion from sensing data of the motion sensor, which causes a problem that a calculation load is large. 
     SUMMARY 
     An advantage of some aspects of the invention is to provide a swing analyzing device for which a user does not need to indicate the timings of the start and end of a swing motion and which can extract swing data with a relatively small calculation load, a swing analyzing program, and a recording medium on which the swing analyzing program is recorded. 
     (1) An aspect of the invention is directed to a swing analyzing device including: a motion sensor which detects a physical quantity generated by a swing; a data acquiring unit which acquires detection data of the motion sensor; a motion detecting unit which detects a motion of the swing using the acquired detection data and extracts, as swing candidate data, data from which the motion of the swing is detected; and a swing data determining unit which selects true swing data from the swing candidate data based on determination conditions associated with the swing. 
     According to the swing analyzing device according to the aspect of the invention, swing candidate data is extracted from the detection data acquired from the motion sensor, and it is determined whether or not the swing candidate data is true swing data. Therefore, a user does not need to indicate the timings of the start and end of the swing motion. 
     Moreover, According to the swing analyzing device according to the aspect of the invention, it is determined, by evaluating the validity of a detected rhythm, whether or not swing candidate data is true swing data. Therefore, compared to the case of performing waveform pattern matching, swing data can be extracted with a smaller calculation load. 
     (2) In the swing analyzing device, the motion detecting unit may include an impact detecting unit which detects the timing of an impact of the swing using the acquired detection data, and detect the motion of the swing of the swing candidate data on the basis of the timing of the impact. 
     The timing of an impact is most easily grasped in a series of swing motions because the value of angular velocity changes abruptly at the instant of the impact. Therefore, the timing of the impact is first detected to use the timing of the impact as a basis, so that each of motions of the swing can be detected. 
     (3) In the swing analyzing device, the motion of the swing may include at least one motion of back swing, top, and down swing. 
     (4) In the swing analyzing device, the swing data determining unit may use, as one of the determination conditions, a condition that the number of timings of the impacts is one in one piece of the swing candidate data. 
     In a usual swing motion, it is considered that the number of impacts from the start to end of the swing is one. Accordingly, if the number of timings of impacts is not one in the period of swing candidate data, it can be determined that the swing candidate data is not true swing data. 
     (5) In the swing analyzing device, the swing data determining unit may use, as one of the determination conditions, a condition that a time of the down swing is shorter than a time of the back swing in one piece of the swing candidate data. 
     In a usual swing motion, it is considered that the time of a down swing is shorter than the time of a back swing. Accordingly, if the time of the down swing is longer than the time of the back swing in swing candidate data, it can be determined that the swing candidate data is not true swing data. 
     (6) In the swing analyzing device, the swing data determining unit may use, as one of the determination conditions, a condition that a value obtained by dividing a time of the top by a time from the start of the swing to the end of the swing of the swing candidate data is smaller than a first threshold value in one piece of the swing candidate data. 
     In a usual swing motion, it is considered that a ratio between a time of a top interval and the entire time falls within a predetermined range. Accordingly, if the ratio between the time of the top interval and the entire time does not fall within the predetermined range, it can be determined that the swing candidate data is not true swing data. 
     (7) In the swing analyzing device, the first threshold value may be 15%. 
     (8) In the swing analyzing device, the motion sensor may be an angular velocity sensor which detects angular velocities generated about a plurality of axes by the swing, and the motion detecting unit may include an angular velocity calculating unit which calculates the sum of the magnitudes of the angular velocities generated about the plurality of respective axes using the acquired detection data. 
     By using an angular velocity sensor as described above, the swing motion can be detected more precisely compared to the case of using an acceleration sensor, and a swing with a small movement can also be detected. 
     Further, angular velocities about a plurality of axes are detected by an angular velocity sensor, and each of the motions of the swing is detected based on the sum (norm) of the magnitudes of the angular velocities about the respective axes. Therefore, the angular velocity sensor can be mounted in any direction at a place moving in association with the swing motion, which is easy to handle. 
     (9) In the swing analyzing device, the motion detecting unit may use the sum of the magnitudes of the angular velocities to detect the timing of an impact in the swing. 
     The timing of an impact is most easily grasped in the series of swing motions because the value of the sum (norm) of the magnitudes of angular velocities changes abruptly at the instant of the impact. Therefore, the timing of the impact is first detected, so that each of the motions of the swing can be detected more reliably. 
     (10) In the swing analyzing device, the motion detecting unit may further include a differential calculating unit which differentiates the sum of the magnitudes of the angular velocities with respect to time. 
     (11) In the swing analyzing device, the motion detecting unit may detect a portion where a positive peak and a negative peak successively appear in the differential values, and detects, between the positive peak and the negative peak, the timing of the prior peak as the timing of an impact. 
     In a usual swing motion, an angular velocity changes abruptly at an impact due to the impact shock. Accordingly, it is possible to grasp, as the timing of the impact, the timing at which the differential value of the sum (norm) of the magnitudes of angular velocities is a local maximum or a local minimum (that is, the timing at which the differential value of the sum of the magnitudes of angular velocities is a positive peak or a negative peak) in the series of swing motions. Since equipment used for the swing vibrates due to the impact, it is considered that the timing at which the differential value of the sum (norm) of the magnitudes of angular velocities is a local maximum and the timing at which the differential value is a local minimum are generated as one pair. It is considered that the prior timing between them is the instant of the impact. 
     (12) In the swing analyzing device, the motion detecting unit may detect the timing at which the sum of the magnitudes of the angular velocities is a local minimum before the impact as the timing of top of the swing. 
     In a usual swing motion, it is considered that the motion temporarily stops at top after the start of the swing and thereafter reaches an impact with a gradual increase in swing speed. Accordingly, the timing at which the sum (norm) of the magnitudes of angular velocities is a local minimum before the timing of the impact can be grasped as the timing of the top of the swing. 
     (13) In the swing analyzing device, the motion detecting unit may detect the timing at which the sum of the magnitudes of the angular velocities is a second threshold value or less before the top as the timing of start of the swing. 
     In a usual swing motion, the swing motion starts from a state at rest and is unlikely to stop until top. Accordingly, the last timing at which the sum (norm) of the magnitudes of angular velocities is the second threshold value or less before the top can be grasped as the timing of the start of the swing. 
     (14) In the swing analyzing device, the motion detecting unit may detect the timing at which the sum of the magnitudes of the angular velocities is a local minimum after the impact as the timing of finish of the swing. 
     In a usual swing motion, it is considered that the swing motion stops with a gradual decrease in swing speed after an impact. Accordingly, the timing at which the sum (norm) of the magnitudes of angular velocities is a local minimum after the impact can be grasped as the timing of the finish. 
     (15) In the swing analyzing device, the motion detecting unit may detect the first timing at which the sum of the magnitudes of the angular velocities is a third threshold value or less after the impact as the timing of finish of the swing. 
     In a usual swing motion, it is considered that the swing motion stops with a gradual decrease in swing speed after an impact. Accordingly, the first timing at which the sum (norm) of the magnitudes of angular velocities is the third threshold value or less after the impact can be grasped as the timing of the finish. 
     (16) In the swing analyzing device, the motion detecting unit may specify an interval from the timing of the start of the swing to the timing of the top as a back-swing interval, and an interval from the timing of the top to the timing of the impact as a down-swing interval. 
     (17) In the swing analyzing device, the angular velocity sensor may be mountable on at least one of a user&#39;s hand, a glove, and swing equipment. 
     The angular velocity sensor is mountable on a user&#39;s hand or a glove, whereby it does not take time to mount the sensor and swing analysis can be easily performed. Moreover, the angular velocity sensor is mountable on swing equipment, whereby an angular velocity can be detected more precisely than when the sensor is mounted on a user&#39;s hand or a glove. 
     (18) The swing analyzing device may further include a display processing unit which calculates, based on the motion of the swing detected by the motion detecting unit, a time of the motion of the swing and displays a calculation result on a screen. 
     By displaying at least one of the times of the motions of the swing motion, a user can grasp in detail the motion of the swing. 
     (19) In the swing analyzing device, the swing may be a golf swing. That is, the swing analyzing device may be a golf swing analyzing device. 
     (20) Another aspect of the invention is directed to a swing analyzing program causing a computer to function as: a data acquiring unit which acquires, from a motion sensor, detection data of a physical quantity generated by a swing; a motion detecting unit which detects a motion of the swing using the acquired detection data and extracts, as swing candidate data, data from which the motion of the swing is detected; and a swing data determining unit which selects true swing data from the swing candidate data based on determination conditions associated with the swing. 
     (21) Still another aspect of the invention is directed to a recording medium on which the swing analyzing program is recorded. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The invention will be described with reference to the accompanying drawings, wherein like numbers reference like elements. 
         FIG. 1  shows a configuration of a swing analyzing device of an embodiment. 
         FIGS. 2A to 2C  each show one example of a mounting position of a motion sensor. 
         FIG. 3  is a flowchart showing one example of the entire process of swing analysis. 
         FIG. 4  is a flowchart showing one example of a detection process of a swing motion. 
         FIG. 5  shows one example of a threshold value table of top interval, finish interval, and swing start. 
         FIG. 6  is a flowchart showing one example of a swing data determining process. 
         FIG. 7  is an explanatory view of the swing data determining process. 
         FIG. 8  is a flowchart showing one example of a display process of the swing motion. 
         FIG. 9  shows one example of display of the swing motion. 
         FIG. 10  is an explanatory view of the mounting position and direction of the motion sensor in an experimental example. 
         FIG. 11A  graphically displays angular velocities about three axes at the time of a full swing,  FIG. 11B  graphically displays the calculated value of the sum (norm) of the magnitudes of angular velocities about the three axes, and  FIG. 11C  graphically displays the calculated value of the differential of the sum (norm) of the magnitudes of angular velocities about the three axes. 
         FIG. 12  shows display of the swing motion at the time of the full swing. 
         FIG. 13A  graphically displays angular velocities about three axes at the time of a swing,  FIG. 13B  graphically displays the calculated value of the sum (norm) of the magnitudes of angular velocities about the three axes, and  FIG. 13C  graphically displays the calculated value of the differential of the sum (norm) of the magnitudes of angular velocities about the three axes. 
         FIG. 14  shows display of the swing motion at the time of the swing. 
         FIG. 15  is a flowchart showing a swing data determining process of Modified Example 1. 
         FIG. 16  is an explanatory view of the swing data determining process of Modified Example 1. 
         FIG. 17  is a flowchart showing a detection process of a swing motion of Modified Example 2. 
         FIG. 18  is a flowchart showing a swing data determining process of Modified Example 2. 
     
    
    
     DESCRIPTION OF EXEMPLARY EMBODIMENTS 
     Hereinafter, a preferred embodiment of the invention will be described in detail using the drawings. The embodiment described below does not unduly limit the contents of the invention set forth in the appended claims. Moreover, not all of the configurations described in the embodiment may necessarily be essential configuration requirements. 
     In the following, a swing analyzing device which analyzes a golf swing will be described as an example. However, the swing analyzing device of the invention can be applied to swing analyses for various kinds of equipment used for swings, such as tennis rackets or baseball bats. 
     1. Configuration of Swing Analyzing Device 
       FIG. 1  shows a configuration of the swing analyzing device of the embodiment. The swing analyzing device  1  of the embodiment is configured to include a motion sensor  10 , a processing unit  20 , an operating unit  30 , a display unit  40 , a ROM  50 , a RAM  60 , a nonvolatile memory  70 , and a recording medium  80 . 
     The motion sensor  10  detects a physical quantity generated by a swing and outputs detection data. The motion sensor  10  may be a multi-axis sensor capable of detecting physical quantities of a plurality of axes with one element, or may be a sensor mounting a plurality of single-axis sensors each capable of detecting a physical quantity of one axis with one element. As the motion sensor  10 , an angular velocity sensor, an acceleration sensor, or the like is applicable. Particularly, the motion sensor  10  of the embodiment is an angular velocity sensor, which detects angular velocities about a plurality of axes and outputs detection data of an angular velocity about each of the axes. 
     The operating unit  30  performs a process of acquiring operation data from a user and sending the data to the processing unit  20 . The operating unit  30  is, for example, a touch panel display, a button, a key, a microphone, or the like. 
     The display unit  40  displays a processing result of the processing unit  20  as characters, a graph, or other images. The display unit  40  is, for example, a CRT, an LCD, a touch panel display, an HMD (head-mounted display), or the like. The functions of the operating unit  30  and the display unit  40  may be realized by one touch panel display. 
     The ROM  50  stores various kinds of basic programs with which the processing unit  20  performs a calculation process or a control process, data used for the basic programs, and the like. 
     The RAM  60  is used as a working area of the processing unit  20 , and is a storage unit which temporally stores a program or data read from the ROM  50 , data input from the operating unit  30 , an operation result executed by the processing unit  20  according to various kinds of programs, and the like. 
     The nonvolatile memory  70  is a recording unit which records data needing to be stored for a long time, among data generated by the process of the processing unit  20 . 
     The recording medium  80  stores application programs or data for realizing various kinds of application functions, and can be realized by, for example, an optical disc (CD or DVD), a magneto-optical disc (MO), a magnetic disk, a hard disk, a magnetic tape, or a memory (such as a ROM or a flash memory). 
     The processing unit  20  performs various kinds of processes (an acquisition process of detection data of the motion sensor  10 , various kinds of calculation processes, various kinds of control processes, and the like) according to the basic programs stored in the ROM  50  or the application programs stored in the recording medium  80 . The processing unit  20  can be realized by a microprocessor or the like. 
     Particularly, in the embodiment, the processing unit  20  includes a data acquiring unit  22 , a motion detecting unit  24 , a swing data determining unit  26 , and a display processing unit  28 , all of which will be described below, and analyzes each motion of a swing motion performed by a user. In the embodiment, the processing unit  20  executes a swing analyzing program stored in the recording medium  80  to thereby function as the data acquiring unit  22 , the motion detecting unit  24 , the swing data determining unit  26 , and the display processing unit  28 . That is, the swing analyzing program for causing a computer to function as each of the units is stored in the recording medium  80 . Alternatively, a communication unit may be added to the swing analyzing device  1  to receive the swing analyzing program from a server via the communication unit via a wired or wireless communication network, and the received swing analyzing program may be stored in the RAM  60  or the recording medium  80  to execute the swing analyzing program. However, at least a part of the data acquiring unit  22 , the motion detecting unit  24 , the swing data determining unit  26 , and the display processing unit  28  may be realized by hardware (dedicated circuit). 
     The data acquiring unit  22  performs a process of successively acquiring a series of detection data of the motion sensor  10  on a swing motion of a user. The acquired data is stored in, for example, the RAM  60 . 
     The motion detecting unit  24  uses the detection data acquired by the data acquiring unit  22  to detect the motion of a swing (the motion of the swing including at least one motion of, for example, back swing, top, and down swing), and performs a process of extracting data from which the motion of the swing is detected as swing candidate data. Particularly, the motion detecting unit  24  of the embodiment includes an angular velocity calculating unit  240 , a differential calculating unit  242 , and an impact detecting unit  244 . However, the motion detecting unit  24  of the embodiment may be configured by omitting a part of or all of these configurations (constituents) or adding a new configuration (constituent). 
     The angular velocity calculating unit  240  performs, based on the detection data acquired by the data acquiring unit  22  from the motion sensor  10 , a process of calculating the sum (norm) of the magnitudes of angular velocities about a plurality of axes. In the following, the sum of the magnitudes of angular velocities generated about respective axes is expressed as “norm”. 
     The differential calculating unit  242  performs a process of differentiating the norm of angular velocities calculated by the angular velocity calculating unit  240  with respect to time. 
     The impact detecting unit  244  uses the detection data acquired by the data acquiring unit  22  to perform a process of detecting the timing of an impact in a swing. For example, the impact detecting unit  244  uses the norm of angular velocities calculated by the angular velocity calculating unit  240  based on the detection data to perform the process of detecting the timing of an impact in a swing. The impact detecting unit  244  may detect a portion where a positive peak (local maximum point) and a negative peak (local minimum point) successively appear (portion including these peaks in a predetermined time) in the differential values of the norms of angular velocities calculated by the differential calculating unit  242 , and may detect, as the timing of an impact, the timing of the prior peak between the positive peak and the negative peak. Particularly, the impact detecting unit  244  may detect, between the timing at which the differential value of the norm of angular velocities calculated by the differential calculating unit  242  is maximal and the timing at which the differential value is minimal, the prior timing as the timing of one impact (maximum impact). Alternatively, the impact detecting unit  244  may detect the timing at which the norm of angular velocities is maximal as the timing of one impact (maximum impact). 
     The motion detecting unit  24  may detect the motion of the swing of swing candidate data on the basis of the timing of the impact (maximum impact) detected by the impact detecting unit  244 . 
     The motion detecting unit  24  may detect, in the swing candidate data, the timing at which the norm of angular velocities calculated by the angular velocity calculating unit  240  is a local minimum before the impact (maximum impact) detected by the impact detecting unit  244  as the timing of top of the swing. 
     Moreover, the motion detecting unit  24  may specify, in the swing candidate data, a continuous interval in which the norm of angular velocities is a given threshold value or less before the impact (maximum impact) as a top interval (lag interval at top). 
     Moreover, the motion detecting unit  24  may detect, in the swing candidate data, the timing at which the norm of angular velocities is a second threshold value or less before the top as the timing of the start of the swing. 
     Further, the motion detecting unit  24  may specify an interval from the timing of the start of the swing to the timing of the top as a back-swing interval, and may specify an interval from the timing of the top to the timing of the impact (maximum impact) as a down-swing interval. 
     Moreover, the motion detecting unit  24  may detect, in the swing candidate data, the timing at which the norm of angular velocities is a local minimum after the impact (maximum impact) as the timing of the end (finish) of the swing. Alternatively, the motion detecting unit  24  may detect the first timing at which the norm of angular velocities is a third threshold value or less after the impact (maximum impact) as the timing of the end (finish) of the swing. 
     Moreover, the motion detecting unit  24  may detect, in the swing candidate data, a continuous interval in which the norm of angular velocities is a fourth threshold value or less after the timing of the impact (maximum impact) and close to the timing of the impact (maximum impact) as a finish interval. 
     The swing data determining unit  26  performs, based on determination conditions associated with the swing, a process of selecting true swing data from swing candidate data. 
     The swing data determining unit  26  may use, as one of the determination conditions, a condition that the number of timings of the impacts is one (only the maximum impact is present) in one piece of swing candidate data. 
     Moreover, the swing data determining unit  26  may use, as one of the determination conditions, a condition that the time of the down swing is shorter than the time of the back swing in one piece of the swing candidate data. 
     Moreover, the swing data determining unit  26  may use, as one of the determination conditions, a condition that a value obtained by dividing the time of the top by the time from the start of the swing of the swing candidate data to the end of the swing is smaller than the first threshold value in one piece of the swing candidate data. 
     The display processing unit  28  performs, based on each motion of a user&#39;s swing detected by the motion detecting unit  24 , a process of calculating the time of each motion of the swing and displaying the calculation result on a screen (the display unit  40 ). 
     The processing unit  20  of the embodiment may be configured by omitting a part of these configurations (constituents) or adding a new configuration (constituent). 
     All or a part of the functions of the processing unit  20 , the operating unit  30 , the display unit  40 , the ROM  50 , the RAM  60 , the nonvolatile memory  70 , and the recording medium  80  can be realized by a personal computer (PC), or a mobile device such as a smartphone. 
     The swing analyzing device  1  may be configured as one of a separate type in which the motion sensor  10  and the processing unit  20  are physically separated from each other, and wireless or wired data communication may be performed between the motion sensor  10  and the processing unit  20 . Alternatively, the swing analyzing device  1  may be configured as one of an integral type in which the motion sensor  10  and the processing unit  20  are disposed in one case. 
     When the swing analyzing device  1  is configured as one of the separate type, the motion sensor  10  is mounted at any position capable of detecting an angular velocity generated according to a swing motion. For example, the motion sensor  10  is mounted on swing equipment such as a golf club as shown in  FIG. 2A . However, it is preferable to mount the motion sensor  10  on a shaft as shown in the drawing so that the motion sensor  10  is not subjected to the influence of shock at an impact. Other than that, the motion sensor  10  may be mounted on a user&#39;s hand or a glove as shown in  FIG. 2B , or may be mounted on an accessory such as a wristwatch as shown in  FIG. 2C . 
     Moreover, when the swing analyzing device  1  is configured as one of the integral type, the swing analyzing device  1  itself may be mounted on swing equipment such as a golf club, a user&#39;s hand, a glove, an accessory, or the like. 
     2. Process of Swing Analyzing Device 
     2-1. Entire Process of Swing Analysis 
       FIG. 3  is a flowchart showing one example of the entire process of swing analysis performed by the processing unit  20  of the swing analyzing device  1 . 
     As shown in  FIG. 3 , the processing unit  20  of the embodiment first functions as the data acquiring unit  22  to acquire detection data from the motion sensor  10  (S 10 : data acquiring step). A period (data acquiring period) in which the data acquiring unit  22  acquires the data from the motion sensor  10  is set by some kind of method. For example, a user or an assistant may operate the operating unit  30  before the start of a swing to thereby indicate the start timing of the data acquiring period, and may operate the operating unit  30  after the end of the swing to thereby indicate the end timing of the data acquiring period. Moreover, for example, a user or an assistant may operate the operating unit  30  before the start of a swing to thereby indicate the start timing of the data acquiring period, and the data acquiring period may automatically end after an elapse of a predetermined time. 
     Next, the processing unit  20  functions as the motion detecting unit  24  to set all the data acquired at Step S 10  to be in an object range of rhythm detection (S 12 ) and perform the rhythm detection on the data (that is, all the acquired data) set to be in the object range of rhythm detection (S 14 : rhythm detecting step). The term “rhythm(s)” used herein means a series of motions from the start of a swing to the end of the swing, and corresponds to, in the case of a golf swing for example, a series of motions of the start of a swing, back swing, top, down swing, impact, follow through, and the end of the swing. 
     If the rhythm has not been detected at Step S 14  (N at S 16 ), it is determined that data (swing data) corresponding to the swing motion has not been included in the acquired data, and the process ends. In this case, the fact that the swing data was not included in the acquired data may be displayed on the display unit  40 . 
     On the other hand, if the rhythm has been detected at Step S 14  (Y at S 16 ), the processing unit  20  functions as the swing data determining unit  26  to determine whether or not data (swing candidate data) from which the rhythm has been detected at Step S 14  is swing data corresponding to the swing motion of a user (S 18 : swing data determining step). 
     If it was determined at step S 18  that the swing candidate data was the swing data (Y at S 20 ), the processing unit  20  functions as the display processing unit  28  to display the rhythm of the swing data on the display unit  40  (S 22 : rhythm display step), and ends the process. 
     On the other hand, if it was determined at Step S 18  that the swing candidate data was not the swing data (N at S 20 ), the processing unit  20  resets the object range of rhythm detection and performs again the processes at and subsequent to Step S 14 . 
     2-2. Rhythm Detection Process 
       FIG. 4  is a flowchart showing one example of a rhythm detection process performed by the processing unit  20  (the motion detecting unit  24 ). 
     As shown in  FIG. 4 , the processing unit  20  (the motion detecting unit  24 ) first functions as the angular velocity calculating unit  240  in a first rhythm detection process (Y at S 100 ) to calculate the value of a norm n 0 (t) of angular velocities at each of time points t for data set to be in the object range of rhythm detection (hereinafter referred to as “rhythm detection object data”) (S 110 ). As one example of a method of obtaining the norm (sum of the magnitudes of angular velocities) of angular velocities, there is a method of obtaining the norm from “the square root of the sum of the squares of the magnitudes of angular velocities”. For example, when it is assumed that the motion sensor  10  detects angular velocities about three axes, and that detection data corresponding to three axes at each of the time points t are defined as x(t), y(t), and z(t) for the rhythm detection object data, the norm n 0 (t) of the angular velocities is calculated by the following expression (1).
 
 n   0 ( t )=√{square root over ( x ( t ) 2   +y ( t ) 2   +z ( t ) 2 )}  (1)
 
     Next, the processing unit  20  (the motion detecting unit  24 ) converts, for the rhythm detection object data, the norm n 0 (t) of the angular velocities at each of the time points t to a norm n(t) which is normalized in a predetermined range (S 120 ). Specifically, when the maximum value of the norm of the angular velocities in the rhythm detection object data is defined as max(n 0 ), the norm n 0 (t) of the angular velocities is converted by the following expression (2) to the norm n(t) which is normalized in the range of from 0 to 100. 
     
       
         
           
             
               
                 
                   
                     n 
                     ⁡ 
                     
                       ( 
                       t 
                       ) 
                     
                   
                   = 
                   
                     
                       100 
                       × 
                       
                         
                           n 
                           0 
                         
                         ⁡ 
                         
                           ( 
                           t 
                           ) 
                         
                       
                     
                     
                       max 
                       ⁡ 
                       
                         ( 
                         
                           n 
                           0 
                         
                         ) 
                       
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
     Next, the processing unit  20  (the motion detecting unit  24 ) functions as the differential calculating unit  242  to calculate the value of the differential of the norm (the norm n(t) after normalization) at each of the time points t (S 130 ). For example, an acquisition interval of the rhythm detection object data is defined as Δt, a differential (difference) dn(t) of the norm of the angular velocities at the time point t is calculated by the following expression (3).
 
 dn ( t )= n ( t )− n ( t−Δt )  (3)
 
     On the other hand, in a second and subsequent rhythm detection processes (N at S 100 ), the processes of Step S 110  to Step S 130  are not performed. 
     Next, the processing unit  20  (the motion detecting unit  24 ) functions as the impact detecting unit  244  to set, between a time point at which the value of the differential dn(t) of the norm is maximal and a time point at which the value is minimal, the prior time point as a time point T 5  of the impact (maximum impact) (S 140 ). In a usual golf swing, it is considered that the swing speed is maximal at the instant of the impact. Then, it is considered that the value of the norm of angular velocities also changes according to the swing speed. Therefore, the timing at which the differential value of the norm of angular velocities is maximal or minimal (that is, the timing at which the differential value of the norm of angular velocities is a positive maximum value or a negative minimum value) in the series of swing motions can be grasped as the timing of the impact. Since a golf club vibrates due to the impact, it is considered that the timing at which the differential value of the norm of angular velocities is maximal and the timing at which the differential value is minimal are generated as one pair. It is considered that the prior timing between them is the instant of the impact. 
     Next, the processing unit  20  (the motion detecting unit  24 ) determines whether or not a local minimum point where the value of the norm n(t) approaches 0 is present before the time point T 5  of the impact (S 150 ). If present (Y at S 150 ), the time point of the local minimum point is set as a time point T 3  of the top (S 152 ). In a usual golf swing, it is considered that the motion temporarily stops at top after the start of the swing and thereafter reaches an impact with a gradual increase in swing speed. Accordingly, the timing at which the norm of angular velocities approaches 0 to be a local minimum before the timing of the impact can be grasped as the timing of the top. 
     On the other hand, if the local minimum point where the value of the norm n(t) approaches 0 is not present before the time point T 5  of the impact (N at S 150 ), the processing unit  20  (the motion detecting unit  24 ) determines that the rhythm detection for the rhythm detection object data has failed (swing candidate data is not included in the rhythm detection object data), and ends the process. 
     Next, the processing unit  20  (the motion detecting unit  24 ) determines whether or not a local minimum point where the value of the norm n(t) approaches 0 is present after the time point T 5  of the impact (S 154 ). If present (Y at S 154 ), the time point of the local minimum point is set as a time point T 7  of finish (S 156 ). In a usual golf swing, it is considered that the swing stops after an impact with a gradual decrease in swing speed. Accordingly, the timing at which the norm of angular velocities approaches 0 to be a local minimum after the timing of the impact can be grasped as the timing of the finish. 
     On the other hand, if the local minimum point where the value of the norm n(t) approaches 0 is not present after the time point T 5  of the impact (N at S 154 ), the processing unit  20  (the motion detecting unit  24 ) determines that the rhythm detection for the rhythm detection object data has failed (swing candidate data is not included in the rhythm detection object data), and ends the process. 
     Next, the processing unit  20  (the motion detecting unit  24 ) determines whether or not an interval in which the value of the norm n(t) is a preset threshold value or less is present before and after the time point T 3  of the top (S 158 ). If present (Y at S 158 ), the first and last time points of the interval are set respectively as a start time point T 2  and an end time point T 4  of the top interval (S 160 ). In a usual golf swing, since the motion temporarily stops at top, it is considered that the swing speed is small before and after the top. Accordingly, a continuous interval in which the timing of the top is included and the norm of angular velocities is a given threshold value or less can be grasped as the top interval. 
     On the other hand, if the interval in which the value of the norm n(t) is the threshold value or less is not present before and after the time point T 3  of the top (N at S 158 ), the processing unit  20  (the motion detecting unit  24 ) determines that the rhythm detection for the rhythm detection object data has failed (swing candidate data is not included in the rhythm detection object data), and ends the process. 
     Next, the processing unit  20  (the motion detecting unit  24 ) determines whether or not an interval in which the value of the norm n(t) is a preset threshold value or less is present before and after the time point T 7  of the finish (S 162 ). If present (Y at S 162 ), the first and last time points of the interval are set respectively as a start time point T 6  and an end time point T 8  of the finish interval (S 164 ). In a usual golf swing, it is considered that the swing stops after an impact with a gradual decrease in swing speed. Accordingly, a continuous interval in which the timing of the finish is included and the norm of angular velocities is a given threshold value or less can be grasped as the finish interval. 
     On the other hand, the interval in which the value of the norm n(t) is the threshold value or less is not present before and after the time point T 7  of the finish (N at S 162 ), the processing unit  20  (the motion detecting unit  24 ) determines that the rhythm detection for the rhythm detection object data has failed (swing candidate data is not included in the rhythm detection object data), and ends the process. 
     Next, the processing unit  20  (the motion detecting unit  24 ) determines whether or not the value of the norm n(t) is a preset threshold value (one example of the second threshold value) or less before the start time point T 2  of the top interval (S 166 ). If the value of the norm n(t) is the threshold value or less (Y at S 166 ), the last time point at which the value of the norm n(t) is the threshold value or less is set as a time point T 1  of swing start (S 168 ). A local minimum point where the norm approaches 0 before the local minimum point for specifying the top may be deemed as the swing start. In a usual golf swing, the swing motion starts from a state at rest and is unlikely to stop until top. Accordingly, the last timing at which the norm of angular velocities is the threshold value or less before the timing of the top can be grasped as the timing of the start of the swing motion. 
     On the other hand, if the value of the norm n (t) is not the threshold value or less before the start time point T 2  of the top interval (N at S 166 ), the processing unit  20  (the motion detecting unit  24 ) determines that the rhythm detection for the rhythm detection object data has failed (swing candidate data is not included in the rhythm detection object data), and ends the process. 
     Finally, the processing unit  20  (the motion detecting unit  24 ) defines the data of T 1  to T 8  from which the rhythm has been detected as swing candidate data (S 170 ), and ends the process. 
     The respective threshold values of the top interval, the finish interval, and the swing start are stored as, for example, table data shown in  FIG. 5  in the ROM  50 , the RAM  60 , or the like. These threshold values may be fixed values or variable values (for example, individually set for every user). When the respective threshold values are previously provided corresponding to the motions as shown in  FIG. 5 , even if a plurality of local minimum points are generated, a local minimum point corresponding to a swing can be easily extracted. 
     The steps in the flowchart of  FIG. 4  may be appropriately replaced with each other. 
     Moreover, in the flowchart of  FIG. 4 , it is possible to omit the step (S 130 ) of calculating the value of the differential dn(t) of the norm (norm after normalization) n(t) at each of the time points t. Particularly, for a swing having a large change in the norm of angular velocities, like a driver swing, the differential step (S 130 ) can be omitted. When S 130  is omitted, the maximum value of the norm of angular velocities obtained at S 120  may be detected as the timing of the impact (maximum impact). 
     Moreover, at Step S 154  and Step S 156  in the flowchart of  FIG. 4 , the local minimum point where the value of the norm n(t) of angular velocities approaches 0 after the timing of the impact is set as the timing of the finish. However, for example, the first timing at which the value of the norm n(t) of angular velocities is the preset threshold value (one example of the third threshold value) or less after the impact may be set as the timing of the finish of a swing. 
     Moreover, in the flowchart of  FIG. 4 , all of the motions of the start of a swing, back swing, top, down swing, impact, follow through, and the end of the swing are detected. However, for example, at least one motion of the swing motions may be detected, such as the case where only the motions of impact and down swing are detected. 
     2-3. Swing Data Determining Process 
       FIG. 6  is a flowchart showing one example of a swing data determining process performed by the processing unit  20  (the swing data determining unit  26 ). 
     As shown in  FIG. 6 , the processing unit  20  (the swing data determining unit  26 ) first calculates, in swing candidate data, the number of impacts from the time point T 1  of the swing start to the end time point T 8  of the finish interval (S 200 ). The “impact” used herein includes not only the impact (maximum impact) that a golf club hits a ball but also an impact that a golf club hits the ground or an obstacle. For example, the processing unit  20  (the swing data determining unit  26 ) calculates, as the number of impacts, the number of times that the differential (difference) dn(t) of the norm of angular velocities crosses over a preset threshold value. 
     If the number of impacts included from the time point T 1  of the swing start to the end time point T 8  of the finish interval is only one (Y at S 210 ), the processing unit  20  (the swing data determining unit  26 ) calculates a time Ta of back swing=the time point T 3  of the top—the time point T 1  of the swing start (S 220 ), and further calculates a time Tc of down swing=the time point T 5  of the impact—the time point T 3  of the top (S 230 ). 
     On the other hand, if the number of impacts included from the time point T 1  of the swing start to the end time point T 8  of the finish interval is two or more (N at S 210 ), the processing unit  20  (the swing data determining unit  26 ) determines that the swing candidate data is not true swing data, and sets remaining data obtained by excluding data at and before the time point T 8  from the object range of rhythm detection to be in a new object range of rhythm detection (S 290 ). In a usual swing motion, it is considered that the number of impacts included from the start to the end of the swing is one. Therefore, if the number of timings of impacts is not one in the period of swing candidate data, it can be determined that the swing candidate data is not true swing data. 
     Then, if the time Ta of the back swing is shorter than the time Tc of the down swing (Y at S 240 ), the processing unit  20  (the swing data determining unit  26 ) calculates a time Tb of the top interval=the end time point T 4  of the top interval−the start time point T 2  of the top interval (S 250 ), and further calculates an entire time T of the swing candidate data=the end time point T 8  of the finish interval−the time point T 1  of the swing start (S 260 ). 
     On the other hand, if the time Ta of the back swing is the time Tc of the down swing or more (N at S 240 ), the processing unit  20  (the swing data determining unit  26 ) determines that the swing candidate data is not true swing data, and sets remaining data obtained by excluding data at and before the time point T 8  from the object range of rhythm detection to be in a new object range of rhythm detection (S 290 ). In a usual swing motion, it is considered that the time of the down swing is shorter than the time of the back swing. Therefore, if the time Tc of the down swing in swing candidate data is the time Ta of the back swing or more, it can be determined that the swing candidate data is not true swing data. 
     Finally, the processing unit  20  (the swing data determining unit  26 ) calculates the value of (the time Tb of the top interval/the entire time T of the swing candidate data). If the value of Tb/T is a preset threshold value (one example of the first threshold value) or less (Y at S 270 ), the processing unit  20  (the swing data determining unit  26 ) determines the swing candidate data (data of T 1  to T 8 ) as true swing data (S 280 ), and ends the process. 
     On the other hand, if the value of Tb/T is not the threshold value or less (N at S 270 ), the processing unit  20  (the swing data determining unit  26 ) determines that the swing candidate data is not true swing data, and sets remaining data obtained by excluding data at and before the time point T 8  from the object range of rhythm detection to be in a new object range of rhythm detection (S 290 ). In a usual swing motion, it is considered that the ratio between the time of the top interval and the entire time falls in a predetermined range. Therefore, if the value of Tb/T in swing candidate data is not the threshold value or less, it can be determined that the swing candidate data is not true swing data. For example, it is considered that the value of Tb/T does not exceed 0.15 (=15%) in true swing data. Therefore, the threshold value can be set to 0.15 (=15%). 
     The steps in the flowchart of  FIG. 6  may be appropriately replaced with each other. 
     When a plurality of data patterns serving as swing candidate data are included in all data acquired from the motion sensor  10 , the rhythm detection process of  FIG. 4  and the swing data determining process of  FIG. 6  are repeatedly performed until swing data is detected or it is determined that all the data patterns are not swing data. For example, it is assumed that three data patterns (a data pattern  1 , a data pattern  2 , and a data pattern  3  in time series order) serving as swing candidate data are included in all data acquired from the motion sensor  10 , and that the last data pattern  3  is swing data. In this case, as shown in  FIG. 7 , a first rhythm detection process is performed on all the data acquired from the motion sensor  10  using all the data as rhythm detection object data, and the data pattern  1 , for example, is detected as swing candidate data. Then, since the data pattern  1  is not swing data, second rhythm detection is performed on remaining data obtained by removing the data pattern  1  from the first rhythm detection object data. When the data pattern  2 , for example, is detected in the second rhythm detection process, since the data pattern  2  is also not swing data, third rhythm detection is performed on remaining data obtained by removing the data pattern  2  from the second rhythm detection object data. The data pattern  3  is detected in the third rhythm detection process, and the data pattern  3  is determined as swing data. 
     2-4. Rhythm Display Process 
       FIG. 8  is a flowchart showing one example of a rhythm display process performed by the processing unit  20  (the display processing unit  28 ). 
     First, the processing unit  20  (the display processing unit  28 ) calculates, for swing data, a time Td of follow through=the time point T 7  of the finish−the time point T 5  of the impact (S 300 ). 
     Next, the processing unit  20  (the display processing unit  28 ) calculates a time Te of the finish interval=the end time point T 8  of the finish interval−the start time point T 6  of the finish interval (S 310 ). 
     Finally, the processing unit  20  (the display processing unit  28 ) graphically displays, on the display unit  40 , the times (the time Ta of the back swing, the time Tb of the top interval, the time Tc of the down swing, the time Td of the follow through, and the time Te of the finish interval) of the phases calculated respectively at Step S 220 , Step S 250 , and Step S 230  of  FIG. 6  and Step S 300  and Step S 310  of  FIG. 8  (S 320 ). 
       FIG. 9  shows one example of rhythm display of a swing motion. In the display example of  FIG. 9 , the respective phases (back swing, top interval, down swing, follow through, and finish interval) in the swing motion are displayed in time series as rectangles with lengths proportional to the respective times Ta, Tb, Tc, Td, and Te and each having a specific color or pattern. Moreover, the respective times Ta, Tb, Tc, Td, and Te are displayed above the display of the rectangles of the respective phases. With such rhythm display, a user can obtain detailed information on the rhythms of his/her own swing motion, such as that, for example, lag is insufficient at top because the time Tb of the top interval is short, or that the impact is weak because the time Tc of the down swing is long. Moreover, not only are all the rhythms of the swing displayed, but also the time may be displayed at each motion of the swing. 
     3. Experimental Example 
       FIGS. 10 to 14  relate to an experimental example of rhythm analysis of a swing motion using the swing analyzing device  1  of the embodiment. 
     As shown in  FIG. 10 , in the experimental example, the motion sensor  10  which detects angular velocities about three axes was mounted in the vicinity of the grip of the shaft of a golf club (driver), and the rhythms when a subject made a swing only once to hit a golf ball were analyzed. The motion sensor  10  was mounted such that an x-axis is a direction parallel to the shaft, a y-axis is a direction of the swing, and a z-axis is a direction perpendicular to a plane of the swing. However, since the swing analyzing device  1  of the embodiment calculates the time of each of the phases based on the norm of angular velocities, any mounting angle can be set for the motion sensor  10 . Moreover, the motion sensor  10  was connected to a not-shown PC (including the processing unit  20 , the operating unit  30 , the display unit  40 , the ROM  50 , the RAM  60 , the nonvolatile memory  70 , and the recording medium  80 ) with a cable, a series of data of angular velocities about the three axes detected by the motion sensor  10  was acquired in the RAM  60  by the PC, and the rhythms of swing data included in the acquired data were analyzed and displayed. 
       FIG. 11A  graphically displays angular velocities x(t), y(t), and z(t) about the three axes based on data acquired in a data acquiring period (for 5 sec) when the subject picked up the driver to immediately make a full swing. In  FIG. 11A , the horizontal axis represents a time (msec) while the vertical axis represents an angular velocity (dps). 
       FIG. 11B  graphically displays the norm n(t) obtained by calculating the norm n 0 (t) of angular velocities about three axes, from the angular velocities x(t), y(t), and z(t) about the three axes of  FIG. 11A , according to the expression (1), and thereafter converting (normalizing) the norm n 0 (t) to a 0 to 100 scale according to the expression (2). In  FIG. 11B , the horizontal axis represents a time (msec) while the vertical axis represents the norm (converted to a 0 to 100 scale) of angular velocities. 
       FIG. 11C  graphically displays the differential dn(t) obtained by calculating from the norm n(t) of angular velocities about three axes of  FIG. 11B  according to the expression (3). In  FIG. 11C , the horizontal axis represents a time (msec) while the vertical axis represents the differential value of the norm of angular velocities about three axes. In  FIGS. 11A and 11B , the horizontal axis ranges from 0 to 5 sec. However, the horizontal axis in  FIG. 11C  ranges from 2 to 2.8 sec so that a change in differential value before and after an impact is seen. 
     Referring to  FIGS. 11B and 11C , swing candidate data was extracted according to the flowchart of the rhythm detection process shown in  FIG. 4 , and the time point T 1  of the swing start, the start time point T 2  of the top interval, the time point T 3  of the top, the end time point T 4  of the top interval, the time point T 5  of the impact, the start time point T 6  of the finish interval, the time point T 7  of the finish, and the end time point T 8  of the finish interval were calculated. The results were T 1 =1000 msec, T 2 =1967 msec, T 3 =2024 msec, T 4 =2087 msec, T 5 =2397 msec, T 6 =3002 msec, T 7 =3075 msec, and T 8 =3210 msec. 
     Next, the calculated values of T 1  to T 8  of the swing data candidates were used to calculate the time Ta of the back swing, the time Tb of the top interval, the time Tc of the down swing, and the entire time T, according to the flowchart of the swing data determining process shown in  FIG. 6 . The results were Ta=T 3 −T 1 =1024 msec, Tb=T 4 −T 2 =120 msec, Tc=T 5 −T 3 =373 msec, and T=T 8 −T 1 =2210 msec. 
     It was determined whether or not the swing candidate data was true swing data. Then, since only one impact (impact at the time point T 5 ) is present between T 1  and T 8 , and the relations of Ta&gt;Tc and Tb/T≦threshold value (for example, 15%) are satisfied, the swing candidate data satisfies the conditions of swing data. 
     Therefore, the time Td of the follow through and the time Te of the finish interval were next calculated according to the rhythm display process shown in  FIG. 8 , resulting in Td=T 7 −T 5 =678 msec and Te=T 8 −T 6 =208 msec. The rhythm display shown in  FIG. 12  was obtained. 
     In contrast to this,  FIG. 13A  graphically displays the angular velocities x(t), y(t), and z(t) about the three axes based on data acquired in a data acquiring period (for about 25 sec) when the subject picked up the driver to make a full swing after moving the driver before the swing. In  FIG. 13A , the horizontal axis represents a time (msec) while the vertical axis represents an angular velocity (dps). 
       FIG. 13B  graphically displays the norm n (t) obtained by calculating the norm n 0 (t) of angular velocities about three axes, from the angular velocities x(t), y(t), and z(t) about the three axes of  FIG. 13A , according to the expression (1), and thereafter converting (normalizing) the norm n 0 (t) to a 0 to 100 scale according to the expression (2). In  FIG. 13B , the horizontal axis represents a time (msec) while the vertical axis represents the norm (converted to a 0 to 100 scale) of angular velocities. 
       FIG. 13C  graphically displays the differential dn(t) obtained by calculating from the norm n(t) of angular velocities about three axes of  FIG. 13B  according to the expression (3). In  FIG. 13C , the horizontal axis represents a time (msec) while the vertical axis represents the differential value of the norm of angular velocities about three axes. 
     Referring to  FIGS. 13B and 13C , swing candidate data was extracted according to the flowchart of the rhythm detection process shown in  FIG. 4  to calculate the time point T 1  of the swing start, the start time point T 2  of the top interval, the time point T 3  of the top, the end time point T 4  of the top interval, the time point T 5  of the impact, the start time point T 6  of the finish interval, the time point T 7  of the finish, and the end time point T 8  of the finish interval. As a result, swing candidate data of T 1 =307 msec, T 2 =984 msec, T 3 =998 msec, T 4 =1019 msec, T 5 =1982 msec, T 6 =2092 msec, T 7 =2100 msec, and T 8 =2109 msec were extracted. 
     Next, the calculated values of T 1  to T 8  of the first swing data candidates were used to calculate, according to the flowchart of the swing data determining process shown in  FIG. 6 , the time Ta of the back swing, the time Tb of the top interval, the time Tc of the down swing, and the entire time T. The results were Ta=T 3 −T 1 =691 msec, Tb=T 4 −T 2 =35 msec, Tc=T 5 −T 3 =984 msec, and T=1802 msec. 
     It was determined whether or not the first swing candidate data was true swing data. Since two impacts (an impact at a time point Tx and an impact at the time point T 5 ) are present between T 1  and T 8 , and the relation of Ta&lt;Tc is established, the first swing candidate data does not satisfy the conditions of swing data. 
     Accordingly, it was determined that the first swing candidate data was not true swing data. A second rhythm detection process was performed on remaining data obtained by removing the data at and before the time point T 8  from all data to extract swing candidate data, and T 1  to T 8  were calculated. As a result, swing candidate data of T 1 =18324 msec, T 2 =18976 msec, T 3 =18997 msec, T 4 =19018 msec, T 5 =19233 msec, T 6 =19746 msec, T 7 =19891 msec, T 8 =20902 msec were extracted. 
     Next, the calculated values of T 1  to T 8  of the second swing data candidates were used to calculate Ta, Tb, Tc, and T. The results were Ta=673 msec, Tb=42 msec, Tc=236 msec, and T=2578 msec. 
     Then, it was determined whether or not the second swing candidate data was true swing data. Since only one impact (impact at the time point T 5 ) is present between T 1  and T 8 , and the relations of Ta&gt;Tc and Tb/T threshold value (for example, 15%) are satisfied, the second swing candidate data satisfies the conditions of swing data. 
     Therefore, the time Td of the follow through and the time Te of the finish interval were next calculated according to the rhythm display process shown in  FIG. 8 , resulting in Td=658 msec and Te=1156 msec. The rhythm display shown in  FIG. 14  was obtained. In this manner, even when the user freely moved before the swing motion, swing data was correctly selected, and detailed rhythm data of the swing motion was obtained. 
     In the examples of  FIGS. 11A to 11C  and  FIGS. 13A to 13C  as described above, the step (S 130 ) of calculating the value of the differential dn(t) of the norm (norm after normalization) n(t) at each of the time points t can be omitted. Particularly, for a swing having a large change in the norm of angular velocities, like a driver swing, the differential step (S 130 ) can be omitted. In the case of omitting the differential step, the maximum value of the norm ( FIGS. 11B and 13B ) of angular velocities obtained at S 120  may be detected as the timing of the maximum impact. 
     According to the embodiment as described above, since swing candidate data is extracted from detection data acquired from the motion sensor  10  to determine whether or not the swing candidate data is swing data, a user does not need to indicate the timing of the start or end of the swing motion. Accordingly, the user can freely move before and after a swing, and therefore, the swing can be analyzed in a natural movement. 
     Moreover, according to the embodiment, it is determined, by evaluating the validity of a detected rhythm, whether or not swing candidate data is swing data. Therefore, compared to the case of performing waveform pattern matching, swing data can be extracted with a smaller calculation load. 
     Moreover, according to the embodiment, an angular velocity sensor is used as the motion sensor  10 , whereby compared to the case of using an acceleration sensor, a swing motion can be detected more precisely, and a swing with a small movement can also be detected. Accordingly, more detailed analysis can be performed, such as for example, how slowly a golf club lags behind at top and finish. Moreover, it is possible on the basis of the impact to detect at least one of the motions of the start of a swing, back swing, top, down swing, follow through, and the end of the swing. 
     Moreover, according to the embodiment, since a swing motion is detected based on the norm of angular velocities, the motion sensor  10  can be mounted in any direction at a place moving in association with the swing motion. Therefore, the motion sensor  10  is easy to handle. 
     Moreover, according to the embodiment, the timing of the impact, which is most easily grasped in the series of swing motions because the value of the norm of angular velocities changes abruptly, is first detected, and each of the phases of the swing motion is specified based on the timing of the impact, whereby the swing motion can be detected more reliably. 
     Moreover, according to the embodiment, since the time of each of the phases of the swing motion is displayed, a user can easily grasp detailed rhythms of the swing motion. 
     4. Modified Examples 
     The invention is not limited to the embodiment, and various kinds of modifications can be implemented within the range of the gist of the invention. For example, the following modified examples are conceivable. 
     Modified Example 1 
       FIG. 15  is a flowchart showing a swing data determining process in Modified Example 1. In  FIG. 15 , the same processes as those of  FIG. 6  are denoted by the same reference and numeral signs. As shown in  FIG. 15 , in the swing data determining process in Modified Example 1, if it was determined that swing candidate data was not swing data (N at S 210 , N at S 240 , or N at S 270 ), remaining data obtained by excluding the swing candidate data (data of the time points T 1  to T 8 ) from the object range of rhythm detection is set to be in a new object range of rhythm detection (S 292 ). The other processes in  FIG. 15  are the same as those of  FIG. 6 . 
     For example, it is assumed that three data patterns (the data pattern  1 , the data pattern  2 , and the data pattern  3  in time series order) serving as swing candidate data are included in all data acquired from the motion sensor  10 , and that the second data pattern  2  is swing data. In this case, as shown in  FIG. 16 , all the data acquired from the motion sensor  10  is used as rhythm detection object data, and a first rhythm detection process is performed on the data. For example, the data pattern  1  is detected as swing candidate data. Then, since the data pattern  1  is not true swing data, second rhythm detection is performed on remaining data obtained by removing the data pattern  1  from the first rhythm detection object data. If the data pattern  3 , for example, is detected in the second rhythm detection process, since the data pattern  3  is also not true swing data, third rhythm detection is performed on remaining data obtained by removing the data pattern  3  from the second rhythm detection object data. The data pattern  2  is detected in the third rhythm detection process, and the data pattern  2  is determined as true swing data. 
     According to Modified Example 1 as described above, even when a user moves in such a way that causes a big impact not only before the swing motion but also after the swing motion, the swing motion can be reliably detected. 
     Modified Example 2 
       FIG. 17  is a flowchart showing a rhythm detection process in Modified Example 2. Moreover,  FIG. 18  is a flowchart of a swing data determining process in Modified Example 2. As shown in  FIG. 17 , in the rhythm detection process in Modified Example 2, a table showing a correspondence relation between the value of the differential dn(t) of the norm and the time point t at which the value of the dn(t) is a preset threshold value or more is prepared in a first rhythm detection process (Y at S 100 ) (S 132 ). Then, the time point t at which the dn(t) is maximal in the correspondence table prepared at Step S 132  is set as the time point T 5  of the impact (maximum impact) (S 142 ). The other processes in  FIG. 17  are the same as those of  FIG. 4 . 
     Moreover, as shown in  FIG. 18 , in the swing data determining process in Modified Example 2, if it was determined that swing candidate data was not true swing data (N at S 210 , N at S 240 , or N at S 270 ), the correspondence relation between the time point T 5  and the value of a differential dn(T 5 ) of the norm at the time point T 5  is deleted from the correspondence table (S 292 ). This new correspondence table is used to perform a second and subsequent rhythm detection processes. 
     According to Modified Example 2 as described above, in the second and subsequent rhythm detection processes, the trouble of restarting a detection process of an impact from the beginning can be avoided. Therefore, the calculation amount and the calculation time can be reduced. 
     Other Modified Examples 
     For example, when a user performs a swing motion a plurality of times in succession in a data acquiring period, information before and after a plurality of impacts may be analyzed based on data including the plurality of impacts according to the flowcharts of  FIGS. 4 and 6 , and a plurality pieces of swing data respectively corresponding to the plurality of swing motions may be sorted out from each other. For example, rhythms corresponding to the plurality pieces of sorted swing data may be displayed by arranging them in time series order. By doing this, the swing motions in making a swing a plurality of times in succession can be extracted, so that a user can clearly evaluate the stability of the swing motions. 
     Moreover, information of the rhythms of swing motions detected in the past may be stored for every user, and the averaged information thereof may be used to set the various kinds of threshold values used in the swing data determining process. By doing this, the individual characteristic of a user can be reflected to enhance the detection accuracy of swing motion. 
     The invention includes a configuration (for example, a configuration having the same function, method, and result, or a configuration having the same advantage and effect) which is substantially the same as those described in the embodiment. Moreover, the invention includes a configuration in which a non-essential portion of the configurations described in the embodiment is replaced. Moreover, the invention includes a configuration providing the same operational effects as those described in the embodiment, or a configuration capable of achieving the same advantages. Moreover, the invention includes a configuration in which a publicly known technique is added to the configurations described in the embodiment. 
     The entire disclosure of Japanese Patent Application No. 2011-129134, filed Jun. 9, 2011 is expressly incorporated by reference herein.