HEAD POSITIONING SYSTEM HAVING POSITION ERROR COMPENSATION

Abstract: A head positioning system includes a calculating cir­ cuit for outputting a signal u k corresponding to an equi­ librium of a step motor (10) for driving a head (7) on the basis of a position error of the head detected at each sam­ pling time. The calculating circuit includes a first calcu- lator (1) for calculating a temporary equilibrium u″ k on the basis of a position error, a memory (2) for storing u k-1 to u k-N at respective sampling times, a predictor (3) for cal­ culating a predicted value u′ k and an average value u‴ k in accordance with outputs from the first calculator (1) and the memory (2), a comparator (4, 5) for comparing u′ k with u″ k to check if they satisfy certain conditions, outputting u″ k as u k to a step motor driver (6) when the conditions are satisfied, and outputting u‴ k as u k to the step motor driver (6) when the conditions are not satisfied, and a second calculator (9), activated by the comparator (4, 5) when the conditions are not satisfied, for calculating back the position error using the output u k from the comparator (4, 5) so that the first calculator (1) recalculates u″ k .

Description: The present invention relates to a head positioning system having position error compensation and, more particularly, to compensation for erroneous detection of a position error detector in positioning of a disk apparatus such as a floppy disk drive (FDD). It is well known that, in an FDD which uses a floppy disk as a recording medium and a magnetic head as a head, a step motor is used as an actuator for positioning the magnetic head because a servo mechanism can be simplified and in terms of advantages in the size of an apparatus and the cost. Recently, as such an FDD apparatus is made compact and its capacity is increased, a pitch of data tracks (tracks per inch) of a magnetic disk is reduced, and therefore eccentricity of the data track cannot be ignored. For this reason, positioning accuracy is improved by controlling the step motor not by an open loop but in a feedback manner using a sector servo system. In the sector servo system, as is well known, the data surface of a magnetic disk is divided into several sectors, and track position error information is written in a start position or an end position of the sector, thereby obtaining track position error information at each sampling time determined by the number of sectors and the rotational frequency of the disk. Then, the magnetic head is feedback-controlled on the basis of the information obtained at the sampling point. Postpublished EP-A-0 229 891 discloses a method of performing the sector servo system. That is, in this method, a digital filter for generating a sine wave having the same frequency as that of a second frequency component in a variation component in a target data track with respect to an impulse input is provided in a feedback loop, thereby positioning the magnetic head at a position of the target data track with high accuracy. However, in this method, tracking control of the magnetic head with respect to a data track is performed on the basis of position error information obtained at only each sampling time determined in accordance with the number of sectors and the rotational frequency of the disk. Therefore, if the position error signal itself does not represent a correct value due to noise or defects in the medium, the tracking characteristic of the magnetic head with respect to a data track is degraded when the magnetic head is positioned in accordance with the position error signal. It is, therefore, a principal object of the present invention to provide a head positioning system which compensates for erroneous detection of a position error signal, thereby eliminating the above conventional drawback. A head positioning system having position error compensation according to the present invention, comprises a head for reading servo information recorded in a rotary recording medium at each sampling time and outputting the readout information as a servo information signal, position error detecting means for detecting a position error between a target position to be followed by the head and a current position of the head at each sampling time, a drive mechanism for driving the head to a position corresponding to an equilibrium so that the head follows the target position calculating means for calculating the equilibrium on the basis of the position error memory means for storing the equilibrium at each sampling time. A system of this kind is described in postpublished EP-A-0 229 891. An improved system consists of an equilibrium predicting means for generating a weighted average value and an equilibrium predicted value at the next sampling time using the equilibrium at a current sampling time and the equilibrium at a previous sampling time and first output means for comparing the equilibrium predicted value with an output from the equilibrium calculating means on the basis of a first predetermined value at the next sampling time, and outputting the weighted average value or the output from the calculating means as an equilibrium in accordance with the comparison result. Fig. 1 is a block diagram showing an arrangement of an embodiment of the present invention; Fig. 2 is a block diagram showing arrangements of an equilibrium predictor 3 and comparators 4 and 5 in the embodiment in Fig. 1; Fig. 3 is a block diagram showing an arrangement of another embodiment of the present invention; and Figs. 4 and 5 are flow charts for explaining an operation of a CPU in the embodiment in Fig. 3. Embodiments of the present invention will be described below with reference to the accompanying drawings. In the following description, signal names and signal values are denoted by the same symbols. Fig. 1 is a block diagram showing an arrangement of a head positioning system according to an embodiment of the present invention. In Fig. 1, dotted lines represent transmission paths of a switch control signal. In Fig. 1, a magnetic head 7 is arranged above a magnetic disk 100 which is rotated in an arrow direction. The magnetic head 7 reads servo information 102 recorded in each sector of the magnetic disk 100 at each sampling time determined in accordance with the number of sectors and the rotational frequency of the magnetic disk 100 and supplies the information as servo information a to a position error detector 8. The magnetic head 7 is moved in the radial direction of the magnetic disk 100 by a step motor 10 which is driven by a drive signal d supplied from a driver 6. The magnetic head 7 is positioned in correspondence to a stop position of the step motor 10, i.e., an equilibrium point. Therefore, a signal u k (to be referred to as an equilibrium hereinafter) required for moving the step motor 10 to the equilibrium point must be supplied to the driver 6. At a sampling time k, the position error detector 8 detects a position error of the magnetic head 7 on the basis of the servo information signal a output from the magnetic head 7 and outputs a position error signal e k to an equilibrium calculator 1. An output terminal of the position error detector 8 is connected to an input terminal 1A of the equilibrium calculator 1 through a switch S1. The switch S1 is controlled in accordance with a control signal C1 and closed at each sampling time of the magnetic head 7. The equilibrium calculator 1 calculates an equilibrium u″ k as a candidate on the basis of the position error signal e k . An output terminal 1B of the equilibrium calculator 1 is connected to an input terminal 3B of an equilibrium predictor 3 and the center terminal of a switch S2 which is controlled by a control signal C2. An input terminal 1C of the equilibrium calculator 1 is connected to one terminal of a switch S4 which is controlled by a control signal C4. The other terminal of the switch S4 is connected to the output terminal of a position error calculator 9 to be described later. An equilibrium memory 2 stores actual equilibriums u k-1 , u k-2 , and so on at the respective sampling times. An input terminal 2A of the equilibrium memory 2 is connected to the input terminal of the driver 6 and receives the equilibrium u k , and its output terminal 2B is connected to an input terminal 3A of the equilibrium predictor 3. The equilibrium predictor 3 calculates predicted value u′ k of an equilibrium and a weighted average value u‴ k of past equilibriums on the basis of the input terminals 3A and 3B and outputs the values from output terminals 3C and 3D, respectively. The output terminal 3C of the equilibrium predictor 3 is connected to input terminals 4A and 5A respectively of comparators 4 and 5. The output terminal 3D of the equilibrium predictor 3 is connected to input terminals 4B and 5B respectively of the comparators 4 and 5. Input terminals 4C and 5C of the comparators 4 and 5 are connected to contacts A and B of the switch S2, respectively. When the center terminal of the switch S2 is connected to the contact A, the comparator 4 compares the output u′ k from the equilibrium predictor 3 with the output u″ k from the equilibrium calculator 1 using a predetermined value α on the basis of equation (1): u′ k - α ≦ u″ k ≦ u′ k + α (1) As a result, if the output u″ k satisfies equation (1), the comparator 4 outputs the input signal u″ k to the input terminal 4C from the output terminal 4D as the actual equilibrium u k . If equation (1) is not satisfied, the comparator 4 outputs the weighted average value u‴ k input to the input terminal 4B from the output terminal 4D as the equilibrium u k and outputs the control signals C2 and C3 from control signal output terminals 4E and 4F, respectively. When the switch S2 is connected to the contact B, the comparator 5 compares the input signal u′ k to the input terminal 5A and the input signal u″ k to the input terminal 5C using a predetermined value β on the basis of equation (2): u′ k - β ≦ u″ k ≦ u′ k + β (2) As a result, if the signal u″ k satisfies equation (2), the comparator 5 outputs the signal u″ k as the actual equilibrium u k from the output terminal 5D. If equation (2) is not satisfied, the comparator 5 outputs the input signal u‴ k to the input terminal 5B as the equilibrium u k from the output terminal 5D and outputs the switch control signals C2 and C3 from the output terminals 5E and 5F. The output terminals 4D and 5D of the comparators 4 and 5 are connected and supply the equilibrium u k to the input terminal of the driver 6, the input terminal of the equilibrium memory 2, and one contact terminal of a switch S3 which is controlled by the control signal C3. As described above, the driver 6 outputs a drive current d for driving the step motor 10 in accordance with the input equilibrium u k . The other contact terminal of the switch S3 is connected to the input terminal of a position error inverse calculator 9. When the switches S3 and S4 are closed, the position error inverse calculator 9 receives the equilibrium u k output from the comparator 4 or 5 and computes back a position error predicted value e′ k in an inverse order to calculation of the equilibrium u″ k from the position error e k . The position error inverse calculator 9 supplies the position error predicted value e′ k to the equilibrium calculator 1 so that the equilibrium calculator 1 recalculates the equilibrium u″ k using the position error predicted value e′ k . An operation of the circuit shown in Fig. 1 will be described below. Assume that the head 7 is positioned in accordance with an equilibrium u k-1 at the immediately preceding sampling time and therefore the next sampling time is k. Before the next sampling time k comes, the equilibrium predictor 3 calculates a predicted value u′ k of the equilibrium at the next sampling time k on the basis of actual equilibrium values u k-1 , u k-2 , and so on before sampling time k-1. In order to calculate the value u′ k , an autoregressive model is used. That is, the equilibriums u k-1 to u k-N from a prediction point (sampling time) k to Nth previous sampling time are suitably weighted and added to obtain the predicted values u′ k and u′ k-1 . In this case, N is a natural number. The weighting coefficients to be multiplied to the equilibrium values are based on the autoregressive model. At the next sampling time k, the switch S1 is closed, and the position error detector 8 obtains the position error signal e k on the basis of the servo information signal a and outputs the signal to the equilibrium calculator 1. The equilibrium calculator 1 calculates the equilibrium u″ k on the basis of the position error e k and outputs the signal to the equilibrium predictor 3. The equilibrium predictor 3 calculates a weighted average value u‴ k from the equilibrium u″ k calculated by the equilibrium calculator 1 and the predicted values u′ k and u′ k-1 calculated beforehand by itself, and outputs the value from the output terminal 3D. At this time, the switch S2 is switched to the contact A, and therefore the output u″ k from the equilibrium calculator 1 is supplied to the comparator 4 through the switch S2. The comparator 4 compares the input u′ k from the equilibrium predictor 3 and the input u″ k from the equilibrium calculator 1 on the basis of equation (1). As a result, if the input u″ k satisfies equation (1), the comparator 4 outputs the input u″ k as the actual equilibrium u k to the driver 6 so that the driver 6 positions the magnetic head 7. At the same time, the comparator 4 outputs the input u″ k to the equilibrium memory 2 so that the equilibrium memory 2 stores it as the equilibrium u k . If u″ k does not satisfy equation (1), the comparator 4 outputs the weighted average value u‴ k calculated by the equilibrium predictor 3 to the driver 6 and the equilibrium memory 2 as the equilibrium u k , and then closes the switches S3 and S4 to supply the equilibrium u k to the position error inverse calculator 9 so that the position error calculator 9 calculates the position error predicted value e′ k . The equilibrium calculator 1 recalculates the equilibrium u″ k on the basis of the position error predicted value e′ k and outputs the new equilibrium u″ k . Then, the equilibrium calculator 1 switches the switch S2 to the contact B a predetermined number δ of sampling times, thereby activating the comparator 5. The comparator 5 compares the output value u′ k from the equilibrium predictor 3 with the output u″ k from the equilibrium calculator 1 the predetermined number δof sampling times on the basis of equation (2). As a result, if the output u″ k satisfies equation (2), the comparator 5 outputs u″ k as the equilibrium u k to the driver 6 and the equilibrium memory 2. If u″ k does not satisfy equation (2), the comparator 5 outputs the weighted average value u‴ k calculated by the equilibrium predictor 3 to the driver 6 and the equilibrium memory 2 as the equilibrium u k , and then closes the switches S3 and S4 to supply the equilibrium u k to the position error calculator 9 so that the position error calculator 9 calculates the position error predicted value e′ k . The equilibrium calculator 1 recalculates e′ k as a position error. Then, the number of times for activating the comparator 5 is set to be δ again. Fig. 2 is a block diagram showing embodiments of the equilibrium predictor 3 and the comparators 4 and 5 of Fig. 1. In Fig. 2, N = 2, i.e., in order to predict the equilibrium u k at the next sampling time k, the equilibrium u k-1 at the current sampling time k and the equilibrium u k-2 at the immediately preceding sampling time are used. In Fig. 2, each of multipliers 23 and 24 fetches the equilibrium u k-1 at the current sampling time and the equilibrium u k-2 at the immediately preceding sampling time, multiplies the equilibriums with a predetermined constant, and outputs results to an adder 11. An addition result of the adder 11 is the predicted value u′ k of the equilibrium. The equilibrium predicted value u′ k is supplied to and stored in a memory 12. Generally, the constants of the multipliers 23 and 24 are different from each other and determined in accordance with the autoregressive model. At the next sampling time k, the equilibrium u″ k calculated by the equilibrium calculator 1 on the basis of the position error e k is output. A multiplier 25 multiplies the predicted value u′ k-1 of the equilibrium at a sampling time (k - 1) stored in the memory 12 with a predetermined constant. A multiplier 26 multiplies the output signal u′ k from the adder 11 with a predetermined constant. A multiplier 27 multiplies the equilibrium u″ k calculated by the equilibrium calculator 1 with a predetermined constant. Outputs from the multipliers 25, 26, and 27 are added by an adder 14. An addition result of the adder 14 is divided by a predetermined constant by a divider 15, and the weighted average value u‴ k is obtained at the output terminal of the divider 15. The weighted average value u‴ k is output from the output terminal 3D of the equilibrium predictor 3. The output terminal 3D of the equilibrium predictor 3 is connected to one contact of a switch S5 common for comparators 4′ and 5′. The other contact of the switch S5 receives the equilibrium u″ k calculated by the equilibrium calculator 1. The switch S2 is normally in contact with the contact A at the comparator 4′ side. The comparator 4′ compares the inputs u′ k and u″ k to check if they satisfy the conditions of equation (1). The comparator 4′ switches the switch S5 on the basis of a comparison result, and outputs the equilibrium u″ k calculated by the equilibrium calculator 1 or the weighted average value u‴ k calculated by the equilibrium predictor 3 as the equilibrium u k . When the comparator 4′ outputs the weighted average value u‴ k as the equilibrium u k , the comparator 5′ is activated a predetermined number δ of sampling times because the comparator 4′ closes the switch S2 to the contact B side. As a result, the comparator 5′ compares the inputs to check if they satisfy the conditions of equation (2) as described above, switches the switch S5 on the basis of a comparison result, and outputs the equilibrium u″ k or the weighted average value u‴ k as the equilibrium u k . Fig. 3 is a block diagram showing another embodiment of the present invention. In Fig. 3, the same reference numerals as in Fig. 1 denote the same parts, and a detailed description thereof will be omitted. In Fig. 3, a CPU 19 calculates an equilibrium, i.e., a stop position of a step motor 10 in accordance with a position error compensation program stored in a memory 20 on the basis of a position error signal e k supplied from a position error detector 8 and outputs an equilibrium u k to a driver 6. Reference numeral 21 denotes a data bus. An operation of the system shown in Fig. 3 will be described. Figs. 4 and 5 are flow charts for explaining an operation of the CPU 19. Fig. 4 is a flow chart for explaining a calculation program of a predicted equilibrium u′ k executed by the CPU 19 before the next sampling time k comes. In step 41, equilibriums u k-1 to u k-N stored in the memory 20 at the current sampling time are multiplied with coefficients a₁ to a N , respectively, and added with each other to obtain u′ k . Then, in step 42, the CPU 19 stands by performing other processing until interruption based on the position error signal e k at the sampling time k is input. Fig. 5 is a flow chart of a program executed when interruption is set by the position error signal e k . In Fig. 5, the CPU 19 fetches the position error e k at the sampling time k (step 51), and calculates the equilibrium u" k for driving the step motor 10 in accordance with a digital control algorithm (digital compensation filter) as described in postpublished EP-A-0 229 891. At the same time, the CPU 19 multiplies u' k , u" k , and u' k-1 with constants, adds them, and then divides them by a predetermined constant, thereby calculating the weighted average value u"' k (step 52). Then, the value in a counter IC is referred to (step 53). If the value of the IC is 0, the flow advances to step 54. Otherwise, the flow advances to step 62. When a binary autoregressive model is used, for example, a set value of the counter IC can be set as IC = 2. If the value of the IC is 0, u" k and u' k are compared with each other in accordance with equation (1) in step 54. In this case, α is a predetermined constant. In order to set α, for example, a variance of a predicted error according to an FPE method of Akaike or the like may be used. If u" k satisfies the conditions of equation (1), u" k is stored as the equilibrium u k in step 55. In step 56, u k is output to the driver 6, and the flow returns to the routine shown in Fig. 4. If u" k does not satisfy the conditions of equation (1) in step 54, the value of the IC is initialized to the value δ (step 57). Then, the weighted average value u"' k calculated in step 52 is stored as the equilibrium u k (step 58) and output to the driver 6 (step 59), and the position error e′ k is calculated back on the basis of the equilibrium u k (step 60). An algorithm of inverse calculation follows an inverse order of the algorithm of calculating u″ k . Then, in step 61, the equilibrium u″ k is recalculated on the basis of the position error e′ k calculated by inverse calculation, thereby updating u″ k . Thereafter, the flow returns to the routine shown in Fig. 4. If the value of the IC is other than 0 in step 53, the flow advances to step 62, and u″ k and u′ k are compared with each other in accordance with equation (2). If u″ k satisfies the conditions of equation (2), the flow advances to step 63 to decrement the value of the IC by one, and processing in steps 55 and 56 is performed. If u″ k does not satisfy the conditions of equation (2), the flow advances to step 57 and then returns to the routine shown in Fig. 4 through steps 58 to 61. Thereafter, processing is similarly repeated to compensate for the position error and perform control positioning of the magnetic head 7. As has been described above, according to the present invention, the position error signal is compensated for by detecting abnormality of an equilibrium. In general, in the FDD apparatus, an eccentricity of a data track has a frequency component dominant over a disk rotational frequency and a frequency twice the disk rotational frequency. For this reason, an equilibrium of the magnetic head has a frequency component dominant over the same frequencies. Therefore, the equilibrium can be predicted with high accuracy using the autoregressive model as a spectrum analyzing method. Therefore, an abnormality of the equilibrium is detected by predicting the equilibrium using the autoregressive model based on the spectrum analysis. When an abnormality is detected, a position error signal is calculating by calculating back an algorithm for calculating the equilibrium on the basis of the predicted value of the equilibrium to compensate for the position error, thereby changing the value calculated by the equilibrium calculator 1. As a result, degradation in tracking characteristics of the magnetic head 7 with respect to the data track caused by noise or medium defects can be prevented, and therefore the magnetic head 7 can be positioned at a target data track with high accuracy. The present invention is not limited to the FDD apparatus. For example, the present invention can be applied to a head positioning control apparatus which performs calculation in a hardware or software manner on the basis of a discretely-sampled position error signal to obtain an equilibrium.

