Method and device for processing sensor signals

By storing FFT data separately in the easy loss and non -prone memory memory, and using the reserved multiple rotation factor for optimization calculation, the problem of power consumption and calculation overhead in the fast Fourier transformation is solved. Signal processing.

CN113939815BActive Publication Date: 2025-01-28ROBERT BOSCH GMBH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202080039361.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-05-31
Filing Date
2020-05-18
Publication Date
2025-01-28
Estimated Expiration
2040-05-18

AI Technical Summary

Technical Problem

The prior art is difficult to effectively reduce power consumption and computational overhead in fast Fourier transform (FFT), especially when processing sensor signals.

Method used

By dividing the data into variable data and non -variable data, and stored in the easy -to -losement memory and non -volatile memory, the reserved multi -rotation factor is used to optimize the calculation to reduce the memory access and calculation cycle of memory.

Benefits of technology

The rapid Fourier transformation is performed on the calculation core or digital signal processor at the minimum power consumption, which reduces the power consumption and memory use of the total system, suitable for embedded systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113939815B_ABST
    Figure CN113939815B_ABST
Patent Text Reader

Abstract

The invention relates to a method for processing a sensor signal (105). The method comprises the step of determining complex rotation factors (115) for a fast Fourier transform. The complex rotation factors (115) are determined using a processing rule (147), at least a subset of reserved complex rotation factors (145) from a total set of reserved complex rotation factors (145) stored in a non-volatile memory, and at least one signal characteristic derived from the sensor signal (105). The method further comprises the step of performing a fast Fourier transform on the sensor signal (105) using the determined complex rotation factors (115) to provide a processed version (125) of the sensor signal (105).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to a device or a method according to the preambles of the independent claims. The subject matter of the invention also relates to a computer program. Background Art

[0002] For example, the calculation of the discrete Fourier transform is known, where it can be implemented for a length N=2 M A method for performing a fast Fourier transform on a sequence of values ​​of , wherein M is a positive integer. When performing a fast Fourier transform with the aid of a processor, the goal of low memory requirement can also be achieved, as disclosed in CN101083643A, for example. Summary of the invention

[0003] Against this background, a method according to the independent claim is proposed with the aid of the solution proposed here, as well as a device for using the method and finally a corresponding computer program. The device described in the independent claim can be advantageously improved and enhanced by the measures listed in the dependent claims.

[0004] According to an embodiment, in particular for processing sensor signals, a method and device for reducing power consumption in a fast Fourier transform (FFT) for calculating a discrete Fourier transform on a computing core or a digital signal processor can be provided. Here, for example, the calculation and inverse transformation of the Fourier transform of a pure real-valued signal and a complex-valued signal in the time domain can be implemented on a microcontroller connected to a volatile memory and a non-volatile memory in an optimized manner. Here, in particular, the values ​​of the sequence or the signal values ​​are transformed from the original domain to the target domain and the given representation of the sequence in the target domain is inversely transformed back to the original domain. By dividing the data available for the fast Fourier transform into variable data and immutable data, the data can be stored separately in a storage area for variable data, i.e., in a volatile memory, and in a storage area for immutable data, i.e., in a non-volatile memory.

[0005] Advantageously, according to the embodiment, in particular, more than one goal for signal processing can be optimized, such as minimizing criteria such as computational overhead, code size, variability, etc., wherein the requirements for program code, variable data and constant data and variability in terms of computational overhead and storage requirements can be implemented under the conditions and limitations of the embedded system, and thus a solution that is advantageous for the overall system can be achieved. Here, the processing of sensor signals can be carried out in particular with the minimum total overhead in terms of power consumption and memory and area usage for the system, wherein the system has at least one computing core connected to volatile and non-volatile memories. Advantageously, for example, a fast Fourier transform can be implemented on a computing core or a digital signal processor with minimal power consumption, wherein the minimization of memory access and calculation cycles and the use of memory for variable data relative to memory for immutable or constant data can be implemented. In addition, the area required for the transformation to be effective can be minimized, especially when implemented in an integrated circuit (ASIC, Application Specific Integrated Circuit, dedicated integrated circuit) or other integrated circuits. The signal processing shown here can be suitable, for example, for a computing core or a digital signal processor connected to a volatile and non-volatile memory to calculate a discrete Fourier transform from an original domain to a target domain or an inverse transform from a target domain to an original domain.

