# Patent

## Title
Method to demodulate a signal component from a sampled input signal and field bus device

## Abstract

A method to determine the magnitude MA of a signal component with frequency ωA from a set of N digital samples of an input signal acquired at a sampling rate R, said input signal having a discrete spectral representation having n bins with frequencies ω1, . . . , ωn and corresponding magnitudes M1, . . . , Mn, the spectral representation being derivable from the input signal using a transform, involving choosing an extraction bin with index kε[1, . . . , n] and frequency ωk≠ωA from the spectral representation; determining a magnitude Mk of this extraction bin; determining an allocation factor indicating a portion Mks of a sinusoidal signal with frequency ωA and unity magnitude that is allocated to the extraction bin when the transform is applied to the sinusoidal signal to generate a spectral representation out of the sinusoidal signal; and determining the magnitude MA of the signal component from the magnitude Mk of the bin in combination with the factor.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
Priority is claimed to European Patent Application No. 15 170 532.4, filed on Jun. 3, 2015, the entire disclosure of which is hereby incorporated by reference herein.
FIELD
The invention relates to the demodulation of signals with particular frequencies of interest from an input signal that is digitally sampled at a fixed sampling rate. The invention also relates to a field bus device that incorporates this demodulation.
BACKGROUND
A Highway Addressable Remote Transducer (HART) field bus system transmits data between devices connected to the field bus using frequency shift keyed (FSK) signals. According to the HART standard, a frequency of 1200 Hz represents bit 1, and a frequency of 2200 Hz represents bit 0. This FSK signal may additionally be superimposed onto an analog sensor signal if an existing line that carries such a signal is used as the physical medium for the field bus.
There is therefore a need to know at any time whether a given input signal contains a component modulated at 1200 HZ or whether it contains a component modulated at 2200 Hz. This is done by acquiring a set of digital samples of the input signal over a time interval and checking a spectral representation of this set of samples for the presence of 1200 Hz and 2200 Hz components.
The computing power available in each individual device on the field bus for this purpose is very modest, since the microcontroller unit (MCU) of the device plays a major role in terms of manufacturing cost and power consumption. Therefore, the frequency spectrum of the input signal is windowed into only a few discrete bins corresponding to frequencies that are integer multiples of a base frequency. This base frequency is typically 1200 Hz, so the corresponding magnitude can be extracted individually very easily without computing the magnitude of all bins of the spectrum. However, the magnitude of a signal modulated at 2200 Hz is not readily available. An approximation of this magnitude can be calculated using the Goertzel algorithm, but this is computationally expensive.
SUMMARY
An aspect of the invention provides a method to determine the magnitude MA of a signal component with frequency ωA from a set of N digital samples of an input signal acquired at a sampling rate R, the input signal having a discrete spectral representation containing n bins with frequencies ω1, . . . , ωn and corresponding magnitudes M1, . . . , Mn, the spectral representation being derivable from the input signal using of a transform, the method comprising: choosing an extraction bin with index kε[1, . . . , n] and frequency ωk≠ωA is chosen from the discrete spectral representation; determining a magnitude Mk of this extraction bin; determining an allocation factor, the allocation factor indicating a portion Mks of a sinusoidal signal with frequency ωA and unity magnitude that is allocated to the extraction bin when the transform is applied to the sinusoidal signal, thereby generating a spectral representation out of the sinusoidal signal; and determining the magnitude MA of the signal component from the magnitude Mk of the extraction bin in combination with the allocation factor.



BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will be described in even greater detail below based on the exemplary figures. The invention is not limited to the exemplary embodiments. All features described and/or illustrated herein can be used alone or combined in different combinations in embodiments of the invention. The features and advantages of various embodiments of the present invention will become apparent by reading the following detailed description with reference to the attached drawings which illustrate the following:
FIG. 1 shows an embodiment of the method according to the invention in an industrial setting; and
FIG. 2 shows an example for a FSK-encoded data signal on a HART field bus.



