Motor driving method and processing device

By performing Fourier transform, compression and reconstructing the initial haptic signal, the problem of transmitting haptic signals under limited bandwidth is solved, and high-quality haptic feedback is achieved.

WO2025044834A1PCT designated stage expired Publication Date: 2025-03-06GOERTEK INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/113280
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-08-25
Filing Date
2024-08-20
Publication Date
2025-03-06

AI Technical Summary

Technical Problem

Under limited bandwidth limitations, how to effectively transmit haptic signals, thereby achieving high-quality haptic feedback in gaming and AR/VR products.

Method used

By performing Fourier transform, compress and reconstructing the data frame of the initial haptic signal, it is converted into encoded data with a small bandwidth occupancy and transmitted between processing devices.

Benefits of technology

It effectively solves the bandwidth limitation problem during haptic signal transmission process and ensures high-quality haptic feedback under limited bandwidth.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024113280_06032025_PF_FP_ABST
    Figure CN2024113280_06032025_PF_FP_ABST
Patent Text Reader

Abstract

A motor driving method and a processing device. The method comprises: a first processing device acquiring M data frames of an initial haptic signal, each data frame comprising initial waveform data at L sampling moments (S2100), M being a positive integer, and L being a positive integer; performing Fourier transform processing on each data frame to obtain a first amplitude and a first phase corresponding to each first frequency point in the data frame (S2200); compressing the first amplitudes and the first phases corresponding to the first frequency points in the data frames to obtain compressed data of the data frames (S2300); transmitting the compressed data of the data frames to a second processing device (S2400); the second processing device reconstructing the compressed data of the data frames to obtain reconstructed data of the data frames (S2500); generating a haptic signal on the basis of the reconstructed data of the data frames (S2600); and on the basis of the haptic signal, driving a motor to vibrate (S2700).
Need to check novelty before this filing date? Find Prior Art

Description

Motor driving method and processing device Technical Field

[0001] The present invention relates to the field of data processing technology, and more particularly, to a motor driving method and a processing device. Background Art

[0002] Linear Resonant Actuator (LRA) has been widely used in various vibration applications in consumer electronics, especially gaming and AR / VR products, due to its advantages such as strong, rich, crisp vibration and low energy consumption.

[0003] In gaming scenarios, the motor is usually set at the execution end with weaker computing power, while the processing end with stronger computing power needs to transmit the tactile signal with large bandwidth usage to the execution end for processing, generate a tactile drive signal, and drive the motor to vibrate according to the tactile drive signal.

[0004] Therefore, it is very valuable to propose a solution to achieve the transmission of tactile signals under limited bandwidth constraints.

[0005] Summary of the Invention

[0006] An object of the embodiments of the present invention is to provide a new technical solution that can realize the transmission of tactile signals under limited bandwidth constraints.

[0007] According to a first aspect of the present invention, there is provided a motor driving method, comprising:

[0008] The first processing device obtains M data frames of the initial tactile signal, each data frame including initial waveform data at L sampling moments, where M is a positive integer and L is a positive integer;

[0009] The first processing device performs Fourier transform processing on the data frame to obtain a first amplitude and a first phase corresponding to each first frequency point in the data frame;

[0010] The first processing device compresses the first amplitude and the first phase corresponding to the first frequency point in the data frame to obtain compressed data of the data frame;

[0011] The first processing device transmits the compressed data of the data frame to the second processing device;

[0012] The second processing device reconstructs the compressed data of the data frame to obtain reconstructed data of the data frame;

[0013] The second processing device generates a tactile signal based on the reconstructed data of the data frame;

[0014] The second processing device drives a motor to vibrate according to the tactile signal.

[0015] Optionally, the first processing device compresses the first amplitude and the first phase corresponding to the first frequency point in the data frame to obtain compressed data of the data frame, including:

[0016] Obtaining a bandwidth of the data frame according to a maximum first frequency point and a minimum first frequency point in the data frame;

[0017] Dividing the bandwidth of the data frame into N frequency bands according to the vibration bandwidth of the motor;

[0018] resampling the first frequency point of the data frame in the N frequency bands according to the set compression ratio of each frequency band to obtain the second frequency point of the data frame in the N frequency bands;

[0019] The compressed data of the data frame is obtained according to the second amplitude and the second phase corresponding to the second frequency point in the data frame.

[0020] Optionally, the lower limit frequency point of the minimum frequency band is the minimum first frequency point in the data frame, and the upper limit frequency point of the minimum frequency band is the lower limit frequency point of the bandwidth of the data frame; the lower limit frequency point of the maximum frequency band is the upper limit frequency point of the bandwidth of the data frame, and the upper limit frequency point of the maximum frequency band is the maximum first frequency point of the data frame.

[0021] Optionally, the compression ratio of the smallest frequency band and the largest frequency band is infinite;

[0022] Resampling the first frequency point in the smallest frequency band and the largest frequency band in the data frame includes:

[0023] The first frequency point in the smallest frequency band and the first frequency point in the largest frequency band are discarded.

[0024] Optionally, the frequency point of the j-th frequency band is greater than the frequency point of the j-1-th frequency band, and the compression ratio of the j-th frequency band is greater than the compression ratio of the j-1-th frequency band, where j is an integer greater than 2 and less than N.

[0025] Optionally, the second processing device reconstructs the compressed data of the data frame to obtain reconstructed data of the data frame, including:

[0026] Expanding the compressed data of the data frame to obtain extended data of the data frame; the extended data of the data frame includes a second amplitude and a second phase corresponding to a second frequency point of the data frame, and a third amplitude and a third phase corresponding to a third frequency point of the data frame, where the third frequency point is a first frequency point missing from the second frequency point, the third amplitude is a first set value, and the third phase is a second set value;

[0027] Perform inverse Fourier transform on the expanded data of the data frame to obtain reconstructed data of the data frame.

[0028] Optionally, the first processing device obtains M data frames of the initial tactile signal, including:

[0029] Obtaining an initial tactile signal;

[0030] The initial tactile signal is segmented according to the set segmentation frequency to obtain the M data frames.

[0031] Optionally, reconstructing the compressed data of the data frame to obtain reconstructed data of the data frame includes:

[0032] Obtaining, according to the second frequency point of the data frame, the split frequency, and the second phase, the accumulated phase of the second frequency point in the data frame at the corresponding L sampling moments;

