Motor driving method and processing device
By Fourier transforming, encoding, transmitting, decoding and reconstructing the initial tactile signal, tactile driving signals are generated to drive motor vibration, solving the problem of tactile signal transmission under limited bandwidth, and achieving efficient tactile information transmission and improving motor vibration quality.
Patent Information
- Application Number
- PCT/CN2024/113120
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-25
- Filing Date
- 2024-08-19
- Publication Date
- 2025-03-06
AI Technical Summary
Under limited bandwidth limitations, how to effectively transmit haptic signals to drive linear motor vibrations, especially in gaming and AR/VR applications.
By Fourier transforming, encoding, transmitting, decoding and reconstructing the data frame of the initial haptic signal, a haptic driving signal is generated to drive motor vibration. The specific steps include: the first processing device performs Fourier transformation and encoding of the data frame, and transmits it to the second processing device; the second processing device decodes and reconstructs the data frame, and generates a tactile driving signal to drive the motor.
It effectively solves the bandwidth limitation problem during haptic signal transmission, ensures efficient transmission of tactile information under limited bandwidth conditions, and improves the quality and consistency of motor vibration.
Smart Images

Figure CN2024113120_06032025_PF_FP_ABST
Abstract
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 corresponding to a first frequency point in the data frame;
[0010] The first processing device encodes the first amplitude corresponding to the first frequency point in the data frame to obtain encoded data of the data frame;
[0011] The first processing device transmits the encoded data of the data frame to the second processing device;
[0012] The second processing device decodes the encoded data of the data frame to obtain reconstructed data of the data frame;
[0013] The second processing device generates a tactile driving signal of the data frame according to the reconstructed data of the data frame;
[0014] The second processing device drives the motor to vibrate according to the tactile driving signal of the data frame.
[0015] Optionally, the first processing device encodes the first amplitude corresponding to the first frequency point in the data frame to obtain encoded data of the data frame, including:
[0016] Obtaining a bandwidth of the data frame according to a first frequency point in the data frame and a first amplitude corresponding to the first frequency point;
[0017] Dividing the bandwidth of the data frame into N frequency bands;
[0018] Obtaining second amplitudes corresponding to N frequency bands of the data frame according to a first amplitude corresponding to a first frequency point in the data frame;
[0019] Obtaining second frequency points corresponding to the N frequency bands in the data frame according to the bandwidth of the motor vibration;
[0020] The encoded data of the data frame is obtained according to the second amplitudes and second frequency points corresponding to the N frequency bands in the data frame.
[0021] Optionally, obtaining the bandwidth of the data frame according to the first frequency point in the data frame and the first amplitude corresponding to the first frequency point includes:
[0022] Obtaining a reference amplitude of the data frame according to a first amplitude corresponding to a first frequency point in the data frame;
[0023] Determine a minimum first frequency point at which the first amplitude is greater than or equal to the reference amplitude and a maximum first frequency point at which the first amplitude is greater than or equal to the reference amplitude in the data frame;
[0024] The bandwidth of the data frame is obtained according to the minimum first frequency point and the maximum first frequency point.
[0025] Optionally, obtaining the second frequency points corresponding to the N frequency bands in the data frame according to the bandwidth of the motor vibration includes:
[0026] Obtaining the center frequency points of the N frequency bands in the data frame according to the upper frequency point and the lower frequency point of each frequency band in the data frame;
[0027] When the center frequencies of the N frequency bands in the data frame are all within the bandwidth of the motor vibration, the center frequencies of the N frequency bands in the data frame are used as the second frequencies of the corresponding frequency bands;
[0028] When the center frequency point of at least one frequency band in the data frame is outside the bandwidth of the motor vibration, the center frequency points of the N frequency bands in the data frame are mapped to the bandwidth of the motor vibration to obtain the second frequency points of the N frequency bands in the data frame.
[0029] Optionally, obtaining, according to the first amplitude corresponding to the first frequency point in the data frame, second amplitudes corresponding to the N frequency bands of the data frame includes:
[0030] An average value, a median value, a maximum value, a minimum value, or a valid value of the first amplitude values corresponding to the N frequency bands of the data frame is determined as a second amplitude value corresponding to the corresponding frequency band.
[0031] Optionally, the first processing device obtains M data frames of the initial tactile signal, including:
[0032] Obtaining an initial tactile signal;
[0033] The initial tactile signal is segmented according to the set segmentation frequency to obtain the M data frames.
[0034] Optionally, the second processing device decodes the encoded data of the data frame to obtain reconstructed data of the data frame, including:
[0035] Obtaining, according to the second frequency point of the data frame and the split frequency, the accumulated phase of the second frequency point in the data frame at the corresponding L sampling moments;
[0036] Obtaining, according to a second amplitude corresponding to a 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, a sinusoidal component of the second frequency point in the data frame at the corresponding L sampling moments;
[0037] The reconstructed data of the data frame is obtained according to the sinusoidal component of the second frequency point in the data frame at the corresponding L sampling moments.
[0038] Optionally, obtaining, according to the second frequency point of the data frame and the split frequency, the accumulated phase of the second frequency point in the data frame at corresponding L sampling moments includes:
[0039] Determining an initial phase corresponding to a second frequency point in the data frame;
[0040] Obtaining a phase increment of the second frequency point in the data frame at each sampling moment according to the second frequency point of the data frame and the split frequency;
[0041] The accumulated phases of the second frequency point in the data frame at the corresponding L sampling moments are obtained according to the initial phase corresponding to the second frequency point in the data frame and the phase increment of the second frequency point in the data frame at each sampling moment.
[0042] Optionally, determining an initial phase corresponding to the second frequency point in the data frame includes:
[0043] Determine whether the encoded data of the (i-1)th data frame includes the second frequency point, where i is a positive integer less than or equal to M;
[0044] When the encoded data of the (i-1)th data frame includes the second frequency point, determining the initial phase corresponding to the second frequency point in the (i)th data frame as the accumulated phase of the second frequency point in the (i-1)th data frame at the corresponding last sampling moment;
[0045] When the encoded data of the (i-1)th data frame includes the second frequency point, it is determined that the initial phase corresponding to the second frequency point in the i-th data frame is zero.
[0046] 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.
[0047] In an embodiment of the present disclosure, by encoding and decoding 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, which can effectively solve the bandwidth limitation problem in the tactile signal transmission process.
[0048] 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
[0049] 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.
[0050] 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.
[0051] FIG2 is a flow chart of a motor driving method according to an embodiment of the present disclosure;
[0052] FIG3 is a waveform diagram of the i-th data frame provided according to an embodiment of the present disclosure;
[0053] 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;
[0054] 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;
[0055] 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;
[0056] FIG7 is a flow chart of an example of a motor driving method according to an embodiment of the present disclosure;
[0057] FIG8 is a block diagram of a processing device according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0058] 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.
[0059] 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.
[0060] 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.
[0061] 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.
[0062] 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.
[0063] 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 .
[0064] In one embodiment, the first processing device 1100 and the second processing device 1200 may be disposed 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 encode the initial tactile signal and transmit it to the second processing device 1200. The second processing device 1200 then decodes the encoded data and drives the motor to vibrate, thereby enabling the transmission of the tactile signal between the first processing device and the second processing device within a limited bandwidth.
[0065] 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 .
[0066] 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:
[0067] 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.
[0068] Wherein, M is a positive integer, and L is a positive integer.
[0069] 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.
[0070] 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.
[0071] 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.
[0072] 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.
[0073] 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.
[0074] 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.
[0075] 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.
[0076] 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.
[0077] 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.
[0078] In step S2200 , the first processing device 1100 performs Fourier transform processing on the data frame to obtain a first amplitude corresponding to a first frequency point in the data frame.
[0079] In this 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 as A1, A2, ..., AL, respectively. Where Fs is the split frequency of the initial tactile signal.
[0080] In step S2300 , the first processing device 1100 encodes a first amplitude corresponding to a first frequency point in a data frame to obtain encoded data of the data frame.
[0081] In one embodiment of the present disclosure, the first processing device 1100 encodes the first amplitude corresponding to the first frequency point in the data frame to obtain encoded data of the data frame, which may include steps S2310 to S2350 as follows:
[0082] Step S2310: Obtain the bandwidth of the data frame according to the first frequency point and the first amplitude corresponding to the first frequency point in the data frame.
[0083] In one embodiment of the present disclosure, the minimum first frequency point and the maximum first frequency point in the i-th data frame may be determined, and the bandwidth of the i-th data frame may be obtained according to the minimum first frequency point and the maximum first frequency point.
[0084] Specifically, the smallest first frequency point may be used as the lower frequency point of the bandwidth of the i-th data frame, and the largest first frequency point may be used as the upper frequency point of the bandwidth of the i-th data frame.
[0085] In another embodiment of the present disclosure, obtaining the bandwidth of the data frame according to the first frequency point and the first amplitude corresponding to the first frequency point in the data frame may include steps S2311 to S2313 as follows:
[0086] Step S2311: Obtain a reference amplitude of the data frame according to a first amplitude corresponding to a first frequency point in the data frame.
[0087] In one embodiment of the present disclosure, the maximum value of the first amplitudes corresponding to all first frequency points in the i-th data frame may be determined, and the product of the maximum value and a first set value may be calculated as the reference amplitude. The first set value may be a positive number less than 1 that is pre-set based on the application scenario or specific requirements. For example, the first set value may be 1 / 2 or 1 / 3.
[0088] In another embodiment of the present disclosure, the minimum value of the first amplitudes corresponding to all first frequency points in the i-th data frame may be determined, and the product of the minimum value and a second set value may be calculated as the reference amplitude. The second set value may be a positive number greater than 1 that is pre-set based on the application scenario or specific requirements. For example, the second set value may be 1.5 or 1.2.
[0089] In yet another embodiment of the present disclosure, the average value or median value of the first amplitudes corresponding to all first frequency points in the i-th data frame may be determined as the reference amplitude value of the i-th data frame.
[0090] Step S2312: Determine the minimum first frequency point where the first amplitude is greater than or equal to the reference amplitude and the maximum first frequency point where the first amplitude is greater than or equal to the reference amplitude in the data frame.
[0091] In this embodiment, the first frequency point in the i-th data frame that is greater than or equal to the reference frequency point can be determined in order of the first frequencies from small to large, that is, the minimum first frequency point fa in the i-th data frame whose first amplitude is greater than or equal to the reference amplitude, and the first amplitude corresponding to the minimum first frequency point fa is Aa; then, the first frequency point in the i-th data frame that is greater than or equal to the reference frequency point can be determined in order of the first frequencies from large to small, that is, the maximum first frequency point fb in the i-th data frame whose first amplitude is greater than or equal to the reference amplitude, and the first amplitude corresponding to the maximum first frequency point fb is Ab.
[0092] Step S2313: Obtain the bandwidth of the data frame according to the minimum first frequency point and the maximum first frequency point.
[0093] In this embodiment, the minimum first frequency point fa in which the first amplitude in the i-th data frame is greater than or equal to the reference amplitude can be used as the lower limit frequency point of the bandwidth of the i-th data frame, and the maximum first frequency point fb in which the first amplitude in the i-th data frame is greater than or equal to the reference amplitude can be used as the upper limit frequency point of the bandwidth of the i-th data frame. Then, the bandwidth of the i-th data frame can be expressed as [fa, fb].
[0094] Step S2320: Divide the bandwidth of the data frame into N frequency bands.
[0095] In one embodiment of the present disclosure, the bandwidth of the data frame may be equally divided according to a linear frequency difference to obtain N frequency bands of the data frame.
[0096] Specifically, the linear frequency difference df can be calculated according to the set number N. If N>1, df=(fb–fa) / (N-1), if N=1, then df=(fb-fa). Then, the bandwidth of the i-th data frame is equally divided according to the linear frequency difference df to obtain N frequency bands of the i-th data frame and the j-th (where j is a positive integer less than or equal to N) frequency band Band j It is [fa+(j-1)*df, fa+j*df], where fa+(N-1)*df=fb.
[0097] In another embodiment of the present disclosure, the bandwidth of the data frame may be equally divided according to the logarithmic frequency difference to obtain N frequency bands of the data frame.
[0098] Specifically, the logarithmic frequency difference dqf may be calculated according to a set number N, where dqf = (fb / fa) 1 / N Then, the bandwidth of the i-th data frame is divided equally according to the logarithmic frequency difference dqf to obtain N frequency bands of the i-th data frame and the j-th (where j is a positive integer less than or equal to N) frequency band Band j for [fa*dqfj-1 ,fa*dqf j ], where fa*dqf N =fb.
[0099] Step S2330: Obtain second amplitudes corresponding to the N frequency bands of the data frame according to the first amplitude corresponding to the first frequency point in the data frame.
[0100] In this embodiment, for each frequency band of the i-th data frame, the average, median, minimum, maximum or effective value of the first amplitudes corresponding to all first frequency points in the frequency band can be determined as the second amplitude corresponding to the frequency band. The second amplitudes corresponding to the N frequency bands in the i-th data frame can be Amp1, Amp2, ..., Amp N .
[0101] Step S2340: Obtain the second frequency points corresponding to the N frequency bands in the data frame according to the bandwidth of the motor vibration.
[0102] In one embodiment of the present disclosure, obtaining the second frequency points corresponding to the N frequency bands in the data frame according to the bandwidth of the motor vibration may include steps S2341 to S2343 as follows:
[0103] Step S2341: Obtain the center frequency points of the N frequency bands in the data frame according to the upper frequency point and the lower frequency point of each frequency band in the data frame.
[0104] In one embodiment of the present disclosure, for any frequency band in the i-th data frame, the average of the upper and lower frequency limits of the frequency band can be determined as the center frequency of the frequency band. For example, the j-th frequency band Bandj in the i-th data frame is [fL j , fH j ], the corresponding upper and lower frequency limits are fL j and fHj, the center frequency of the band
[0105] In another embodiment of the present disclosure, for any frequency band in the i-th data frame, the square root of the product of the upper limit frequency point and the lower limit frequency point of the frequency band can be determined as the center frequency point of the frequency band. For example, the j-th frequency band Bandj in the i-th data frame is [fL j , fH j ], the corresponding upper and lower frequency limits are fL j and fH j , the center frequency of the band fc j =sqrt(fL j *fH j ).
[0106] Step S2342 : When the center frequencies of the N frequency bands in the data frame are all within the bandwidth of the motor vibration, the center frequencies of the N frequency bands in the data frame are used as the second frequencies of the corresponding frequency bands.
[0107] In this embodiment, when the center frequency points of N frequency bands in the i-th data frame are all within the bandwidth of the motor vibration, the center frequency point of the j-th frequency band in the i-th data frame can be used as the second frequency point of the j-th frequency band in the i-th data frame.
[0108] Step S2343, when the center frequency point of at least one frequency band in the data frame is outside the bandwidth of the motor vibration, the center frequency points of the N frequency bands in the data frame are mapped to the bandwidth of the motor vibration to obtain the second frequency points of the N frequency bands in the data frame.
[0109] In this embodiment, the bandwidth of the motor vibration can be [faL, faH]. When the center frequency of the jth frequency band is greater than the center frequency of the j-1th frequency band, the center frequency of the 1st frequency band in the ith data frame is mapped to the bandwidth of the motor vibration so that the second frequency of the 1st frequency band is fc1'=faL. The center frequency of the jth frequency band in the ith data frame is mapped to the bandwidth of the motor vibration so that the second frequency of the jth frequency band is fc j '=(faH-faL) / (fc N –fc1)*(fc j –fc1)+faL, correspondingly, the second frequency point of the Nth frequency band is fc N '=faH。
[0110] Through this embodiment, when the center frequency point of at least one frequency band in the data frame is outside the bandwidth of the motor vibration, the center frequency points of N frequency bands in the data frame are mapped to the bandwidth of the motor vibration, which can fully utilize the existing bandwidth of the motor and avoid situations such as weak vibration and invalid vibration when the motor is subsequently driven.
[0111] In another embodiment of the present disclosure, obtaining the second frequency points corresponding to the N frequency bands in the data frame based on the bandwidth of the motor vibration may include: obtaining the center frequency points of the N frequency bands in the data frame based on the upper and lower frequency limits of each frequency band in the data frame, and using the center frequency points of the N frequency bands in the data frame as the second frequency points of the corresponding frequency bands. For details, refer to steps S2341 and S2342 of the aforementioned embodiment and are not further described here.
[0112] Step S2350: Obtain coded data of the data frame according to the second amplitudes and second frequency points corresponding to the N frequency bands in the data frame.
[0113] In one embodiment of the present disclosure, a frequency vector of the second frequency points corresponding to the N frequency bands in the i-th data frame may be generated in ascending order, and an amplitude vector of the second amplitude values corresponding to the N frequency bands in the i-th data frame may be generated in ascending order of the corresponding second frequency points, and the frequency vector and amplitude vector corresponding to the i-th data frame may be used as the encoded data of the data frame.
[0114] In one embodiment of the present disclosure, the second frequency point and the second amplitude corresponding to each frequency band in the i-th data frame may be combined as a set of coded data corresponding to the frequency band, and a set of coded data corresponding to N frequency bands in the i-th data frame may be used as the coded data corresponding to the i-th data frame.
[0115] In step S2400 , the first processing device 1100 transmits the encoded data of the data frame to the second processing device 1200 .
[0116] 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.
[0117] In step S2500 , the second processing device 1200 decodes the encoded data of the data frame to obtain reconstructed data of the data frame.
[0118] In one embodiment of the present disclosure, the second processing device 1200 decodes the encoded data of the data frame to obtain reconstructed data of the data frame, which may include steps S2510 to S2530 as follows:
[0119] Step S2510: 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 and the split frequency of the data frame.
[0120] 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 and the split frequency of the data frame may include the following steps S2511 to S2513:
[0121] Step S2511: Determine the initial phase corresponding to the second frequency point of the data frame.
[0122] In one embodiment of the present disclosure, determining the initial phase corresponding to the second frequency point of the data frame may include: determining that the initial phase corresponding to the second frequency point of the data frame is zero.
[0123] In another embodiment of the present disclosure, determining the initial phase corresponding to the second frequency point of the data frame may include steps S25111 to S25113 as follows:
[0124] Step S25111: Determine whether the encoded data of the i-1th data frame contains the second frequency point, where i is a positive integer less than or equal to M.
[0125] In this embodiment, steps S25111 to S25113 of this embodiment may be performed for each second frequency point included in the encoded data of the i-th data frame to obtain the initial phase corresponding to the second frequency point.
[0126] Specifically, for the j-th second frequency point in the encoded data of the i-th data frame, it can be determined whether the second frequency point is included in the encoded data of the i-1-th data frame. If the second frequency point is included in the encoded data of the i-1-th data frame, step S25112 is executed; if the second frequency point is not included in the encoded data of the i-1-th data frame, step S25113 is executed.
[0127] Step S25112, when the encoded data of the i-1th data frame includes the second frequency point, determine that the initial phase corresponding to the second frequency point in the i-1th data frame is the accumulated phase of the second frequency point in the i-1th data frame at the corresponding last sampling moment.
[0128] When the second frequency point is included in the encoded data of the i-1th data frame, the accumulated phase of the second frequency point in the encoded data of the i-1th data frame at the corresponding Lth sampling moment can be used as the initial phase corresponding to the jth second frequency point in the i-th data frame.
[0129] Step S25113: When the coded data of the (i-1)th data frame includes the second frequency point, determine that the initial phase corresponding to the second frequency point in the i-th data frame is zero.
[0130] When the second frequency point is included in the coded data of the i-1th data frame, zero is used as the initial phase corresponding to the jth second frequency point in the i-th data frame.
[0131] Through this embodiment, the reconstructed data of adjacent data frames can be made continuous, so that the motor driven according to the reconstructed data and the corresponding data frames can produce substantially the same tactile effect.
[0132] Step S2512: Obtain the phase increment of the second frequency point in the data frame at each sampling moment according to the second frequency point and the split frequency of the data frame.
[0133] In this embodiment, the split frequency is Fs, and the jth second frequency point fc in the i-th data frame is j The phase increment at each sampling moment can be
[0134] Step S2513: Obtain the accumulated phases of the second frequency point in the data frame at the corresponding L sampling moments according to the initial phase corresponding to the second frequency point in the data frame and the phase increment of the second frequency point in the data frame at each sampling moment.
[0135] In this embodiment, the initial phase corresponding to the jth second frequency point in the i-th data frame is The phase increment of the jth second frequency point in the i-th data frame at each sampling moment is The cumulative phase of the jth 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
[0136] Step S2520: Obtain the sinusoidal components of the 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 phases of the second frequency point in the data frame at the corresponding L sampling moments.
[0137] The second amplitude corresponding to the jth second frequency point in the i-th data frame is Amp j , the cumulative phase of the jth second frequency point in the i-th data frame at the k-th sampling time is Then, the sinusoidal component of the jth second frequency point in the i-th data frame at the k-th sampling time can be expressed as
[0138] Step S2530 : Obtain reconstructed data of the data frame according to the sinusoidal components of the second frequency point in the data frame at the corresponding L sampling moments.
[0139] 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 synthesized sinusoidal components of the data frame at the corresponding L sampling moments; and then the sinusoidal components of the data frame at the corresponding L sampling moments may be synthesized to obtain the reconstructed data of the data frame.
[0140] 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:
[0141] In one 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 Figure 4. The abscissa of Figure 4 represents time, and the ordinate represents voltage.
[0142] 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.
[0143] In step S2600 , the second processing device 1200 generates a haptic driving signal of the data frame according to the reconstructed data of the data frame.
[0144] 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.
[0145] 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
[0146] Where T is the cutting period of signal processing, T = 1 / Fs, m is the mass of the motor vibrator, 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.
[0147] 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.
[0148] 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.
[0149] In step S2700 , the second processing device 1200 drives the motor to vibrate according to the tactile driving signal of the data frame.
[0150] 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.
[0151] 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.
[0152] In an embodiment of the present disclosure, by encoding and decoding 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, which can effectively solve the bandwidth limitation problem in the tactile signal transmission process.
[0153] FIG7 is a schematic diagram of an example of a motor driving method provided according to an embodiment of the present disclosure.
[0154] As shown in FIG7 , the motor driving method may include the following steps:
[0155] In step S7101 , the first processing device 1100 obtains an initial tactile signal.
[0156] 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.
[0157] In step S7103 , the first processing device 1100 performs Fourier transform processing on the i-th data frame to obtain a first amplitude corresponding to a first frequency point in the i-th data frame.
[0158] Wherein, i is a positive integer less than or equal to M.
[0159] In step S7104 , the first processing device 1100 obtains the bandwidth of the i th data frame according to the first frequency point and the first amplitude corresponding to the first frequency point in the i th data frame.
[0160] For example, the maximum value of the first amplitudes corresponding to all first frequency points in the i-th data frame may be determined, and the product of the maximum value and the first set value may be calculated as the reference amplitude. First, the first frequency point in the i-th data frame that is greater than or equal to the reference frequency point is determined in ascending order of the first frequencies, i.e., the first frequency point fa in the i-th data frame where the first amplitude is greater than or equal to the reference amplitude. Then, the first frequency point in the i-th data frame that is greater than or equal to the reference frequency point is determined in descending order of the first frequencies, i.e., the first frequency point fb in the i-th data frame where the first amplitude is greater than or equal to the reference amplitude. The bandwidth of the i-th data frame is obtained as [fa, fb].
[0161] In step S7105 , the first processing device 1100 divides the bandwidth of the i-th data frame into N frequency bands.
[0162] For example, the linear frequency difference df can be calculated based on a set number N. If N > 1, df = (fb – fa) / (N - 1); if N = 1, df = (fb - fa). The bandwidth of the i-th data frame is then equally divided according to the linear frequency difference df, resulting in N frequency bands for the i-th data frame. The j-th frequency band Bandj (where j is a positive integer less than or equal to N) is [fa + (j - 1) * df, fa + j * df], where fa + N * df = fb.
[0163] For another example, the logarithmic frequency difference dqf may be calculated according to a set number N, where dqf = (fb / fa) 1 / N Then, the bandwidth of the ith data frame is equally divided according to the logarithmic frequency difference dqf to obtain N frequency bands of the ith data frame. The jth frequency band (where j is a positive integer less than or equal to N) is Bnadj = [fa*dqf j-1 ,fa*dqf j ], where fa*dqf N =fb.
[0164] In step S7106 , the first processing device 1100 obtains second amplitudes corresponding to the N frequency bands of the i-th data frame according to the first amplitude corresponding to the first frequency point in the i-th data frame.
[0165] For example, for each frequency band of the i-th data frame, the average, median, minimum, maximum or effective value of the first amplitudes corresponding to all first frequency points in the frequency band can be determined as the second amplitude corresponding to the frequency band. The second amplitudes corresponding to the N frequency bands in the i-th data frame can be Amp1, Amp2, ..., Amp N .
[0166] In step S7107 , the first processing device 1100 obtains the second frequency points corresponding to the N frequency bands in the i-th data frame according to the bandwidth of the motor vibration.
[0167] Specifically, the center frequency of the N frequency bands in the i-th data frame may be determined first. For example, the j-th frequency band Bandj in the i-th data frame is [fL j , fH j ], the corresponding upper and lower frequency limits are fL j and fH j , the center frequency of the band Alternatively, the center frequency fc of the band j =sqrt(fL j *fHj ).
[0168] When the center frequency points of N frequency bands in the i-th data frame are all within the bandwidth [faL, faH] of the motor vibration, the center frequency point of the j-th frequency band in the i-th data frame can be used as the second frequency point of the j-th frequency band in the i-th data frame.
[0169] When the center frequency of at least one frequency band in the data frame is outside the bandwidth [faL, faH] of the motor vibration, the center frequency of the jth frequency band in the i-th data frame is mapped to the bandwidth of the motor vibration, which can be such that the second frequency point of the jth frequency band is fc j '=(faH-faL) / (fc N –fc1)*(fc j –fc1)+faL, correspondingly, the second frequency point of the first frequency band is fc1'=faL, and the second frequency point of the Nth frequency band is fc N '=faH。
[0170] In step S7108 , the first processing device 1100 obtains the coded data of the i th data frame according to the second amplitudes and second frequency points corresponding to the N frequency bands in the i th data frame.
[0171] For example, a frequency vector of the second frequency points corresponding to the N frequency bands in the i-th data frame may be generated in ascending order, and an amplitude vector of the second amplitude values corresponding to the N frequency bands in the i-th data frame may be generated in ascending order of the corresponding second frequency points, and the frequency vector and amplitude vector corresponding to the i-th data frame may be used as the encoded data of the data frame.
[0172] In step S7109 , the first processing device 1100 transmits the encoded data of the i-th data frame to the second processing device 1200 .
[0173] In step S7201, the second processing device 1200 determines an initial phase corresponding to a second frequency point of the i-th data frame.
[0174] Specifically, it can be determined whether the coded data of the i-1th data frame contains the second frequency point. In the case that the coded data of the i-1th data frame contains the second frequency point, the initial phase corresponding to the second frequency point in the i-th data frame is determined. is the cumulative phase of the second frequency point in the i-1th data frame at the corresponding last sampling moment. When the coded data of the i-1th data frame contains the second frequency point, determine the initial phase corresponding to the second frequency point in the i-th data frame is zero.
[0175] In step S7202 , the second processing device 1200 obtains the phase increment of the second frequency point in the i-th data frame at each corresponding sampling moment according to the second frequency point and the split frequency of the i-th data frame.
[0176] For example, the jth second frequency point fc in the i-th data frame j The phase increment at each sampling moment can be Where Fs is the split frequency.
[0177] In step S7203, the second processing device 1200 obtains the accumulated phase of the second frequency point in the data frame at the corresponding L sampling moments according to the initial phase corresponding to the second frequency point in the data frame and the phase increment of the second frequency point in the data frame at each sampling moment.
[0178] For example, the cumulative phase of the jth 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 initial phase corresponding to the jth second frequency point in the i-th data frame, is the phase increment of the j-th second frequency point in the i-th data frame at each sampling moment.
[0179] In step S7204, the second processing device 1200 obtains the sinusoidal components of the 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 phases of the second frequency point in the i-th data frame at the corresponding L sampling moments.
[0180] For example, the sinusoidal component of the jth second frequency point in the i-th data frame at the k-th sampling time can be expressed as Among them, Amp j is the second amplitude corresponding to the jth second frequency point in the i-th data frame, is the accumulated phase of the j-th second frequency point in the i-th data frame at the k-th sampling moment.
[0181] In step S7205 , the second processing device 1200 obtains reconstructed data of the i-th data frame according to the sinusoidal components of the second frequency point in the i-th data frame at the corresponding L sampling moments.
[0182] 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:
[0183] The synthetic sinusoidal components {s1,s2,…,s L}, which is the reconstructed data of the i-th data frame.
[0184] In step S7206 , 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.
[0185] 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}.
[0186] For example, 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 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
[0187] Where T is the cutting period of signal processing, T = 1 / Fs, m is the mass of the motor vibrator, 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.
[0188] In step S7207 , the second processing device 1200 drives the motor to vibrate according to the tactile driving signals of the M data frames.
[0189] This embodiment also provides a processing device. As shown in FIG8 , the processing device 8000 may include a processor 8100 and a memory 8200. The memory 8200 is used to store a computer program. The computer program is used to control the processor 8100 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.
[0190] The processing device 8000 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.
[0191] 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.
[0192] 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.
[0193] 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.
[0194] 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 compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding 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.
[0195] 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.
[0196] 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.
[0197] 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.
[0198] 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.
[0199] 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.
[0200] 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.
[0201] 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 corresponding to a first frequency point in the data frame; The first processing device encodes the first amplitude corresponding to the first frequency point in the data frame to obtain encoded data of the data frame; The first processing device transmits the encoded data of the data frame to the second processing device; The second processing device decodes the encoded data of the data frame to obtain reconstructed data of the data frame; The second processing device generates a tactile driving signal of the data frame according to the reconstructed data of the data frame; The second processing device drives the motor to vibrate according to the tactile driving signal of the data frame.
2. The method according to claim 1, characterized in that The first processing device encodes the first amplitude corresponding to the first frequency point in the data frame to obtain the encoded data of the data frame, including: Obtaining a bandwidth of the data frame according to a first frequency point in the data frame and a first amplitude corresponding to the first frequency point; Dividing the bandwidth of the data frame into N frequency bands; Obtaining second amplitudes corresponding to N frequency bands of the data frame according to a first amplitude corresponding to a first frequency point in the data frame; According to the bandwidth of the motor vibration, obtain the second frequency points corresponding to the N frequency bands in the data frame; The encoded data of the data frame is obtained according to the second amplitudes and second frequency points corresponding to the N frequency bands in the data frame.
3. The method according to claim 2, characterized in that The obtaining the bandwidth of the data frame according to the first frequency point in the data frame and the first amplitude corresponding to the first frequency point includes: Obtaining a reference amplitude of the data frame according to a first amplitude corresponding to a first frequency point in the data frame; Determine a minimum first frequency point where the first amplitude is greater than or equal to the reference amplitude and a maximum first frequency point where the first amplitude is greater than or equal to the reference amplitude in the data frame; The bandwidth of the data frame is obtained according to the minimum first frequency point and the maximum first frequency point.
4. The method according to claim 2, characterized in that: The obtaining, according to the bandwidth of the motor vibration, second frequency points corresponding to the N frequency bands in the data frame comprises: Obtaining the center frequency points of the N frequency bands in the data frame according to the upper frequency point and the lower frequency point of each frequency band in the data frame; When the central frequency points of the N frequency bands in the data frame are all within the bandwidth of the motor vibration, the central frequency points of the N frequency bands in the data frame are used as the second frequency points of the corresponding frequency bands; When the center frequency point of at least one frequency band in the data frame is outside the bandwidth of the motor vibration, the center frequency points of N frequency bands in the data frame are mapped into the bandwidth of the motor vibration to obtain the second frequency points of the N frequency bands in the data frame.
5. The method according to claim 2, characterized in that: The obtaining, according to the first amplitude corresponding to the first frequency point in the data frame, second amplitudes corresponding to the N frequency bands of the data frame comprises: An average value, a median value, a maximum value, a minimum value or a valid value of the first amplitude values corresponding to the N frequency bands of the data frame is determined as a second amplitude value corresponding to the corresponding frequency band.
6. 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; According to the set segmentation frequency, the initial tactile signal is segmented to obtain the M Data frame.
7. The method according to claim 6, characterized in that The second processing device decodes the encoded data of the data frame to obtain reconstructed data of the data frame, including: According to the second frequency point of the data frame and the split frequency, obtaining the accumulated phase of the second frequency point in the data frame at the corresponding L sampling moments; Obtaining sinusoidal components of the 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 component of the second frequency point in the data frame at the corresponding L sampling time.
8. The method according to claim 7, characterized in that The step of 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 of the data frame and the split frequency includes: Determining an initial phase corresponding to a second frequency point in the data frame; According to the second 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 initial phase corresponding to the second frequency point in the data frame and the phase increment of the second frequency point in the data frame at each sampling moment, the accumulated phases of the second frequency point in the data frame at the corresponding L sampling moments are obtained.
9. The method according to claim 8, characterized in that The determining an initial phase corresponding to the second frequency point in the data frame includes: Determine whether the encoded data of the i-1th data frame includes the second frequency point, where i is a positive integer less than or equal to M; In a case where the encoded data of the i-1th data frame includes the second frequency point, determining the initial phase corresponding to the second frequency point in the i-1th data frame as the accumulated phase of the second frequency point in the i-1th data frame at the corresponding last sampling moment; When the encoded data of the (i-1)th data frame includes the second frequency point, it is determined that the initial phase corresponding to the second frequency point in the i-th data frame is zero.
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 output systems
CN110825257A
Encoding / decoding apparatuses and methods for encoding / decoding vibrotactile signals
CN111757127A
Decoding device, decoding method, and program
CN112534723A
Motor driving method and processing device
CN117251055A
Low bit rate parametric encoding and transport of haptic-tactile signals
US20180218576A1