DETAILED DESCRIPTION
An aspect of the present invention reduces the computational expense discussed in the Background, while at the same time improving the accuracy of the determined magnitude value.
The inventor has developed a method to determine the magnitude MA of a signal component with frequency ωA from a set of N digital samples of an input signal acquired at a sampling rate R. This input signal has a discrete spectral representation containing n bins with frequencies ω1, . . . , ωn and corresponding magnitudes M1, . . . , Mn. The spectral representation is derivable from said input signal, preferably from the set of N digital samples of this input signal, by means of a transform. The transform is preferably chosen to produce a discrete spectral representation wherein the first bin frequency ω1 is zero and the second and following bin frequencies ω2, . . . , ωn are integer multiples of the first non-zero bin frequency ω2. It may, for example, be a discrete Fourier transform.
To obtain the magnitude MA of the signal component that is present during a predetermined time interval, it is not necessary to perform the transform on all samples of the input signal acquired within that time interval and obtain the full spectral representation. Rather, the magnitude MA is extracted from that set of samples at a lesser computational expense.
According to the invention, an extraction bin with index kε[1, . . . , n] and frequency ωk≠ωA is chosen from the spectral representation, and the magnitude Mk of this extraction bin is determined. It is then determined which portion of a sinusoidal signal with frequency ωA and unity magnitude is allocated to this extraction bin when the transform is applied to said sinusoidal signal, i.e., when the sinusoidal signal is transformed into a spectral representation in exactly the same way as the actual input signal. This portion is called allocation factor. From the combination of this allocation factor and the magnitude Mk of the extraction bin, the desired magnitude MA of the component with frequency ωA is determined.
The inventor has found that it is very much easier to obtain magnitudes M1, . . . , Mn corresponding to bin frequencies ω1, . . . , ωn than to directly obtain a magnitude MA corresponding to an off-bin frequency ωA. This difference is so large that it over-compensates the additional expense of determining the allocation factor and using this allocation factor to get from the magnitude Mk of the extraction bin to the desired magnitude MA.
The allocation factor depends on the sampling rate R, the number N of digital samples in the set, the type of transform, the number n and the frequencies ω1, . . . , ωn of the bins, the index k of the extraction bin, and the frequency ωA. All of these parameters may be kept constant during operation of a field bus device. Therefore, the allocation factor needs to be determined only once in such a setting. It may, for example, be computed when the device is initialized at power-up with its operating parameters. It may also be pre-stored in the device, for example, in a lookup table.
Thus, determination of the desired magnitude MA according to invention, which may appear to be circuitous at first sight, reduces the amount of computing power needed to determine MA. For an interval of N=6 samples, previously, direct determination of MA using the Goertzel algorithm for approximation required 11 add steps and 9 multiply steps. Determination of MA according to the invention only requires 5 add steps and 3 multiply steps. In addition, the solution is more accurate. As a consequence, a field bus device can demodulate FSK-encoded data with a smaller, less expensive microcontroller unit (MCU) that needs less power to run.
In a specially advantageous embodiment of the invention, the input signal is a frequency shift keyed signal with a first carrier frequency equal to ωA and at least a second carrier frequency ωB. Preferably, this second carrier frequency ωB is one of the frequencies ω1, . . . , ωn in the discrete spectral representation, with corresponding magnitude MB. This magnitude MB is then readily available from the set of digital samples of the input signal, requiring only a very simple computation, such as a simple case of the Goertzel algorithm or an iterative discrete Fourier transform (DFT) algorithm.
One of the carrier frequencies ωA and ωB encodes a logical 0, while the other carrier frequency encodes a logical 1. By acquiring N samples and subsequently determining the magnitudes MA and MB of components with the carrier frequencies ωA and ωB from this set of samples, the bit value of the FSK-encoded signal during the period of N samples can therefore be obtained.
Preferably, the second carrier frequency ωB is not an integer multiple of the first carrier frequency ωA. This typically precludes ωA from being one of the frequencies ω1, . . . , ωn in the discrete spectral representation, but avoids a cross-talk from harmonics of one carrier frequency onto the other carrier frequency.
The input signal may additionally contain at least one analog signal representing a value measured by at least one sensor. For example, a FSK signal for field bus communication may be superimposed on an analog current loop signal on legacy 4-20 mA wiring that represents a value measured by a sensor. In such a setting, a field bus may be rolled out without rewiring. In a specially advantageous embodiment of the invention, the field bus signal may conform to the wired or wireless Highway Addressable Remote Transducer (HART) standard. This is an open standard that is part of the IEC 61158 field bus specification.
In a specially advantageous embodiment of the invention, the transform is chosen to produce a discrete spectral representation wherein the first bin frequency ω1 is zero and the second and following non-zero bin frequencies ω3, . . . , ωn are integer multiples of the first bin non-zero bin frequency ω2. The set of samples and its spectral representation may, for example, be interrelated via a discrete Fourier transform. The first non-zero bin frequency ω2 may, for example, be given by ω2=R/N. ω2 is then the lowest frequency for which one complete period can be covered by acquisition of N samples at a rate of R samples per second. An interval of N samples will therefore also contain only complete periods of all other frequencies ω3, . . . , ωn as well, so that the magnitudes M1, . . . , Mn corresponding to all frequencies ω1, . . . , ωn can be determined without any fencing and leakage effects. Such effects occur if a finite sampling interval contains incomplete periods of the frequency of the component that is to be demodulated.
Preferably, the first non-zero bin frequency ω2 corresponds to the second carrier frequency ωB. Since the carrier frequencies ωA and ωB are usually fixed by the field bus communication standard that is in use, this may mean adapting the sampling rate R and the number N of acquired samples in order to set ω2 to the value of ωB. Likewise, these parameters also determine ω3, which is preferably close to the first carrier frequency ωA.
In a specially advantageous embodiment of the invention, the magnitude Mk of the extraction bin, and/or the magnitude MB corresponding to the second carrier frequency ωB, is determined individually from a set of input signal samples. This carries a far lesser computational expense than computing all M1, . . . , Mn. The magnitude Mk, and/or the magnitude MB, may, for example, be determined from the set of input signal samples by means of (iterative) discrete Fourier transform and/or by means of the Goertzel algorithm.
In a further specially advantageous embodiment of the invention, the magnitude Mk of the extraction bin is augmented by a magnitude MM corresponding to a frequency ωM that is a mirror frequency of the frequency ωk of the extraction bin about the frequency R/2. According to the fundamental Nyquist-Shannon sampling theorem, a signal sampled at sampling rate R only contains the required information to reconstruct frequency components with a frequency of at most R/2. Frequencies above R/2 constitute the virtual part of the spectrum with the frequencies that cannot be uniquely reconstructed. Application of the transform to the sinusoidal signal with frequency ωA, however, allocates portions of this sinusoidal signal to all bins of the spectral representation, including those with frequencies above R/2. To conserve the total power of the sinusoidal signal, those portions are re-allocated to their mirror frequencies below R/2.
The invention also relates to a device for use on a field bus that is controlled and/or managed by means of a FSK-encoded digital data stream sent over the field bus. In this data stream, one bit value is encoded by a first carrier frequency ωA and the other bit value is encoded by a second carrier frequency ωB. The device has means to acquire a set of N digital samples of an input signal from the field bus at a sampling rate R, and it is configured to determine the magnitude MB that a frequency component with frequency ωB has in a discrete spectral representation of the input signal containing n bins with frequencies ω1, . . . , ωn and corresponding magnitudes M1, . . . , Mn. One of the bin frequencies ω1, . . . , ωn corresponds to the second carrier frequency ωB. The spectral representation is derivable from the input signal by means of a transform. The device is also configured to determine the magnitude MA that a frequency component with frequency ωA has in the discrete spectral representation of the input signal.
According to the invention, the device is configured to determine the magnitude Mk of a bin frequency component ωk≠ωA with index kε[1, . . . , n], and to determine MA from Mk in combination with an allocation factor that indicates a portion Mks of a sinusoidal signal with frequency ωA and unity magnitude that is allocated to the bin with index k when the transform is applied to said sinusoidal signal to generate a spectral representation out of said sinusoidal signal.
As mentioned above in the description of the method, which is herewith incorporated in its entirety as corresponding disclosure of the device, this determination of MA requires far less computing power in the microcontroller unit of the device.
The device may comprise means to perform the transform on a sinusoidal signal with frequency ωA in order to obtain Mks, and/or to individually obtain Mks from a set of N digital samples of said sinusoidal signal. Alternatively or in combination with this, the device may comprise a memory containing at least one pre-stored value of Mks. Preferably, this memory contains a lookup table with a plurality of pre-stored values of Mks for different combinations of sampling rate R and number N of acquired digital samples.
FIG. 1 shows an embodiment of the method according to the invention in an industrial setting where an analog temperature sensor 101 and a digital sensor/actuator device 103 are both connected to a field bus 100 with a 4-20 mA current loop wiring as the physical medium. The analog temperature sensor 101 converts a temperature T into a current I between 4 mA and 20 mA and outputs a corresponding signal 102 onto the field bus 100. This signal 102 is a slowly varying function a(t) of the time t.
The digital sensor/actuator device 103 sends a frequency shift keying (FSK)-encoded data signal 104 onto the field bus 100. The data signal 104 conforms to the HART standard. To send a logical 1, the signal 104 is keyed to a frequency ωB of 1200 Hz. To send a logical 0, the signal 104 is keyed to a frequency ωA of 2200 Hz. Thus, the data signal 104 consists of one component MA(t)*sin(ωAt), the magnitude MA(t) being unity when a 0 is being sent and zero otherwise, and one component MB(t)*sin(ωBt), the magnitude MB(t) being unity when a 1 is being sent and zero otherwise. Both components and the analog signal 102 mix on the field bus 100 to form an input signal 3 for the demodulation.
The device 103 communicates bidirectionally with the field bus 100. It is also equipped to receive an input signal 3 from the field bus 100 and to determine the bit value of a FSK-encoded data signal 104 contained in this input signal 3 by determining the magnitudes of frequency components with the carrier frequencies ωA and ωB. This is done by means of the method illustrated below in more detail.
This input signal 3 is sampled at a sampling rate R of 7200 Hz. The input signal 3 is deemed to have a spectral representation 2 containing n=6 bins with frequencies ω1=0, ω2=ωB=1200 Hz, ω3=2400 Hz, ω4=3600 Hz, ω5=4800 Hz and ω6=6000 Hz. These bins have corresponding magnitudes M1, M2=MB, M3, M4, M5 and Mn=M6. The third bin is chosen to be the extraction bin 5, so the extraction bin 5 has frequency ωk=ω3 and magnitude Mk=M3. After N=6 samples have been acquired, the magnitudes MB=M2 and Mk=M3 are extracted by means of the Goertzel algorithm without computing the other magnitudes M1, M4, M5 and M6 as well. MB is immediately usable as the final result MB(t) that is a time-varying function discretized into time intervals N/R=1/1200 s.
The spectral representation 2 is interrelated with the input signal 3 through a discrete Fourier transform 4. On initialization of the method, this discrete Fourier transform 4 is performed once on a sinusoidal signal 7 with frequency ωA=2200 Hz. Since this frequency does not match any of the bin frequencies ω1 to ω6, the unity magnitude of the sinusoidal 7 is smeared over all six bins by the discrete Fourier transform 4 with magnitudes M1s, . . . , Mns=M6s as shown in the following table:
