[0006] A method for processing a sensor signal is proposed, wherein the method comprises the following steps:

[0007] determining complex rotation factors for a fast Fourier transform, wherein the complex rotation factors are determined using a processing rule, at least a subset of a total set of reserved complex rotation factors stored in a non-volatile memory or a volatile memory, and at least one configuration derived from a characteristic of a sensor signal;

[0008] A fast Fourier transform is performed on the sensor signal using the determined complex rotation factor to provide a processed version of the sensor signal.

[0009] The method can be implemented, for example, in software or hardware or in a hybrid form consisting of software and hardware, for example, in a device or a control device. With the help of a fast Fourier transform, a sequence of signal values ​​can be transformed from an original domain to a target domain. If the original domain is the time domain, then the image domain is the frequency domain. If the original domain is the frequency domain, then the image domain is the time domain. The total set of reserved complex rotation factors can be derived from a sequence of signal values ​​of maximum length, which are necessary when processing sensor signals. Non-volatile memory can also be called read-only memory or permanent memory. Non-volatile memory can be, for example, at least one semiconductor memory module, i.e., for example, EPROM, EEPROM or flash memory, or non-volatile random access memory (English: Non-Volatile Random Access Memory, NVRAM). In the determination step, the total set of reserved complex rotation factors stored in the non-volatile memory can be accessed, or the non-volatile memory can be accessed to read a subset.

[0010] According to one embodiment, in the determining step, the following processing rule is used, which is for a maximum required length The sequence of possible values ​​of the sensor signal The fast Fourier transform of Determine the complex rotation factor, where M is a positive integer, and the processing rule uses Reserved complex rotation factors The total set of length R = N max 2 -M The sequence of actual values ​​of the sensor signal Implementation: According to the relationship from Reserved complex rotation factors (145) Confirmed Complex rotation factors This implementation provides the advantage of reducing computational overhead and power consumption.

[0011] The method may also include a step of storing the total set of reserved complex rotation factors in a non-volatile memory or a volatile memory. Here, the storing step may be performed before the determining step. The storing step may be performed once or at least once. This embodiment provides the advantage that in addition to reducing computational overhead and power consumption, it may also reduce memory space and the required footprint for an integrated circuit or electronic module.

[0012] Furthermore, in the execution step, the fast Fourier transform may be a transform from the time domain to the frequency domain. Here, the sensor signal may be read from the interface of the sensor. Here, the processed version of the sensor signal may have a discrete Fourier transform. This embodiment provides the advantage of enabling reliable and accurate signal analysis or signal evaluation of the sensor signal.

[0013] Furthermore, in the execution step, the fast Fourier transform may be an inverse transform from the frequency domain to the time domain. Here, the sensor signal may represent a Fourier transform of the sensor signal. Here, the processed version of the sensor signal may represent an inverse transform with conjugate coefficients. This embodiment provides the advantage that signal analysis, signal interpretation and further processing of the sensor signal may be efficiently implemented in terms of computational overhead, signal interference spacing and latency.

[0014] According to one embodiment, in the determining step, a step size for accessing the reserved complex rotation factors can be set during the execution of the method. This embodiment provides the advantage that the required factors do not need to be calculated at runtime, a subset of the complex factors can be created in a volatile memory, and additionally or alternatively, multiple copies of the rotation factors do not need to be reserved for sequences of different lengths, so that memory space or integrated circuit area can be saved.

[0015] In the determination step, the complex rotation factors may also be determined from the reserved complex rotation factors by means of interpolation or additionally or alternatively using geometric identities. This embodiment provides the advantage that the transformation and additionally or alternatively the inverse transformation may be performed efficiently, quickly and energy-efficiently.