[0033] Obtaining, according to the second amplitude corresponding to the second frequency point in the data frame and the accumulated phase of the second frequency point in the data frame at the corresponding L sampling moments, a sinusoidal component of each second frequency point in the data frame at the corresponding L sampling moments;

[0034] Reconstructed data of the data frame is obtained according to the sinusoidal components of each second frequency point in the data frame at the corresponding L sampling moments.

[0035] Optionally, obtaining, according to the second frequency point of the data frame, the split frequency, and the second phase, the accumulated phase of the second frequency point in the data frame at corresponding L sampling moments includes:

[0036] Obtaining a phase increment of a second frequency point in the data frame at each sampling moment according to the first frequency point of the data frame and the split frequency;

[0037] According to the phase increment of the second frequency point in the data frame at each sampling moment and the second phase corresponding to the second frequency point in the data frame, the accumulated phases of the second frequency point in the data frame at the corresponding L sampling moments are obtained.

[0038] According to a second aspect of the present disclosure, a processing device is provided, comprising a processor and a memory, wherein the memory is used to store a computer program, and the computer program is used to control the processor to execute the method steps implemented by the first processing device as described in the first aspect of the present disclosure, or to execute the method steps implemented by the second processing device as described in the first aspect of the present disclosure.

[0039] In an embodiment of the present disclosure, by compressing and reconstructing each data frame, the waveform data that originally occupies a large bandwidth is converted into encoded data with a small bandwidth occupancy, and transmitted between the first processing device and the second processing device, the bandwidth limitation problem in the tactile signal transmission process can be effectively solved.

[0040] Further features and advantages of the present invention will become apparent from the following detailed description of exemplary embodiments of the present invention with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.

[0042] FIG1 is a block diagram showing a schematic structure of a motor drive system for implementing the method according to an embodiment of the present disclosure.

[0043] FIG2 is a flow chart of a motor driving method according to an embodiment of the present disclosure;

[0044] FIG3 is a waveform diagram of the i-th data frame provided according to an embodiment of the present disclosure;

[0045] FIG4 is a waveform diagram of a synthesized sinusoidal component of the i-th data frame at the k-th sampling moment according to an embodiment of the present disclosure;

[0046] FIG5 is a waveform diagram of a tactile driving signal of the i-th data frame at the k-th sampling moment according to an embodiment of the present disclosure;

[0047] FIG6 is a schematic diagram of a waveform reproduced by a tactile driving signal driving a motor at the kth sampling moment of the i-th data frame according to an embodiment of the present disclosure;

[0048] FIG7 is a flow chart of an example of a motor driving method according to an embodiment of the present disclosure;

[0049] FIG8 is a flow chart of another example of a motor driving method according to an embodiment of the present disclosure;

[0050] FIG9 is a block diagram of a processing device according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0051] Various exemplary embodiments of the present invention will now be described in detail with reference to the accompanying drawings. It should be noted that unless otherwise specifically stated, the relative arrangement of components and steps, numerical expressions and numerical values ​​set forth in these embodiments do not limit the scope of the present invention.

[0052] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the invention, its application, or uses.

[0053] Technologies, methods, and equipment known to ordinary technicians in the relevant art may not be discussed in detail, but where appropriate, the technologies, methods, and equipment should be considered part of the specification.

[0054] In all examples shown and discussed herein, any specific values ​​should be interpreted as merely exemplary and not limiting. Therefore, other examples of the exemplary embodiments may have different values.

[0055] It should be noted that like reference numerals and letters refer to like items in the following figures, and therefore, once an item is defined in one figure, it need not be further discussed in subsequent figures.

[0056] FIG1 is a block diagram of a motor drive system for implementing the method of the embodiment of the present disclosure. As shown in FIG1 , the motor drive system 1000 may include a first processing device 1100 and a second processing device 1200 .

[0057] In one embodiment, the first processing device 1100 and the second processing device 1200 may be provided in the same electronic device or in different electronic devices. The first processing device 1100 has a stronger computing capability, while the second processing device 1200 has a weaker computing capability. Therefore, the first processing device 1100 may compress the initial tactile signal and transmit it to the second processing device 1200. The second processing device 1200 then reconstructs the compressed data and drives the motor to vibrate, thereby achieving transmission of the tactile signal between the first processing device and the second processing device within a limited bandwidth.

[0058] This embodiment provides a motor driving method, which can be implemented by a motor driving system. The motor driving system can be the motor driving system shown in FIG1 .

[0059] FIG2 is a flow chart of a motor driving method according to an embodiment of the present disclosure. As shown in FIG2 , the method may include steps S2100 to S2700 as follows:

[0060] In step S2100 , the first processing device 1100 obtains M data frames of an initial tactile signal, where each data frame includes initial waveform data at L sampling moments.

[0061] Wherein, M is a positive integer, and L is a positive integer.

[0062] In one example, L may be an even number.

[0063] In one embodiment of the present disclosure, the first processing device 1100 obtains M data frames of the initial tactile signal, which may include: obtaining the initial tactile signal; and dividing the initial tactile signal according to a set division frequency to obtain M data frames.

[0064] The initial haptic signal in this embodiment can be pre-set based on the application scenario or specific needs. For example, the initial haptic signal can be a broadband signal customized for the game scenario, or a broadband signal obtained by performing a series of operations on the sound effects actually output by the game application, or the initial haptic signal can be the game sound effect itself.

[0065] In this embodiment, the initial tactile signal may include initial waveform data at multiple sampling moments. The sampling frequency of the initial tactile signal is greater than the segmentation frequency, so that each data frame obtained by segmentation includes initial waveform data at L sampling moments.

[0066] In one embodiment, the splitting frequency can be pre-determined based on the number of sampling moments of the initial haptic signal. Specifically, the ratio of the number of sampling moments in the initial haptic signal to M can be determined to obtain the number of sampling moments L contained in each data frame; the splitting frequency can then be determined based on L. For example, the splitting frequency can be the quotient obtained by dividing the sampling frequency by L.

[0067] Specifically, the initial tactile signal may be evenly divided into M data frames, so that the number of sampling moments contained in each of the M data frames is the same.

[0068] In another embodiment, the segmentation frequency can be pre-set based on the application scenario or specific requirements. Based on this, the number of sampling moments L included in each data frame can be obtained based on the segmentation frequency and the sampling frequency of the initial tactile signal. The number of data frames M can then be obtained based on the number of sampling moments L included in each data frame and the number of sampling moments included in the initial tactile signal.