Claims: A head positioning system having position error compensation, comprising: a head (7) for reading servo information (102) recorded in a rotary recording medium (100) at each sampling time and outputting the readout information as a servo information signal (a); position error detecting means (8) for detecting a position error between a target position to be followed by said head (7) and a current position of said head (7) at each sampling time; a drive mechanism (6, 10) for driving said head (7) to a position corresponding to an equilibrium so that said head (7) follows the target position; calculating means (1) for calculating the equilibrium (u k ") on the basis of the position error; memory means (2) for storing the equilibrium (u k ) at each sampling time; equilibrium predicting means (3) for generating a weighted average value (u k "') and an equilibrium predicted value (u k ') at the next sampling time using the equilibrium (u k ") at a current sampling time and the equilibrium (u k-1 ...u k-N ) at a previous sampling time; and first output means (4, S5, S2) for comparing the equilibrium predicted value (u k ') with an output (u k ") from said equilibrium calculating means (1) on the basis of a first predetermined value (α) at the next sampling time, and outputting the weighted average value (u k "') or the output (u k ") from said calculating means (1) as an equilibrium (u k ) in accordance with the comparison result. A system according to claim 1, further comprising: position error inverse calculating means (9) for calculating back the position error (e k ') from the equilibrium (u k ); and second output means (5) for, when the weighted average value (u k "') is output as the equilibrium (u k ), executing recalculation of said calculating means (1) using the output (e k ') from said position error inverse calculating means (9) as a position error (e k '), comparing the equilibrium predicted value (u k ') with the output (u k ") from said equilibrium calculating means (1) on the basis of a second predetermined value (β) for a predetermined number (δ) of sampling times, and outputting the weighted average value (u k "') or the output (u k ") from said calculating means (1) as an equilibrium (u k ) in accordance with the comparison result. A system according to claim 1 or 2, wherein said equilibrium predicting means (3) comprises: N + 1 first multiplier means (23, 24) for multiplying the equilibrium at the current sampling time and equilibriums (u k-N ) stored in said N memory means (2) from the current sampling time to an Nth previous sampling time with predetermined constants, N being an integer; first adder means (11) for adding outputs from said N + 1 first multiplier means (23, 24); predicted value memory means (12) for storing the outputs (u k ') from said first adder means (11); and means (26, 25, 27, 14, 15) for obtaining a weighted average value (u k "') of the output (u k ') from said first adder means (11), the predicted value (u k-1 ') at the current sampling time stored in said predicted value memory means (12), and the equilibrium (u k ") at the current sampling time. A system according to claim 3, wherein said first output means (4, S5, S2) comprises: first comparator means (4) for comparing at the next sampling time the equilibrium (u k ") at the current sampling time with the output (u k ') from said first adder means (11) calculated at the previous sampling time; a first switch (S5) for, when the equilibrium (u k ") at the current sampling time does not fall within the range of the first predetermined value (u k ') determined by said first adder means (11) in accordance with a comparison result of said first comparator means (4), supplying the output (u k "') from said weighted average calculating means (26, 25, 27, 14, 15) as an equilibrium (u k ) to said drive mechanism (6, 10); and a second switch (S2) for, when said first switch (S5) supplies the output (u k "') from said weighted average calculating means (26, 25, 27, 14, 15) to said drive mechanism (6, 10), switching said second output means (5) to said first switch (S2) for the predetermined number of sampling times (δ). A system according to any of claims 2 to 4, wherein said second output means (5) comprises second comparator means (5) for comparing the equilibrium (u k ") with the output (u k ') from said first adder means (11), and when the equilibrium (u k ") does not fall within the range of the second predetermined value (u k ') determined by said first adder means (11), supplies the output (u k "') from said weighted average calculating means (26, 25, 27, 14, 15) as an equilibrium (u k ) to said drive mechanism. A system according to any of claims 3 to 5, wherein said weighted average calculating means (26, 25, 27, 14, 15) comprises: second multiplier means (26, 25, 27) for multiplying the output (u k ') from said first adder means (11), the predicted value (u k-1 ') at the current sampling time stored in said predicted value memory means (12), and the equilibrium (u k ") at the current sampling time with predetermined constants; second adder means (14) for adding outputs from said second multiplier means (26, 25, 27); and divider means (15) for dividing an output from said second adder means by a predetermined constant.

Inventors: TSUJISAWA, TAKAHIKO C/O NEC CORPORATION
Applicants: NEC CORPORATION
Application year: 1988
Main classification: G11B5
IPC codes: G11B21, G11B5