ω
0 Hz
1200 Hz
2400 Hz
3600 Hz
4800 Hz
6000 Hz







M
0.01
0.03888
0.9142
0.021
0.00845
0.00699









The frequencies 4800 Hz and 6000 Hz are higher than R/2=3600 Hz. According to the Shannon-Nyquist theorem, components with these frequencies cannot be uniquely recovered from samples acquired at a rate of R=7200 Hz. To conserve the total unity magnitude of the sinusoidal 7, the magnitude M3 for ω3=2400 Hz is augmented by the magnitude M5 for ω5=4800 Hz. Likewise, the magnitude M2 for ω2=1200 Hz is augmented by the magnitude M6 for ω5=6000 Hz. ω5=4800 Hz is the mirror frequency of ω3=2400 Hz, and ω6=6000 Hz is the mirror frequency of ω2=1200 Hz, when mirrored about the frequency ω4=R/2=3600 Hz. The following table shows the final result for the magnitudes M1s, M2s and M3s produced by the discrete Fourier transform 4 from the sinusoidal signal 7:














ω













0 Hz
1200 Hz
2400 Hz
3600 Hz















M
0.01
0.0458
0.9226
0.021









The magnitude Mks corresponding to the frequency ωk=ω3=2400 Hz is extracted from the resulting spectral representation 8 and stored as allocation factor 6. This allocation factor will be used for all N=6-sample periods that follow.
Since the second signal component with frequency ωB is on the bin frequency ω2=1200 Hz, it is not smeared to any other bins. The only source where the signal at frequency ωk=ω3=2400 Hz can have originated is therefore the signal with frequency ωA=2200 Hz that has been smeared. Therefore, MA(t)=Mk(t)/Mks=M3/0.9226.
MA(t) is again a time-varying function discretized into time intervals N/R=1/1200 s. Since the N=6 samples interval contains only part of one period of a 2200 Hz signal, there is some power leakage that results in random-like fluctuations of MA(t). These fluctuations can be reduced by averaging over a sufficient number of N=6-sample intervals; the expected value matches the real magnitude much better than the previous direct approximation from the sampled input signal 3 using the Goertzel algorithm.
With MA(t) and MB(t) now finally in hand, the bit value of the input signal 3 can be determined for each N=6-sample interval, so the FSK-encoded data stream can be demodulated from the input signal 3.
The smearing of the sinusoidal signal 7 to the six bins of its spectral representation 8 can be calculated as follows: In the absence of a concrete specification for the windowing of the sinusoidal signal 7, the stream of samples x(k) can be assumed to be divided into rectangular windows containing N samples each:

xN(k)=x(k)·RN(k),

wherein RN(k) is 1 if the index k is within the window, and 0 otherwise. According to the convolution theorem, the spectral representation of this is





  
    
      
        X
        N
      
      ⁡
      
        (
        ω
        )
      
    
    =
    
      
        1
        
          2
          ⁢
          π
        
      
      ⁢
      
        
          X
          ⁡
          
            (
            ω
            )
          
        
        ·
        
          
            R
            N
          
          ⁡
          
            (
            ω
            )
          
        
      
    
  
  ,




wherein X(ω) is the spectral representation of the signal x(k) (a delta-function peak at one single frequency for a sinusoidal signal 7), and RN(ω) is the Fourier transform of the rectangular function. This Fourier transform is given by





  
    
      
        
          
            R
            N
          
          ⁡
          
            (
            ω
            )
          
        
        =
        
        ⁢
        
          
            ∑
            
              k
              =
              
                -
                ∞
              
            
            ∞
          
          ⁢
          
            
          
          ⁢
          
            
              
                R
                N
              
              ⁡
              
                (
                k
                )
              
            
            ⁢
            
              exp
              ⁡
              
                (
                
                  
                    -
                    i
                  
                  ⁢
                  
                    
                  
                  ⁢
                  ω
                  ⁢
                  
                    
                  
                  ⁢
                  k
                
                )
              
            
          
        
      
    
  
  
    
      
        =
        
        ⁢
        
          
            ∑
            
              k
              =
              0
            
            
              N
              -
              1
            
          
          ⁢
          
            
          
          ⁢
          
            
              
                R
                N
              
              ⁡
              
                (
                k
                )
              
            
            ⁢
            
              exp
              ⁡
              
                (
                
                  
                    -
                    i
                  
                  ⁢
                  
                    
                  
                  ⁢
                  ω
                  ⁢
                  
                    
                  
                  ⁢
                  k
                
                )
              
            
          
        
      
    
  
  
    
      
        =
        
        ⁢
        
          
            1
            -
            
              exp
              ⁡
              
                (
                
                  
                    -
                    i
                  
                  ⁢
                  
                    
                  
                  ⁢
                  ω
                  ⁢
                  
                    
                  
                  ⁢
                  N
                
                )
              
            
          
          
            1
            -
            
              exp
              ⁡
              
                (
                
                  
                    -
                    i
                  
                  ⁢
                  
                    
                  
                  ⁢
                  ω
                
                )
              
            
          
        
      
    
  
  
    
      
        =
        
        ⁢
        
          
            
              exp
              ⁡
              
                (
                
                  
                    -
                    i
                  
                  ⁢
                  
                    
                  
                  ⁢
                  N
                  ⁢
                  
                    
                  
                  ⁢
                  
                    ω
                    /
                    2
                  
                
                )
              
            
            ⁢
            
              (
              
                
                  exp
                  ⁡
                  
                    (
                    
                      i
                      ⁢
                      
                        
                      
                      ⁢
                      N
                      ⁢
                      
                        
                      
                      ⁢
                      
                        ω
                        /
                        2
                      
                    
                    )
                  
                
                -
                
                  exp
                  ⁡
                  
                    (
                    
                      
                        -
                        i
                      
                      ⁢
                      
                        
                      
                      ⁢
                      N
                      ⁢
                      
                        
                      
                      ⁢
                      
                        ω
                        /
                        2
                      
                    
                    )
                  
                
              
              )
            
          
          
            
              exp
              ⁡
              
                (
                
                  
                    -
                    i
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    ω
                    /
                    2
                  
                
                )
              
            
            ⁢
            
              (
              
                
                  exp
                  ⁡
                  
                    (
                    
                      i
                      ⁢
                      
                        
                      
                      ⁢
                      
                        ω
                        /
                        2
                      
                    
                    )
                  
                
                -
                
                  exp
                  ⁡
                  
                    (
                    
                      
                        -
                        i
                      
                      ⁢
                      
                        
                      
                      ⁢
                      
                        ω
                        /
                        2
                      
                    
                    )
                  
                
              
              )
            
          
        
      
    
  
  
    
      
        =
        
        ⁢
        
          
            exp
            ⁡
            
              (
              
                
                  -
                  
                    i
                    ⁡
                    
                      (
                      
                        N
                        -
                        1
                      
                      )
                    
                  
                
                ⁢
                
                  ω
                  /
                  2
                
              
              )
            
          
          ⁢
          
            
              sin
              ⁡
              
                (
                
                  N
                  ⁢
                  
                    
                  
                  ⁢
                  
                    ω
                    /
                    2
                  
                
                )
              
            
            
              sin
              ⁡
              
                (
                
                  ω
                  /
                  2
                
                )
              
            
          
        
      
    
  