[0069] In one embodiment, in order to ensure that the number of sampling moments included in each data frame is the same, the sampling frequency of the initial tactile signal may be determined to be an integer multiple of the division frequency.

[0070] On the basis of obtaining M data frames, steps S2200 to S2700 shown below may be sequentially performed on the M data frames. The data frames mentioned in steps S2200 to S2700 may be the data frames currently being processed.

[0071] This embodiment takes the i-th data frame (where i is a positive integer less than or equal to M) as an example to describe in detail the processing of the data frame in steps S2200 to S2700. The waveform of the i-th data frame may be as shown in Figure 3. The abscissa of Figure 3 represents time, and the ordinate represents voltage.

[0072] In step S2200 , the first processing device 1100 performs Fourier transform processing on the data frame to obtain a first amplitude and a first phase corresponding to a first frequency point in the data frame.

[0073] In one embodiment, by performing Fourier transform processing on the i-th data frame, the first amplitudes corresponding to the L first frequency points of the i-th data frame can be obtained. The L first frequency points are 0, Fs / L, 2Fs / L, ..., (L-1)Fs / L, and the corresponding first amplitudes are represented by A1, A2, ..., A L / 2 , and the corresponding first phases are expressed as Wherein, Fs is the split frequency of the initial tactile signal.

[0074] In another embodiment, by performing Fourier transform processing on the i-th data frame, the amplitudes corresponding to the L frequency points of the i-th data frame can be obtained. When L is an even number, the amplitudes of the first L / 2 frequency points are the same as the amplitudes of the corresponding frequency points in the last L / 2 frequency points. Therefore, only the first L / 2 frequency points can be used as the first frequency points, and the amplitudes corresponding to the first L / 2 frequency points can be used as the first amplitudes. The L / 2 first frequency points can be 0, Fs / L, 2Fs / L, ..., (L / 2-1)Fs / L, and the corresponding first amplitudes are expressed as A1, A2, ..., A L / 2 , and the corresponding first phases are expressed as Wherein, Fs is the split frequency of the initial tactile signal.

[0075] This embodiment takes the first L / 2 frequency points as the first frequency point as an example, and describes in detail the process of processing the data frame in steps S2300 to S2500.

[0076] In step S2300 , the first processing device 1100 compresses the first amplitude and the first phase corresponding to the first frequency point in the data frame to obtain compressed data of the data frame.

[0077] In one embodiment of the present disclosure, the first processing device 1100 compresses the first amplitude and the first phase corresponding to the first frequency point in the data frame to obtain compressed data of the data frame, which may include the following steps S2310 to S2340:

[0078] Step S2310: Obtain the bandwidth of the data frame according to the maximum first frequency point and the minimum first frequency point in the data frame.

[0079] In this embodiment, for any data frame, the minimum first frequency point is 0, the maximum first frequency point is (L / 2-1)Fs / L, and the bandwidth of the data frame may be [0, (L / 2-1)Fs / L].

[0080] Furthermore, the bandwidths of the M data frames are the same, namely [0, (L / 2-1)Fs / L].

[0081] Step S2320: Divide the bandwidth of the data frame into N frequency bands according to the vibration bandwidth of the motor.

[0082] In this embodiment, the bandwidth of the motor vibration may be [faL, faH]. Considering the characteristics of the motor vibration that the motor vibration focuses on low frequencies and weakens high frequencies, the bandwidth of the data frame is divided into N frequency bands.

[0083] In one embodiment of the present disclosure, the lower limit frequency point of the minimum frequency band is the minimum first frequency point in the data frame, and the upper limit frequency point of the minimum frequency band is the lower limit frequency point of the bandwidth of the data frame; the lower limit frequency point of the maximum frequency band is the upper limit frequency point of the bandwidth of the data frame, and the upper limit frequency point of the maximum frequency band is the maximum first frequency point of the data frame.

[0084] Specifically, the first frequency band and the Nth frequency band may be determined first, wherein the first frequency band Band1 is [0, faL), and the Nth frequency band Band N is [faH, (L / 2-1)Fs / L].

[0085] Furthermore, [faL, faH) may be divided into N-2 frequency bands based on obtaining the first frequency band and the Nth frequency band.

[0086] In one embodiment of the present disclosure, [faL, faH) may be equally divided according to a linear frequency difference to obtain the 2nd to N-1th frequency bands.

[0087] Specifically, the linear frequency difference df can be calculated according to the set number N-2. If N-2>1, df=(faH-faL) / (N-2), if N-2=1, then df=(faH-faL). Then, [faL, faH) is divided equally according to the linear frequency difference df to obtain the 2nd to N-1th frequency bands and the jth frequency band (where j is an integer less than or equal to N-1 and greater than or equal to 2). j It is [faL+(j-2)*df, faL+(j-1)*df], where faL+(N-2)*df=faH.

[0088] In another embodiment of the present disclosure, [faL, faH) may be equally divided according to the logarithmic frequency difference to obtain the 2nd to N-1th frequency bands.

[0089] Specifically, the logarithmic frequency difference dqf may be calculated according to a set number N-2, where: Then, [faL, faH) is divided equally according to the logarithmic frequency difference dqf to obtain the 2nd to N-2nd frequency bands and the jth frequency band (where j is an integer less than or equal to N-1 and greater than or equal to 2). j For [faL*dqf j-2 ,faL*dqf j-1 ], where faL*dqf N-2 =faH.

[0090] Step S2330 : resample the first frequency point of the data frame in the N frequency bands according to the set compression ratio of each frequency band to obtain the second frequency point of the data frame in the N frequency bands.

[0091] In this embodiment, resampling the first frequency points of the data frame in N frequency bands may be performed by compressing the number of first frequency points of the data frame in the N frequency bands. For any data frame, the compression ratios of different frequency bands may be the same or different. For any frequency band, the compression ratios of different data frames in that frequency band may be the same or different.

[0092] In one embodiment of the present disclosure, the compression ratio of the smallest frequency band and the largest frequency band is infinite. The smallest frequency band is the first frequency band Band1, i.e. [0, faL), and the largest frequency band is the Nth frequency band Band N , that is [faH, (L / 2-1)Fs / L].

[0093] On this basis, resampling the first frequency point in the smallest frequency band and the first frequency point in the largest frequency band may include discarding the first frequency point in the smallest frequency band and the first frequency point in the largest frequency band.

[0094] In this way, all invalid frequency domain parameters outside the motor bandwidth can be discarded.