[0016] The solution proposed here also proposes a device, which is configured to execute, control or implement the steps of a variant of the method proposed here in a corresponding device. The object of the invention can also be achieved quickly and effectively through the embodiment variant of the invention in the form of a device.

[0017] For this purpose, the device can have at least one computing unit for processing signals or data, at least one memory unit for storing signals or data, at least one interface with a sensor or actuator for reading sensor signals from a sensor or for outputting data or control signals to an actuator, and / or at least one communication interface for reading or outputting data, the communication interface being embedded in a communication protocol. The computing unit can be, for example, a signal processor, a digital signal processor, a microcontroller, etc., wherein the memory unit can be a flash memory, an EEPROM or a magnetic memory unit. The communication interface can be designed for reading or outputting data wirelessly and / or wired, wherein the communication interface that can read or output wired data can, for example, read data electrically or optically from a corresponding data transmission line, or can output data to a corresponding data transmission line.

[0018] In this article, a device can be understood as an electrical device that processes sensor signals and outputs control and / or data signals based on them. The device can have an interface that can be configured in hardware and / or software. In the case of being configured in hardware, the interface can be, for example, a part of a so-called system ASIC that contains various functions of the device. However, it is also feasible that the interface is a separate integrated circuit or is at least partially composed of discrete devices. In the case of being configured in software, the interface can be, for example, a software module that exists on a microcontroller in addition to other software modules.

[0019] Also advantageous is a computer program product or a computer program with a program code, which can be stored on a machine-readable carrier or storage medium, such as a semiconductor memory, a hard disk memory or an optical memory, and is used to execute, implement and / or control the steps of the method according to one of the embodiments described above, in particular when the program product or the program is executed on a computer or a device. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] An exemplary embodiment of the solution proposed here is shown in the drawings and explained in more detail in the following description. The drawings show:

[0021] Figure 1 A schematic diagram showing an apparatus according to one embodiment;

[0022] Figure 2 A flow chart showing a method for processing according to one embodiment;

[0023] Figure 3 a schematic flow chart showing a process according to one embodiment; and

[0024] Figure 4 A schematic diagram showing rotation factors according to one embodiment.

[0025] In the following description of advantageous exemplary embodiments of the invention, identical or similar reference numerals are used for similarly acting elements which are illustrated in the individual figures, wherein a repeated description of these elements is omitted. DETAILED DESCRIPTION

[0026] Figure 1A schematic diagram of a device 100 according to an embodiment is shown. The device 100 may also be referred to as a processing device 100. The device 100 is designed to process a sensor signal 105. The device 100 is implemented as a computing core, a digital signal processor, etc., or is implemented as a part of a computing core, a digital signal processor, etc. The sensor signal 105 represents a signal provided by a sensor S, which represents a detected measurement variable. The sensor S can be, for example, a microphone, an initial measurement unit (IMU, inertial measurement unit) or any other type of one-dimensional or multi-dimensional detection device.

[0027] The device 100 has a determination device 110 and an execution device 120. The determination device 110 is designed to determine a complex rotation factor 115 for a fast Fourier transform. Here, the determination device 110 is designed to determine the complex rotation factor 115 using a processing rule 147, at least a subset of the reserved complex rotation factors 145 in the total set of the reserved complex rotation factors 145 stored in the non-volatile memory 140, and at least one configuration or a signal characteristic derived from the sensor signal 105. For this purpose, the determination device 110 is designed to read the sensor signal 105. Here, the determination device 110 is designed to read the sensor signal 105 from the sensor S or from another device connected to the sensor S in a signal-transmitting manner, in particular from the volatile memory 130. In addition, the determination device 110 is designed to read the reserved complex rotation factor 145 and the processing rule 147 from the non-volatile memory 140. Furthermore, the determination device 110 is designed to derive at least one signal characteristic from the sensor signal 105 or to read at least one signal characteristic derived from the sensor signal 105. Another possibility is that 110 stores new rotation factors in 130 instead of the values ​​precalculated in 140, so that forward and inverse transformations with a greater length can thus be calculated.