Therefore,




  
    
      X
      N
    
    ⁡
    
      (
      
        ω
        0
      
      )
    
  
  =
  
    
      1
      
        2
        ⁢
        π
      
    
    ⁢
    
      
        
          ∫
          
            +
            ∞
          
        
        
          -
          ∞
        
      
      ⁢
      
        
          X
          ⁡
          
            (
            ω
            )
          
        
        ⁢
        
          exp
          ⁡
          
            (
            
              
                -
                
                  i
                  ⁡
                  
                    (
                    
                      N
                      -
                      1
                    
                    )
                  
                
              
              ⁢
              
                
                  (
                  
                    
                      ω
                      0
                    
                    -
                    ω
                  
                  )
                
                /
                2
              
            
            )
          
        
        ⁢
        
          
            sin
            ⁡
            
              (
              
                
                  N
                  ⁡
                  
                    (
                    
                      
                        ω
                        0
                      
                      -
                      ω
                    
                    )
                  
                
                /
                2
              
              )
            
          
          
            sin
            ⁡
            
              (
              
                
                  (
                  
                    
                      ω
                      0
                    
                    -
                    ω
                  
                  )
                
                /
                2
              
              )
            
          
        
        ⁢
        d
        ⁢
        
          
        
        ⁢
        ω
      
    
  