[0095] In one embodiment of the present disclosure, the frequency point of the jth frequency band is greater than the frequency point of the j-1th frequency band, and the compression ratio of the jth frequency band is greater than the compression ratio of the j-1th frequency band, where j is an integer less than or equal to N-1 and greater than 2.

[0096] Specifically, the compression ratio c of the jth frequency band (where j is an integer less than or equal to N-1 and greater than or equal to 2) is j It can be an integer greater than or equal to 1.

[0097] When the compression ratio of a frequency band is 1, the data frame may not be resampled at the first frequency point of the frequency band, but the first frequency point of the data frame in the frequency band may be used as the second frequency point. That is, the first frequency point and the second frequency point of the data frame in the frequency band are the same.

[0098] According to the set compression ratio of each frequency band, the first frequency point of the data frame in N frequency bands is resampled to obtain the second frequency point of the data frame in N frequency bands. The set of the second frequency points of the data frame can be expressed as {f p1 , f p2 ,…,f pn}, pl is the frequency f pl The sorting number in the set of first frequency points, l is a positive integer less than or equal to n, n is the number of second frequency points of the data frame, n <L / 2。

[0099] In this embodiment, for frequency bands 2 through N-1, the lower the frequency, the smaller the compression ratio, while the higher the frequency, the larger the compression ratio. This allows for more low-frequency information to be retained while appropriately discarding mid- and high-frequency information, thus matching the low-frequency bias of linear motor vibration.

[0100] Step S2340: Obtain compressed data of the data frame according to the second amplitude and the second phase corresponding to the second frequency point in the data frame.

[0101] In one embodiment of the present disclosure, the second frequency point set {f p1 , f p2 ,…,f pn} in the subscript pl, determine the set of the first amplitude and the first phase corresponding to the sequence number pl in the first amplitude and the first phase obtained in step S2200, which is the set of the second amplitude {A p1 , A p2 ,……,A pn} and the set of the second phase The set of the second amplitudes and the set of the second phases are compressed data of the data frame.

[0102] In step S2400 , the first processing device 1100 transmits the compressed data of the data frame to the second processing device 1200 .

[0103] In this embodiment, the first processing device 1100 can transmit the encoded data of the data frame to the second processing device 1200 through any communication method such as data cable, Ethernet, WiFi, Bluetooth, 4G / 5G, ZigBee, radio frequency, etc.

[0104] In step S2500 , the second processing device 1200 reconstructs the compressed data of the data frame to obtain reconstructed data of the data frame.

[0105] In one embodiment of the present disclosure, the second processing device 1200 reconstructs the compressed data of the data frame to obtain reconstructed data of the data frame, which may include the following steps S2511 to S2512:

[0106] Step S2511, expand the compressed data of the data frame to obtain extended data of the data frame, the extended data including the second amplitude and second phase corresponding to the second frequency point in the data frame, and the third amplitude and third phase corresponding to the third frequency point in the data frame, the third amplitude of the second frequency point being the first set value, and the third phase being the second set value.

[0107] In this embodiment, the total number of the third frequency points and the second frequency points in the extended data of the data frame is equal to the number of the first frequency points of the data frame.

[0108] In one embodiment, the first setting value and the second setting value may be pre-set according to an application scenario or specific requirements. For example, the first setting value may be 0, and the second setting value may also be 0.

[0109] In one example, the compressed data of the data frame is expanded to obtain the expanded data of the data frame by constructing an amplitude set containing L / 2 elements and a phase set containing L / 2 elements, wherein the value of each element in the amplitude set is 0, and the value of each element in the phase set is also 0. For each second amplitude, the value of the element with the sequence number pl in the amplitude set can be replaced with the second amplitude based on the subscript pl of the second amplitude. For each second phase, the value of the element with the sequence number pl in the phase set can be replaced with the second phase based on the subscript pl of the second phase. After all the second amplitudes and second phases of the data frame are replaced, the replaced amplitude set A e and phase set This is the extended data of the data frame.

[0110] For example, if pl=2, the second element value 0 in the second amplitude set A2 can be used.

[0111] Step S2512: Perform inverse Fourier transform on the expanded data of the data frame to obtain reconstructed data of the data frame.

[0112] In this embodiment, the extended data of the data frame, that is, the amplitude set of the data frame and A e and phase set Performing an inverse Fourier transform yields a frame of time-domain data, i.e., the reconstructed data for that data frame. This reconstructed data includes waveform data for L sampling moments. The waveform at the kth sampling moment in this reconstructed data can be as shown in Figure 4 , which is consistent with the waveform at the kth sampling moment in the data frame. The abscissa of Figure 4 represents time, and the ordinate represents voltage.

[0113] In another embodiment of the present disclosure, in one embodiment of the present disclosure, the second processing device 1200 reconstructs the compressed data of the data frame to obtain the reconstructed data of the data frame, which may include steps S2521 to S2523 as follows:

[0114] Step S2521: Obtain the accumulated phase of the second frequency point in the data frame at the corresponding L sampling moments according to the second frequency point, the split frequency, and the second phase of the data frame.

[0115] In one embodiment of the present disclosure, obtaining the accumulated phase of the second frequency point in the data frame at the corresponding L sampling moments according to the second frequency point, the split frequency, and the second phase of the data frame may include the following steps S25211 to S25212:

[0116] Step S25211: Obtain the phase increment of the second frequency point in the data frame at each sampling moment according to the first frequency point and the split frequency of the data frame.

[0117] In this embodiment, the split frequency is Fs, and the lth second frequency point f in the i-th data frame is pl The phase increment at each sampling moment can be

[0118] Step S25212: Obtain the accumulated phases of the second frequency point in the data frame at the corresponding L sampling moments according to the phase increment of the second frequency point in the data frame at each sampling moment and the second phase corresponding to the second frequency point in the data frame.

[0119] In this embodiment, the second phase corresponding to the lth second frequency point in the i-th data frame is The phase increment of the lth second frequency point in the i-th data frame at each sampling moment is The cumulative phase of the lth second frequency point in the i-th data frame at the k-th (where k is a positive integer less than or equal to L) sampling moment

[0120] Step S2522: Obtain the sinusoidal components of each second frequency point in the data frame at the corresponding L sampling moments based on the second amplitude corresponding to the second frequency point in the data frame and the accumulated phase of the second frequency point in the data frame at the corresponding L sampling moments.

