DATA CODING

Abstract: This invention concerns a method of signal coding and decoding. In another aspect it concerns a signal coder and decoder. The invention is also a signal. The coding technique involves: coding a set of n items {x1, x2, ..... xn} of data into a set of m items {y1, y2, ..... ym} of coded data, using a set of p items {f1, f2, ..... fp} of a coding function, where {y1, y2, ..... ym} is given by: y1 = (x1.f1, x2.f2, ..... xn.fn), y2 = (x1.f2, x2.f3, ..... xn.fn+1), :: ym = (x1.fn, x2.fn+1, ..... xn.fn+n).

Description: Title: Data Coding Technical Field This invention concerns a method of signal coding and decoding. In another aspect it concerns a signal coder and decoder. The invention is also a signal. Background Art In amplitude modulation, the baseband signal is mixed with a high frequency carrier signal so that the shape of the baseband signal is superimposed as an envelope onto the carrier frequency. To demodulate the signal, the peak of the carrier may be detected every cycle; which is equivalent to finding a series of points along the envelope, appearing at the frequency of the carrier. It should be appreciated that it is not essential to find the carrier peaks, and if the sampling were offset from the peak, the shape of the envelope could still be recovered provided the carrier were sampled at the same phase each cycle, and not at the zero crossings. This can be represented mathematically: When a signal is amplitude modulated by a carrier the resulting modulated signal may be given by: y(t) = cosωt If y(t) is sampled over one cycle of the carrier, at intervals of θ/ω from θ =0 to θ = 2π then the samples of y(t) are given by the following table: (0) (0)cos0 y(θ / ω) x(θ I ω)cosθ. y(2π I ω) x(2π / ω)cos2π During a single cycle of the carrier, the value of the baseband signal x(t) is assumed not to change, so the baseband information can be obtained by the receiver if the carrier is sampled at any instants, except during instants when cosωt = 0, i.e. ωt = π 12,3π / 2, ...etc. Peak detection is a special case where ωt = 0,2π,4π, ...etc. It is also to be noted that the number of samples of the baseband signal recovered is the same, regardless of whether it is sampled at the peaks of the carrier or at some other position. The receiver may choose any one out of many samples of the carrier each cycle, or it may choose the average of the samples. Provided the synchronisation is good enough to ensure the carrier is sampled at the same phase each cycle, and that phase is known, then the baseband information can be recovered. Summary of the Invention A first aspect of the invention, as currently envisaged, is a method of signal coding, comprising the steps of: coding a set of n items { xj, x 2 , x n } of data into a set of m items { yi, y 2 , ym } of coded data, using a set of p items { f , f 2 , f p } of a coding function, where { y,, y 2 , y m } is given by: y, = (Xι .fι , X 2 .f 2 , X n .fn) y 2 = (X] .f 2 , X 2 .f 3 , Xn-fn+l) y m = (X] .f n , X 2 .f n +1 , Xn-fn+n)- There may be more, less or the same number of items of coded data (m) as there are items of uncoded data (n). However there will usually be the same or less, since more expands the data. There may be more, less or the same number of items of the coding function (p) as there are items of uncoded data (n). Where p is less than 2n it is necessary to cycle through the set, so f p+ ι will equal f t , and f p+2 will equal f 2 and so on. In one example the coding function F can be represented as a waveform in which { , f 2 , f p } represent the value of the waveform at each of p steps along one cycle of it, and in which {yi, y 2 , y m } can be represented by an amplitude and phase modified (or delayed) version F x of the function F. Where m is equal to p, or less, then a single cycle, or less, of the modified waveform F x may then be transmitted to cany the entire set of {xi, x 2 , x n } - Additional cycles of the waveform may be transmitted to provide redundancy. The waveform may advantageously be a single frequency such as sin(ωt) or cos(ωt), and the values may be spread along a single cycle separated by an equal spacing of 360 n. In general the coding function may be represented by items at different phase locations along a waveform of single frequency, alternatively the items may be at the same location in time (that is at a given phase angle of a reference waveform) along waveforms that have different frequencies. Phase and frequency modulation may be combined to increase the data. The waveform need not have a single frequency, such as a sine wave, but could be a pseudo sine wave generated by pulses of differing mark space ratio, or an equivalent waveform generated by summation of square waves having the same frequency but different relative delays. In an alternative a composite of square waves of varying mark space ratio and varying amplitude may be used. This wave fonri may also be generated by adding a series of delayed square waves of the same frequency. In this case each of the square waves which form the composite may have its amplitude weighted by an item of data to code the data into the composite waveform. This waveform may be appropriately filtered to smooth it and limit it to the frequency band of the chosen channel. In another alternative the data could be coded onto a sequence of successive waveforms of different frequencies that are transmitted simultaneously. In this case the coded data has the form: y(tι ) = xι cos(ωtι + Δω ti ) + X2cos(cotι + Δω ti ) + ... x n cos(ωtι + Δω ti ) y(t2) = xi cos(ωt2 + Δω 12) + X2Cθs(ωt2 + Δω 12) + ... x n cos(ωt2 Δω t2) y(t n ) = x\ cos(ωt n + Δω t n ) + X2Cθs(ωt n + Δω t n ) + ... x n cos(ωt n + Δω t n ) Although such wave forms are easier to work with, any periodic or aperiodic function could be used for coding. Different sets of data may be coded into a sequence of successive waveforms, and these may be transmitted one after another. The waveforms and the delays may be chosen so that the resultant summation of the waveforms may have a convenient shape, for instance a sequence of successive sine waves may be added to yield a smooth triangular matrix when sampled appropriately. The data can be recovered by sampling the received wavefonri and mathematically recovering the data. The sampling does not necessarily need to be at regular intervals but must be known in advance and relate properly to the coding function. By appropriately designing the waveform to conespond to the data sequence it is possible to load additional data into the waveform. In a variation there are more than one coding functions Fi, F 2 , ... F q , each of which has p members. So, Fi has { f i, f 2 , f lp } ; F 2 has { f 2 ι, f 2 , f 2p } ; and F 3 has { f 3 ι, f 3 2, f3 P } and so on. In this case the set of n items {xi, x , x n } of data are coded into a set of q items { g 1 , g , g 3 , ....g q } of coded data, where g l= (Xl .f n , X2-fl2, Xn-fln) gr= (xι.f 21 , x 2 .f 22 , x n .f 2n ) gq= (Xl -fql , X2-fq2, Xn-fqn)- The set of { g i, g , g 3 , ....g q } of coded data may then be transmitted, for instance as a string of digital words. In one example there are only two coding functions Fi = sin(ωt) and F 2 - cos(ωt), and the values are spread along a single cycle separated by an equal spacing of 360°/n. In this case g i and g 2 can be seen to be a set of first coordinate values and a set of second coordinate values, and the position defined by each coordinate pair can be calculated and then used to generate simultaneous equations that can be solved to recover the data items {xi, x 2 , x n }. Where there are a sequence of successive waveforms sampling between the successive delayed intervals gives a series of values from which the original data can be mathematically regenerated. The data can be recovered by reading the amplitudes of each step in the composite waveform. A further aspect of the invention, as currently envisaged, is signal coding apparatus, comprising: a data input port to receive a set of n items { xi, x 2 , x n } of data, a coding function port to receive a set of p items { f t , f 2 , f p } of a coding function, and an encoding processor to code the data into a set of m items { yi, y 2 , y m } of coded data, using the coding function where { y l s y 2 , y m } is given by: y, = (x 1 .fι , X 2 .f 2 , Xn-fn) V2 = (Xl -f2, X2-f3, Xn-fn+l ) y m = (Xι .f n , X 2 .f n +1 , Xn-fn+n)- The data can be recovered by a decoder which samples the received waveform and mathematically recovers the data. The sampling does not necessarily need to be at regular intervals but must be known in advance and relate properly to the coding function. In a variation there is signal coding apparatus, comprising: a data input port to receive a set of n items { x 1 ; x 2 , x n } of data, a coding function port to receive more than one coding functions Fi, F 2 , ... F q , each of which has p members. So, Fi has { f i, fι 2 , f p }; F 2 has { f 2 ] , f 22 , f 2p } ; and F 3 has { f 31 , f 32 , f 3p } and so on. In this case the encoding processor encodes the set of n items {xi, x 2 , x„} of data into a set of q items { g ι, g 2 , g 3 , ••••gq } of coded data, where g l = (X] .f U , X 2 .fl 2 , Xn-fl n) g2= (Xl -f21 , X2-f22, n- zn) : gq= (X] .fql , X 2 .f q2 , Xn.fqn)- The set of { g i, g , g 3 , ....g q } of coded data may then be transmitted, for instance as a string of digital words. In one example there are only two coding functions Fi = sin(ωt) and F 2 = cos(ωt), and the values are spread along a single cycle separated by an equal spacing of 360°/n. In this case g i and g 2 can be seen to be a set of first coordinate values and a set of second coordinate values, and the position defined by each coordinate pair can be calculated and then used to generate simultaneous equations that can be solved to recover the data items {xi, x 2 , x n } - Where there are a sequence of successive waveforms sampling between the successive delayed intervals gives a series of values from which the original data can be mathematically regenerated. The data can be recovered by a decoder which reads the amplitudes of each step in the composite waveform. A further aspect the invention, as cunently envisaged, is a signal, comprising a set of n items { x 1 } x 2 , x n } of data which has been coded into a set of m items { yi, y 2 , y m } of coded data, using a set of p items { fi, f 2 , f p } of a coding function, where { y u y 2 , y m } is given by: yi = (Xι .fι, X 2 .f 2 , X n .fn) y 2 = (Xι .f 2 , X 2 . 3, Xn-fn+l) y m = (X, .f n , X 2 .f n +1 , Xn-fn+n)- Brief Description of the Drawings Examples of the invention will now be described with reference to the accompanying drawings, in which: Figure 1 is a cosine waveform into which a set of data is coded. Figure 2 is a series of sine waves of the same frequency at delayed time intervals, into which respective sets of data is coded. Figure 3 is the resultant sine wave fonned by summing the sine waves of Figure 2. Figure 4 is a composite rectangular waveform into which data sets are coded. Figure 5 is a block diagram of a demodulator with synchronisation. Figure 6 is a timing diagram showing the sampling timing sequence for a sampling demodulator. Figure 7 is a block diagram of a demodulator circuit. Figure 8 is a block diagram of a synchronisation circuit. Figure 9 is a block diagram of another synchronisation circuit. Detailed Description of the Best Modes of the Invention In a first example there are 12 items of data X(t) and the coding function F is the cosine function. The cosine function repeats every 360°, and 12 items of it are taken with equal spacing so that the data can be represented at 12 equally separated points along one cycle of a cosine wave. The set X(t) of 12 items of data are in this example are: {12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 } The set of 12 items of the coding function f are: { cos(PI*(07180)), cos(PI*(3G7180)), cos(PI*(60/180)), cos(PI*(90/180)), cos(PI*( 120/180)), cos(PI*(150/180)), cos(PI*(180/180)), cos(PI*(210/180)), cos(PI*(240/180)), cos(PI*(270/180)), cos(PI*(300/180)), cos(PI*(330/180)) } Before coding commences the 12 items of the coding function represent 12 points equally spaced along a cosine waveform extending from cos(0) to cos(l 1 PI/6) in equal steps of PI/6. The 12 items Y(t) of coded output are given by: Y(l) = the matrix multiplication of the row matrix {cos(PI*(07180)), cos(PI*(30/180)), cos(PI*(607180)), cos(PI*(907180)), cos(PI*(120/180)), cos(PI*(150/180)), cos(PI*(180/180)), cos(PI*(210/180)), cos(PI*(240/l 80)), cos(PI*(270/l 80)), cos(PI*(300/l 80)), cos(PI*(330/l 80)) } and the column matrix {12, 1 1, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 } to give the single value 6.1504. Y(2) = the matrix multiplication of the row matrix { cos(PI*(307180)), cos(PI*(607180)), cos(PI*(90/180)), cos(PI*(120/180)), cos(PI*(150/180)), cos(PI*(180/180)), cos(PI*(210/180)), cos(PI*(240/180)), cos(PI*(270/180)), cos(PI*(300/180)), cos(PI*(330/180)), cos(PI*(0/180)) } and the column matrix {12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 } to give the single value -5.8633. Y(3) = the matrix multiplication of the row matrix { cos(PI*(60/180)), cos(PI*(90/180)), cos(PI*( 120/180)), cos(PI*( 150/180)), cos(PI*(180/180)), cos(PI*(210/180)), cos(PI*(240/180)), cos(PI*(270/180)), cos(PI*(300/180)), cos(PI*(330/180)), cos(PI*(0/180)), cos(PI*(30/180)) } and the column matrix {12, 1 1, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 } to give the single value -16.391 1 Y(4) = the matrix multiplication of the row matrix { cos(PI*(90/180)), cos(PI*(120/180)) cos(PI*(150/180)), cos(PI*(180/180)), cos(PI*(210/180)), cos(PI*(240/180)), cos(PI*(270/180)), cos(PI*(300/180)), cos(PI*(330/180)), cos(PI*(0/180)), cos(PI*(30/180)), cos(PI*(60/180)) } and the column matrix {12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 } to give the single value -22.4967 and so on until Y(12) = the matrix multiplication of the row matrix { cos(PI*(330/180)), cos(PI*(0/180)), cos(PI*(30/180)), cos(PI*(60/180)), cos(PI*(90/180)), cos(PI*(120/180)), cos(PI*(150/180)), cos(PI*(180/180)), cos(PI*(210/180)), cos(PI*(240/180)), cos(PI*(270/180)), cos(PI*(300/180)) } and the column matrix {12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 } to give the single value 16.3923. It should be appreciated that since 12 coding points are chosen with equal spacing along the entire waveform the thirteenth value is equal to the first, the fourteenth value is equal to the second, and so on and only those 12 values are used to code the signal. The entire set Y(t) of coded values are: { 6.1504, -5.8633, -16.3911, -22.4976, -22.4834, -16.3931, -5.9398, 6.0456, 16.3926, 22.3773, 22.3923, 16.3923 } and these values can be plotted to give the waveform shown in Figure 1. Inspection of Figure 1 will show that the waveform is a complete sampled wavelength of a cosine wave having a particular amplitude and phase. The cosine shape of the waveform is maintained whatever the input data since the entire set of input data is used to determine each coded value. The coded waveform may be transmitted and, provided synchronisation is maintained, there is little noise, and the amplitude can be read with sufficient accuracy, then the 12 coded values can be read from the received waveform. Several wavelengths of the waveform may be sent to improve the accuracy of the reading, if required. Once the 12 coded values are recovered from the waveform, they may be decoded using knowledge of the coding function and inverse matrix techniques, as follows: The measured amplitude samples y(t,) for the different tj for i = 1, 2, ... 12, can be represented as: y(tι ) = xjcos(ωtι + θ) + X2Cθs(ωtj + 20) + ... xi2 cos ( ωt l + nθ) y(-2) = xιcos(ωt2+ θ) + X2Cθs(ωt2 + 20) + ... xi 2Cθs(ωt2 + nθ) and so on until y(tι 2) = xicos(ωti2 + θ) + X2Cθs(ωtι 2 + 2Θ) + ... xi 2Cθs(ωtι 2 + nθ) If the different sampling instants t, are defined a priori then there is no need to transmit any timing information, otherwise timing information must also be transmitted to allow reconstruction by synchronised sampling. The y(t,) can be represented as a column matrix which is equal to the matrix multiplication of a square matrix of the cos terms and a column matrix of the x(t,), or data items, as follows: y(t ) = cos(ωtι + θ) cos(ωtj + 2Θ) cos(ωtι + nθ) x\ y(t2) = cos(ωt2 + θ) cos(ωt2 + 2Θ) cos(ωt2 + nθ) X2 and so on until y(tl2) = cos(ωt] ^ 2 + θ) cos(ωt]2 + 2Θ) cos(ωti2 + nθ) \ι Since the y(t,) are measured and the frequency of the waveform (from which comes α. this can be solved for x(t,), and the set X(t) can be recovered: {12, 1 1, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 } . In addition there are a number of further features of this example. For instance the successive sets of data can be coded into a sequence of successive sine waves of the same frequency that are delayed with respect to each other, as shown in Figure 2. When the sine waves are carefully chosen the resultant summation of the sine waves may not be a sine wave but could be a complex wave which gives rise to a triangular matrix on appropriate sampling, as illustrated in Figure 3. Sampling between the successive delayed intervals gives a series of values from which the original data can be mathematically regenerated. In another alternative a pseudo sine wave is generated from a composite of square waves of varying mark space ratio and varying amplitude, as shown in Figure 4. Each of the square waves which form the composite can have its amplitude weighted by an item of data to code the data into the composite waveform. This waveform can be appropriately filtered to smooth it and limit it to the frequency band of the chosen channel. The data can be recovered by reading the amplitudes of each step in the composite waveform. By appropriately designing the waveform to conespond to the data sequence it is possible to load additional data into the waveform. In a second example a coded waveform is not transmitted, but two numbers that represent the coded waveform are generated and transmitted. Taking the same set X(t) of 12 items of data : {12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 } In this example they are coded using items of the cosine and sine functions that are spaced apart from each other by intervals of PI/36. We choose to use the following 12 items of the cosine function: { cos(PI*(0/180)), cos(PI*(-5/180)), cos(PI*(-10/180)), cos(PI*(-15/180)), cos(PI*(-20/l 80)), cos(PI*(-25/l 80)) cos(PI*(-30/l 80)), cos(PI*(-35/l 80)), cos(PI*(- 40/180)), cos(PI*(-45/180)), cos(PI*(-50/180)), cos(PI*(-55/180)) } and the entire set extends up to cos(PI*(-355/180)). And we choose to use the following 12 items of the sine function: { sin(PI*(0/180)), sin(PI*(-5/180)), sin(PI*(-10/180)), sin(PI*(-15/180)), sin(PI*(-20/180)), sin(PI*(-25/180)) sin(PI*(-30/180)), sin(PI*(-35/180)), sin(PI*(-40/180)), sin(PI*(-45/180)), sin(PI*(-50/180)), sin(PI*(-55/180)) } again the entire set extends up to sin(PI*(-355/180)). The data items are coded into two numbers α and β, as follows: α= the matrix multiplication of the row matrix { cos(PI*(0/180)), cos(PI*(-5/180)), cos(PI*(-10/180)), cos(PI*(-15/180)), cos(PI*(-20/180)), cos(PI*(-25/180)) cos(PI*(-30/180)), cos(PI*(-35/180)), cos(PI*(-40/180)), cos(PI*(-45/180)), cos(PI*(-50/180)), cos(PI*(- 55/180)) } and the column matrix {12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 } to give the single value of 71.8. and β = the matrix multiplication of the row matrix { sin(PI*(0/180)), sin(PI*(-5/180)), sin(PI*(-10/180)), sin(PI*(-15/180)), sin(PI*(-20/180)), sin(PI*(-25/180)) sin(PI*(-30/180)), sin(PI*(-35/180)), sin(PI*(-40/180)), sin(PI*(-45/180)), sin(PI*(-50/180)), sin(PI*(- 55/180)) } and the column matrix { 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 } to give the single value of -23.59. The two numbers α and β may then be modulated in any conventional manner, for instance using a modem to generate digital words, and transmitted. The original data can then be recovered mathematically from α and β using knowledge of the items selected from the coding function. The accuracy of the recovered data will depend on the accuracy of the cosine and sine values used in the coding and decoding calculations. The decoding decodes α and β by generating y(t,) for the different t for i = 1, 2, ... 12, where y(tι) = α Cos (PI*(0/180)) + βSin (PI*(0/180)) y(t 2 ) = α Cos (PI*(-5/180)) + βSin (PI*(-5/180)) y(t 12 ) = Cos (PI*(-55/180)) + βSin (PI*(-55/180)) From which the y(tj) can be calculated. Since y(tj) can also be written as, y(t|) = X Cθs(ωtι + Θ) + + 2Θ) + ... xi 2cos(cot ] + nθ ) y(t2) = xι cos(ωt2 + θ) + X2Cθs(ωt2 + 2Θ) + ... xi 2cos(cot2 + nθ ) : y(tι 2) = xicos(ωti 2 + θ) + X2Cθs(ωtj2 + 2Θ) + ... xi 2Cθs(ωtι 2 + nθ ) or as the matrix multiplication: y(t]_) = cos(ωtι + θ) cos(ωtι + 2Θ) cos(ωtι + nθ) x\ y(-2) = cos(ωt2 + θ) cos(ωt2 + 2Θ) cos(ωt2 + nθ) X2 and so on until y(ti 2) = cos(ωti2 + θ) cos ( ωt 12 + 2Θ) cos(ωti 2 + nθ) X12 And this can be solved for x(tj), and the set X(t) can be recovered: {12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 } . A block diagram of a Sampling Demodulator used for quadrature modulated signal is illustrated in Figures 5 and 6. This demodulator is used to demodulate signals that are modulated at a single frequency. Demodulator 1 comprises a signal input port 2 connected directly to the signal input 3 of sampler 4. The signal input port 2 is also connected to the sampling input 5 of sampler 3 via a mixer 6 fed by a stable oscillator 7 at the modulating frequency, a filter 8 and a phase lock loop 9. The sampling signals SHI and SH2 applied to the sampling input 5 of sampler 4 are shown in Figure 6. It should be appreciated that the sampling need not be at placed at equal intervals, or at 2*7r/n. The sampling must, however, be chosen in accordance with the coding function, and so must be known in advance. The sampled output Z(tj) from the output port 10 of sampler 4, are applied to a digital signal processor 11 to recover the data samples Xj that were originally modulated. As the generalised quadrature signal is given by z(t) = χ](t)siniQ sinωt and its equivalent representation as z(t) = Xi(t)cos(ωt -iθ) ι = \ N successive samplings can be achieved by synchronising the sampler with respect to coszt. Using standard quadrature demodulation technique, by multiplying z(t) with cosωt and integrating, we have, = / Σ x(t)cosiθcos2ωt J n =I Phase locking into cos2at, z(t) can be accurately sampled at (cot - iθ) for i = 1,2, ...n. These samples are then fed into the digital signal processor where the individual xi for i = 1, 2, ...n are calculated. The demodulator needs the transmission of one cycle to recover the information. However, due to noisy channels, as well as desire for redundancy, the transmission system can opt to use multi cycle transmission. The data obtained in each cycle can be processed in a variety of ways which can enhance the performance of signal detection depending on the algorithm used. It is shown here that, for quadrature modulation, a synchronous sampling technique can be effective using only very simple circuitry. It is further shown here, that, instead of just two additional channels, the quadrature modulation technique can be extended to multiple channels using sampling technique together with matrix inversion for demodulation. It is further shown that information can be transmitted by one cycle of the canier frequency when sampling demodulation technique is used. A demodulating circuit may operate as shown in Figure 7, where the incoming signal y(t) is sampled as a sampling circuit 12 where the sampling clock is based on a synchronised time or frequency, and the sample signal is then fed to a digital signal processor 13 before reaching a decision circuit 14 which recovers the original data x for i=l, 2, .... n andj = 1, 2, .... n. To drive the sampling circuit 12, sampling pulses are recovered from the incoming signal y(t) by applying them to a phase lock loop 15 and then to a pulse derivation circuit 16, as shown in Figure 8 where the reference frequency is the original modulating frequency w c . This demodulation circuit is used to demodulate a signal coded as a summation of weighted signals having different frequencies starting at a phase angle that may be arbitrarily chosen but is known. Alternatively, two phase lock loops may be used as shown in Figure 9. Here the incoming modulated signal y(t) is applied to two different phase lock loops 17 and 18 which are locked onto different respective frequencies. Sampling pulse derivation circuit 16 (which are the same as the circuits in Figure 8) are provided in each channel as are digital signal processors which recover the data x signals. Again it should be appreciated that the sampling instances need not be evenly spread but must be chosen in accordance with the coding function and be known in advance. It will be appreciated by persons skilled in the art that numerous variations and/or modifications may be made to the invention as shown in the specific embodiments without departing from the spirit or scope of the invention as broadly described. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive.