wherein ω0 is the frequency corresponding to the bin under discussion. The factor





  α
  =
  
    
      1
      N
    
    ·
    
      
        sin
        ⁡
        
          (
          
            
              N
              ⁡
              
                (
                
                  
                    ω
                    0
                  
                  -
                  ω
                
                )
              
            
            /
            2
          
          )
        
      
      
        sin
        ⁡
        
          (
          
            
              (
              
                
                  ω
                  0
                
                -
                ω
              
              )
            
            /
            2
          
          )
        
      
    
  




is called Dirichlet kernel.

If the signal is wholly concentrated on the bin frequency ω0, i.e. ω=ω0, then α=1, i.e. 100% of the magnitude of such a sinusoidal signal is distributed into this one bin.
Throughout this calculation, ω is a normalized angular frequency and given in terms of frequency f by




  
    
      ω
      ⁡
      
        (
        f
        )
      
    
    =
    
      
        2
        ⁢
        
          π
          ⁡
          
            (
            
              
                f
                i
              
              -
              f
            
            )
          
        
      
      R
    
  
  ,




wherein fi is the frequency of interest (i.e., the frequency of the component whose magnitude is to be determined) and R is the sampling rate.

FIG. 2 shows an example of a data signal 104 emitted by a digital sensor/actuator device 103. The amplitude A of the signal is sketched over the sample number k. There are three distinct intervals a), b) and c), each lasting 1/1200th of a second. Interval a), which starts with sample 1, comprises one period of a frequency ωB=1200 Hz; a logical 1 is being sent. At the beginning of interval b) (sample 7), the device switches to sending a logical 0. The frequency of the signal increases to ωA=2200 Hz. Interval b) comprises one complete period of this frequency and the better part of a second period. This second period, however, is cut off at sample 13, which marks the beginning of interval c). The device switches again to sending a logical 1, which corresponds to a frequency ωB=1200 Hz. Consequently, interval c) contains exactly one period of this frequency.
In the following, it is illustrated how the method according to the invention saves computation time compared with the previous direct determination of MA from the acquired samples of the input signal 3 via the Goertzel algorithm. According to the Goertzel algorithm, if fi is the frequency of interest, the corresponding magnitude M(fi) in the spectral representation 2 of the input signal 3 is given by



  
    {
    
      
        
          
            
              S
              
                N
                -
                1
              
            
            =
            
              X
              
                N
                -
                1
              
            
          
        
      
      
        
          
            
              S
              
                N
                -
                2
              
            
            =
            
              
                X
                
                  N
                  -
                  2
                
              
              +
              
                Coe
                ·
                
                  S
                  
                    N
                    -
                    1
                  
                
              
            
          
        
      
      
        
          
            
              S
              
                N
                -
                3
              
            
            =
            
              
                X
                
                  N
                  -
                  3
                
              
              +
              
                Coe
                ·
                
                  S
                  
                    N
                    -
                    2
                  
                
              
              -
              
                S
                
                  N
                  -
                  1
                
              
            
          
        
      
      
        
          
            
              S
              
                N
                -
                4
              
            
            =
            
              
                X
                
                  N
                  -
                  4
                
              
              +
              
                Coe
                ·
                
                  S
                  
                    N
                    -
                    3
                  
                
              
              -
              
                S
                
                  N
                  -
                  2
                
              
            
          
        
      
      
        
          Λ
        
      
      
        
          
            
              S
              0
            
            =
            
              
                X
                0
              
              +
              
                Coe
                ·
                
                  S
                  1
                
              
              -
              
                S
                2
              
            
          
        
      
    
    }
  




  
    
      M
      ⁡
      
        (
        
          f
          i
        
        )
      
    
    =
    
      
        
          S
          0
        
        ·
        
          S
          0
        
      
      +
      
        
          S
          1
        
        ·
        
          S
          1
        
      
      -
      
        Coe
        ·
        
          S
          0
        
        ·
        
          S
          1
        
      
    
  




  
    Coe
    =
    
      2
      ·
      
        cos
        ⁡
        
          (
          
            2
            ⁢
            π
            ⁢
            
              
                f
                i
              
              R
            
          
          )
        
      
    
  