[0121] The second amplitude corresponding to the lth second frequency point in the i-th data frame is Amp pl , the cumulative phase of the lth second frequency point in the i-th data frame at the k-th sampling time is Then, the sinusoidal component of the lth second frequency point in the i-th data frame at the k-th sampling time can be expressed as

[0122] Step S2523 : Obtain reconstructed data of the data frame according to the sinusoidal components of each second frequency point in the data frame at the corresponding L sampling moments.

[0123] In this embodiment, the sum of the sinusoidal components of all second frequency points in the data frame at the corresponding L sampling moments may be determined to obtain the synthetic sinusoidal components of the data frame at the corresponding L sampling moments; and then, based on the synthetic sinusoidal components of the data frame at the corresponding L sampling moments, the reconstructed data of the data frame may be obtained.

[0124] Furthermore, the sinusoidal components of all the second frequency points in the i-th data frame at the k-th sampling moment are superimposed to obtain the synthetic sinusoidal component of the i-th data frame at the k-th sampling moment:

[0125] In an example, the waveform of the synthesized sinusoidal component of the i-th data frame at the k-th sampling moment may be as shown in FIG. 4 .

[0126] Furthermore, the set of synthesized sinusoidal components of the i-th data frame at all sampling moments may be determined in descending order of sampling moments as the reconstructed data.

[0127] In step S2600 , the second processing device 1200 generates a tactile signal according to the reconstructed data of the data frame.

[0128] In this embodiment, the tactile drive signals of the i-th data frame at the corresponding L sampling moments can be generated in sequence based on the synthetic sinusoidal components of the i-th data frame at the corresponding L sampling moments. The tactile drive signals of the i-th data frame at the corresponding L sampling moments are the tactile drive signals of the i-th data frame.

[0129] Specifically, the tactile driving signal of the i-th data frame at the k-th sampling moment may be generated according to the synthetic sinusoidal component of the i-th data frame at the k-th sampling moment by the following formula: a1=K(2ω cc 2 T 2 -8) b1=(2ωc 2 T 2 -8) ω cc =2πf aL Q c =0.707

[0130] Where T is the signal processing cutting period, T = 1 / Fs, m is the motor vibrator mass, Bl is the magnetic field strength, K is the spring coefficient, r is the damping coefficient, R e is the DC resistance of the coil.

[0131] In one embodiment, the waveform of the haptic driving signal of the i-th data frame at the k-th sampling moment may be as shown in Figure 5. The abscissa of Figure 5 represents time, and the ordinate represents voltage.

[0132] In this embodiment, the haptic driving signal is calculated in combination with the motor characteristic theory, so that the waveform reproduced by the driving motor is closer to the waveform of the reconstructed data, thereby ensuring the reproduction effect of the motor.

[0133] In step S2700 , the second processing device 1200 drives the motor to vibrate according to the tactile signal.

[0134] In this embodiment, the second processing device 1200 may perform power amplification on the L tactile driving signals in sequence to drive the motor to generate vibration feedback.

[0135] In one embodiment, the waveform reproduced by the haptic driving signal driving the motor at the kth sampling moment in the i-th data frame may be as shown in Figure 6. The abscissa of Figure 6 represents time, and the ordinate represents voltage.

[0136] In an embodiment of the present disclosure, by compressing and reconstructing each data frame, the waveform data that originally occupies a large bandwidth is converted into encoded data with a small bandwidth occupancy, and transmitted between the first processing device and the second processing device, the bandwidth limitation problem in the tactile signal transmission process can be effectively solved.

[0137] FIG7 is a schematic diagram of an example of a motor driving method provided according to an embodiment of the present disclosure.

[0138] As shown in FIG7 , the motor driving method may include the following steps:

[0139] In step S7101 , the first processing device 1100 obtains an initial tactile signal.

[0140] In step S7102 , the first processing device 1100 segments the initial tactile signal according to a set segmentation frequency to obtain M data frames, each of which includes initial waveform data at L sampling moments.

[0141] In step S7103 , the first processing device 1100 performs Fourier transform processing on the i-th data frame to obtain a first amplitude and a first phase corresponding to a first frequency point in the i-th data frame.

[0142] Wherein, i is a positive integer less than or equal to M.

[0143] In step S7104 , the first processing device 1100 obtains the bandwidth of the i th data frame according to the maximum first frequency point and the minimum first frequency point in the i th data frame.

[0144] For example, the minimum first frequency point of the i-th data frame is 0, the maximum first frequency point is (L / 2-1)Fs / L, and the bandwidth of the i-th data frame can be [0, (L / 2-1)Fs / L].

[0145] In step S7105 , the first processing device 1100 divides the bandwidth of the i-th data frame into N frequency bands according to the vibration bandwidth of the motor.

[0146] The bandwidth of the motor vibration can be [faL, faH]. The first frequency band and the Nth frequency band can be determined first, where the first frequency band Band1 is [0, faL) and the Nth frequency band Band N is [faH, (L / 2-1)Fs / L].

[0147] Furthermore, [faL, faH) may be divided into N-2 frequency bands based on obtaining the first frequency band and the Nth frequency band.

[0148] For example, the linear frequency difference df can be calculated according to the set number N-2. If N-2>1, df=(faH-faL) / (N-2), if N-2=1, then df=(faH-faL). Then, [faL, faH) is divided equally according to the linear frequency difference df to obtain the 2nd to N-1th frequency bands and the jth frequency band (where j is an integer less than or equal to N-1 and greater than or equal to 2). j It is [faL+(j-2)*df, faL+(j-1)*df], where faL+(N-2)*df=faH.

[0149] For another example, the logarithmic frequency difference dqf may be calculated according to a set number N-2, where: Then, [faL, faH) is divided equally according to the logarithmic frequency difference dqf to obtain the 2nd to N-2nd frequency bands, and the jth frequency band Bandj (where j is an integer less than or equal to N-1 and greater than or equal to 2) is [faL*dqf j-2 ,faL*dqf j-1 ], where faL*dqf N-2 =faH.

[0150] In step S7106 , the first processing device 1100 resamples the first frequency point of the i-th data frame in the N frequency bands according to the set compression ratio of each frequency band to obtain the second frequency point of the i-th data frame in the N frequency bands.