[0028] It is important to note here that the length of the FFT is usually a configuration. There is the possibility to choose the length of the FFT based on the analysis of the signal, so that desired knowledge about the signal can be obtained. For example, the maximum sampling rate or the spacing of adjacent frequencies can be determined, and the signal amplitude of the frequencies can be determined. Now, the FFT outputs the complex amplitudes of the discrete frequencies, so that interpolation can be calculated in the frequency domain with a sufficiently fine representation.

[0029] The execution device 120 is designed to perform a fast Fourier transformation on the sensor signal 105 using the complex rotation factor 115 determined by means of the determination device 110. In this case, the execution device 120 is designed to generate and provide a processed version of the sensor signal 105 in the form of a processed sensor signal 125 using the sensor signal 105 and the complex rotation factor 115 determined by means of the determination device 110.

[0030] The determination device 110 is designed at least for accessing the non-volatile memory 140. The complex rotation factors 145 and the processing rules 147 are stored in the non-volatile memory 140. The determination device 110 is also designed at least for accessing the volatile memory 130 by making it possible to temporarily store the sensor signal 105.

[0031] According to one embodiment, the volatile memory 130 and / or the non-volatile memory 140 are implemented as part of the device 100. In this case, the volatile memory 130 and the non-volatile memory 140 are connected to the determination device 110 and / or to the execution device 120 in a signal-transmissive manner.

[0032] The processing rule 147 represents a program code for performing the determination of the complex rotation factor 115 for the fast Fourier transform. According to one embodiment, the determination device 110 is designed to use the processing rule 147, which is for a complex rotation factor 115 having a maximum required length The sequence of possible values ​​of the sensor signal 105 The fast Fourier transform of Determine the complex rotation factor 115, where M is a positive integer, the processing rule utilizes Reserved complex rotation factors 145 The total set of length R = N max 2 -M The sequence of actual values ​​of the sensor signal 105 To achieve or cause: according to the relation from Reserved complex rotation factor 145 or Confirmed A complex rotation factor of 105 or

[0033] According to one embodiment, the determination device 110 is further designed to set a step size for accessing the reserved complex rotation factors 145, in particular a step size of the actual value sequence 105 of the sensor signal, during the runtime or execution of the determination. Additionally or alternatively, according to one embodiment, the determination device 110 is designed to determine the complex rotation factors 145 from the reserved complex rotation factors 145 by means of interpolation and / or using geometric identities.

[0034] According to one embodiment, the execution device 120 is designed to execute a fast Fourier transform as a forward transform and / or as an inverse transform. In other words, the execution device 120 is designed here to execute a fast Fourier transform as a transform or forward transform from the time domain to the frequency domain or image domain and / or as an inverse transform from the frequency domain or image domain to the time domain. In the forward transform, the sensor signal 105 can be read from the interface to the sensor S, here the volatile memory 130, and the processed sensor signal 125 has a discrete Fourier transform. In the inverse transform, the sensor signal 105 is in the form of a discrete Fourier transform and the processed sensor signal 125 represents the result of the inverse transform with conjugate coefficients.

[0035] Figure 2 2 shows a flow chart of a method 200 for processing according to one embodiment. The method 200 may be performed to process a sensor signal. The method 200 may be combined with or utilized Figure 1 equipment to execute.

[0036] In a determination step 210, a complex rotation factor for a fast Fourier transform is determined in the method 200 for processing. Here, in the determination step 210, the complex rotation factor is determined using a processing rule, at least a subset of the reserved complex rotation factors in the total set of reserved complex rotation factors stored in the non-volatile memory, and at least one signal characteristic derived from the sensor signal. Subsequently, in an execution step 220, a fast Fourier transform is performed on the sensor signal using the complex rotation factor determined in the determination step 210 to provide a processed version of the sensor signal.