wherein the Xk are individual acquired samples.

In the embodiment shown in FIG. 1, 9 multiply operations and 11 add operations are required to calculate M(2200 Hz)=MA. This is a heavy burden for the low performance processors typically incorporated in field bus devices.
For fi=2400 Hz and R=7200 Hz, however, Coe becomes −1, so that most terms cancel out and only S0 and S1 need to be computed:




   
  
    {
    
      
        
          
            
              S
              0
            
            =
            
              
                X
                0
              
              -
              
                X
                1
              
              +
              
                X
                3
              
              -
              
                X
                4
              
            
          
        
      
      
        
          
            
              S
              1
            
            =
            
              
                X
                1
              
              -
              
                X
                2
              
              +
              
                X
                4
              
              -
              
                X
                5
              
            
          
        
      
    
    }
  




In addition, S0 can be re-used for the next round calculation as S1. The computation simplifies to 5 add steps and 2 multiply steps. Division of M(2400 Hz) by the constant allocation factor 6 (Mks) is only one additional multiply step. So only a total of 3 multiply steps and 5 add steps is required. Considering that multiply steps are computationally much more expensive than add steps, the savings become even more drastic.
While the invention has been illustrated and described in detail in the drawings and foregoing description, such illustration and description are to be considered illustrative or exemplary and not restrictive. It will be understood that changes and modifications may be made by those of ordinary skill within the scope of the following claims. In particular, the present invention covers further embodiments with any combination of features from different embodiments described above and below. Additionally, statements made herein characterizing the invention refer to an embodiment of the invention and not necessarily all embodiments.
The terms used in the claims should be construed to have the broadest reasonable interpretation consistent with the foregoing description. For example, the use of the article “a” or “the” in introducing an element should not be interpreted as being exclusive of a plurality of elements. Likewise, the recitation of “or” should be interpreted as being inclusive, such that the recitation of “A or B” is not exclusive of “A and B,” unless it is clear from the context or the foregoing description that only one of A and B is intended. Further, the recitation of “at least one of A, B, and C” should be interpreted as one or more of a group of elements consisting of A, B, and C, and should not be interpreted as requiring at least one of each of the listed elements A, B, and C, regardless of whether A, B, and C are related as categories or otherwise. Moreover, the recitation of “A, B, and/or C” or “at least one of A, B, or C” should be interpreted as including any singular entity from the listed elements, e.g., A, any subset from the listed elements, e.g., A and B, or the entire list of elements A, B, and C.
LIST OF REFERENCE SIGNS


    
    
        1 signal component with frequency ωA 
        2 spectral representation of input signal 3
        3 input signal
        4 transform interrelating input signal 3 & spectral representation 2
        5 extraction bin of spectral representation 2
        6 allocation factor
        7 sinusoidal signal with frequency ωA 
        8 spectral representation of sinusoidal signal 7 after transform 4
        100 field bus
        101 temperature sensor
        102 analog signal from temperature sensor 101
        103 digital sensor/actuator device
        104 FSK data signal from sensor/actuator device 103
        A amplitude
        a(t) analog signal 102
        I current
        k index
        MA, MB magnitudes of first and second signal components
        M1-Mn magnitudes in spectral representation 2 of input signal 3
        M1s-Mns magnitudes in spectral representation 8 of sinusoidal signal 7
        T temperature
        t time
        ωA, ωB frequencies of first and second signal components

## Claims

1. A method to determine the magnitude MA of a signal component with frequency ωA from a set of N digital samples of an input signal acquired at a sampling rate R, the input signal having a discrete spectral representation containing n bins with frequencies ω1, . . . , ωn and corresponding magnitudes M1, . . . , Mn, the spectral representation being derivable from the input signal using a transform, the method comprising:
choosing an extraction bin with index kε[1, . . . , n] and frequency ωk≠ωA from the discrete spectral representation;
determining a magnitude Mk of this extraction bin;
determining an allocation factor, the allocation factor indicating a portion Mks resulting from a reference sinusoidal signal with frequency ωA and unity magnitude, that is allocated to the extraction bin when the transform is applied to the reference sinusoidal signal, thereby generating a spectral representation out of the sinusoidal signal; and
determining the magnitude MA of the signal component from the magnitude Mk of the extraction bin in combination with the allocation factor, the magnitude MA being equal to the magnitude of the extraction bin Mk divided by the portion Mks of the sinusoidal signal with frequency ωA (MA=Mk/Mks).