[0151] The smallest frequency band is the first frequency band Band1, that is, [0, faL), and the largest frequency band is the Nth frequency band Band N , that is, [faH, (L / 2-1)Fs / L], the compression ratio of the smallest frequency band and the largest frequency band is infinite. On this basis, resampling the first frequency point in the smallest frequency band and the first frequency point in the largest frequency band can be performed by discarding the first frequency point in the smallest frequency band and the first frequency point in the largest frequency band.

[0152] The frequency point of the jth frequency band is greater than the frequency point of the j-1th frequency band, and the compression ratio of the jth frequency band is greater than the compression ratio of the j-1th frequency band, where j is an integer less than or equal to N-1 and greater than 2.

[0153] The set of the second frequency points of the i-th data frame can be expressed as {f p1 , f p2 ,…,f pn}, pl is the frequency f pl The sorting number in the set of first frequency points, l is a positive integer less than or equal to n, n is the number of second frequency points of the i-th data frame, n <L / 2。

[0154] In step S7107 , the first processing device 1100 obtains compressed data of the i th data frame according to the second amplitude and the second phase corresponding to the second frequency point of the i th data frame.

[0155] For example, it can be based on the set of the second frequency points of the i-th data frame {f p1 , f p2 ,…,f pn The subscript pl in} determines the set of the first amplitude and the first phase of the i-th data frame, and the set of the first amplitude and the first phase corresponding to the sequence number pl is the set of the second amplitude {A p1 , A p2 ,……,A pn} and the set of the second phase The set of the second amplitudes and the set of the second phases are the compressed data of the i-th data frame.

[0156] In step S7108 , the first processing device 1100 transmits the compressed data of the i-th data frame to the second processing device 1200 .

[0157] In step S7201 , the second processing device 1200 expands the compressed data of the i-th data frame to obtain expanded data of the i-th data frame.

[0158] The extended data includes the second amplitude and second phase corresponding to the second frequency point in the i-th data frame, and the third amplitude and third phase corresponding to the third frequency point in the i-th data frame, where the third amplitude of the second frequency point is the first set value and the third phase is the second set value. The total number of third and second frequency points in the extended data of the i-th data frame is equal to the number of first frequency points in the i-th data frame.

[0159] For example, an amplitude set containing L / 2 elements and a phase set containing L / 2 elements may be constructed, wherein the value of each element in the amplitude set is 0, and the value of each element in the phase set is also 0. For each second amplitude, the value of the element with the sequence number pl in the amplitude set may be replaced with the second amplitude according to the subscript pl of the second amplitude. For each second phase, the value of the element with the sequence number pl in the phase set may be replaced with the second phase according to the subscript pl of the second phase. After all the second amplitudes and second phases of the i-th data frame are replaced, the replaced amplitude set A e and phase set That is the expanded data of the i-th data frame.

[0160] In step S7202 , the second processing device 1200 performs inverse Fourier transform on the expanded data of the i-th data frame to obtain reconstructed data of the i-th data frame.

[0161] In step S7203 , the second processing device 1200 generates a haptic driving signal of the i-th data frame according to the reconstructed data of the i-th data frame.

[0162] In this embodiment, it can be the synthetic sinusoidal components {s1, s2, ..., s L}, and sequentially generate the tactile driving signals {u1, u2, ..., u L}.

[0163] For example, the tactile driving signal of the ith data frame at the kth sampling moment may be generated according to the synthetic sinusoidal component of the ith data frame at the kth sampling moment using the following formula: a1=K(2ω cc 2 T 2 -8) b1=(2ω c 2 T 2 -8) ω cc =2πf aL Q c =0.707

[0164] Where T is the signal processing cutting period, T = 1 / Fs, m is the motor vibrator mass, Bl is the magnetic field strength, K is the spring coefficient, r is the damping coefficient, R e is the DC resistance of the coil.

[0165] In step S7204 , the second processing device 1200 drives the motor to vibrate according to the tactile driving signals of the M data frames.

[0166] FIG8 is a schematic diagram of an example of a motor driving method provided according to an embodiment of the present disclosure.

[0167] As shown in FIG8 , the motor driving method may include the following steps:

[0168] In step S8101 , the first processing device 1100 obtains an initial tactile signal.

[0169] In step S8102 , the first processing device 1100 segments the initial tactile signal according to a set segmentation frequency to obtain M data frames, each of which includes initial waveform data at L sampling moments.

[0170] In step S8103 , the first processing device 1100 performs Fourier transform processing on the i-th data frame to obtain a first amplitude and a first phase corresponding to a first frequency point in the i-th data frame.

[0171] Wherein, i is a positive integer less than or equal to M.

[0172] In step S8104 , the first processing device 1100 obtains the bandwidth of the i th data frame according to the maximum first frequency point and the minimum first frequency point in the i th data frame.

[0173] For example, the minimum first frequency point is 0, the maximum first frequency point is (L / 2-1)Fs / L, and the bandwidth of the i-th data frame can be [0, (L / 2-1)Fs / L].

[0174] In step S8105 , the first processing device 1100 divides the bandwidth of the i-th data frame into N frequency bands according to the vibration bandwidth of the motor.

[0175] The bandwidth of the motor vibration can be [faL, faH]. The first frequency band and the Nth frequency band can be determined first, where the first frequency band Band1 is [0, faL) and the Nth frequency band Band N is [faH, (L / 2-1)Fs / L].

[0176] Furthermore, [faL, faH) may be divided into N-2 frequency bands based on obtaining the first frequency band and the Nth frequency band.

[0177] For example, the linear frequency difference df can be calculated according to the set number N-2. If N-2>1, df=(faH-faL) / (N-2), if N-2=1, then df=(faH-faL). Then, [faL, faH) is divided equally according to the linear frequency difference df to obtain the 2nd to N-1th frequency bands and the jth frequency band (where j is an integer less than or equal to N-1 and greater than or equal to 2). j It is [faL+(j-2)*df, faL+(j-1)*df], where faL+(N-2)*df=faH.

[0178] For another example, the logarithmic frequency difference dqf may be calculated according to a set number N-2, where: Then, [faL, faH) is divided equally according to the logarithmic frequency difference dqf to obtain the 2nd to N-2nd frequency bands, and the jth frequency band Bandj (where j is an integer less than or equal to N-1 and greater than or equal to 2) is [faL*dqf j-2 ,faL*dqf j-1 ], where faL*dpf N-2 =faH.

[0179] In step S8106 , the first processing device 1100 resamples the first frequency point of the i-th data frame in the N frequency bands according to the set compression ratio of each frequency band to obtain the second frequency point of the i-th data frame in the N frequency bands.