Claims: THE CLAIMS DEFINING THE INVENTION ARE AS FOLLOWS: 1. A method of signal coding, comprising the steps of: coding a set of n items { xi, x 2 , x n } of data into a set of m items { yi, y 2 , y m } of coded data, using a set of p items { f , f 2 , f p } of a coding function, where { y,, y 2 , y m } is given by: yi = (Xι .fι , X 2 .f , Xn.fn) y 2 = (X] .f 2 , X 2 .f 3 , Xn-fn+l ) Ym ~~ ( l - nj x 2-fn+l 5 Xn-fn+n)- 2. A method according to claim 1, where there are the same number of items of coded data (m) as there are items of uncoded data (n). 3. A method according to claim 1, where the coding function F is represented as a waveform in which { f , f 2 , f p } represent the value of the waveform at each of p steps along one cycle of it, and in which {yi, y 2 , y m } is represented by an amplitude and phase modified (or delayed) version F x of the function F. 4. A method according to claim 3, where the waveform is a single frequency and the values are spread along a single cycle separated by an equal spacing of 360°/n. 5. A method according to claim 1, where the data is coded onto a sequence of successive waveforms of different frequencies that are transmitted simultaneously. 6. A method according to claim 1, where the coding function is more than one coding functions Fi, F, ... F q , each of which has p members. So, Fi has { fi, fι 2 , f p }; F 2 has { f 2 ι, f 2 , f 2p }; and F 3 has { f 3 ι, f 3 , f 3p } and so on, and the set of n items {xi, x 2 , x n } of data are coded into a set of q items { g i, g 2 , g 3 , ....g q } of coded data, where gl=(Xl.fll,X 2 .fi2, Xn-fln) gq=(Xl.fql,X 2 .fq2, Xn-fqn)- 7. A method according to claim 6, comprising the further step of transmitting the set { g i, g 2 , g, ....g q } of coded data as a string of digital words. 8. A method according to claim 7, where there are only two coding functions Fi = sin(ωt) and F 2 = cos(ωt), and the values are spread along a single cycle separated by an equal spacing of 360°/n. 9. A signal coded according to claim 1, comprising a set of n items { Xi, x 2 , x n } of data which has been coded into a set of m items { y l5 y 2 , y m } of coded data, using a set of p items { f, f 2 , f p } of a coding function, where { y y 2 , y m } is given by: yi =(x 1 .fι,X 2 .f 2 , X n .fn) V 2 = (Xl.f2, X2-f3, Xn-fn+l) y m = (Xi-f n , X .f n +l, Xp-fn+n)- 10. A method of decoding the signal according to claim 9, comprising the steps of: receiving the coded signal; sampling the received wavefonn using a sampling signal related to and synchronised with the coding function to give a series of values from which the original data can be mathematically regenerated; then mathematically regenerating the data. 11. Data coding apparatus, comprising: a data input port to receive a set of n items { Xi, x 2 , x n } of data, a coding function port to receive a set of p items { fi, f 2 , f p } of a coding function, and an encoding processor to code the data into a set of m items { y t , y 2 , y πη } of coded data, using the coding function where { yi, y 2 , y m } is given by: yi = (xi .f,, x 2 .f 2 , x n .f n ) Y2 = (Xl -f2, 2- 3, Xn-fn+l) Ym - (Xl -fi, X2-fn+l , Xn-fn+n)- 12. Data coding apparatus according to claim 11, further comprising: a coding function port to receive more than one coding functions Fj, F 2 , ... F q , each of which has p members. So, has { f i, f 1 , f lp }; F 2 has { f 2] , f 22 , f 2p } ; and F 3 has { f 3 ι, f 3 , f 3p } and so on, and where the encoding processor encodes the set of n items {xi, x , x n } of data into a set of q items { g ι, g 2 , g 3 , ....gq } of coded data, where g l = (Xl .f n , X 2 .fl 2 , Xn.fn) g2= (Xl -f21 , X2-f22, Xn-f2n) gq= (Xl -fql , X2-fq2, Xn-fqn)- 13. Data coding apparatus according to claim 12, where there are only two coding functions Fj = sin(ωt) and F 2 = cos(ωt), and the values are spread along a single cycle separated by an equal spacing of 360°/n. 14. Data decoding apparatus for decoding the signal according to claim 9, comprising: an input port to receive the coded signal; sampling means to sample the received waveform using a sampling signal related to and synchronised with the coding function, to give a series of values from which the original data can be mathematically regenerated; and processor means to mathematically regenerate the data.

Inventors: WONG SONG YENG, WONG, SONG, YENG
Applicants: REAL TIME ENGINEERING PTE LTD, WONG SONG YENG, WONG, SONG, YENG
Application year: 1999
Main classification: H03M13
IPC codes: H03M13, H04L5