2. The method of claim 1, wherein the input signal is a frequency shift keyed signal with a first carrier frequency equal to ωA and at least a second carrier frequency equal to ωB.

3. The method of claim 2, wherein the second carrier frequency ωB is one of the frequencies ω1, . . . , ωn in the discrete spectral representation, with corresponding magnitude MB.

4. The method of claim 2, wherein the second carrier frequency ωB is not an integer multiple of the first carrier frequency ωA.

5. The method of claim 1, wherein the input signal additionally includes an analog signal representing a value measured by at least one sensor.

6. The method of claim 1, wherein the input signal is chosen to be a field bus signal that conforms to a wired or wireless Highway Addressable Remote Transducer standard.

7. The method of claim 1, wherein the transform is chosen to produce a discrete spectral representation wherein the first bin frequency ω1 is zero and a second non-zero bin frequency and following non-zero bin frequencies ω3, . . . , ωn are integer multiples of the first non-zero bin frequency ω2.

8. The method of claim 7, wherein the a second carrier frequency ωB is one of the frequencies ω1, . . . , ωn in the discrete spectral representation, with corresponding magnitude MB, and
wherein the first non-zero bin frequency ω2 corresponds to the second carrier frequency ωB.

9. The method of claim 3, wherein the magnitude Mk of the extraction bin, and/or the magnitude MB corresponding to the second carrier frequency ωB, is determined individually from a set of input signal samples.

10. The method of claim 9, wherein the magnitude MB corresponding to the second carrier frequency ωB is determined individually from the set of input signal samples.

11. The method of claim 9, wherein the magnitude Mk of the extraction bin is determined individually from the set of input signal samples.

12. The method of claim 9, wherein the magnitude Mk of the extraction bin, and the magnitude MB corresponding to the second carrier frequency ωB, are determined individually from the set of input signal samples.

13. The method of claim 9, wherein the magnitude Mk, and/or the magnitude MB, is determined from the set of input signal samples using discrete Fourier transform and/or using the Goertzel algorithm.

14. The method of claim 1, wherein the magnitude Mk of the extraction bin is augmented by a magnitude MM corresponding to a frequency ωM that is a mirror frequency of the frequency ωk of the extraction bin, about a frequency R/2.

15. A device for use on a field bus that is controlled and/or managed using a frequency shift key-encoded digital data stream sent over the field bus, wherein in said data stream, one bit value is encoded by a first carrier frequency ωA and the other bit value is encoded by a second carrier frequency ωB, the device comprising:
a first unit configured to acquire a set of N digital samples of an input signal from the field bus at a sampling rate R, said device being configured to determine the magnitude MB that a frequency component with frequency ωB has in a discrete spectral representation of an input signal including n bins with frequencies ω1, . . . , ωn and corresponding magnitudes M1, . . . , Mn, wherein one of the bin frequencies ω1, . . . , ωn corresponds to the second carrier frequency ωB and the discrete spectral representation is derivable from the input signal using a transform,
wherein the device is further configured to determine the magnitude MA that a frequency component with frequency ωA has in the discrete spectral representation of the input signal,
wherein the device is further configured to determine a magnitude Mk of a bin frequency component ωk≠ωA with index kε[1, . . . , n], and
wherein the device is further configured to determine MA from Mk in combination with an allocation factor that indicates a portion Mks generated from a reference sinusoidal signal with frequency ωA and unity magnitude that is allocated to the bin with index k, when the transform is applied to the reference sinusoidal signal to generate a spectral representation out of the reference sinusoidal signal, the magnitude MA being equal to the magnitude of the extraction bin Mk divided by the portion Mks of the sinusoidal signal with frequency ωA (MA=Mk/Mks).

16. The device of claim 15, further comprising:
a second unit, configured to perform the transform on the reference sinusoidal signal with frequency ωA in order to obtain Mks, and/or to individually obtain Mks from a set of N digital samples of the sinusoidal signal.

17. The device of claim 15, further comprising:
a memory including a pre-stored value of Mks.

18. The device of claim 17, wherein the memory further includes a lookup table with a plurality of pre-stored values of Mks for one or more different combinations of sampling rate R and number N of acquired digital samples.