[0180] The smallest frequency band is the first frequency band Band1, that is, [0, faL), and the largest frequency band is the Nth frequency band Band N , that is, [faH, (L / 2-1)Fs / L], the compression ratio of the smallest frequency band and the largest frequency band is infinite. On this basis, resampling the first frequency point in the smallest frequency band and the first frequency point in the largest frequency band can be performed by discarding the first frequency point in the smallest frequency band and the first frequency point in the largest frequency band.

[0181] The frequency point of the jth frequency band is greater than the frequency point of the j-1th frequency band, and the compression ratio of the jth frequency band is greater than the compression ratio of the j-1th frequency band, where j is an integer less than or equal to N-1 and greater than 2.

[0182] The set of the second frequency points of the i-th data frame can be expressed as {f p1 , f p2 ,…,f pn}, pl is the frequency f pl The sorting number in the set of first frequency points, l is a positive integer less than or equal to n, n is the number of second frequency points of the i-th data frame, n <L / 2。

[0183] In step S8107 , the first processing device 1100 obtains compressed data of the i th data frame according to the second amplitude and the second phase corresponding to the second frequency point of the i th data frame.

[0184] For example, it can be based on the set of the second frequency points of the i-th data frame {f p1 , f p2 ,…,f pn The subscript pl in} determines the set of the first amplitude and the first phase of the i-th data frame, and the set of the first amplitude and the first phase corresponding to the sequence number pl is the set of the second amplitude {A p1 , A p2 ,……,A pn} and the set of the second phase The set of the second amplitudes and the set of the second phases are the compressed data of the i-th data frame.

[0185] In step S8108 , the first processing device 1100 transmits the compressed data of the i-th data frame to the second processing device 1200 .

[0186] In step S8201 , the second processing device 1200 obtains the phase increment of the second frequency point in the i th data frame at each sampling moment according to the first frequency point and the split frequency of the i th data frame.

[0187] For example, the lth second frequency point f in the i-th data frame pl The phase increment at each sampling moment can be Where Fs is the split frequency.

[0188] In step S8202, the second processing device 1200 obtains the cumulative phase of the second frequency point in the i-th data frame at the corresponding L sampling moments based on the phase increment of the second frequency point in the i-th data frame at each sampling moment and the second phase corresponding to the second frequency point in the i-th data frame.

[0189] For example, the cumulative phase of the lth second frequency point in the i-th data frame at the k-th (where k is a positive integer less than or equal to L) sampling moment is in, is the second phase corresponding to the lth second frequency point in the i-th data frame, is the phase increment of the lth second frequency point in the i-th data frame at each sampling moment.

[0190] In step S8203, the second processing device 1200 obtains the sinusoidal components of each second frequency point in the i-th data frame at the corresponding L sampling moments based on the second amplitude corresponding to the second frequency point in the i-th data frame and the accumulated phase of the second frequency point in the i-th data frame at the corresponding L sampling moments.

[0191] For example, the sinusoidal component of the lth second frequency point in the i-th data frame at the k-th sampling time can be expressed as Among them, Amp pl is the second amplitude corresponding to the lth second frequency point in the i-th data frame, is the accumulated phase of the lth second frequency point in the i-th data frame at the k-th sampling moment.

[0192] In step S8204 , the second processing device 1200 obtains reconstructed data of the i th data frame according to the sinusoidal components of each second frequency point in the i th data frame at the corresponding L sampling moments.

[0193] Specifically, the sinusoidal components of all the second frequency points in the i-th data frame at the k-th sampling moment are superimposed to obtain the synthetic sinusoidal component of the i-th data frame at the k-th sampling moment:

[0194] In step S8205 , the second processing device 1200 generates a haptic driving signal of the i-th data frame according to the reconstructed data of the i-th data frame.

[0195] In this embodiment, it can be the synthetic sinusoidal components {s1, s2, ..., s L}, and sequentially generate the tactile driving signals {u1, u2, ..., u L}.

[0196] For example, the tactile driving signal of the ith data frame at the kth sampling moment may be generated according to the synthetic sinusoidal component of the ith data frame at the kth sampling moment using the following formula: a1=K(2ω cc 2 T 2 -8) b1=(2ω c 2 T 2 -8) ω cc =2πf aL Q c =0.707

[0197] Where T is the signal processing cutting period, T = 1 / Fs, m is the motor vibrator mass, Bl is the magnetic field strength, K is the spring coefficient, r is the damping coefficient, R e is the DC resistance of the coil.

[0198] In step S8206 , the second processing device 1200 drives the motor to vibrate according to the tactile driving signals of the M data frames.

[0199] This embodiment also provides a processing device. As shown in FIG9 , the processing device 9000 may include a processor 9100 and a memory 9200. The memory 9200 is used to store a computer program. The computer program is used to control the processor 9100 to execute the method steps implemented by the first processing device in the aforementioned embodiment, or to execute the method steps implemented by the second processing device in the aforementioned embodiment.

[0200] The processing device 9000 of this embodiment can be set in an electronic device such as a mobile phone, a tablet computer, a bracelet, a handle, a VR device, an AR device, etc.

[0201] The above embodiments mainly focus on the differences from other embodiments, but it should be clear to those skilled in the art that the above embodiments can be used alone or in combination with each other as needed.

[0202] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other. Each embodiment focuses on the differences from other embodiments, but it should be clear to those skilled in the art that the above embodiments can be used alone or in combination with each other as needed. In addition, for the device embodiment, since it corresponds to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the description of the corresponding part of the method embodiment. The system embodiment described above is merely illustrative, and the modules described as separate components may or may not be physically separated.

[0203] The present invention may be an apparatus, a method and / or a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for causing a processor to implement various aspects of the present invention.

[0204] A computer-readable storage medium can be a tangible device that can hold and store instructions for use by an instruction execution device. A computer-readable storage medium can be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical compression device, such as a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination thereof. As used herein, a computer-readable storage medium is not to be construed as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through an electrical wire.

[0205] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in the computer-readable storage medium in each computing / processing device.

[0206] The computer program instructions for performing the operation of the present invention can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk, C++, and conventional procedural programming languages ​​such as "C" language or similar programming languages. The computer readable program instructions can be executed entirely on the user's computer, partially on the user's computer, as an independent software package, partially on the user's computer, partially on a remote computer, or completely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any type of network including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., using an Internet service provider to connect via the Internet). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), is personalized by utilizing the state information of the computer readable program instructions, and the electronic circuit can execute the computer readable program instructions, thereby realizing various aspects of the present invention.