[0037] In particular, the determining step 210 and the executing step 220 may be performed repeatedly or continuously in sequence.

[0038] According to one embodiment, the method 200 for processing further comprises a step 205 of storing the total set of reserved complex rotation factors in a non-volatile memory. Here, the storing step 205 may be performed at least once before the determining step 210.

[0039] Figure 3 1 shows a schematic flow chart of a process 300 according to one embodiment. The process 300 involves a fast Fourier transform including determining a rotation factor. The process 300 is similar to Figure 2 method association.

[0040] The first box 302 represents a Fast Fourier Transform (FFT). The input arrow 304 of the FFT represents a complex value of length N. The first arrow 306 in the FFT range represents a condition, more precisely a group: 2^| and a butterfly diagram: =2^(1-1-I). The second box 308 following the first arrow 306 represents a first loop with a number of traversals [k traversals] of k. A third box 310 is set within the second box 308 or the first loop, and the third box represents the second loop of the group [group]. A second arrow 312 is set in the third box 310 or the second loop, and the second arrow represents the acquisition of the rotation factor (twiddle factors). An explanation box 314 is associated with the second arrow 312, and the explanation box 314 represents the use of an alternative step size for the current FFT length for the maximum FFT length. In addition, a fourth box 316 is set within the third box 310 or the second loop, and the fourth box represents the third loop of the butterfly diagram [butterfly diagram]. A third arrow 318 disposed in a fourth block 316 or third loop calculates a complex butterfly. A fourth arrow 320 is disposed within the second block 308 or first loop, but outside the third block 310 or second loop. The fourth arrow 320 represents the condition, more specifically group=group*2 and butterfly=butterfly / 2. The output arrow 322 of the FFT represents the complex FFT of length N.

[0041] Figure 4 A schematic diagram of a rotation factor 145 according to one embodiment is shown. The rotation factor 145 is a complex rotation factor. The rotation factor 145 is particularly Figure 1 equipment and / or Figure 2 More specifically, the rotation factor 145 is a reserved complex rotation factor 145. The schematic diagram is represented in the form of a vector model. Here, the imaginary part Im is plotted on the abscissa axis, wherein the real part Re is plotted on the ordinate axis. The rotation factor 145 is plotted as a vector.

[0042] Only the first vector 441 and the second vector 442 of the vectors are shown in detail for exemplary purposes. The second vector 442 represents N2 rotation factors. The first vector 441 represents Twist Factor

[0043] With reference to the above-mentioned drawings, the embodiments of the present invention and the principles of the embodiments are explained in summary and in other words in brief below.

[0044] The method 200 is suitable for a computing core or a digital signal processor connected to the volatile memory 130 and the non-volatile memory 140 to obtain a data structure of length N=2. M The sequence in the original domain Computes the discrete Fourier transform from the original domain to the image domain or the inverse transform from the image domain to the original domain, where M is a positive integer. The discrete Fourier transform has the formula It has a value expressed as the rotation factor For length N = 2 M sequence The fast Fourier transform requires Complex rotation factors in

[0045] If such rotation factors are stored in the non-volatile memory 140, the number of rotation factors required for the evaluation of the trigonometric functions is thereby reduced. The method 200 is based in particular on using this formula for the rotation factor in the following way: that is, for the maximum required length All Complex rotation factors 145 is stored in the non-volatile memory 145. In order to make the length R = N max 2 -M sequence Compute the Fourier transform, where M is a positive integer, from Complex rotation factors 145 Through Sure Complex rotation factors 115

[0046] In an advantageous embodiment, the step size for accessing the elements of the rotation factor sequence can be adapted at runtime. This allows the required rotation factors to be calculated wirelessly at runtime or only need to be created in the volatile memory 130 (RAM). Complex rotation factors 145 A subset of , or rotation factors for sequences of different lengths are not reserved multiple times, and thus memory space or integrated circuit area can be saved.

[0047] In the case of a size-constrained integrated circuit implementation (ASIC), the area required for reserving the rotation factors 145 can be further reduced by pre-storing the rotation factors 145 in the non-volatile memory 140 (ROM).

