NZ328191A - Household appliance with digital tone generator to allow remote problem diagnosis via phone - Google Patents
Household appliance with digital tone generator to allow remote problem diagnosis via phoneInfo
- Publication number
- NZ328191A NZ328191A NZ32819198A NZ32819198A NZ328191A NZ 328191 A NZ328191 A NZ 328191A NZ 32819198 A NZ32819198 A NZ 32819198A NZ 32819198 A NZ32819198 A NZ 32819198A NZ 328191 A NZ328191 A NZ 328191A
- Authority
- NZ
- New Zealand
- Prior art keywords
- appliance
- bit
- data
- signal
- information
- Prior art date
Links
Landscapes
- Telephonic Communication Services (AREA)
Abstract
An electrical appliance, such as a washing machine 1, which is controlled by a microprocessor, stores codes regarding the operation of the appliance, such as fault codes. These codes are converted into audible tones of the type produced by a modem and are transmitted by the loudspeaker or piezo buzzer 5 normally used on such appliances. The tones can be received by a telephone hand piece 9. These tones can be interpreted by a remote computer 13 attached to the telephone network. The information can be used to diagnose faults in the appliance. In use, the appliance owner dials the manufacturer's service centre and, and leaves the telephone off the hook while the owner presses a key or key combination on the appliance. This causes the appliance to produce the audible tones which carry information regarding the operation of the appliance. The computer 13 at the service centre converts the tones back into data, which can be interpreted by an operator at the service centre. The owner then returns to the phone and receives advice from the operator on the operation of the appliance. There is no need for the telephone hand piece to be close to the appliance, the two can be in different rooms.
Description
This invention relates to appliances and more particularly, though not solely to home appliances with inbuilt sound generating devices capable of producing sound at a number of predetermined frequencies.
Many home appliances (such as laundry washing machines and refrigerators) are today fitted with a serial communications port allowing the appliance to be connected to a personal computer which, utilising purpose built software, may interrogate information stored within the appliance. The information stored by the appliance may include the appliance's present status, temperatures, status of valves/shutters, user settings, fault information and number of cycles completed. As it is sometimes difficult or inconvenient for a service person to visit the site at which the appliance is located (which may be many kilometres from the service person's base) some existing home appliances have been fitted with modems to allow a service person to remotely interrogate data stored in the appliance. However, the additional cost involved in fitting all production appliances with a modem is unacceptably high. In addition, the user of the machine would be required to connect a telephone line to the appliance (either sharing an existing telephone line or installing a new one) and this is clearly unacceptable.
Accordingly, it is an object of the present invention to provide an appliance which goes at least some way towards overcoming the above disadvantages or which will at least provide the public with a useful choice.
Accordingly, in a first aspect, the invention may broadly be said to consist in an appliance comprising:
sound generating means adapted to, upon appropriate energisation, provide an audible tone ordinarily provided as a warning and/or verification signal to a user,
control means which is connected to energise said sound generating means, said control means adapted to control the normal operation of said appliance and, upon entering a special operating mode, to cause said sound generating means to issue audible tones in a predetermined sequence corresponding to information relating to the operation or state of the appliance.
Preferably said household appliance has an outer surface and said sound generating means is positioned adjacent said outer surface to allow said audible tones to be heard. Preferably said sound generating means comprise an audio speaker or buzzer.
s) C O \ V i
Preferably said control means controls the duration of said audible tones emanating from said sound generating means so that said audible tones correspond to said information.
Preferably said control means controls the frequency of said audible tones emanating from said sound generating means so that said audible tones correspond to said information.
Preferably said control means enters said special operating mode upon said user entering a predetermined signal to said control means via user input means.
Preferably said user, upon initiating said special operating mode, positions a transmitting means adjacent said sound generating means to allow said audible signals to be converted to an information signal which may then be transmitted to a remote receiving means.
Preferably said transmitting means comprise a telephone handset.
Preferably said remote receiving means comprise a further control means which receives said information signal and extracts said information relating to the operation or state of said appliance.
Preferably said further control means displays said information on output means.
In a sccond aspect, the invention may broadly be said to consist in an appliance comprising:
transducer means adapted to convert sound energy into electrical energy in the form of an electrical audio signal,
control means which receives said electrical audio signal, said control means adapted to control the normal operation of said appliance in response to information stored in said electrical audio signal.
Preferably said transducer means comprises an audio speaker or buzzer.
Preferably a user provides said transducer means with sound energy from the output of transmitting means, said sound energy comprising audible tones encoding said information therein which is extracted by said control means.
Preferably said transmitting means comprise a telephone handset.
Preferably said user holds said telephone handset adjacent said transducer means.
Preferably the frequency of said audible tones emanating from said transmitting means encodes said information.
Alternatively the duration of said audible tones emanating from said transmitting means encodes said information.
Preferably said information is encoded in an electrical signal transmitted to said transmitting means from a remote transmitting means.
This invention may also be said broadly to consist in the parts, elements and features referred to or indicated in the specification of the application, individually or collectively, and any or all combinations of any two or more of said parts, elements or features, and where specific integers are mentioned herein which have known equivalents in the art to which this invention relates, such known equivalents are deemed to be incorporated herein as if individually set forth.
The invention consists in the foregoing and also envisages constructions of which the following gives examples.
One preferred form of the present invention will now be described with reference to the accompanying drawings in which;
Figure 1 is a schematic diagram showing the data transmission path in the communication system according to the preferred embodiment of the present inve ntion.
With reference to Figure 1, an appliance, for example a home appliance such as an automatic clothes washing machine 1 is shown. The washing machine 1 is preferably of a type such as that sold under our Trade Mark SMART DRIVE. The washing machine includes a spin tub within a water container, the spin tub rotated by an electric motor (not shown). Washing machine 1 has a control means or electronic controller 2 which is programmed to carry out the operation of the washing machine by executing software (stored in a memory device 4 associated with the controller) in response to inputs from physical sensors within the machine and also from user input such as input buttons 3.
During execution of the software controlling operation of washing machine 1, various inputs, statuses (such as drain pump on, hot water valve open), serial number, number of cycles completed, alerts, errors, faults (such as drain pump blocked, cold water tap not turned on or motor error) and other problems are detected and recorded in memory device 4. This information, stored in memory devicc 4, could be as a result of a fault
which has caused the washing machine to stop operation (awaiting technical assistance) or could be minor, not requiring the washing machine to be stopped.
As can be seen in Figure 1, controller 2 is also connected to control the energisation of a sound generating means 5. Sound generating means 5 may comprise a loudspeaker or piezo buzzer as is ordinarily provided on modern electronic washing machines. Controller 2 is programmed to energise speaker 5 to produce audible tones of predetermined frequencies and/or durations, in a similar way to a modem of facsimile machine produces audible tones. The audible tones are encoded with information which in the present invention relates to the data stored in memory device 4.
In use, a user of the washing machine 1, when discovering that the machine has developed a fault, would telephone the manufacturer (or manufacturer's agent) at a service centre 6 , in the normal way to report the fault. Ordinarily a service person 7 would be despatched to investigate the fault, identify the problem and rectify it. However, in order to make this process more efficient, in the system according to the present invention, once the user of the washing machine is in telephone contact with the service centre via the user's telephone 8, the service person (via their own telephone 14) will instruct the user to hold the handset 9 of their telephone near the console of the washing machine and press a series of buttons to place the washing machine into a special operating mode. Once in the special operating mode, controller 2 will energise speaker 5 in such a way as to produce audible tones corresponding to (or encoded with) information stored in memory device 4 in the known way.
The audible tones produced by speaker 5 are then converted to electrical audio signals by transducer 11 in the mouth piece of handset 9. The electrical audio signals arc then transmitted through the Public Switched Telephone Network 12 to the service centre 6. At the service centre the audio electrical signals are then passed directly to a remote receiving means 13 (which may comprise a further control means or preferably a personal computer) at service ccntre 6. Personal computer 13 is executing software which enables it to decode the audio electric signals to reproduce the original information stored therein and display it to the service person 7. The data thus transmitted to the service centre could then be stored in a master database to provide invaluable practical usage and operational information for washing machines "in the field" as well as providing accuratc and
pertinent data to the service person to evaluate the problem with the washing machine. The service person may then speak to the user again over the telephone line and issue instructions on how to fix the problem (for example resetting the machine or turning on a water valve which has been left off) or arrange a suitable time for the service person to call to service the machine.
In an addition to the system described above, it would also be possible for the service person to instruct personal computer 13 to pass electronic control signals back to the washing machine via the PSTN to emanate from transducer 10 of the earpiece of handset 9 of the user's telephone. If the user were to hold the earpiece of the handset near the speaker/buzzer 5 then it would act as a microphone, relaying the information in the sound energy from transducer 10 to control means 2 in the form of audio electrical signals having the electronic control signals encoded therein. The electronic control signals could then be processed by controller 2 causing changes in status or settings within the washing machine to overcome some problems or faults.
Thus it can be seen that at least in the preferred form of the present invention, a low cost system remote diagnostic system for transmitting valuable usage and fault information to a service centre is provided. The service system disclosed has the advantage of utilising existing hardware found in most if not all existing appliances with only software alterations required to realise the invention. It is anticipated that the present invention will save a service person considerable time in identifying and remedying faults and it is hoped that many faults can be remedied over the telephone due to the information which will now be available to the service person and the ability to alter the appliance settings remotely.
DATED THIS A DAY OF "X
A J. PARK & SON
/
This invention relates to appliances and more particularly, though not solely to home appliances with inbuilt sound generating devices capable of producing audible noise in a controlled manner which may then be transmitted (for example, by telephone) as data to a remote receiving location.
Some home appliances (such as laundry washing machines and refrigerators) are today fitted with a serial communications port (or other similar output device) allowing the appliance to b« connected to a personal computer which, utilising purpose built software, may interrogate information stored within the appliance. The information stored by the appliance may include the appliance's present status, temperatures, status of valves/shutters, user settings, fault information and number of cycles completed. As it is sometimes difficult or inconvenient for a service person to visit the site at which the appliance is located (which may be many kilometres from the service person's base) some existing home appliances have been fitted with modems to allow a service person to remotely interrogate data stored in the appliance. However, the additional cost involved in fitting all production appliances with a modem is unacceptably high. In addition, the user of the machine would be required to connect a telephone line to the appliance (either sharing an existing telephone line or installing a new one) and this is clearly unacceptable. Most modem home appliances are at least fitted with a buzzer or beeper (for example a simple piezo-electric device) to, for example, alert the user that the washing cycle of a laundry washing machine or dishwasher is completed or the door of a refrigerator is open. Accordingly, it would be an advantageous improvement to utilise the existing noise producing capability of the appliance in the production of a data signal rather than adding additional expensive hardware.
In any event, if the audible data signal is produced at the home appliance and the point of entry of the data signal into the communications network (for example the telephone network) is some distance from the appliance, then the audible data signal must first travel some distance through (and be influenced by) the home appliance's surroundings (for example, air, walls, carpets, curtains and furniture). These surroundings introduce changes to the data signal through the introduction of noise (such as the introduction of echos) which must somehow be accounted for or removed from the transmitted data signal.
Accordingly, it is an object of the present invention to provide an appliance which goes at least some way towards overcoming the above disadvantages or which will at least provide the public with a useful choice.
In a first aspect, the invention may broadly be said to consist in an appliance comprising:
sound generating means adapted to, upon appropriate energisation, provide an audible tone ordinarily provided as a warning and/or verification signal to a user,
control means which is connected to energise said sound generating means, said control means adapted to control the normal operation of said appliance and, upon entering a special operating mode, to cause said sound generating means to issue audible tones in a predetermined sequence corresponding to information relating to the operation or state of the appliance.
Preferably said household appliance has an outer surface and said sound generating means is positioned adjacent said outer surface to allow said audible tones to be heard.
Preferably said sound generating means comprise an audio speaker or buzzer.
Preferably said control means controls the duration of said audible tones emanating from said sound generating means so that said audible tones correspond to said information.
Preferably said control means controls the frequency of said audible tones emanating from said sound generating means so that said audible tones correspond to said information.
Preferably said control means enters said special operating mode upon said user entering a predetermined signal to said control means via user input means.
Preferably said user, upon initiating said special operating mode, positions a transmitting means adjacent said sound generating means to allow said audible signals to be converted to an information signal which may then be transmitted to a remote receiving means.
Preferably said transmitting means comprise a telephone handset.
Preferably said "emote receiving means comprise a further control means which receives said information signal and extracts said information relating to the operation or state of said appliance.
Preferably said further control means displays said information on output means.
In a second aspect, the invention may broadly be said to consist in an appliance comprising:
transducer means adapted to convert sound energy into electrical energy in the form of an electrical audio signal,
control means which receives said electrical audio signal, said control means adapted to control the normal operation of said appliance in response to information stored in said electrical audio signal.
Preferably said transducer means comprises an audio speaker or buzzer.
Preferably a user provides said transducer means with sound energy from the output of transmitting means, said sound energy comprising audible tones encoding said information therein which is extracted by said control means.
Preferably said transmitting means comprise a telephone handset.
Preferably said user holds said telephone handset adjacent said transducer means.
Preferably the frequency of said audible tones emanating from said transmitting means encodes said information.
Alternatively the duration of said audible tones emanating from said transmitting means encodes said information.
Preferably said information is encoded in an electrical signal transmitted to said transmitting means from a remote transmitting means.
This invention may also be said broadly to consist in the parts, elements and features referred to or indicated in the specification of the application, individually or collectively, and any or all combinations of any two or more of said parts, elements or features, and where specific integers are mentioned herein which have known equivalents in the art to which this invention relates, such known equivalents are deemed to be incorporated herein as if individually set forth.
The invention consists in the foregoing and also envisages constructions of which the following gives examples.
One preferred form of the present invention will now be described with reference to the accompanying drawings in which;
Figure 1 is a schematic diagram showing the data transmission path in the communication system according to the preferred embodiment of the present invention, Figure 1A is a detailed schematic of data communications at the remote site shown in Figure 1,
Figure 2 is a diagram showing how the data packets transmitted in the communications system of Figure 1 are made up and how the component bytes of the packets and the packets themselves are divided in time,
Figure 2A is a diagram showing how the data bits are arranged within each byte of the packets shown in Figure 2,
Figure 3 is a diagram showing the complete structure of the data signal transmitted in the communications system shown in Figure 1,
Figure 4 is a graph of signal strength versus time for part of the data signal transmitted in Figure 1 which has been filtered at the frequency of the start/sync bit to demonstrate the detection of sync bits,
Figure 5 is a graph of signal strength versus time for part of the data signal transmitted in Figure 1 which has been filtered at the frequency of the staii/sync bit to demonstrate the detection of sync bits and also shows gain control c? ges during that process,
Figure 6 is a graph of signal strength versus time for part of the data signal transmitted in Figure 1 which has been filtered at the frequency of the sisri/sync Jo demonstrate an end of download condition,
Figure 7 is a graph of signal strength versus time for part of the data signal transmitted in Figure 1 which has been filtered at the frequency of the start/sync to demonstrate a start of new download condition,
Figure 8 is a graph of signal strength versus time for part of the data signal transmitted in Figure 1 which has been filtered at the frequency of the start/sync to demonstrate a start of a packet condition,
Figure 9 is a graph of signal strength versus time for part of the data signal transmitted in Figure 1 which has been filtered at the frequency of the start/sync to demonstrate an end of a packet condition,
Figure 10 is a graph of signal strength versus time for part of the data signal transmitted in Figure 1 which has been filtered at the frequency of the start/sync to demonstrate a data/CRC sync bit condition,
Figure 11 is a graph of signal strength versus time for two packets from the data signal transmitted in Figure 1 after the frequency domain data bit extraction filter has been applied,
Figure 12 is a graph of signal strength versus time for the two packets of Figure 11 after the time domain filter has been applied,
Figure 13 is a "bit presence table" for two packets from the data signal transmitted in Figure 1 showing the normalised "value" for each bit after the time domain filter has been applied,
Figure !4 is a graph showing the distribution of "bit presence vales" for the data in Figure 13,
Figure 15 is a table showing the threshold values which have been determined for each of the bits in each packet shown in Figure 13,
Figure 16 is a flow chart showing the background noise level gain control carried out prior to recording of a download, and
Figure 17 is a table showing the actual data produced, from the data signal transmitted in Figure 1, at the remote service centre after the download and data extraction have been carried out.
With reference to the figures and in particular Figure 1, an appliance, for example a home appliance such as an automatic clothes washing machine 1 is shown. The washing machine 1 is basically preferably of a type such as that sold under our Trade Mark SMART DRIVE. The washing machine includes a spin tub within a water container, the spin tub rotated by an electric motor (not shown). Washing machine 1 has a control means or electronic controller 2 which is programmed to carry out the operation of the washing machine by executing software (stored in a memory device 4 associated with the controller) in response to inputs from physical sensors within the machine and also from user input such as input buttons 3.
During execution of the software controlling operation of washing machine 1, various inputs, statuses (such as drain pump on, hot water valve open), serial number,
number of cycles completed, alerts, errors, faults (such as drain pump blocked, cold water tap not turned on or motor error) and other problems are detected and recorded in memory device 4. This information, stored in memory device 4, could be as a result of a fault which has caused the washing machine to stop operation (awaiting technical assistance) or could be minor, not requiring the washing machine to be stopped.
As can be seen in Figure 1, controller 2 is also connected to control the energisation of a sound generating means 5. Sound generating means 5 may comprise a loudspeaker or piezo buzzer as is ordinarily provided on modern electronic washing machines and other home appliances. As in conventional home appliances, controller 2 is programmed to energise speaker 5 to produce audible tones of predetermined frequencies and/or durations, in a similar way to a modem of facsimile machine produces an audible tone at predetermined times to alert a user to certain events. In the present invention, however, controller 2 is programmed to energise buzzer or speaker 5 to produce audible tones at a number of frequencies at various times for various durations, thus producing an audible data signal relating to the data stored in memory device 4. The audible data signal could be compared to that produced by a facsimile machine or modem however there are a number of significant differences due to the requirement of the signal in the present system travelling through air before the telephone network.
In use, a user of the washing machine 1, when discovering that the machine has developed a fault, would telephone the manufacturer (or manufacturer's agent) at a service centre 6 , in the normal way to report the fault. Ordinarily a service person 7 would be despatched to investigate the fault, identify the problem and rectify it. However, in order to make this process more efficient, in the system according to the present invention, once the user of the washing machine is in telephone contact with the service centre via the user's telephone 8, the service person (via their own telephone 14) will instruct the user to hold the handset 9 of their telephone near the console of the washing machine and press a series of buttons to place the washing machine into a special operating mode. Once in the special operating mode, controller 2 will energise speaker 5 in such a way as to produce audible tones corresponding to (or encoded with) information stored in memory device 4 in the known way.
The audible tones produced by speaker 5 are then converted to electrical audio signals by transducer 11 in the mouth piece of handset 9. The electrical audio signals are then transmitted through the Public Switched Telephone Network 12 to the service centre 6. At the service centre the audio electrical signals are then passed directly to a remote receiving means 13 (which may comprise a further control means or preferably a personal computer) at service centre 6. Personal computer 13 is executing softwaie which enables it to decode the audio electric signals to reproduce the original information stored therein and display it to the service person 7. The data thus transmitted to the service centre could then be stored in a master database to provide invaluable practical usage and operational information for washing machines "in the field" as well as providing accurate and pertinent data to the service person to evaluate the problem with the washing machine. The service person may then speak to the user again over the telephone line and issue instructions on how to fix the problem (for example resetting the machine or turning on a water valve which has accidentally been left off) depending on the established cause or arrange a suitable time for the service person to call to service the machine, in which case the service person will ensure that they have the required spare parts and tools to remedy the problem before departing the remote service centre.
The following is one illustrative example of a possible embodiment of the present system for use in a laundry washing machine.
Illustrative Example
Setting Gain For Background Noise
When a transfer of data (or download) from the appliance to the remote site is required, the user of the appliance would hold the telephone handset as close to the product as possible while make no noise, the operator of the software in the computer or PC 13 starts the "no signal gain setting" algorithm. The software executed by the computer 13 at the remote site would then set the gain of the amplifier 15 according to the background noise in the environment where the product is. The lower the background noise, the better the chance of extracting good data from the download.
Recording The Download
The user then places the phone down and proceeds to the laundry washing machine and presses the keys required to start the download. The machine then makes one beep via buzzer 5 to indicate that the key was pressed and then there is a delay of 2 seconds before the download would start. The operator of the software at the remote service centre then starts the recorder analysing the input download data signal.
Data Extraction
After the download is finished the user of the appliance would pick the phone back up and wait for the PC at the remote service centre to extract the data from the download. Because there could be error in parts of the download the software is capable of taking several downloads from the same product and putting them together to get one good download, therefore if there are errors the operator of the PC would instruct the customer to repeat the procedure from step one to get more downloads.
Analysing The Download Data
After good download data is extracted the operator of the PC would look at the data and inform the customer of the problem with their product.
The following is a more detailed description of the download/recording and data extraction process used in the above illustrative example.
Description of Download Format (From Product to Telephone/PC)
Byte
With reference in particular to Figures 2, 2A and 3, in the present system, each "byte" contains 9 bits and each bit is represented by a tone/frequency. When a bit is true/1 the tone is generated, when the bit is false/0 no tone is generated. At the start of each byte there is an extra bit this is the start bit, it is always present and is used by the extractor software for synchronisation (referred to in this specification as the "sync bit"). All bits including the start bit are 30ms in length, this length was determined by the Q
requirernents of the filter used to extract each bit, the higher the Q of the filter the less crosstalk there is between bits/frequencies. The length of each bit (30ms) can be shorter but this would compromise the performance of the download with respect to the distance from the appliance to the telephone.
In this example 9 distinct frequencies are used so the time for any one freq to be reused is as long as possible, this is important for handling large echo times that are present in the environment that this system will be used. A lesser number of frequencies can be used but the time for a single frequency to be reused should not be less than, for example, 100ms. That is, the minimum number of frequencies = (100ms / bit length (ms)) + 1. The number of frequencies used will also be influenced by the ability of the buzzer in the appliance.
It should be noted that the start bit frequency must only be used for the start bit (the reason for this will become apparent later). The way the frequencies are assigned to each bit is of importance, the frequencies are assigned in such a way (see table 1) that there is the maximum space between the bits in frequency and time (that is when a given tone for a bit is used the next tone (in frequency) is not used for a minimum of 3bits (150Hz), this keeps the crosstalk between bits to a minimum). We have arranged that the start bit uses the highest frequency, this is one of the most separated frequencies (the lowest frequency is the other).
bit frequency frequency frequency gap
No.
(Hz)
(Hz)
S
0
3200
150
0
3
3050
150
1
6
2900
250
2
1
3150
150
3
4
3000
150
4
7
2850
250
2
3100
150
6
2950
150
7
8
2800
Table 1
Packet
An important note to make before explaining the packet format is that each packet is analysed individually and therefore is designed to contain all the information required for its extraction, no information is used from other packets.
Each packet has 11 bytes (each byte containing 8 data bits and a start/sync bit) in it, the first byte is always an FFHex this byte is in the packet so each bit is represented at least once. This is important for the extraction software, for it needs to know what the signal strength for a true/1 is. The next 8 bytes contain data. The last 2 bytes contain the CRC (cyclical redundancy check) code for the packet, this CRC code is the result of a calculation performed using the FFHex (or $FF) byte and the 8 data bytes as is well known in the art. The reliability of the CRC code will be explained below in the section about the extraction software. There is no space (time) between each byte in the packet.
Packets
The first packet in the download is a reference packet and all the bytes in this packet are FFHex (including the CRC code bytes), this packet is used when the download is recorded. The signal strength of this packet is used to set the gain of the amp (see figl A), the gain changes can be made after every byte (but not during a byte). After this reference packet the gain can only be changed in the space (time) between the packets, this is because the extracting software requires the signal level to remain about the same for the duration of a data packet. The timing for the packets is shown in Figure 2. The number of data packets is of course unimportant but effects the total download time, accordingly it would be beneficial to minimise the total amount of data to be transmitted.
Description of Recorder Software
Outline
The tones produced by the product are recorded directly from the connection to the telephone line by the PC 12 using a sound card. As the tones are recorded the software must change the gain in the amplifier 15 to keep the recorded signal at a good level. These gain changes can only be made at specific times in the download. There are two types of gain control used, one is used during the reference packet only (fast gain control) and the other during the data packets (slow gain control).
Background Noise Gain Level Setting
Before a recording of a download can be made the gain of the amplifier 15 must be set to a level so the average signal level is preferably between about 40% and about 70%. This is described in further detail in Figure 16. The customer must be quiet and the software will analyse the incoming signal and adjust the gain of the amplifier until it has not made a change in the gain for 3 seconds. The gain level setting at this point is the maximum gain that will be used when the fast gain control is active.
Sync Acquisition
The raw input is obtained and recorded in memory of PC 12, preferably in 512 byte blocks. In order to determine, for example when a download has started or stopped, the recorder part of the software detects the start/sync bits and analyses their positions relative to each other. As all the sync detecting actions of the recorder must be carried out in real time (and while the recording is taking place), the minimum requirements of computer 12 are preferably of an INTEL PENTIUM 166MHz processor running MICROSOFT WINDOWS NT4.0 or faster.
The first step is to filter the raw incoming waveform, the filter frequency is at the start bit freq (sync bit) so that only the start bits are passed. The filter is applied for 18.15ms every 4.5ms, this is done so that the PC can do the necessary calculations in real time and the algorithm does not require any more information than this to find the sync bits. The
second thing that happens at this time is the peak input value for the last 46.4mSeconds is worked out and stored. Every lsec 220.5 filter pointer are recorded and 21.5 peek values.
The next thing is the filter results are integrated. This integration time is 30mSeconds (the time period for 1 bit/start bit/sync bit) and an integration result is calculated for every filter result. The filtered waveform is integrated (in real time) as the area or energy of the signal is more important than the amplitude in deciding if a peak is actually a sync/start bit.
Next the sync/start bits are found in the integrated wave. The sync detector software only analyses the last 3.375s of recording when looking for sync bits, this is because all the signal conditions it is looking for will fit into this period, the signal conditions are end of a download, start of a new download, start of a packet, end of a packet and data/CRC sync bit (as some of these signal conditions are the same, they are presented in a priority the same as the order listed, for example, a start of a new download is detected even when a start of a packet and data/CRC sync bit is detected at the same time.
Sync detection
The detection of the sync bits will be explained with 2 scenarios to simplify the explanation. It should be noted that this will only cover the detection of the sync bits, not the signal conditions.
scenariol (Figure 4) : 7 sync bits are present in the last 3.375s of input and no gain changes have been made.
Because there have been no gain changes the software takes all of the last 3.375Seconds and works out the max point and takes the 50% level as the threshold for what is and is not a sync bit.
scenario2 (Figure 5): J1 sync bits are present in the last 3.375s of input and 5 gain changes have been made.
Because there have been 5 gain changes the software takes each section of input between the gain changes and analyses them separately by working out the max point and taking the 50% level as the threshold for what is and is not a sync bit. A record of the times when a gain changes where made for the last 3.375s is generated be the gain controller state machine.
Signal Condition Detection
After sync bits have been found (Note: If more than 11 or less than 1 sync bit/s have been found the software will not analyse for signal conditions) the next step is to look for the following conditions, end of a download, start of a new download, start of a packet, end of a packet and data/CRC sync bit. They are looked for in the order they are described and the first one that is detected is the one that is pasted to the next stage.
End of a download
For this condition the software looks for a greater than or equal to 1.0s space (no sync bits) from the newest sync bit to the start of the 3.375s window if this is found it will then check there at least 3 sync bits in the 3.375s window. If that is true then it checks the gap between the 3 sync bits to see if it is greater than 0.21 s and less than 0.33s (0.27s nominal) and if that is the case then the end of a download has been found (see Figure 6).
Start of a new download
For this condition the software looks for a greater than or equal to 1.0s space (no sync bits) from the oldest sync bit to the end of the 3.375s window if this is found it will then check there at least 3 sync bits in the 3.375s window, if that is true then it checks the gap between the 3 sync bits to see if it is greater than 0.21s and less than 0.33s (0.27s nominal), if that is the case then the start of a new download has been found (see Figure
7).
Start of a packet
For this condition the software checks that the number of sync bits in the 3.375s window is 10, if this is true the software checks the gaps between the 4 newest sync bits are greater than 0.21s and less than 0.33s (0.27s nominal), if that is true it then checks that the gaps between the 6 oldest sync bits are greater than 0.21s and less than 0.33s (0.27s nominal). If that is the case then the software checks the gap between sync bits 4 and 5, if this is greater then 0.7s then the start of a packet has been found (see Figure 8).
End of a packet
For this condition the software checks that the number of sync bits in the 3.375s window is 11, if this is true the software checks the gaps between all the sync bits are greater than 0.21s and less than 0.33s (0.27s nominal), if that is the case then the end of a packet has been found (see Figure 9).
Data/CRC sync bit
For this condition the software checks that the number of sync bits is greater than 1, if this is true it checks the newest sync bit is not older then 0.060s and that the next newest sync bit is not older than 0.330s. If that is the case then the software checks the gap between is greater than 0.21s, if that is true a data/CRC sync bit has been found (see Figure 10).
Gain Control
Fast gain control
This is the first gain control employed, it is initiated by the detection of the start of a new download, after this point the software will wait for a new data/CRC sync bit and on the detection of this it will work out the average peak signal for the last 0.25s and will adjust the gain to keep the signal between, for example about 40% and about 70%. The software will do this every data/CRC sync bit until the end of the packet is detected. If the gain needs to be changed the software will increment/decrement it by for example, 33% each time. Because the signal level of the recorded wave seen by the extraction software could have large steps in it, the extraction software will fail to extract all 11 bytes from the packet, but as this is the reference packet the data from this packet is not required.
Slow gain control
After the reference packet the gain is only be changed between the packets, to this end the software will wait for an end of packet detection and at this point it will work out the average peak signal for the last 2.97s. An adjustment will be made to the gain to keep the signal between about 40% and about 70%. If the gain needs to be changed the software will increment/decrement it by for example, 5% each time. This gain control will repeat until the end of the download is detected.
End of Recorder Execution
When the end of the download is detected the software will take the recorder input and trim off the ends so that the waveform that is given to the extractor software is only as long as it need to be, this is to make it as fast as possible. The position of the sync/start bits can also be passed to the extractor software although the extractor software carries out its own, more accurate detection of start/sync bits (not in real time).
Description of the Extractor Softwaie
The extractor software takes the raw waveform outputted from the recorder and extracts the data from it, it does this with several steps. Each section of the extraction will be described separately.
Sync Bit Extraction
The first thing that is done is to find all the sync bits, record their position in time and check they are all correct in time. The data that is given to the extractor is the raw recorded waveform and a list of positions in that waveform that the gain was changed (the extractor must know when gain changes were made so that it can account for it). The extractor faces the same problem the recorder does with respect to the detection of the sync bits when the gain is being changed. The extractor solves this problem the same way the recorder does by using a different threshold level between two gain changes. The deletion of sync bits is performed in a similar way to the way the recorder does it, the main difference is that the extractor analyses all of the raw waveform.
The first thing to be done is to find the first sync bit, for the first sync bit to be valid there must be 0.9s of no signal leading up to it. From this point the extractor will use this sync bit as a reference in time for finding the remaining sync bits in the packet and the first sync bit in the next packet (It should be noted that when the first sync bit of the next packet is found it is used as the new reference point so that the extractor does not suffer from accumulated timing errors when checking the timing of sync bits.). Because the timing of transmitted sync bits :s exact the extractor will skip 240ms of raw waveform after each sync bit found before looking for the next (note that sync bits are 270ms apart). When a sync bit is not found where it is expected to be that fact is recorded in a list of sync bits, when all the sync bits in the raw waveform are found the list of sync bits will contain an entry for all possible sync bits, recording there position or if they were not found.
Data Bit Extraction
Filter
The first step in extracting the data is to filter the raw waveform at each of the frequencies that represent each of the data bits. The filter frequencies could be searched for to find the peak signal for each bit using the known frequencies the software uses as a starting point. The frequency search would solve any problem of the frequencies moving due to product hardware.
Filter in time
The next step is to filter each "frequency filter result" in time, this is done to eliminate any echo of a bit and crosstalk from other bits. The process will be described as it relates to one bit, all bits are the same except for the timing of the application. With respect to each sync bit each bit should appear (if present) in a known position in time, so knowing this information the extractor will multiply the "frequency filter result" around the known position of a bit by a bell shaped curve. This is done for all the bits with a known sync bit. The bell curve is only 2bits wide and is multiplied with the "frequency filter result" for a bu width in time therefore the remainder of the byte is multiplied by zero. A bell shaped
curve is used so a bit that is slight incorrect in time will still go though to the result but if a bit is more incorrect in time it will progressively be eliminated the further away from its correct position it is. Figure 11 shows two packets after the filter for a bit is applied but before the filter in time is applied. Figure 12 shows the same waveform after the filter for time is applied.
Bit presence
Now that all the bit waveforms have been filtered in time the extractor will determine if a bit is present (true) or not (false). This is done for each packet and each bit separately but is the same for all bits and packets. First it is checked that all the start bits in a packet are known if this is true then for a given bit the filtered in time waveform is add up for 270ms starting at the known position of the bit the result of this is the presence value, this is done for the same bit in each byte of the packet giving 11 presence values for a bit in a packet. Then the maximum presence valve is worked out and all the bit presence are scaled to that value. After all bits in each packet are analysed there will be 8* 12=96 sets of presence values, each set containing 11 values. Figure 13 shows the bit presence values (for bit0-7) from the first two packets, it can be seen that for a given bit the presence is scaled to the maximum presence for a given packet (that is each of the values for a particular bit are scaled so that the maximum vale is 100).
Bit presence threshold
Now that all the presences are known the next step is to find a threshold value that will extract the correct true/false state of the data (anything below this threshold value will become a false/0 while anything above will become a true/1. Two threshold values are determined but only one may be used. Up to two thresholds (but at least one) are found for each bit, for each packet (e.g. bitO packetO) (12packets*8bits=96 and possibly up to 192 threshold values). The first threshold picked will be 1% below the top of the largest gap between presence values, the second threshold will be the next largest gap but only if that gap is larger than 20% (see the example histogram of Figure 14 which is for the data in Figure 13 in the right hand half of row b0). That is, the presence values for each bit position within a packet are analysed to find where the one or two largest gaps occur
between the values. The threshold value could be placed anywhere in the gap but for convenience we have decided that the threshold will be 1% beneath the value at the top of the gap. In the example shown in Figure 14, the horizontal axis has been divided in to 5% blocks but in practice the software is capable of 1% increments. Accordingly, for the
Data extraction
The last step is to extract the data. Using the first thresholds found for each bit, for each packet (e.g. bitO packetO) the presence level for each byte is turned into a 1 (true) or 0 (false) depending on whether the presence level is above (1 ,true) or below (0,false). This is done for every byte in the packet for every bit.
Once all the bytes in a packet have been extracted the first 9 bytes are used to calculate the CRC code when this is done this CRC code is compared to the last two bytes (the transmitted CRC code) and if they are equal the data is taken to be correct. If the CRC codes do not match the second thresholds are used to determine new data and that is then checked. This is repeated until good data (matching CRC codes) is found or no possible combinations of second thresholds are available (with 8 second thresholds possible, that makes 256 possible attempts for data extraction). With every attempt of extracting data the random chance of getting bad data CRC code (bad data) and bad transmitted CRC code matching (65535/attempts) goes up lowering the integrity of the data extracted (if the CRC's match). Figure 17 shows the final results obtained from a real download (as do the other figures) with the packet contents displayed across the table. The final column indicates if the error checking was successful (OK = error checking successful using first threshold, OK3=error checking successful using third threshold).
In an addition to the system described above, it would also be possible for the service person to instruct personal computer 13 to pass electronic control signals back to the washing machine via the PSTN to emanate from transducer 10 of the earpiece of handset 9 of the user's telephone. If the user were to hold the earpiece of the handset near the speaker/buzzer 5 then it would act as a microphone, relaying the information in the sound energy from transducer 10 to control means 2 in the form of audio electrical signals having the electronic control signals encoded therein. The electronic control signals could
33
0
1
then be processed by controller 2 causing changes in status or settings within the washing machine to overcome some problems or faults.
Thus it can be seen that at least in the preferred form of the present invention, a low cost system remote diagnostic system for transmitting valuable usage and fault information to a service centre is provided. The service system disclosed has the advantage of utilising existing hardware found in most if not all existing appliances with only software alterations required to realise the invention. It is anticipated that the present invention will save a service person considerable time in identifying and remedying faults and it is hoped that many faults can be remedied over the telephone due to the information which will now be available to the service person and the ability to alter the appliance settings remotely.
DATED THIS /S" DAY OF /9o0
A I DAms o. f &
INTELLECTUAL PFiU'iERTY"cFFic,E OF N I.
J 5 APR 1333
RECEIVED
- ? -
32a 19 i
This invention relates to appliances and more particularly, though not solely to home appliances with inbuilt sound generating devices capable of producing audible noise in a controlled manner which may then be transmitted (for example, by telephone) as data to a remote receiving location.
Some home appliances (such as laundry washing machines and refrigerators) are today fitted with a serial communications port (or other similar output device) allowing the appliance to be connected to a personal computer which, utilising purpose built software, may interrogate information stored within the appliance. The information stored by the appliance may include ths appliance's present status, temperatures, status of valves/shutters, user settings, fault information and number of cycles completed. As it is sometimes difficult or inconvenient for a service person to visit the site at which the appliance is located (which may be many kilometres from the service person's base) some existing home appliances have been fitted with modems to allow a service person to remotely interrogate data stored in the appliance. However, the additional cost involved in fitting all production appliances with a modem is unacceptably high. In addition, the user of the machine would be required to connect a telephone line to the appliance (either sharing an existing telephone line or installing a new one) and this is clearly unacceptable.
Most modern home appliances are at least fitted with a buzzer or beeper (for example a simple piezo-electric device) to, for example, alert the user that the washing cycle of a laundry washing machine or dishwasher is completed or the door of a refrigerator is open. Accordingly, it would be an advantageous improvement to utilise the existing noise producing capability of the appliance in the production of a data signal rather than adding additional expensive hardware.
In any event, if the audible data signal is produced at the home appliance and the point of entry of the data signal into the communications network (for example the telephone network) is some distance from the appliance, then the audible data signal must first travel some distance through (and be influenced by) the home appliance's surroundings (for example, air, walls, carpets, curtains and furniture). These surroundings introduce changes to the data signal through the introduction of noise (such as the
32 w 19 1
introduction of echos) which must somehow be accounted for or removed from the transmitted data signal.
Accordingly, it is an object of the present invention to provide an appliance comprising:
sound generating means adapted to, upon appropriate energisation, produce audible tones ordinarily provided as a warning and/or verification signal to a user,
user input means to allow a user to enter instructions to said appliance,
data storage means which stores information on the operation of said appliance,
control means which stores a program which causes the controller to:
i) receive said instructions from said user input means,
ii) enter a special operating mode in response to said user input, and iii) energise said sound generating means to issue audible tones in a digital predetermined sequence corresponding to information stored in said data storage mean?,
wherein said audible tones are adapted to be received by signal conversion means positioned remotely to said appliance, there existing an air gap between said appliance and said signal conversion means, said signal conversion means converts said audible tones into an electronic signal which may then be transmitted to a remote receiving means electronically.
In a second aspect, the invention consists in a method of controlling an appliance, said appliance having sound generating means adapted to, upon appropriate energisation, produce audible tones ordinarily provided as a warning and/or verification signal to a user,
user input means to allow a user to enter instructions to said appliance,
data storage means which stores information on the operation of said appliance, control means which controls the operation of said appliance, said method comprising the steps of:
i) receiving said instructions from said user input means,
ii) entering a special operating mode in response to said user input,
iii) energising said sound generating means to issue audible tones in a predetermined sequence corresponding to information stored in said data storage means.
9
328 191
iv) receiving said audible tones at a signal conversion means positioned remotely to said appliance, there existing an air gap between said appliance and said signal conversion means,
v) converting said audible tones into an electronic signal, and vi) transmitting said electronic signal to a remote receiving means electronically.
To those skilled in the art to which the invention relates, many changes in construction and widely differing embodiments and applications of the invention will suggest themselves without departing from the scope of the invention as defined in the appended claims. The disclosures and the descriptions herein are purely illustrative and are not intended to be in any sense limiting.
The invention consists in the foregoing and also envisages constructions of which the following gives examples.
One preferred form of the present invention will now be described with reference to the accompanying drawings in which;
Figure 1 is a schematic diagram showing the data transmission path in the communication system according to the preferred embodiment of the present invention, Figure 1A is a detailed schematic of data communications at the remote site shown in Figure 1,
Figure 2 is a diagram showing how the data packets transmitted in the communications system of Figure 1 are made up and how the component bytes of the packets and the packets themselves are divided in time,
Figure 2A is a diagram showing how the data bits are arranged within each byte of the packets shown in Figure 2,
Figure 3 is a diagram showing the complete structure of the data signal transmitted in the communications system shown in Figure 1,
Figure 4 is a graph of signal strength versus time for part of the data signal transmitted in Figure 1 which has been filtered at the frequency of the start/sync bit to demonstrate the detection of sync bits,
Figure 5 is a graph of signal strength versus time for part of the data signal transmitted in Figure 1 which has been filtered at the frequency of the start/sync to
»»•-> ."N ~ ~ A
32tf -| 9 1
demonstrate an end of download condition,
Figure 6 is a graph of signal strength versus time for part of the data signal transmitted in Figure 1 which has been filtered at the frequency of the start/sync to demonstrate a start of new download condition,
Figure 7 is a graph of signal strength versus time for two packets from the data signal transmitted in Figure 1 after the frequency domain data bit extraction filter has been applied,
Figure 8 is a graph of signal strength versus time for the two packets of Figure 7 after the time domain filter has been applied,
Figure 9 is a "bit presence table" for two packets from the data signal transmitted in Figure 1 showing the normalised "value" for each bit after the time domain filter has been applied,
Figure 10 is a graph showing the distribution of "bit presence vales" for the data in Figure 9,
Figure 11 is a table showing the threshold values which have been determined for each of the bits in each packet shown in Figure 9,
Figure 12 is a tabie showing the actual data produced, from the data signal transmitted in Figure 1, at the remote serv ice centre after the download and data extraction have been carried out.
With reference to the figures and in particular Figure 1, an appliance, for example a home appliance such as an automatic clothes washing machine 1 is shown. It should be noted that the invention is to be described with reference to a clothes washing machine, however other appliances such as, for example, refrigerators, freezers, clothes driers, dishwashers, stoves, microwave ovens could just as validly be used. The washing machine 1 is preferably of an automatic type such as that sold under our Trade Mark SMART DRIVE. The washing machine includes a spin tub within a water container, the spin tub rotated by an electric motor (not shown). Washing machine 1 has a control means or electronic controller 2 which is programmed to carry out the operauon of the washing machine by executing software (stored in a memory device 4 associated with the controller) in response to inputs from physical sensors within the machine and also from
user input such as input buttons 3.
During execution of the software controlling operation of washing machine 1, various inputs, statuses (such as drain pump on, hot water valve open), serial number, number of cycles completed, alerts, errors, faults (such as drain pump blocked, cold water tap not turned on or motor error) and other problems are detected and recorded in memory device 4. This information, stored in memory device 4, could be as a result of a fault which has caused the washing machine to stop operation (awaiting technical assistance) or could be minor, not requiring the washing machine to be stopped.
As can be seen in Figure 1, controller 2 is also connected to control the energisation of a sound generating means 5. Sound generating means 5 may comprise a loudspeaker or piezo buzzer as is ordinarily provided on modem electronic washing machines and other home appliances. As in conventional home appliances, controller 2 is programmed to energise speaker 5 to produce audible tones of predetermined frequencies and/or durations, in a similar way to modern electronic household or office equipment which produce an audible tone at predetermined times to alert a user to certain events. The audible signal thus produced is encoded with the information stored in memory device 4. The audible data signal is transmitted to a signal conversion means, for example a standard telephone handset where the audible data signal is converted to an electronic data carrying signal for transmission through the telephone network.
The audible data signal could be compared to that produced by a facsimile machine or modem however there are a number of significant differences due to the requirement that the audio signal in the present system must travel through an air gap between the buzzer and the telephone network. When the audio signal passes through the air gap it is may be blocked by objects such as walls or furniture and may also be reflected off walls and furniture thus producing a delayed echo signal at the telephone handset.
In use, a user of the washing machine 1, when discovering that the machine has developed a fault, would telephone the manufacturer (or manufacturer's agent) at a service centre 6 , in the normal way to report the fault. Ordinarily a service person 7 would be despatched to investigate the fa.Jt, identify the problem and rectify it. however, in order to make this process more efficient, in the system according to the present invention, once
the user of the washing machine is in telephone contact with the service centre via the user's telephone 8, the service person (via their own telephone 14) will instruct the user to hold the handset 9 of their telephone near the console of the washing machine and press a series of buttons to place the washing machine into a special operating mode. Once in the special operating mode, controller 2 will energise speaker 5 in such a way as to produce audible tones corresponding to (or encoded with) information stored in memory device 4 (one preferred method of encoding is described in detail below).
The audible tones produced by speaker 5 are then converted to electrical audio signals by transducer 11 in the mouth piece of handset 9. The electrical audio signals are then transmitted through the Public Switched Telephone Network 12 to the service centre 6. At the service centre the audio electrical signals are then passed through a signal conditioning circuit 15 (such as a transformer and/or filter) to a remote receiving means 13 (which may comprise a further control means or preferably a personal computer) at service centre 6. Personal computer 13 executes software which enables it to decode the audio electric signals to reproduce the original information stored therein and c,splay it to the service person 7.
The data thus transmitted to the service centre could then be stored in a master database to provide invaluable practical usage and operational information for washing machines or other home appliances "in the field" as well as providing accurate and pertinent data to the service person to evaluate any problem with the washing machine. The service person may then speak to the user again over the telephone line and issue instructions on how to fix the problem (for example resetting the machine or turning on a water valve which has accidentally been left off) depending on the established cause or arrange a suitable time for the service person to call to service the machine, in which case the service person will ensure that they have the required spare parts and tools to remedy the problem before departing the remote service centre.
Illustrative Example
The following is a broad overview of one particular embodiment of an application of the present invention followed by a more detailed explanation of the embodiment.
Recording The Download
The user of the appliance (this example relates to a laundry washing machine 3) dials the telephone number of a service centre 6. After discussing their situation with the operator 7 at the service centre the user would be instructed place the telephone down and proceed to the washing machine 3 and presses the key or key combination (on the standard user interface panel) required to start a download in accordance with software stored in control means 2. The washing machine 3 then preferably makes one beep via bczzer 5 to indicate that the key or keys were pressed and then preferably there is a delay of 2 seconds before the data download starts at which time the buzzer commences a stream of audible tones which are transmitted from the washing machine 3, through the air and into the telephone mouthpiece. The operator 7 at the remote service centre 6 initiates the recorder part of a software program stored in personal computer 13 which starts analysing the input download data signal and records it to a storage means on personal computer 13 (for example in RAM or on a magnetic disk).
Data Extraction
Once the download is completed, the user of the washing machine 3 picks the telephone up and waits for operator 7 at the service centre 6 to come back on to the telephone line. During this time, the personal computer 13 at the remote service centre 6 extracts the data from the download. Because there is a possibility that errors occurred in the transmission/extraction process (due to background noise and/or signal weakness) the software according to the present invention is capable of taking several downloads from the same washing machine and joining them together to obtain one good download, therefore if there are errors, the operator of the personal computer would instruct the user to place the telephone down and repeat the procedure to provide personal computer 13
32b 1 9 1
more download data which hopefully can be combined with the already recorded data to produce an error free data record.
Analysing The Download Data
Once an error free download is extracted the operator of the PC would look at the data and inform the customer of the problem with their product.
The following is a detailed description of the preferred embodiment of the present invention starting with the way in which the data signal is formatted and produced by the software executed by controller 2 of washing machine 3 and continuing on to the recorder and extractor phases of the software executed by personal computer 13 at the service centre 6.
Detailed Description of Download Forti (From Appliance to Telephone/PC)
"Byte"
With reference in particular to Figures 2, 2A and 3, in the present system a "byte" of data comprises a series of 9 data bits. In the audible signal generated by buzzer 5 and each bit is represented by a particular tone/frequency, for example, the 5th data bit in each 9 bit byte is always represented by a particular frequency, preferably 3.1kHz. When a bit is true/1 the tone is generated, when the bit is false/0 no tone is generated. At the start of each 9 bit byte there is an extra bit this is the start bit, it is always present and is used by the extractor software for synchronisation (referred to in this specification as the "sync bit"). Accordingly, as shown in Figure 2A, each 9 bit byte comprises 8 data bits preceded by a sync bit.
All bits including the start bit are 30ms in length, this length was determined by the Q (quality factor) requirements of the filter used to extract each bit, ihe higher the Q of the filter the less crosstalk there is between bits/frequencies. The length of each bit (30ms) can be shorter but this would compromise the performance of the download
32 8 1 Q i
®-J ¥
with respect to the distance from the appliance to the telephone.
In this example 9 distinct frequencies are used. We have found that the time between any one frequency being reused should be as long as possible, this is important for handling large echo times that are present in the environment that this system will be used. Accordingly, by maximally separating each of the frequencies in time, the extraction software is able to ignore echo signals arriving at the telephone mouthpiece at a time when a different frequency signal is expected. A lesser number of frequencies could be used but the time for a single frequency to be reused should not be less than, for example, 100ms. That is, the minimum number of frequencies = (100ms / bit duration (ms)) + 1. The number of frequencies used will also be influenced by the ability of the buzzer in the appliance to generate those frequencies at a satisfactory amplitude.
It should be noted that the start bit frequency must only be used for the start bit (the reason for this will become apparent later). The way in which the frequencies are assigned to each bit is of importance, the frequencies are assigned in such a way (see table 1) that there is a maximum space between the bits in frequency as well as time (that is when a given tone for a bit is used the next tone (in frequency) is not used for a minimum of 3bits (150Hz), this keeps the crosstalk between bits to a minimum). We have arranged that the start bit uses the highest frequency, this is one of the most separated frequencies (the lowest frequency is the other).
>
0 o »♦•!■*->
bit frequency frequency frequency gap
No.
No.
(Hz)
(Hz)
Start
0
3200
150
0
3
3050
150
1
6
2900
250
2
1
3150
150
3
4
3000
150
4
7
2850
250
2
3100
150
6
2950
150
7
8
2800
Table 1
Packet
As may be seen in Figure 2, the data signal transmitted by buzzer 5 is made up of a series of packets. An important note to make before explaining the packet format is that each packet is analysed individually and therefore is designed to contain all the information required for its extraction, no information is used from other packets to reproduce the original packets from the analogue signal recorded on personal computer 13.
The packets are compiled by control means 2 in a digital form and then converted to an equivalent analogue signal for transmission by buzzer 5. Each packet has 11 bytes (each byte containing 8 data bits and a start/sync bit), the first byte is always FFHex (or SFF). This byte is in the packet so that each bit is represented at least once. This is important for the extraction software, for it needs to know what the signal strength for a true/1 is. The next 8 bytes contain data in the start bit + 8 data bit format. The last 2 bytes of each packet contain the CRC (cyclical redundancy check)
I 0 "3 mad onon
code for the packet, this CRC code is the result of a calculation performed using the FFHex byte and the 8 data bytes as is well known in the art. The reliability of the CRC code will be explained below in the section about the extraction software. There is no space (time) between each byte in the packet.
Packets
The first packet in the download is a reference packet and all the bytes in this packet are FFHex (including the CRC code bytes. The timing for the packets is shown in Figure 2. The number of data packets is of course unimportant but affects the total download time, accordingly it would be beneficial to minimise the total amount of data to be transmitted.
Description of Recorder Software
Outline
The tones produced by the washing machine buzzer 5 are recorded directly from the connection to the telephone line by the personal computer 13 using a sound card connected to the telephone line. As the incoming tones are recorded the software will automatically detected the start and end of the download (stopping the recording of the incoming signal).
Sync Acquisition
The raw input data is obtained and recorded in memory of personal computer 13, preferably in 512 byte (8 bit) blocks. In order to determine, for example, when a download has started or stopped, the recorder part of the software detects the start/sync bits and analyses their positions relative to each other. As all the sync detecting actions of the recorder must be carried out in real time (and while the recording is
| U,iHLitCiOA.. n.Oi'h'UY Ort'lCt]
OF N7. !
taking place), the minimum requirements of computer 13 are preferably of an INTEL PENTIUM 166MHz processor running MICROSOFT WINDOWS NT4.0 or faster.
The first step in the recorder software is to filter the raw incoming waveform (in addition to storing it). The filter frequency is at the start bit freq (sync bit) so that only the start bits are passed. The filter is applied for 18.15ms with 4.5ms intervals, this is done so that the personal computer can carry out the necessary calculations in real time and the algorithm does not require any more information than this to find the sync bits. The second thing that happens at this time is the peak input value for the last 46.4ms is worked out and stored. Every second, 220.5 filter pointers are recorded and 21.5 peek values.
Next, the filter results are integrated. This integration is carried out over a 30ms period (the time period for 1 bit/start bit/sync bit) and an integration result is calculated for every filter result. The filtered waveform is integrated (in real time) as the area or energy of the signal is more important than the amplitude in deciding if a peak is actually a sync/start bit.
Next the sync/start bits are found in the integrated wave (described below). The sync detector software only analyses the last 3.375s of recording when looking for sync bits, this is because all the signal conditions it is looking for will fit into this period, the signal conditions are end of a download and start of a new download.
Sync detection
It should be noted that this will only cover the detection of the sync bits, not the signal conditions (their detection is described below). An example is shown in Figure 4 wherein 7 sync bits are present in the last 3.375s of input. The software takes all of the last 3.375s and works out the maximum point and takes the 30% (of maximum) level as the threshold for what is and is not a sync bit.
Signal Condition Detection
Cf N.z.
i V urN
° 19 /
After the sync bits have been located (note that if more than 11 or less than 1 sync bit/s have been found then the software will not analyse for signal conditions as the data is obviously in error) the next step is to look for the following conditions, either end of a download or start of a new download.
End of a download
For this condition the software looks for a greater than or equal to 2.0s space (no sync bits) from the newest sync bit to the start of the 3.375s window if this is found it will then check there at least 3 sync bits in the 3.375s window. If that is true then it checks the gap between the 3 sync bits to see if it is greater than 0.21s and less than 0.33s (0.27s nominal) and if that is the case then the end of a download has been found (see Figure 5 for an example).
Start of a new download
For this condition the software looks for a greater than or equal to 1.0s spacc (no sync bits) from the oldest sync bit to the end of the 3.375s window if this is found it will then check there at least 3 sync bits in the 3.375s window. If that is true then it checks the gap between the 3 sync bits to see if it is greater than 0.21s and less than 0.33s (0.27s nominal), if that is the case then the start of a new download has been found (see Figure 6 for an example).
End of Recorder Execution
When the end of a download is detected the software will take the recorder input and trim off the ends so that the waveform that is given to the extractor software is only as long as it need to be, this is to make it as fast as possible. The position of the sync/start bits can also be passed to the extractor software although the extractor software carries out its own, more accurate detection of start/sync bits (not in real
time).
Description of the Extractor Software
The extractor software takes the raw waveform outputted from the recorder and extracts the data signal from it, it does this in several steps. Each step of the extraction will be described separately.
Sync Bit Extraction
The first step in the extractor phase is to locate all of the sync bits, record their position in time and check that the determined positions are all correct in time. The data that is provided to the extractor is the raw recorded waveform. The detection cf sync bits is performed in a fashion to that carried out by the recorder phase of the software, the main difference is that the extractor analyses all of the raw waveform.
The first thing to be done is to find the first sync bit. For the first sync bit to be valid there must be a period of 0.9s of no signal leading up to it. From this point the extractor will use this first sync bit as a reference in time for finding the remaining sync bits in the packet and the first sync bit in the next packet (it should be noted that when the first sync bit of the next packet is found it is used as the new reference point so thai, the extractor does not suffer from accumulated timing errors when checking the timing of sync bits). Because the timing of transmitted sync bits is exact the extractor will skip 240ms of raw waveform after each sync bit is found before looking for the next (note that sync bits are spaced 270ms apart). When a sync bit is not found where it is expected to be that fact is recorded in a list of sync bits, when all the sync bits in the raw waveform are found the list of sync bits will contain an entry for all possible sync bits, recording their position or recording if they were not found.
Data Bit Extraction
- 16
Filter
The first step in extracting the data is to filter the raw waveform at each of the frequencies that represent each of the data bits. The filter frequencies could be searched for to find the peak signal for each bit using the known frequencies the software uses as a starting point. The frequency search would solve any problem of the frequencies moving due to product hardware.
Filter in time
The next step is to filter each "frequency filter result" in time, this is done to eliminate any echo of a bit and crosstalk from other bits. The process will be described as it relates to one bit, all bits are the same except for the timing of the application. With respect to each sync bit each bit should appear (if present) in a known position in time, so knowing this information the extractor will multiply the "frequency filter result" around the known posit: on of a bit by a bell shaped curve. This is done for all the bits with a known sync bit. The bell curve is only 2 bits wide and is multiplied with the "frequency filter result" for a bit width in time, therefore the remainder of the byte is multiplied by zero. A bell shaped curve is used so a bit that is slight incorrect in time will still be passed through the filter but if a bit is more incorrect in time it will progressively be eliminated the further away from its correct position it is. Figure 7 shows two packets after the filter for a bit is applied but before the filter in time is applied. Figure 8 shows the same waveform after the filter for time is applied.
Bit presence
Now that all the bit waveforms have been filtered in time the extractor will determine if a bit is present (true) or not (false). This process is carried out for each packet and each bit separately but is the same for all bits and packets. First, a check is
~>/
* .-I
328 19
made that all the start bits in a packet are known. If this is true then for a given bit the filtered in time waveform is added up for 270ms starting at the known position of the bit. The result of this integration is the "presence value" and is calculated for the same bit in each byte of the packet giving 11 presence values for a bit in a packet.
Next the maximum presence value is determined and all the bit presence values are scaled to that maximum value. After all bits in each packet are analysed there will be 8*12=96 sets of presence values, each set containing 11 values. Figure 9 shows the bit presence values (for bits 0 to 7) from the first two packets (A and B), it can be seen that for a given bit the presence value is scaled to the maximum presence for a given packet (that is each of the values for a particular bit are scaled so that the maximum value is 100).
Bit presence threshold
Now that all of the bit presence values are known, the next step is to find a threshold value that can be used to determine whether a particular bit is in a true or false state in order to reconstruct the original data. Anything below this threshold value will become a false/0 while anything above will become a true/1.
Preferably two threshold values are determined but only one may be used (this is explained below). Up to two thresholds (but at least one) are found for each bit, for each packet, for example bit 0, packet 0(12 packets*8 bits = 96 and possibly up to 192 threshold values). The first threshold picked will be 1% below the top of the largest gap between presence values, the second threshold will be the next largest gap but only if that gap is larger than 20% (see the example histogram of Figure 10 which is for the data in Figure 9 in the right hand half of row bO). That is, the presence values for each bit position within a packet are analysed to find where the one or two largest gaps occur between the values. The threshold value could be placed anywhere in the gap but for convenience we have decided that the threshold will be 1% beneath the value at the top of the gap. In the example shown in Figure 10, the horizontal axis has been divided in to 5% blocks but in practice the software is capable of 1% increments.
j >- „: t_rtTY OrriCc j i OF ML |
i S
8-19 I
Figure 11 shows the threshold values determined for bits 0 to 7 of packet 0 (PA) to packet 11 (PL). The right hand half of the table holds a number of second threshold values.
Data extraction
The last step is to extract the data from the recorded signal. Using the first thresholds found for each bit, for each packet (for example bit 0, packet 0) the presence level for each byte is turned into a 1 (true) or 0 (false) depending on whether the presence level is above (1, true) or below (0, false) the threshold value. This comparison is carried out for every byte in the packet for every bit.
Once all the bytes in a packet have been extracted the first 9 bytes are used to calculate the CRC code which is compared to the last two bytes (the transmitted CRC code) and if they are equal the data is taken to be correct. If the CRC codes do not match the second thresholds are used to determine new, alternative bit states and the new CRC value is then checked . This process is repeated until good data (matching CRC codes) is found or no possible combinations of second thresholds are available.
With 8 second thresholds possible (one for each bit position) it is possible to attempt 256 different extraction combinations in the data). With every attempt at extracting valid data the random chance increases of obtaining a bad data CRC code (bad data) and bad transmitted CRC code which actually match (65535/attempts), lowering the integrity of the data extracted (if the CRC's match).
Figure 12 shows the final results obtained from an actual download (as do the other figures) with the packet contents displayed across the table. The final column indicates if the error checking was successful (OK = error checking successful using first threshold, OK3=error checking successful using third threshold).
In an addition to the system described above, it would also be possible for the service person to instruct personal computer 13 to pass electronic control signals back to the washing machine via the PSTN to emanate from transducer 10 of the earpiece of handset 9 of the user's telephone. If the user were to hold the earpiece of the handset i .i\.'-i..*.., i. , . - ,.,-uY JrnCu |
328 19 1
near the speaker/buzzer 5 then it would act as a microphone, relaying the information in the sound energy from transducer 10 to control means 2 in the form of audio electrical signals having the electronic control signals encoded therein. The electronic control signals could then be processed by controller 2 causing changes in status or settings within the washing machine to overcome some problems or faults. The transmitted signal could also represent new or updated operating software which could then be stored by the controller of the washing machine in memory for execution during normal operation of the appliance.
An improvement to the above mentioned system could be the removal of the reference packet (packet 0, comprising 1 l*FFHex). A further improvement could be to add a further byte in each packet to serve as a packet number identifier. It would be useful to know the packer number in cases such as when the beginning or end of a download has been cut off.
Thus it can be seen that at least in the preferred form of the present invention, a low cost system remote diagnostic system for producing, transmitting and reliably extracting valuable usage and fault information from a remote appliance to a service centre is provided. The system disclosed has the advantage of utilising existing hardware found in most if not all existing appliances with only software alterations required to realise the invention. It is anticipated that the present invention will save a service person considerable time in identifying and remedying faults and it is hoped that many faults could be remedied over the telephone due to the information which will now be available to the service person at their remote location.
*rv r.;
32 b j 9
WHAT WE CLAIM IS:
1. An appliance comprising:
sound generating means adapted to, upon appropriate energisation, produce audible tones ordinarily provided as a warning and/or verification signal to a user,
user input means to allow a user to enter instructions to said appliance,
data storage means which stores information on the operation of said appliance, control means which stores a program which causes the controller to:
i) receive said instructions from said user input means,
ii) enter a special operating mode in response to said user input, and iii) energise said sound generating means to issue audible tones in a digital predetermined sequence corresponding to information stored in said data storage means,
wherein said audible tones are adapted to be received by signal conversion means positioned remotely to said appliance, there existing an air gap between said appliance and said signal conversion means, said signal conversion means converts said audible tones into an electronic signal which may then be transmitted to a remote receiving means electronically.
2. An appliance as claimed in claim 1 wherein said sound generating means comprise an audio speaker or buzzer.
3. An appliance as claimed in claim 1 or claim 2 wherein said control means controls the duration of said audible tones emanating from said sound generating means so that said audible tones correspond to said information.
4. An appliance as claimed in claim 1 or claim 2 wherein said control means controls the frequency of said audible tones emanating from said sound generating means so that said audible tones correspond to said information.
• . _/ r _ni i OrnCc j i CJF N.Z. ]
! 2 3 MAR 2000
~r
. An appliance zs claimed in claim 1 wherein said signal conversion means comprise a telephone handset.
6. An appliance as claimed in claim 1 wherein said remote receiving means comprise a further control means which receives said electronic signal and extracts said information relating to the operation of said appliance.
7. An appliance as claimed in claim 6 wherein said remote receiving means and further control means are also provided with output means to output said information.
8. An appliance as claimed in claim 6 wherein said remote receiving means and further control means are also provided with second data storage means which stores said information.
9. A method of controlling an appliance, said appliance having sound generating means adapted to, upon appropriate energisation, produce audible tones ordinarily provided as a warning and/or verification signal to a user,
user input means to allow a user to enter instructions to said appliance,
data storage means which stores information on the operation of said appliance, control means which controls the operation of said appliance, said method comprising the steps of:
i) receiving said instructions from said user input means,
ii) entering a special operating mode in response to said user input,
iii) energising said sound generating means to issue audible tones in a predetermined sequence corresponding to information stored in said data storage means,
iv) receiving said audible tones at a signal conversion means positioned remotely to said appliance, there existing an air gap between said appliance and said signal conversion means,
j OF N.Z. 3
v) converting said audible tones into an electronic signal, and vi) transmitting said electronic signal to a remote receiving means electronically.
. A method of controlling an appliance as claimed in claim 9 wherein said sound generating means comprise an audio speaker or buzzer.
11. A method of controlling an appliance as claimed in claim 9 or claim 10 wherein said step of energising said sound generating means comprises controlling the duration of said audible tones emanating from said sound generating means so that said audible tones correspond to said information.
12. A method of controlling an appliance as claimed in claim 9 or claim 10 wherein said step of energising said sound generating means comprises controlling the frequency of said audible tones emanating from said sound generating means so that said audible tones correspond to said information.
13. A method of controlling an appliance as claimed in claim 9 wherein said signal conversion means comprise a telephone handset.
14. A method of controlling an appliance of controlling an appliance as claimed in claim 9 wherein said remote receiving means comprise a further control means and said method includes the step of:
vii) receiving said electronic signal, and viii) extracting said information relating to the operation of said appliance from said electronic signal.
. A method of controlling an appliance as claimed in claim 14 wherein said remote receiving means and further control means are also provided with output means and said method includes the step of cutputting said information to said output means.
. Lni7 GFt-xH ! or N.l. J
j 2 3 MAR 2000 I
32 ti 19 i
16. A method of controlling an appliance as claimed in claim 14 wherein said remote receiving means and further control means are also provided with second data storage means and said method also includes the step of storing said information in said second data storage means.
17. An appliance substantially as herein described with reference to and as illustrated by the accompanying drawings.
18. A method of controlling an appliance substantially as herein described with reference to and as illustrated by the accompanying drawings.
INILLlu.lu< rr ,r'utl"V G'-FlCE | • jt- i\Z I
2 3 MAR 2000
7;
This invention relates to appliances and more particularly, though not solely to home appliances with inbuilt sound generating devices capable of producing audible noise in a controlled manner which may then be transmitted (for example, by telephone) as data to a remote receiving location.
Some home appliances (such as laundry washing machines and refrigerators) are today fitted with a serial communications pott (or other similar output device) allowing the appliance to be connected to a personal computer which, utilising purpose built software, may interrogate information stored within the appliance. The information stored by the appliance may include the appliance's present status, temperatures, status of valves/shutters, user settings, fault information and number of cycles completed. As it is sometimes difficult or inconvenient for a service person to visit the site at which the appliance is located (which may be many kilometres from the service person's base) some existing home appliances have been fitted with modems to allow a service person to remotely interrogate data stored in the appliance. However, the additional cost involved in fitting all production appliances with a modem is unacceptably high. In addition, the user of the machine would be required to connect a telephone line to the appliance (either sharing an existing telephone line or installing a new one) and this is clearly unacceptable.
Most modern home appliances are at least fitted with a buzzer or beeper (for example a simple piezo-electric device) to, for example, alert the user that the washing cycle of a laundry washing machine or dishwasher is completed or the door of a refrigerator is open. Accordingly, it would be an advantageous improvement to utilise the existing noise producing capability of the appliance in the production of a data signal rather than adding additional expensive hardware.
In any event, if the audible data signal is produced at the home appliance and the point of entry of the data signal into the communications network (for example the telephone network) is some distance from the appliance, then the audible data signal must first travel some distance through (and be influenced by) the home appliance's surroundings (for example, air, walls, carpets, curtains and furniture). These surroundings introduce changes to the data signal through the introduction of noise (such as the
! u.'.-v I'l.^fcrilY OhFlCfc (
!' Uf- N.Z. 1
i
2 3 Ma* 2000 i
328191
introduction of echos) which must somehow be accounted for or removed from the transmitted data signal.
Accordingly, it is an object of the present invention to provide an appliance comprising:
sound generating means adapted to, upon appropriate energisation, produce audible tones ordinarily provided as a warning and/or verification signal to a user,
user input means to allow a user to enter instructions to said appliance,
data storage means which stores information on the operation of said appliance,
control means which stores a program which causes the controller to:
i) receive said instructions from said user input means,
ii) enter a special operating mode in response to said user input, and iii) energise said sound generating means to issue audible tones in a digital predetermined sequence corresponding to information stored in said data storage means,
wherein said audible tones are adapted to be received by signal conversion means positioned remotely to said appliance, there existing an air gap between said appliance and said signal conversion means, said signal conversion means converts said audible tones into an electronic signal which may then be transmitted to a remote receiving means electronically.
In a second aspect, the invention consists in a method of controlling an appliance, said appliance having sound generating means adapted to, upon appropriate energisation, produce audible tones ordinarily provided as a warning and/or verification signal to a user,
user input means to allow a user to enter instructions to said appliance,
data storage means which stores information on the operation of said appliance, control means which controls the operation of said appliance, said method comprising the steps of:
i) receiving said instructions from said user input means,
ii) entering a special operating mode in response to said user input,
iii) energising said sound generating means to issue audible tones in a predetermined sequence corresponding to information stored in said data storage means,
■ i.WLu.v:o/v -'criFY OFFICE j
7 ■
iv) receiving said audible tones at a signal conversion means positioned remotely to said appliance, there existing an air gap between said appliance and said signal conversion means,
v) converting said audible tones into an electronic signal, and vi) transmitting said electronic signal to a remote receiving means electronically.
To those skilled in the art to which the invention relates, many changes in construction and widely differing embodiments and applications of the invention will suggest themselves without departing from the scope of the invention as defined in the appended claims. The disclosures and the descriptions herein are purely illustrative and are not intended to be in any sense limiting.
The invention consists in the foregoing and also envisages constructions of which the following gives examples.
One preferred form of the present invention will now be described with reference to the accompanying drawings in which;
Figure 1 is a schematic diagram showing the data transmission path in the communication system according to the preferred embodiment of the present invention, Figure 1A is a detailed schematic of data communications at the remote site shown in Figure 1,
Figure 2 is a diagram showing how the data packets transmitted in the communications system of Figure 1 are made up and how the component bytes of the packets and the packets themselves are divided in time,
Figure 2A is a diagram showing how the data bits are arranged within each byte of the packets shown in Figure 2,
Figure 3 is a diagram showing the complete structure of the data signal transmitted in the communications system shown in Figure 1,
Figure 4 is a graph of signal strength versus time for part of the data signal transmitted in Figure I which has been filtered at the frequency of the start/sync bit to demonstrate the detection of sync bits,
Figure 5 is a graph of signal strength versus time for part of the data signal transmitted in Figure 1 which has been filtered at the frequency of the start/sync to
demonstrate an end of download condition,
Figure 6 is a graph of signal strength versus time for part of the data signal transmitted in Figure 1 which has been filtered at the frequency of the start/sync to demonstrate a start of new download condition,
Figure 7 is a graph of signal strength versus time for two packets from the data signal transmitted in Figure 1 after the frequency domain data bit extraction filter has been applied,
Figure 8 is a graph of signal strength versus time for the two packets of Figure 7 after the time domain filter has been applied,
Figure 9 is a "bit presence table" for two packets from the data signal transmitted in Figure 1 showing the normalised "value" for each bit after the time domain filter has been applied,
Figure 10 is a graph showing the distribution of "bit presence vales" for the data in Figure 9,
Figure 11 is a table showing the threshold values which have been determined for each of the bits in each packet shown in Figure 9,
Figure 12 is a table showing the actual data produced, from the data signal transmitted in Figure 1, at the remote service centre after the download and data extraction have been carried out.
With reference to the figures and in particular Figure 1, an appliance, for example a home appliance such as an automatic clothes washing machine 1 is shown. It should be noted that the invention is to be described with reference to a clothcs washing machine, however other appliances such as, for example, refrigerators, freezers, clothes driers, dishwashers, stoves, microwave ovens could just as validly be used. The washing machine 1 is preferably of an automatic type such as that sold under our Trade Mark SMART DRIVE. The washing machine includes a spin tub within a water container, the spin tub rotated by an electric motor (not shown). Washing machine 1 has a control means or electronic controller 2 which is programmed to carry out the operation of the washing machine by executing software (stored in a memory device 4 associated with the controller) in response to inputs from physical sensors within the machine and also from
328 191
user input such as input buttons 3.
During execution of the software controlling operation of washing machine 1, various inputs, statuses (such as drain pump on, hot water valve open), serial number, number of cycles completed, alerts, errors, fauits (such as drain pump blocked, cold water tap not turned on or motor error) and other problems are detected and recorded in memory device 4. This information, stored in memory device 4, could be as a result of a fault which has caused the washing machine to stop operation (awaiting technical assistance) or could be minor, not requiring the washing machine to be stopped.
As can be seen in Figure 1, controller 2 is also connected to control the energisation of a sound generating means 5. Sound generating means 5 may comprise a loudspeaker or piezo buzzer as is ordinarily provided on modern electronic washing machines and other home appliances. As in conventional home appliances, controller 2 is programmed to energise speaker 5 to produce audible tones of predetermined frequencies and/or durations, in a similar way to modern electronic household or office equipment which produce an audible tone at predetermined times to alert a user to certain events. The audible signal thus produced is encoded with the information stored in memory device 4. The audible data signal is transmitted to a signal conversion means, for example a standard telephone handset where the audible data signal is converted to an electronic data carrying signal for transmission through the telephone network.
The audible data signal could be compared to that produced by a facsimile machine or modem however there are a number of significant differences due to the requirement that the audio signal in the present system must travel through an air gap between the buzzer and the telephone network. When the audio signal passes through the air gap it is may be blocked by objects such as walls or furniture and may also be reflected off walls and furniture thus producing a delayed echo signal at the telephone handset.
In use, a user of the washing machine 1, when discovering that the machine has developed a fault, would telephone the manufacturer (or manufacturer ' s agent) at a service centre 6 , in the normal way to report the fault. Ordinarily a service person 7 wouid be despatched to investigate the fault, identify the problem and rectify it. However, in order to make this process more efficient, in the system according to the present invention, once
? 7
• _7. 0 / P f the user of the washing machine is in telephone contact with the service centre via the user's telephone 8, the service person (via their own telephone 14) will instruct the user to hold the handset 9 of their telephone near the console of the washing machine and press a series of buttons to place the washing machine into a special operating mode. Once in the special operating mode, controller 2 will energise speaker 5 in such a way as to produce audible tones corresponding to (or encoded with) information stored in memory device 4 (one preferred method of encoding is described in detail below).
The audible tones produced by speaker 5 are then converted to electrical audio signals by transducer 11 in the mouth piece of handset 9. The electrical audio signals are then transmitted through the Public Switched Telephone Network 12 to the service centre 6. At the service centre the audio electrical signals are then passed through a signal conditioning circuit 15 (such as a transformer and/or filter) to a remote receiving means 13 (which may comprise a further control means or preferably a personal computer) at service centre 6. Personal computer 13 executes software which enables it to decode the audio electric signals to reproduce the original information stored therein and display it to the service person 7.
The data thus transmitted to the service centre could then be stored in a master database to provide invaluable practical usage and operational information for washing machines or other home appliances "in the field" as well as providing accurate and pertinent data to the service person to evaluate any problem with the washing machine. The service person may then speak to the user again over the telephone line and issue instructions on how to fix the problem (for example resetting the machine or turning on a water valve which has accidentally been left off) depending on the established cause or arrange a suitable time for the service person to call to service the machine, in which case the service person will ensure that they have the required spare parts and tools to remedy the problem before departing the remote service centre.
Illustrative Example
-8- ;
The following is a broad overview of one particular embodiment of an application of the present invention followed by a more detailed explanation of the embodiment.
Recording The Download
The user of the appliance (this example relates to a laundry washing machine 3) dials the telephone number of a service centre 6. After discussing their situation with the operator 7 at the service centre the user would be instructed place the telephone down and proceed to the washing machine 3 and presses the key or key combination (on the standard user interface panel) required to start a download in accordance with software stored in control means 2. The washing machine 3 then preferably makes one beep via buzzer 5 to indicate that the key or keys were pressed and then preferably there is a delay of 2 seconds before the data download starts at which time the buzzer commences a stream of audible tones which are transmitted from the washing machine 3, through the air and into the telephone mouthpiece. The operator 7 at the remote service centre 6 initiates the recorder part of a software program stored in personal computer 13 which starts analysing the input download data signal and records it to a storage means on personal computer 13 (for example in RAM or on a magnetic disk).
Data Extraction
Once the download is completed, the user of the washing machine 3 picks the telephone up and waits for operator 7 at the service centre 6 to come back on to the telephone line. During this time, the personal computer 13 at the remote service centre 6 extracts the data from the download. Because there is a possibility that errors occurred in the transmission/extraction process (due to background noise and/or signal weakness) the software according to the present invention is capable of taking several downloads from the same washing machine and joining them together to obtain one good download, therefore if there are errors, the operator of the personal computer would instruct the user to place the telephone down and repeat the procedure to provide personal computer 13
-9- *
more download data which hopefully can be combined with the already recorded data to produce an error free data record.
Analysing The Download Data
Once an error free download is extracted the operator of the PC would look at the data and inform the customer of the problem with their product.
The following is a detailed description of the preferred embodiment of the present invention starting with the way in which the data signal is formatted and produced by the software executed by controller 2 of washing machine 3 and continuing on to the recorder and extractor phases of the software executed by personal computer 13 at the service centre 6.
Detailed Description of Download Format (From Appliance to Telephone/PC)
"Byte"
With reference in particular to Figures 2, 2A and 3, in the present system a "byte" of data comprises a series of 9 data bits. In the audible signal generated by buzzer 5 and each bit is represented by a particular tone/frequency, for example, the 5th data bit in each 9 bit byte is always represented by a particular frequency, preferably 3.1kHz. When a bit is true/1 the tone is generated, when the bit is false/0 no tone is generated. At the start of each 9 bit byte there is an extra bit this is the start bit, it is always present and is used by the extractor software for synchronisation (referred to in this specification as the "sync bit"). Accordingly, as shown in Figure 2A, each 9 bit byte comprises 8 data bits preceded by a sync bit.
All bits including the start bit are 30ms in length, this length was determined by the Q (quality factor) requirements of the filter used to extract each bit, the higher the Q of the filter the less crosstalk there is between bits/frequencies. The length of each bit (30ms) can be shorter but this would compromise the performance cf the download
with respect to the distance from the appliance to the telephone.
In this example 9 distinct frequencies are used. We have found that the time between any one frequency being reused should be as long as possible, this is important for handling large echo times that are present in the environment that this system will be used. Accordingly, by maximally separating each of the frequencies in time, the extraction software is able to ignore echo signals arriving at the telephone mouthpiece at a time when a different frequency signal is expected. A lesser number of frequencies could be used but the time for a single frequency to be reused should not be less than, for example, 100ms. That is, the minimum number of frequencies = (100ms / bit duration (ms)) + 1. The number of frequencies used will also be influenced by the ability of the buzzer in the appliance to generate those frequencies at a satisfactory amplitude.
It should be noted that the start bit frequency must only be used for the start bit (the reason for this will become apparent later). The way in which the frequencies are assigned to each bit is of importance, the frequencies are assigned in such a way (see table 1) that there is a maximum space between the bits in frequency as well as time (that is when a given tone for a bit is used the next tone (in frequency) is not used for a minimum of 3bits (150Hz), this keeps the crosstalk between bits to a minimum). We have arranged that the start bit uses the highest frequency, this is one of the most separated frequencies (the lowest frequency is the other).
-11
<C o
7
bit frequency frequency frequency gap
No.
No.
(112)
(Hz)
Start
0
3200
150
0
3
3050
150
1
6
2900
250
2
1
3150
150
3
4
3000
150
4
7
2850
250
2
3100
150
6
2950
150
7
3
2800
Table 1
Packet
As may be seen in Figure 2, the data signal transmitted by buzzer 5 is made up of a series of packets. An important note to make before explaining the packet format is that each packet is analysed individually and therefore is designed to contain all the information required for its extraction, no information is used from other packets to reproduce the original packets from the analogue signal recorded on personal computer 13.
The packets are compiled by control means 2 in a digital form and then converted to an equivalent analogue signal for transmission by buzzer 5. Each packet has 11 bytes (each byte containing 8 data bits and a start/sync bit), the first byte is always FFHex (or $FF). This byte is in the packet so that each bit is represented at least once. This is important for the extraction software, for it needs to know what the signal strength for a true/1 is. The next 8 bytes contain data in the start bit + 8 data bit format. The last 2 bytes of each packet contain the CRC (cyclical redundancy check)
code for the packet, this CRC code is the result of a calculation performed using the FFHex byte and the 8 data bytes as is well known in the art. The reliability of the CRC code will be explained below in the section about the extraction software. There is no space (time) between each byte in the packet.
Packets
The first packet in the download is a reference packet and all the bytes in this packet are FFHex (including the CRC code bytes. The timing for the packets is shown in Figure 2. The number of data packets is of course unimportant but affects the total download time, accordingly it would be beneficial to minimise the total amount of data to be transmitted.
Description of Recorder Software
Outline
The tones produced by the washing machine buzzer 5 are recorded directly from the connection to the telephone line by the personal computer 13 using a sound card connected to the telephone line. As the incoming tones are recorded the software will automatically detected the start and end of the download (stopping the recording of the incoming signal).
Sync Acquisition
The raw input data is obtained and recorded in memory of personal computer 13, preferably in 512 byte (8 bit) blocks. In order to determine, for example, when a download has started or stopped, the recorder part of the software detects the start/sync bits and analyses their positions relative to each other. As all the sync detecting actions of the recorder must be carried out in real time (and while the recording is
Ma 19 1
taking place), the minimum requirements of computer 13 are preferably of an INTEL PENTIUM 166MHz processor running MICROSOFT WINDOWS NT4.0 or faster.
The first step in the recorder software is to filter the raw incoming waveform (in addition to storing it). The filter frequency is at the start bit freq (sync bit) so that only the start bits are passed. The filter is applied for 18.15ms with 4.5ms intervals, this is done so that the personal computer can carry out the necessary calculations in real time and the algorithm does not require any more information than this to find the sync bits. The second thing that happens at this time is the peak input value for the last 46.4ms is worked out and stored. Every second, 220.5 filter pointers are recorded and 21.5 peek values.
Next, the filter results are integrated. This integration is carried out over a 30ms period (the time period for 1 bit/start bit/sync bit) and an integration result is calculated for every filter result. The filtered waveform is integrated (in real time) as the area or energy of the signal is more important than the amplitude in deciding if a peak is actually a sync/start bit.
Next the sync/start bits are found in the integrated wave (described below). The sync detector software only analyses the last 3.375s of recording when looking for sync bits, this is because all the signal conditions it is looking for will fit into this period, the signal conditions are end of a download and start of a new download.
Sync detection
It should be noted that this will only cover the detection of the sync bits, not the signal conditions (their detection is described below). An example is shown in Figure 4 wherein 7 sync bits are present in the last 3.375s of input. The software takes all of the last 3.375s and works out the maximum point and takes the 30% (of maximum) level as the threshold for what is and is not a sync bit.
Signal Condition Detection
M. « 1 9 1
After the sync bits have been located (note that if more than 11 or less than 1 sync bit/s have been found then the software will not analyse for signal conditions as the data is obviously in error) the next step is to look for the following conditions, either end of a download or start of a new download.
End of a download
For this condition the software looks for a greater than or equal to 2.0s space (no sync bits) from the newest sync bit to the start of the 3.375s window if this is found it will then check there at least 3 sync bits in the 3.375s window. If that is true then it checks the gap between the 3 sync bits to see if it is greater than 0.21s and less than 0.33s (0.27s nominal) and if that is the case then the end of a download has been found (see Figure 5 for an example).
Start of a new download
For this condition the software looks for a greater than or equal to 1.0s space (no sync bits) from the oldest sync bit to the end of the 3.375s window if this is found it will then check there at least 3 sync bits in the 3.375s window. If that is true then it checks the gap between the 3 sync bits to see if it is greater than 0.21 s and less than 0.33s (0.27s nominal), if that is the case then the start of a new download has been found (see Figure 6 for an example).
End of Recorder Execution
When the end of a download is detected the software will take the recorder input and trim off the ends so that the waveform that is given to the extractor software is only as long as it need to be, this is to make it as fast as possible. The position of the sync/start bits can also be passed to the extractor software although the extractor software carries out its own, more accurate detection of start/sync bits (not in real
y i o -
> sy i time).
Description of the Extractor Software
The extractor software takes the raw waveform outputted from the recorder and extracts the data signal from it, it does this in several steps. Each step of the extraction will be described separately.
Sync Bit Extraction
The first step in the extractor phase is to locate all of the sync bits, record their position in time and check that the determined positions are all correct in time. The data that is provided to the extractor is the raw recorded waveform. The detection of sync bits is performed in a fashion to that carried out by the recorder phase of the software, the main difference is that the extractor analyses all of the raw waveform.
The first thing to be done is to find the first sync bit. For the first sync bit to be valid there must be a period of 0.9s of no signal leading up to it. From this point the extractor will use this first sync bit as a reference in time for finding the remaining sync bits in the packet and the first sync bit in the next packet (it should be noted that when the first sync bit of the next packet is found it is used as the new reference point so that the extractor does not suffer from accumulated timing errors when checking the timing of sync bits). Because the timing of transmitted sync bits is exact the extractor will skip 240ms of raw waveform after each sync bit is found before looking for the next (note that sync bits are spaced 270ms apart). When a sync bit is not found where it is expected to be that fact is recorded in a list of sync bits, when all the sync bits in the raw waveform are found the list of sync bits will contain an ei.try for all possible sync bits, recording their position or recording if they were not found.
Data Bit Extraction
Filter
32b 1 9 1
The first step in extracting the data is to filter the raw waveform at each of the frequencies that represent each of the data bits. The filter frequencies could be searched for to find the peak signal for each bit using the known frequencies the software uses as a starting point. The frequency search would solve any problem of the frequencies moving due to product hardware.
Filter in time
The next step is to filter each "frequency filter result" in time, this is done to eliminate any echo cf a bit and crosstalk from other bits. The process will be described as it relates to one bit, all bits are the same except for the timing of the application. With respect to each sync bit each bit should appear (if present) in a known position in time, so knowing this information the extractor will multiply the "frequency filter result" around the known position of a bit by a bell shaped curve. This is done for all the bits with a known sync bit. The bell curve is only 2 bits wide and is multiplied with the "frequency filter result" for a bit width in time, therefore the remainder of the byte is multiplied by zero. A bell shaped curve is used so a bit that is slight incorrect in time will still be passed through the filter but if a bit is more incorrect in time it will progressively be eliminated the further away from its correct position it is. Figure 7 shows two packets after the filter for a bit is applied but before the filter in time is applied. Figure 8 shows the same waveform after the filter for time is applied.
Bit presence
Now that all the bit waveforms have been filtered in time the extractor will determine if a bit is present (true) or not (false). This process is carried out for each packet and each bit separately but is the same for all bits and packets. First, a check is
i7- ^iCviQl made that all the start bits in a packet are known. If this is true then for a given bit the filtered in time waveform is added up for 270ms starting at the known position of the bit. The result of this integration is the "presence value" and is calculated for the same bit in each byte of the packet giving 11 presence values for a bit in a packet.
Next the maximum presence value is determined and all the bit presence values are scaled to that maximum value. After all bits in each packet are analysed there will be 8*12=96 sets of presence values, each set containing 11 values. Figure 9 shows the bit presence values (for bits 0 to 7) from the first two packets (A and B), it can be seen that for a given bit the presence value is scaled to the maximum presence for a given packet (that is each of the values for a particular bit are scaled so that the maximum value is 100).
Bit presence threshold
Now that all of the bit presence values are known, the next step is to find a threshold value that can be used to determine whether a particular bit is in a true or false state in order to reconstruct the original data. Anything below this threshold value will become a false/0 while anything above will become a true/1.
Preferably two threshold values are determined but only one may be used (this is explained below). Up to two thresholds (but at least one) are found for each bit, for each packet, for example bit 0, packet 0(12 packets*8 bits = 96 and possibly up to 192 threshold values). The first threshold pickcd will be 1% below the top of the largest gap between presence values, the second threshold will be the next largest gap but only if that gap is larger than 20% (see the example histogram of Figure 10 which is for the data in Figure 9 in the right hand half of row bO). That is, the presence values for each bit position within a packet are analysed to find where the one or two largest gaps occur between the values. The threshold value could be placed anywhere in the gap but for convenience we have decided that the threshold will be 1% beneath the value at the top of the gap. In the example shown in Figure 10, the horizontal axis has been divided in to 5% blocks but in practicc the software is capable of 1% increments.
Figure 11 shows the threshold values determined for bits 0 to 7 of packet 0 (PA) to packet 11 (PL). The right hand half of the table holds a number of second threshold values.
Data extraction
The last step is to extract the data from the recorded signal. Using the first thresholds found for each bit, for each packet (for example bit 0, packet 0) the presence level for each byte is turned into a 1 (true) or 0 (false) depending on whether the presence level is above (1, true) or below (0, false) the threshold value. This comparison is carried out for every byte in the packet for every bit.
Once all the bytes in a packet have been extracted the first 9 bytes are used to calculate the CRC code which is compared to the last two bytes (the transmitted CRC code) and if they are equal the data is taken to be correct. If the CRC codes do not match the second thresholds are used to determine new, alternative bit states and the new CRC value is then checked . This process is repeated until good data (matching CRC codes) is found or no possible combinations of second thresholds are available. With 8 second thresholds possible (one for each bit position) it is possible to attempt 256 different extraction combinations in the data). With every attempt at extracting valid data the random chance increases of obtaining a bad data CRC code (bad data) and bad transmitted CRC code which actually match (65535/attempts), lowering the integrity of the data extracted (if the CRC's match).
Figure 12 shows the final results obtained from an actual download (as do the other figures) with the packet contents displayed across the table. The final column indicates if the error checking was successful (OK = error checking successful using first threshold, OK3=error checking successful using third threshold).
In an addition to the system described above, it would also be possible for the service person to instruct personal computer 13 to pass electronic control signals back to the washing machine via the PSTN to emanate from transducer 10 of the earpiece of handset 9 of the user's telephone. If the user were to hold the earpiece of the handset
•• 32°19 1
near the speaker/buzzer 5 then it would act as a microphone, relaying the information in the sound energy from transducer 10 to control means 2 in the form of audio electrical signals having the electronic control signals encoded therein. The electronic control signals could then be processed by controller 2 causing changes in status or settings within the washing machine to overcome some problems or faults. The transmitted signal could also represent new or updated operating software which could then be stored by the controller of the washing machine in memory for execution during normal operation of the appliance.
An improvement to the above mentioned system could be the removal of the reference packet (packet 0, comprising 11 *FFHex). A further improvement could be to add a further byte in each packet to serve as a packet number identifier. It would be useful to know the packet number in cases such as when the beginning or end of a download has been cut off.
Thus it can be seen that at least in the preferred form of the present invention, a low cost system remote diagnostic system for producing, transmitting and reliably extracting valuable usage and fault information from a remote appliance to a service centre is provided. The system disclosed has the advantage of utilising existing hardware found in most if not all existing appliances with only software alterations required to realise the invention. It is anticipated that the present invention will save a service person considerable time in identifying and remedying faults and it is hoped that many faults could be remedied over the telephone due to the information which will now be available to the service person at their remote location.
Claims (18)
1. An appliance comprising: sound generating means adapted to, upon appropriate energisation, produce audible tones ordinarily provided as a warning and/or verification signal to a user, user input means to allow a user to enter instructions to said appliance, data storage means which stores information on the operation of said appliance, control means which stores a program which causes the controller to: i) receive said instructions from said user input means, ii) enter a special operating mode in response to said user input, and iii) energise said sound generating means to issue audible tones in a digital predetermined sequence corresponding to information stored in said data storage means, wherein said audible tones are adapted to be received by signal conversion means positioned remotely to said appliance, there existing an air gap between said appliance and said signal conversion means, said signal conversion means converts said audible tones into an electronic signal which may then be transmitted to a remote receiving means electronically.
2. An appliance as claimed in claim 1 wherein said sound generating means comprise an audio speaker or buzzer.
3. An appliance as claimed in claim 1 or claim 2 wherein said control means controls the duration of said audible tones emanating from said sound generating means so that said audible tones correspond to said information.
4. An appliance as claimed in claim 1 or claim 2 wherein said control means controls the frequency of said audible tones emanating from said sound generating means so that said audible tones correspond to said information. -21 -
5. An appliance as claimed in claim 1 wherein said signal conversion means comprise a telephone handset.
6. An appliance as claimed in claim 1 wherein said remote receiving means comprise a further control means which receives said electronic signal and extracts said information relating to the operation of said appliance.
7. An appliance as claimed in claim 6 wherein said remote receiving means and further control means are also provided with output means to output said information.
8. An appliance as claimed in claim 6 wherein said remote receiving means and further control means are also provided with second data storage means which stores said information.
9. A method of controlling an appliance, said appliance having sound generating means adapted to, upon appropriate energisation, produce audible tones ordinarily provided as a warning and'or verification signal to a user, user input means to allow a user to enter instructions to said appliance, data storage means which stores information on the operation of said appliance, control means which controls tne operation of said appliance, said method comprising the steps of: i) receiving said instructions from said user input means, ii) entering a special operating mode in response to said user input, iii) energising said sound generating means to issue audible tones in a predetermined sequence corresponding to information stored in said data storage means, iv) receiving said audible tones at a signal conversion means positioned remotely to said appliance, there existing an air gap between said appliance and said signal conversion means, 52 '6 \ 9 -22- v) converting said audible tones into an electronic signal, and vi) transmitting said electronic signal to a remote receiving means electronically.
10. A method of controlling an appliance as claimed in claim 9 wherein said sound generating means comprise an audio speaker or buzzer.
11. A method of controlling an appliance as claimed in claim 9 or claim 10 wherein said step of energising said sound generating means comprises controlling the duration of said audible tones emanating from said sound generating means so that said audible tones correspond to said information.
12. A method of controlling an appliance as claimed in claim 9 or claim 10 wherein said step of energising said sound generating means comprises controlling the frequency of said audible tones emanating from said sound generating means so that said audible tones correspond to said information.
13. A method of controlling an appliance as claimed in claim 9 wherein said signal conversion means comprise a telephone handset.
14. A method of controlling an appliance of controlling an appliance as claimed in claim 9 wherein said remote receiving means comprise a further control means and said method includes the step of: vii) receiving said electronic signal, and viii) extracting said information relating to the operation of said appliance from said electronic signal.
15. A method of controlling an appliance as claimed in claim 14 wherein said remote receiving means and further control means are also provided with output means and said method includes the step of outputting said information to said output means. -23- 328191
16. A method of controlling an appliance as claimed in claim 14 wherein said remote receiving means and further control means are also provided with second data storage means and said method also includes the step of storing said information in said second data storage means.
17. An appliance substantially as herein described with reference to and as illustrated by the accompanying drawings.
18. A method of controlling an appliance substantially as herein described with reference to and as illustrated by the accompanying drawings. " IMC
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NZ32819198A NZ328191A (en) | 1998-06-25 | 1998-06-25 | Household appliance with digital tone generator to allow remote problem diagnosis via phone |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NZ32819198A NZ328191A (en) | 1998-06-25 | 1998-06-25 | Household appliance with digital tone generator to allow remote problem diagnosis via phone |
Publications (1)
Publication Number | Publication Date |
---|---|
NZ328191A true NZ328191A (en) | 2000-04-28 |
Family
ID=19926317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NZ32819198A NZ328191A (en) | 1998-06-25 | 1998-06-25 | Household appliance with digital tone generator to allow remote problem diagnosis via phone |
Country Status (1)
Country | Link |
---|---|
NZ (1) | NZ328191A (en) |
-
1998
- 1998-06-25 NZ NZ32819198A patent/NZ328191A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU729285B2 (en) | Appliance communication system | |
US20080036619A1 (en) | Data download system and method | |
AU2009243339B2 (en) | Home appliance and home appliance system | |
AU2009243293B2 (en) | Home appliance system and operation method thereof | |
EP2506548B1 (en) | Controller for a door entry system | |
US6026152A (en) | Ring count controlled by incoming call related information | |
US6297729B1 (en) | Method and apparatus for securing communications along ac power lines | |
CA2575115A1 (en) | Remote control of a speaker phone device as a standalone device or as part of a security system | |
JP2927940B2 (en) | Method of registering a unit in a network having at least one part composed of open channels | |
NZ328191A (en) | Household appliance with digital tone generator to allow remote problem diagnosis via phone | |
JP2000075045A (en) | Concealed microphone detector and detecting system | |
DE10214794A1 (en) | Monitoring device for domestic appliance has arrangement that detects monitored domestic machine operating state irrespective of type and construction using at least one machine operating parameter | |
JPS5927141B2 (en) | Signal judgment method | |
US8023627B1 (en) | Method and apparatus for retrieving information from appliances | |
GB2312811A (en) | Alarm systems | |
US10897542B2 (en) | Network-enabled door station extender | |
CN201904838U (en) | Intelligent remote control device | |
CN108632734A (en) | Wire breakage detector, signal processing unit and wire break detection method | |
KR20180050697A (en) | Method and system for obtaining at least one acoustic parameter of an environment | |
WO2001057824A1 (en) | System and method for operation of a device using caller id function of a telephone | |
CN201114322Y (en) | Digitalized intelligent alarming and remote-control system | |
KR19990081246A (en) | Home automation device control method with voice recognition | |
JP2003174517A (en) | Communication controller and remote security system | |
EP1113675A1 (en) | Robust CAS detection method | |
KR100739206B1 (en) | Apparatus and method for remocon registration of home automation system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RENW | Renewal (renewal fees accepted) | ||
RENW | Renewal (renewal fees accepted) |