[0207] Various aspects of the present invention are described herein with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present invention. It should be understood that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.

[0208] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processor of the computer or other programmable data processing device, a device is generated that implements the functions / actions specified in one or more blocks in the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, where these instructions cause the computer, programmable data processing device, and / or other device to operate in a specific manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing various aspects of the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0209] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0210] The flowcharts and block diagrams in the accompanying drawings show the possible implementation architecture, functions and operations of the systems, methods and computer program products according to multiple embodiments of the present invention. In this regard, each box in the flowchart or block diagram can represent a module, program segment or part of an instruction, and the module, program segment or part of the instruction contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of boxes in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system that performs the specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions. It is well known to those skilled in the art that implementation by hardware, implementation by software, and implementation by a combination of software and hardware are all equivalent.

[0211] While various embodiments of the present invention have been described above, the foregoing description is intended to be illustrative, not exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is selected to best explain the principles of the embodiments, their practical applications, or technical improvements to existing technologies, or to enable others skilled in the art to understand the embodiments disclosed herein. The scope of the present invention is defined by the appended claims.

Claims

1. A motor driving method, characterized in that: include: The first processing device acquires M data frames of the initial tactile signal, each data frame includes initial waveform data at L sampling moments, where M is a positive integer and L is a positive integer; The first processing device performs Fourier transform processing on the data frame to obtain a first amplitude and a first phase corresponding to each first frequency point in the data frame; The first processing device compresses the first amplitude and the first phase corresponding to the first frequency point in the data frame to obtain compressed data of the data frame; The first processing device transmits the compressed data of the data frame to the second processing device; The second processing device reconstructs the compressed data of the data frame to obtain reconstructed data of the data frame; The second processing device generates a tactile signal according to the reconstructed data of the data frame; The second processing device drives a motor to vibrate according to the tactile signal.

2. The method according to claim 1, characterized in that The first processing device compresses the first amplitude and the first phase corresponding to the first frequency point in the data frame to obtain compressed data of the data frame, including: Obtaining a bandwidth of the data frame according to a maximum first frequency point and a minimum first frequency point in the data frame; Dividing the bandwidth of the data frame into N frequency bands according to the vibration bandwidth of the motor; Resampling the first frequency point in the data frame in the N frequency bands according to the set compression ratio of each frequency band to obtain the second frequency point in the data frame in the N frequency bands; The compressed data of the data frame is obtained according to the second amplitude and the second phase corresponding to the second frequency point in the data frame.

3. The method according to claim 2, characterized in that The lower limit frequency point of the smallest frequency band is the smallest first frequency point in the data frame, and the upper limit frequency point of the smallest frequency band is the lower limit frequency point of the bandwidth of the data frame; the lower limit frequency point of the largest frequency band is the upper limit frequency point of the bandwidth of the data frame, and the upper limit frequency point of the largest frequency band is the largest first frequency point of the data frame.

4. The method according to claim 2, characterized in that: The compression ratio between the smallest and largest frequency bands is infinite; Resampling the first frequency point in the smallest frequency band and the largest frequency band in the data frame comprises: The first frequency point in the smallest frequency band and the first frequency point in the largest frequency band are discarded.

5. The method according to claim 2, characterized in that: The frequency point of the jth frequency band is greater than the frequency point of the j-1th frequency band, and the compression ratio of the jth frequency band is greater than the compression ratio of the j-1th frequency band, where j is an integer greater than 2 and less than N.

6. The method according to claim 2, characterized in that The second processing device reconstructs the compressed data of the data frame to obtain the reconstructed data of the data frame, including: Expanding the compressed data of the data frame to obtain expanded data of the data frame; the expanded data of the data frame includes a second amplitude and a second phase corresponding to a second frequency point of the data frame, and a third amplitude and a third phase corresponding to a third frequency point of the data frame, the third frequency point being a first frequency point missing from the second frequency point, the third amplitude being a first set value, and the third phase being a second set value; Perform inverse Fourier transform on the expanded data of the data frame to obtain reconstructed data of the data frame.

7. The method according to claim 2, characterized in that The first processing device obtains M data frames of the initial tactile signal, including: obtaining an initial tactile signal; The initial tactile signal is segmented according to the set segmentation frequency to obtain the M data frames.

8. The method according to claim 7, characterized in that The step of reconstructing the compressed data of the data frame to obtain the reconstructed data of the data frame includes: According to the second frequency point of the data frame, the split frequency, and the second phase, obtaining the accumulated phase of the second frequency point in the data frame at the corresponding L sampling moments; Obtaining a sinusoidal component of each second frequency point in the data frame at the corresponding L sampling moments according to a second amplitude corresponding to the second frequency point in the data frame and an accumulated phase of the second frequency point in the data frame at the corresponding L sampling moments; The reconstructed data of the data frame is obtained according to the sinusoidal components of each second frequency point in the data frame at the corresponding L sampling moments.

9. The method according to claim 8, characterized in that The obtaining, according to the second frequency point of the data frame, the split frequency, and the second phase, the accumulated phase of the second frequency point in the data frame at the corresponding L sampling moments includes: According to the first frequency point of the data frame and the split frequency, a phase increment of the second frequency point in the data frame at each sampling time is obtained; According to the phase increment of the second frequency point in the data frame at each sampling moment and the second phase corresponding to the second frequency point in the data frame, the accumulated phases of the second frequency point in the data frame at the corresponding L sampling moments are obtained.

10. A processing device, characterized in that: It comprises a processor and a memory, the memory is used to store a computer program, the computer program is used to control the processor to execute the method steps implemented by the first processing device as claimed in any one of claims 1 to 9, or to execute the method steps implemented by the second processing device as claimed in any one of claims 1 to 9.

Citation Information

Patent Citations

  • Haptic signal conversion system

    CN111381707A

  • Motor driving method and processing device

    CN117234330A

  • Storage medium having stored therein vibration signal generation program, vibration signal generation system, vibration signal generation apparatus, vibration signal generation method, and storage medium having stored therein data output program

    US20160310844A1

  • Encoding / decoding apparatuses and methods for encoding / decoding vibrotactile signals

    US20200312103A1

  • Actuator vibration control method and apparatus, and computer device and storage medium

    WO2023109274A1