|
|
An Adaptive Algorithm for Morse Code Recognition
by Cheng-Hong Yang Dept of Electronic Engineering National Kaohsiung Institute of Technology Kaohsiung, Taiwan 807 Ching-Hsing Luo ABSTRACT The Morse code is an international communication language that is simple, speedy, and low cost. The automatic recognition of Morse code is difficult because maintaining a stable typing rate is not easy. In this paper, a suitable adaptive automatic recognition method, the variable degree variable step size Least-Mean-Square algorithm, is provided and its procedure is divided into three modules: character separation, character recognition, and adaptive processing. Experimental results showed that the proposed method obtained high recognition rate. Keywords: Morse code, Adaptive signal processing, Least-Mean-Square . 1. Introduction Samuel F. Morse is best known for the coding scheme that carries his name. Morse code, the most general means of transmitting signals, is transmitted as a tone-silent time series. A dot represented as a short beep or a dash represented as a longer beep are defined as tone intervals (switch down). A dot-space, which is a short pause between dots and dashes, a character-space, which is a longer pause between characters, or a word-space, which is a much longer pause between words, are defined as silent intervals (switch up). Actually, the word-space is represented by a tone-silent code; therefore, a much longer pause need not be used. Subsequently, Morse code is very simple and can be transmitted by just a switch. Therefore, in some circumstances, it could become a useful communication tool for the disabled who can handle a single switch. In general, one switch Morse code can be utilized by persons whose hand coordination and dexterity are impaired, but mental and cognition levels are at least fair to good. Morse code has alternatively been proposed as an efficient auxiliary method [1-6]. Many papers have been presented to discuss how to perform the typing of text on a reduced set of switches with an efficient approaching one key press per selected character [7-10]. However, in the recognition of Morse code, a stable typing rate is strictly required. This restriction is a major hindrance for disabled persons to have Morse code as a useful tool. The Least-Mean-Square (LMS) algori-thm [11] is one of the most popular algorithms in adaptive signal processing. A lot of variants of LMSs have been extensively analyzed in the literature [13-15]. In this paper, the variable degree variable step size LMS algorithm [12] was applied to solve the problem of Morse code recognition. Experimental result shows that the proposed method provided high recognition rate. The rest of this paper is organized as follows. In the next section, the new Morse code recognition method is presented. The experimental result is shown in Section 3. Finally, concluding remarks are made in Section 4. 2. Method A tone ratio (dot to dash) has to be 1:3 according to the definition of Morse code. That means if the duration of a dash is taken to be one unit, then that of a dash is three units. In addition, the silent ratio (dot-space : character-space : word-space) has to be 1:3:7. In another words, the space between the components of one character is one unit, between characters is three units and between words is seven units. In this paper, the Morse code recognition method is divided into three modules: character separation, character recognition, and adaptive processing. The space between characters is first identified in the character separation section so that the codes of an unknown character can be regarded as a set of messages to be translated into its corresponding character in the character recognition section. The character recognition is based on the Euclidean distance between the codes of the unknown character and the codes set in the Morse code table. If the character in the table has the minimum Euclidean distance, it is chosen as the unknown character. In order to match with the typing speed, the average of the space length in a character is sent to the adaptive processing section, and the character separation section then identifies the space between characters based on the processing output. A Morse code character, xi, is represent-ed as follows: e1(xi), b1(xi), , ej(xi), bj(xi), , en(xi), bn(xi), 1£ i £ n, where bj(xi): when a key is held up, it is presented as one of three spaces: the space between components of one character, the space between characters, or the space between words, which is the duration of ith space of the input character xi. Character separation is used for identification of the space between characters and isolation of the Morse code elements of a character. For example, if a data stream of characters is encoded in Morse code elements, these elements are then identified as either space between characters or isolated elements of a character. The procedure for character separation is shown as follows:
S1 = (sum of long/3 + sum of short) / number of elements S1 = [(2701+1557+934)/3 + 360+351+309+ 290+255+180] / 9 = 386.30 Once the initial standard space length is obtained, the data stream is separated into character set and space. After the Morse code elements of a character is isolated from a data stream, the elements will be recognized in the character recognition section. Character Recognition The Morse code table is consists of a set of Morse code elements which contains 10 digital (0-9) and 26 English characters (A-Z). These code elements are able to simplify as a set of numbers. As shown in Figure 2, 1 is coded as .----, which is simply presented as (1, 3, 3, 3, 3).
1 2 3
· - - - - · · - - - · · · - - (1, 3, 3, 3, 3) (1, 1, 3, 3, 3) (1, 1, 1, 3, 3) Figure 2. A simple representation of Morse code The Euclidean distance is calculated between the codes of the unknown character and the codes set in the Morse code table. The procedure for the minimum Euclidean distance method is shown as follows:
For example, assume the Morse code elements in an unknown character as follows: 423, 156, 297, and 79, in which the minimum tone code element is 79. After normalization with the minimum tone code element, the quotients among the four Morse elements are 5.35, 1.97, 3.76, and 1.0. Following the shortest Euclidean distance is obtained from the known character C (as 3, 1, 3, 1) in the Morse code Table. Thus, C is chosen as the unknown character. Adaptive Processing The adaptive filtering or system identification problem being considered is to try to adjust a set of filter weights so that the system output tracks a desired signal. Let the input vector to the system be denoted by Xk and the desired scalar output be dk. These processes are assumed to be related by the equation dk = XkT Wk* + ek where ek is a zero mean Gaussian indepen-dent sequence, independent of the input process Xk. Wk* is randomly varying according to the equation Wk+1* = aWk* + Zk where a is less than but close to 1, and Zk is an independent zero mean sequence, independent of Xk and ek, with covariance E{ZkZT} = s z2 I d kj, d kj being the Kronecker delta function. The input process Xk is assumed to be a zero mean independent sequence with covariance E(Xk XkT) = R, a positive definite matrix. The LMS computes a set of weights Wk that seeks to minimize E(dk XTkWk)2. Each adaptive weight Wk is of the form Wk+1 = Wk + m kXk e k where e k = dk - XTkWkm is the step-size parameter that controls the speed of convergence as well as the steady-state and/or tracking behavior of the adaptive filter. The selection of m is very critical for the LMS algorithm. A small m (small compared to the reciprocal of the input signal strength) will ensure small misadjustments in steady state, but the algorithm will converge slowly and may not track the nonstationary behavior of the operating environment very well. On the other hand, a large m will in general provide faster convergence and better tracking capabilities at the cost of higher misadjustments. The algorithm utilized the current data to compute a new weight vector using the weight update recursion of the standard LMS with step size m . The new weight vector, together with the current data, are then utilized to update again the desired weight vector using the standard LMS weight update recursion with step size m . Each adaptive weight Wk is adjusted according to the equation
The variable degree variable step size LMS algorithm used serves to cleverly change the standard dot length to predict an unstable typing speed generated by the disabled. The average of space bj(xi) (i = 1~n-1) in xi is the ith input data of the algorithm. The algorithm with nine weights is used in this paper. 3. Experimental Results and Discussion Two groups of expert testing data, EXP1 and EXP2, were tested in order to investigate the efficiency of the proposed method. EXP1 testing data, number from Exp101 to Exp115, are collected from 15 abled peoples who are trained for a long period of time by typing 100 identical characters. EXP2 testing data, numbered from Exp201 to Exp215, are collected from 15 experts in the military wireless service by typing 100 identical characters. The experimental results are shown in Table 1. The average number of matches for the EXP1 and EXP2 are 88.73 and 90.53, respectively. As it was expected, the experts showed a little higher number of matches than the nonexperts. The experimental results indicated that the different initial S1 turned into different recognition rate. The incorrect recognition might be generated in two main errors: character separation errors and character recognition errors. If the space between 'dot' and 'dash' within a character has unusual longer length, that will be mistaken as the space between characters. Once an incorrect character separation is generated, the character will be split into two characters so that the character recognition will be split into two characters so that the recognition will be affected. The character recognition error is due to the typist's personality. If the typing speed is unstable, such as longer or shorter than Table 1. The recognition result for two types of test problems.
the standard length, a character will be mismatched in the recognition. Usually, every one has his own typing speed. The system should provide adequate adjustment for the length of dot or dash. Because one types for a long period of time, ones typing might cause errors when the typist becomes tired. For example, it begins with 300ms to 100ms for the length of dash to dot, but it might change to 900ms to 300ms after a long period of typing. However, according to experience, a person's typing rate is generally constant over a short period, the person's present typing rate is similar to the typing rate of the previous several words. Therefore, in order to increase the recognized rate, the tone code element in the Morse code table has to be adjusted by a format which is designed for the individual. In addition, the adjustment should be based on the previous typing speed. It means that tone length has to be renewed after each character has been recognized. In this study, the defect of the new developed method is only adjusting space values and sometimes it produced some mistakes during the adaptive process. Thus, to have better performance, more efforts and adjustment should be considered in the process, such as in addition to modify into space values, tone values should be adjusted within the adaptive process. The process to modify tone values might use statistic method or similar method as the adjustment of space. Either of these two methods should provide better results. 4. Conclusions The Morse code is an international communication language that is simple, speedy, and low cost. However, automatic recognition of the Morse code is difficult, because maintaining a stable typing rate is not easy. Therefore, a suitable adaptive automatic recognition method is needed. In this paper, we presented an adaptive algorithm for Morse code recognition. The method was applied to 30 test problems. Experimental results showed that the proposed method obtained great recognition rate. In the future study, we expect to apply this method to the people with physical impairment. Moreover, Neural network and genetic search will also be used to solve the Morse code recognition problems. Acknowledgements This work was supported in part by the National Science Council R.O.C under contract NSC-88-2614-E-151-001. References
|
|
Assumption University of Thailand |