[0048] The partitioning of the data into volatile and non-volatile values ​​allows the proposed embodiment to advantageously reduce power consumption, since the reading process from the non-volatile memory 140 for the twiddle factors requires less power consumption than the reading process from the volatile memory 130. The overall power consumption is facilitated by storing the program code or processing rules 147 and the twiddle factors 145 in the non-volatile memory 140.

[0049] In another advantageous embodiment, in order to have a length of R=N max 2 M A sequence of transformation or inverse transformation is performed, where M is a positive integer, and the subsequently required rotation factor 115 can be calculated from the existing rotation factor 145 by interpolation or using trigonometric identities.

[0050] The advantages of the approach presented here are that standard computing cores can be used, the memory used for the rotation factors can be RAM or ROM, and the target application is audio signal processing or other analog signal processing.

[0051] If an embodiment includes an “and / or” connection between a first feature and a second feature, this should be interpreted as that the embodiment has both the first feature and the second feature according to one embodiment and either only the first feature or only the second feature according to another embodiment.

Claims

1. A method (200) for processing a sensor signal (105), wherein the method (200) comprises the following steps: determining (210) complex rotation factors (115) for a fast Fourier transform, wherein the complex rotation factors (115) are determined using a processing rule (147), at least a subset of reserved complex rotation factors (145) from a total set of reserved complex rotation factors (145) stored in a non-volatile memory or a volatile memory (130), and at least one configuration derived from a characteristic of the sensor signal (105); performing (220) a fast Fourier transform on the sensor signal (105) using the determined complex rotation factor (115) to provide a processed version (125) of the sensor signal (105), The following processing rule (147) is used in the determination step (210), which is for a maximum required length A sequence of possible values ​​of the sensor signal (105) The fast Fourier transform of Determine the complex rotation factor (115), where M is a positive integer, and the processing rule utilizes Reserved complex rotation factors (145) The total set of length R = N max 2 -M A sequence of actual values ​​of the sensor signal (105) Implementation: According to the relationship from The reserved complex rotation factor (145) Confirmed The complex rotation factor (115) 2. The method (200) according to claim 1, characterized in that: A step (205) of storing the total set of the reserved complex rotation factors (145) in the non-volatile memory (140) or the volatile memory (130).

3. The method (200) according to claim 1 or 2, characterized in that: In performing step (220) the Fast Fourier Transform is a transformation from the time domain to the frequency domain, wherein the sensor signal (105) can be read from an interface of a sensor (S), wherein the processed version (125) of the sensor signal (105) has a Discrete Fourier Transform.

4. The method (200) according to claim 1 or 2, characterized in that: In performing step (220), the fast Fourier transform is an inverse transform from the frequency domain to the time domain, wherein the sensor signal (105) represents a Fourier transform of the sensor signal (105), wherein the processed version (125) of the sensor signal (105) represents an inverse transform with conjugate coefficients.

5. The method (200) according to claim 1 or 2, characterized in that: In a determination step (210), a step size for accessing the reserved complex twiddle factors (145) is set during execution of the method.

6. The method (200) according to claim 1 or 2, characterized in that: In a determination step (210), the complex rotation factors (115) are determined from the reserved complex rotation factors (145) by means of interpolation and / or using geometric identities.

7. An electronic device (100) configured to execute and / or control the steps of the method (200) according to any one of claims 1 to 6 in a corresponding unit (110, 120).

8. A computer program product having a program code, which is configured to execute and / or control the steps of the method (200) according to any one of claims 1 to 6 when executed on a computer or a device.

9. A machine-readable storage medium having a computer program stored thereon, wherein the computer program is configured to execute and / or manipulate the steps of the method (200) according to any one of claims 1 to 6 when executed on a computer or a device.

Citation Information

Patent Citations

  • Low memory spending hybrid base FFT processor and its method

    CN101083643A

  • Twiddle factor generation

    US20150248374A1