WO2022242217A1 - 线性马达的控制方法、装置、设备及可读存储介质 - Google Patents

线性马达的控制方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
WO2022242217A1
WO2022242217A1 PCT/CN2022/073173 CN2022073173W WO2022242217A1 WO 2022242217 A1 WO2022242217 A1 WO 2022242217A1 CN 2022073173 W CN2022073173 W CN 2022073173W WO 2022242217 A1 WO2022242217 A1 WO 2022242217A1
Authority
WO
WIPO (PCT)
Prior art keywords
vibration
waveform
linear motor
description file
frequency
Prior art date
Application number
PCT/CN2022/073173
Other languages
English (en)
French (fr)
Inventor
朱建伟
Original Assignee
荣耀终端有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 荣耀终端有限公司 filed Critical 荣耀终端有限公司
Priority to US17/796,623 priority Critical patent/US20240186920A1/en
Priority to EP22743700.1A priority patent/EP4113820A4/en
Publication of WO2022242217A1 publication Critical patent/WO2022242217A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/006Controlling linear motors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P25/00Arrangements or methods for the control of AC motors characterised by the kind of AC motor or by structural details
    • H02P25/02Arrangements or methods for the control of AC motors characterised by the kind of AC motor or by structural details characterised by the kind of motor
    • H02P25/06Linear motors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M19/00Current supply arrangements for telephone systems
    • H04M19/02Current supply arrangements for telephone systems providing ringing current or supervisory tones, e.g. dialling tone or busy tone
    • H04M19/04Current supply arrangements for telephone systems providing ringing current or supervisory tones, e.g. dialling tone or busy tone the ringing-current being generated at the substations
    • H04M19/047Vibrating means for incoming calls

Definitions

  • the present application relates to the technical field of data processing, and in particular to a control method, device, equipment and readable storage medium of a linear motor.
  • Linear motors can be basically divided into X-axis linear motors and Z-axis linear motors according to different stroke directions. Different types of linear motors require different control methods. Moreover, even for the same type of linear motor, different control methods need to be set due to different operating parameters. As a result, the existing linear motor control scheme has the problem of poor versatility.
  • embodiments of the present application provide a linear motor control method, device, device, and storage medium, so as to achieve universal control of the linear motor.
  • the present application provides a method for controlling a linear motor, which is applied to an electronic device, and the electronic device includes a linear motor, including: responding to an operation instruction, determining a vibration description file of the operation object of the operation instruction; outputting a vibration description file
  • the vibration sensation required by the waveform of is provided by the linear motor in the first vibration state, and the first vibration state is adapted to the properties of the linear motor.
  • the first vibration state is adapted to the properties of the linear motor, and the universal control of the linear motor is realized.
  • outputting the vibration sensation that meets the waveform requirements of the vibration description file includes: outputting the vibration sensation corresponding to the waveform that has the first variation trend within the start time and has the second variation tendency within the stop time,
  • the first variation trend is: the amplitude of the steady-state waveform smoothly changes from zero to the amplitude of the linear motor in a stable vibration state
  • the second variation trend is: the amplitude of the steady-state waveform smoothly changes from the amplitude of the linear motor in a stable vibration state to zero.
  • the amplitude of the linear motor changes smoothly from zero to the amplitude of the stable vibration state of the linear motor, and, during the stop time, the amplitude of the linear motor is from the stable vibration state of the linear motor
  • the amplitude changes smoothly to zero, which can control the linear motor to run smoothly at the start time and stop time, and overcome the overdrive problem.
  • the vibration sense that meets the waveform requirements of the vibration description file is output, and the vibration sense is provided by a linear motor in the first vibration state, and the first vibration state is adapted to the properties of the linear motor, including: output frequency is the vibration sensation corresponding to the steady-state waveform of the target frequency, and the target frequency is obtained from the frequency of the steady-state waveform of the vibration description file according to the preset first mapping rule and the frequency mapping of the linear motor; and/or, the output waveform sequence corresponds to For vibration sensing, the frequency of the waveform sequence is the same as the frequency of the transient waveform of the vibration profile, and the frequency of the target transient waveform is adapted to the linear motor.
  • the process of outputting the vibration sensation that meets the waveform requirements of the vibration description file also includes: responding to the interruption event, obtaining the vibration description file corresponding to the interruption event; the vibration description file is used to describe the vibration parameters; adjusting the vibration The sense is the vibration sense corresponding to the interrupt event, and the vibration sense corresponding to the interrupt event meets the waveform requirements of the vibration description file corresponding to the interrupt event.
  • the process of generating the vibration description file of the operation object includes: responding to the operation instruction of the imported control on the interaction interface, displaying the basic waveform of the operation object on the interaction interface; the operation object includes multimedia files and scene vibration At least one of the sensing waveforms; responding to the adjustment instruction of the basic waveform in the interactive interface, displaying the adjusted waveform; responding to the operating instruction of the generated control in the interactive interface, generating a vibration description file of the operating object.
  • displaying the adjusted waveform includes: responding to an operation instruction on the preset adjustment point on the basic waveform displayed on the interactive interface, displaying on the basic waveform Adjustment point: in response to a drag instruction on the adjustment point in the first vibration parameter adjustment mode, displaying a waveform after adjustment of the first vibration parameter, where the first vibration parameter includes amplitude and/or frequency.
  • the basic waveform includes a steady-state waveform;
  • the first vibration parameter also includes: a time parameter; in response to a drag command to the adjustment point in the first vibration parameter adjustment mode, displaying the first vibration parameter after adjustment
  • the waveform includes: responding to the instruction of dragging the adjustment point on the time axis in the time adjustment mode, and displaying the waveform after adjusting the time parameter.
  • displaying the adjusted waveform includes: responding to a dragging instruction for the waveform displayed on the interactive interface, and displaying the waveform after the time parameter is adjusted.
  • displaying the adjusted waveform includes: responding to an instruction to drag and drop multiple waveforms on the interactive interface until the time range overlaps, and displaying the superimposed waveform of multiple waveforms .
  • the present application provides a control device for a linear motor applied to an electronic device.
  • the electronic device includes a linear motor, including: a determination unit configured to respond to an operation instruction and determine a vibration description file of an operation object of the operation instruction;
  • the output unit is used for outputting the vibration feeling conforming to the waveform requirement of the vibration description file, the vibration feeling is provided by the linear motor in the first vibration state, and the first vibration state is adapted to the property of the linear motor.
  • the present application provides an electronic device, including:
  • processors one or more processors
  • the one or more processors implement the method for controlling the linear motor in any one of the first aspect and every possible implementation thereof, so as to drive the linear motor to run.
  • the present application provides a readable storage medium, on which a computer program is stored, wherein, when the computer program is executed by a processor, the linearity of any one of the first aspect and each possible implementation manner thereof is realized.
  • the motor control method is used to drive the linear motor to run.
  • Figure 1a is a structure and application example diagram of an X-axis linear motor
  • Figure 1b is a structure and application example diagram of a Z-axis linear motor
  • FIG. 2 is a schematic structural diagram of an electronic device disclosed in an embodiment of the present application.
  • Figure 3a is an example diagram of the software architecture for the application of the vibration waveform adjustment method of the linear motor provided by the embodiment of the present application;
  • Fig. 3b is an example diagram of the process of realizing the function of the software architecture shown in Fig. 3a;
  • FIGS 4a to 4d are illustrations of four application scenarios provided by the embodiment of the present application.
  • FIG. 5 is a flowchart of a control method for a linear motor provided in an embodiment of the present application
  • Fig. 6a is an example diagram of an interactive interface for generating a vibration description file provided by an embodiment of the present application
  • FIG. 6b is a flow chart of a method for generating a vibration description file provided in an embodiment of the present application.
  • Fig. 6c is a schematic structural diagram of a device for generating a vibration description file provided by an embodiment of the present application.
  • Figure 7a provides an envelope of a vibration waveform driving a linear motor operating at a resonant frequency
  • Figure 7b provides an envelope of a vibration waveform driving a linear motor operating at a non-resonant frequency
  • Fig. 8a is a flow chart of a method for processing vibration waveforms provided by the embodiment of the present application.
  • Fig. 8b is a display diagram of the vibration waveform adjustment of the linear motor provided by the embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a vibration waveform processing device provided in an embodiment of the present application.
  • 10 to 12 are flow charts of the method for adjusting the driving waveform provided by the embodiment of the present application.
  • Fig. 13 is a structural diagram of a driving waveform adjustment device provided by another embodiment of the present application.
  • FIG. 14 is a flowchart of a method for adjusting a vibration waveform of a linear motor provided in an embodiment of the present application
  • Fig. 15 is an example diagram of a steady-state waveform of a vibration description file
  • Fig. 16 is a waveform example diagram after frequency mapping of the steady-state waveform shown in Fig. 15;
  • Figure 17 is an example diagram of a transient waveform of a vibration description file
  • Fig. 18 is an example diagram of a waveform sequence obtained by extending the transient waveform shown in Fig. 17;
  • FIG. 19 is a flowchart of a method for adjusting a vibration waveform of a linear motor provided in an embodiment of the present application.
  • Fig. 20 is a schematic structural diagram of a vibration waveform adjustment device for a linear motor provided in an embodiment of the present application
  • Fig. 21 is a schematic structural diagram of a control device for a linear motor provided in an embodiment of the present application.
  • Fig. 22a is a flow chart of the driving waveform adjustment method provided by the embodiment of the present application.
  • Fig. 22b is a specific flow chart of adjusting the driving waveform in the driving waveform adjusting method provided by the embodiment of the present application;
  • FIG. 23 is a flow chart of generating a static description file in the driving waveform adjustment method provided by the embodiment of the present application.
  • FIG. 24 is a schematic structural diagram of a device for adjusting a driving waveform provided by an embodiment of the present application.
  • the term "comprises”, “comprises” or any other variation thereof is intended to cover a non-exclusive inclusion such that a process, method, article, or apparatus comprising a set of elements includes not only those elements, but also includes none other elements specifically listed, or also include elements inherent in such a process, method, article, or apparatus.
  • an element defined by the phrase “comprising a " does not exclude the presence of additional identical elements in the process, method, article or apparatus comprising said element.
  • the linear motor is arranged in the electronic equipment, and is used to make the electronic equipment output vibration sense through vibration.
  • the linear motor is controlled to vibrate to produce different vibration effects, so that the user can feel the vibration, so as to prompt the user or give feedback on the user's operation, as follows:
  • touch operations applied to different applications may correspond to different vibration effects.
  • Touch operations acting on different areas of the display screen can also correspond to different vibration effects.
  • Linear motors commonly used in electronic devices include X-axis linear motors (also known as square or transverse linear motors) and Z-axis linear motors (also known as circular or longitudinal linear motors).
  • Fig. 1a shows the structure and application example of the X-axis linear motor
  • Fig. 1b shows the structure and application example of the Z-axis linear motor.
  • the appearance of the X-axis linear motor is long or square. Assuming that the X-axis is a horizontal axis, the Y-axis is a vertical axis, and the Z-axis is a vertical axis perpendicular to the X-axis and Y-axis, the pendulum
  • the mover of the X-axis linear motor can move in the direction of the X-axis or the Y-axis, and a longer stroke can be achieved.
  • the X-axis linear motor is installed in the direction of the X-axis in the electronic device, it can provide vibration in the direction of the X-axis; if it is installed in the direction of the Y-axis, it can provide vibration in the direction of the Y-axis.
  • the appearance of the Z-axis linear motor is cylindrical, and the mover can move in the Z-axis direction.
  • the Z-axis linear motor is arranged in the electronic device, and can bring vibration along the thickness direction of the electronic device.
  • the method for controlling a linear motor disclosed in the embodiment of the present application is applied to an electronic device provided with a linear motor
  • the electronic device provided with a linear motor may be a mobile phone, a tablet computer, a desktop type, a laptop type, a notebook computer, an ultra mobile personal computer (Ultra -mobile Personal Computer, UMPC), handheld computers, netbooks, personal digital assistants (Personal Digital Assistant, PDA), wearable electronic devices, smart watches and other devices.
  • the electronic equipment shown in Figure 2 includes: processor 110, external memory interface 120, internal memory 121, universal serial bus (universal serial bus, USB) interface 130, charging management module 140, power management module 141, battery 142, antenna 1.
  • Antenna 2 mobile communication module 150, wireless communication module 160, audio module 170, speaker 170A, receiver 170B, microphone 170C, earphone jack 170D, sensor module 180, button 190, motor 191, indicator 192, camera 193, display screen 194, and a subscriber identification module (subscriber identification module, SIM) card interface 195, etc.
  • SIM subscriber identification module
  • the sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, bone conduction sensor 180M, etc.
  • the structure shown in this embodiment does not constitute a specific limitation on the electronic device.
  • the electronic device may include more or fewer components than shown, or combine certain components, or separate certain components, or arrange different components.
  • the illustrated components can be realized in hardware, software or a combination of software and hardware.
  • the processor 110 may include one or more processing units, for example: the processor 110 may include an application processor (application processor, AP), a modem processor, a graphics processing unit (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), controller, video codec, digital signal processor (digital signal processor, DSP), baseband processor, and/or neural network processor (neural-network processing unit, NPU), etc. Wherein, different processing units may be independent devices, or may be integrated in one or more processors.
  • application processor application processor, AP
  • modem processor graphics processing unit
  • GPU graphics processing unit
  • image signal processor image signal processor
  • ISP image signal processor
  • controller video codec
  • digital signal processor digital signal processor
  • baseband processor baseband processor
  • neural network processor neural-network processing unit
  • the controller may be the nerve center and command center of the electronic equipment.
  • the controller can generate an operation control signal according to the instruction opcode and timing signal, and complete the control of fetching and executing the instruction.
  • a memory may also be provided in the processor 110 for storing instructions and data.
  • the memory in processor 110 is a cache memory.
  • the memory may hold instructions or data that the processor 110 has just used or recycled. If the processor 110 needs to use the instruction or data again, it can be called directly from the memory. Repeated access is avoided, and the waiting time of the processor 110 is reduced, thus improving the efficiency of the system.
  • processor 110 may include one or more interfaces.
  • the interface may include an integrated circuit (inter-integrated circuit, I2C) interface, an integrated circuit built-in audio (inter-integrated circuit sound, I2S) interface, a pulse code modulation (pulse code modulation, PCM) interface, a universal asynchronous transmitter (universal asynchronous receiver/transmitter, UART) interface, mobile industry processor interface (mobile industry processor interface, MIPI), general-purpose input and output (general-purpose input/output, GPIO) interface, subscriber identity module (subscriber identity module, SIM) interface, and /or universal serial bus (universal serial bus, USB) interface, etc.
  • I2C integrated circuit
  • I2S integrated circuit built-in audio
  • PCM pulse code modulation
  • PCM pulse code modulation
  • UART universal asynchronous transmitter
  • MIPI mobile industry processor interface
  • GPIO general-purpose input and output
  • subscriber identity module subscriber identity module
  • SIM subscriber identity module
  • USB universal serial bus
  • the I2C interface is a bidirectional synchronous serial bus, including a serial data line (serial data line, SDA) and a serial clock line (derail clock line, SCL).
  • processor 110 may include multiple sets of I2C buses.
  • the processor 110 can be respectively coupled to the touch sensor 180K, the charger, the flashlight, the camera 193 and the like through different I2C bus interfaces.
  • the processor 110 may be coupled to the touch sensor 180K through the I2C interface, so that the processor 110 and the touch sensor 180K communicate through the I2C bus interface to realize the touch function of the electronic device.
  • the I2S interface can be used for audio communication.
  • processor 110 may include multiple sets of I2S buses.
  • the processor 110 may be coupled to the audio module 170 through an I2S bus to implement communication between the processor 110 and the audio module 170 .
  • the audio module 170 can transmit audio signals to the wireless communication module 160 through the I2S interface, so as to realize the function of answering calls through the Bluetooth headset.
  • the PCM interface can also be used for audio communication, sampling, quantizing and encoding the analog signal.
  • the audio module 170 and the wireless communication module 160 may be coupled through a PCM bus interface.
  • the audio module 170 can also transmit audio signals to the wireless communication module 160 through the PCM interface, so as to realize the function of answering calls through the Bluetooth headset. Both I2S interface and PCM interface can be used for audio communication.
  • the UART interface is a universal serial data bus used for asynchronous communication.
  • the bus can be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication.
  • a UART interface is generally used to connect the processor 110 and the wireless communication module 160 .
  • the processor 110 communicates with the Bluetooth module in the wireless communication module 160 through the UART interface to realize the Bluetooth function.
  • the audio module 170 can transmit audio signals to the wireless communication module 160 through the UART interface, so as to realize the function of playing music through the Bluetooth headset.
  • the MIPI interface can be used to connect the processor 110 with peripheral devices such as the display screen 194 and the camera 193 .
  • MIPI interface includes camera serial interface (camera serial interface, CSI), display serial interface (display serial interface, DSI), etc.
  • the processor 110 communicates with the camera 193 through the CSI interface to realize the shooting function of the electronic device.
  • the processor 110 communicates with the display screen 194 through the DSI interface to realize the display function of the electronic device.
  • the GPIO interface can be configured by software.
  • the GPIO interface can be configured as a control signal or as a data signal.
  • the GPIO interface can be used to connect the processor 110 with the camera 193 , the display screen 194 , the wireless communication module 160 , the audio module 170 , the sensor module 180 and so on.
  • the GPIO interface can also be configured as an I2C interface, I2S interface, UART interface, MIPI interface, etc.
  • the USB interface 130 is an interface conforming to the USB standard specification, specifically, it can be a Mini USB interface, a Micro USB interface, a USB Type C interface, and the like.
  • the USB interface 130 can be used to connect a charger to charge the electronic device, and can also be used to transmit data between the electronic device and peripheral devices. It can also be used to connect headphones and play audio through them. This interface can also be used to connect other electronic devices, such as AR devices.
  • the interface connection relationship among the modules shown in this embodiment is only a schematic illustration, and does not constitute a structural limitation of the electronic device.
  • the electronic device may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.
  • the charging management module 140 is configured to receive a charging input from a charger.
  • the charger may be a wireless charger or a wired charger.
  • the charging management module 140 can receive charging input from the wired charger through the USB interface 130 .
  • the charging management module 140 may receive wireless charging input through a wireless charging coil of the electronic device. While the charging management module 140 is charging the battery 142 , it can also provide power for electronic devices through the power management module 141 .
  • the power management module 141 is used for connecting the battery 142 , the charging management module 140 and the processor 110 .
  • the power management module 141 receives the input from the battery 142 and/or the charging management module 140 to provide power for the processor 110 , the internal memory 121 , the display screen 194 , the camera 193 , and the wireless communication module 160 .
  • the power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle times, and battery health status (leakage, impedance).
  • the power management module 141 may also be disposed in the processor 110 .
  • the power management module 141 and the charging management module 140 may also be set in the same device.
  • the wireless communication function of the electronic device can be realized by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.
  • Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals.
  • Each antenna in an electronic device can be used to cover a single or multiple communication frequency bands. Different antennas can also be multiplexed to improve the utilization of the antennas.
  • Antenna 1 can be multiplexed as a diversity antenna of a wireless local area network.
  • the antenna may be used in conjunction with a tuning switch.
  • the mobile communication module 150 can provide wireless communication solutions including 2G/3G/4G/5G applied to electronic devices.
  • the mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (low noise amplifier, LNA) and the like.
  • the mobile communication module 150 can receive electromagnetic waves through the antenna 1, filter and amplify the received electromagnetic waves, and send them to the modem processor for demodulation.
  • the mobile communication module 150 can also amplify the signals modulated by the modem processor, and convert them into electromagnetic waves through the antenna 1 for radiation.
  • at least part of the functional modules of the mobile communication module 150 may be set in the processor 110 .
  • at least part of the functional modules of the mobile communication module 150 and at least part of the modules of the processor 110 may be set in the same device.
  • a modem processor may include a modulator and a demodulator.
  • the modulator is used for modulating the low-frequency baseband signal to be transmitted into a medium-high frequency signal.
  • the demodulator is used to demodulate the received electromagnetic wave signal into a low frequency baseband signal. Then the demodulator sends the demodulated low-frequency baseband signal to the baseband processor for processing.
  • the low-frequency baseband signal is passed to the application processor after being processed by the baseband processor.
  • the application processor outputs sound signals through audio equipment (not limited to speaker 170A, receiver 170B, etc.), or displays images or videos through display screen 194 .
  • the modem processor may be a stand-alone device.
  • the modem processor may be independent from the processor 110, and be set in the same device as the mobile communication module 150 or other functional modules.
  • the wireless communication module 160 can provide wireless local area networks (wireless local area networks, WLAN) (such as wireless fidelity (Wi-Fi) network), bluetooth (bluetooth, BT), global navigation satellite system, etc. (global navigation satellite system, GNSS), frequency modulation (frequency modulation, FM), near field communication technology (near field communication, NFC), infrared technology (infrared, IR) and other wireless communication solutions.
  • the wireless communication module 160 may be one or more devices integrating at least one communication processing module.
  • the wireless communication module 160 receives electromagnetic waves via the antenna 2 , frequency-modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110 .
  • the wireless communication module 160 can also receive the signal to be sent from the processor 110 , frequency-modulate it, amplify it, and convert it into electromagnetic waves through the antenna 2 for radiation.
  • the antenna 1 of the electronic device is coupled to the mobile communication module 150, and the antenna 2 is coupled to the wireless communication module 160, so that the electronic device can communicate with the network and other devices through wireless communication technology.
  • Wireless communication technologies may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), broadband code division Multiple access (wideband code division multiple access, WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM , and/or IR technology, etc.
  • GNSS can include global positioning system (global positioning system, GPS), global navigation satellite system (global navigation satellite system, GLONASS), Beidou satellite navigation system (beidou navigation satellite system, BDS), quasi-zenith satellite system (quasi-zenith) satellite system (QZSS) and/or satellite based augmentation systems (SBAS).
  • GPS global positioning system
  • GLONASS global navigation satellite system
  • Beidou satellite navigation system beidou navigation satellite system, BDS
  • quasi-zenith satellite system quasi-zenith satellite system
  • QZSS quasi-zenith satellite system
  • SBAS satellite based augmentation systems
  • the electronic device realizes the display function through the GPU, the display screen 194, and the application processor.
  • the GPU is a microprocessor for image processing, and is connected to the display screen 194 and the application processor. GPUs are used to perform mathematical and geometric calculations for graphics rendering.
  • Processor 110 may include one or more GPUs that execute program instructions to generate or change display information.
  • the display screen 194 is used to display images, videos and the like.
  • the display screen 194 includes a display panel.
  • the display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active matrix organic light emitting diode or an active matrix organic light emitting diode (active-matrix organic light emitting diode, AMOLED), flexible light-emitting diode (flex light-emitting diode, FLED), Miniled, MicroLed, Micro-oled, quantum dot light emitting diodes (quantum dot light emitting diodes, QLED), etc.
  • the electronic device may include 1 or N display screens 194, where N is a positive integer greater than 1.
  • a series of graphical user interfaces can be displayed on the display screen 194 of the electronic device, and these GUIs are the main screen of the electronic device.
  • GUI graphical user interface
  • the size of the display screen 194 of the electronic device is fixed, and only limited controls can be displayed on the display screen 194 of the electronic device.
  • a control is a GUI element, which is a software component contained in an application that controls all data processed by the application and the interaction of these data. Users can interact with the control through direct manipulation. , so as to read or edit the relevant information of the application.
  • controls may include visual interface elements such as icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, and Widgets.
  • the display screen 194 may display virtual keys.
  • the electronic device can realize the shooting function through ISP, camera 193 , video codec, GPU, display screen 194 and application processor.
  • the ISP is used for processing the data fed back by the camera 193 .
  • the light is transmitted to the photosensitive element of the camera through the lens, and the optical signal is converted into an electrical signal, and the photosensitive element of the camera transmits the electrical signal to the ISP for processing, and converts it into an image visible to the naked eye.
  • ISP can also perform algorithm optimization on image noise, brightness, and skin color.
  • ISP can also optimize the exposure, color temperature and other parameters of the shooting scene.
  • the ISP may be located in the camera 193 .
  • Camera 193 is used to capture still images or video.
  • the object generates an optical image through the lens and projects it to the photosensitive element.
  • the photosensitive element may be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor.
  • CMOS complementary metal-oxide-semiconductor
  • the photosensitive element converts the light signal into an electrical signal, and then transmits the electrical signal to the ISP to convert it into a digital image signal.
  • the ISP outputs the digital image signal to the DSP for processing.
  • DSP converts digital image signals into standard RGB, YUV and other image signals.
  • the electronic device may include 1 or N cameras 193, where N is a positive integer greater than 1.
  • Digital signal processors are used to process digital signals. In addition to digital image signals, they can also process other digital signals. For example, when an electronic device selects a frequency point, a digital signal processor is used to perform Fourier transform on the frequency point energy, etc.
  • Video codecs are used to compress or decompress digital video.
  • An electronic device may support one or more video codecs.
  • the electronic device can play or record video in multiple encoding formats, for example: moving picture experts group (moving picture experts group, MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
  • the NPU is a neural-network (NN) computing processor.
  • NPU neural-network
  • Applications such as intelligent cognition of electronic devices can be realized through NPU, such as: image recognition, face recognition, speech recognition, text understanding, etc.
  • the external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device.
  • the external memory card communicates with the processor 110 through the external memory interface 120 to implement a data storage function. Such as saving music, video and other files in the external memory card.
  • the internal memory 121 may be used to store computer-executable program codes including instructions.
  • the processor 110 executes various functional applications and data processing of the electronic device 100 by executing instructions stored in the internal memory 121 .
  • the internal memory 121 may include an area for storing programs and an area for storing data.
  • the stored program area can store an operating system, at least one application program required by a function (such as a sound playing function, an image playing function, etc.) and the like.
  • the storage data area can store data created during the use of the electronic device 100 (such as audio data, phonebook, etc.) and the like.
  • the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, flash memory device, universal flash storage (universal flash storage, UFS) and the like.
  • the internal memory 121 stores instructions for executing the control method of the linear motor.
  • the processor 110 can implement general control of the linear motor by executing instructions stored in the internal memory 121 .
  • the electronic device can implement audio functions through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the earphone interface 170D, and the application processor. Such as music playback, recording, etc.
  • the audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signal.
  • the audio module 170 may also be used to encode and decode audio signals.
  • the audio module 170 may be set in the processor 110 , or some functional modules of the audio module 170 may be set in the processor 110 .
  • Speaker 170A also referred to as a "horn" is used to convert audio electrical signals into sound signals.
  • the electronic device can listen to music through speaker 170A, or listen to hands-free calls.
  • Receiver 170B also called “earpiece” is used to convert audio electrical signals into sound signals.
  • the electronic device receives a call or a voice message, it can listen to the voice by placing the receiver 170B close to the human ear.
  • the microphone 170C also called “microphone” or “microphone” is used to convert sound signals into electrical signals.
  • the user can put his mouth close to the microphone 170C to make a sound, and input the sound signal to the microphone 170C.
  • the electronic device may be provided with at least one microphone 170C.
  • the electronic device can be provided with two microphones 170C, which can also implement a noise reduction function in addition to collecting sound signals.
  • the electronic device can also be equipped with three, four or more microphones 170C to realize sound signal collection, noise reduction, identify sound sources, and realize directional recording functions, etc.
  • the earphone interface 170D is used for connecting wired earphones.
  • the earphone interface 170D can be a USB interface 130, or a 3.5mm open mobile terminal platform (OMTP) standard interface, or a cellular telecommunications industry association of the USA (CTIA) standard interface.
  • OMTP open mobile terminal platform
  • CTIA cellular telecommunications industry association of the USA
  • the pressure sensor 180A is used to sense the pressure signal and convert the pressure signal into an electrical signal.
  • pressure sensor 180A may be disposed on display screen 194 .
  • pressure sensors 180A such as resistive pressure sensors, inductive pressure sensors, and capacitive pressure sensors.
  • a capacitive pressure sensor may be comprised of at least two parallel plates with conductive material.
  • the electronic device detects the intensity of the touch operation according to the pressure sensor 180A.
  • the electronic device may also calculate the touched position according to the detection signal of the pressure sensor 180A.
  • touch operations acting on the same touch position but with different touch operation intensities may correspond to different operation instructions. For example: when a touch operation with a touch operation intensity less than the first pressure threshold acts on the short message application icon, an instruction to view short messages is executed. When a touch operation whose intensity is greater than or equal to the first pressure threshold acts on the icon of the short message application, the instruction of creating a new short message is executed.
  • the gyro sensor 180B can be used to determine the motion posture of the electronic device. In some embodiments, the angular velocity of the electronic device about three axes (ie, x, y, and z axes) may be determined by the gyro sensor 180B.
  • the gyro sensor 180B can be used for image stabilization. Exemplarily, when the shutter is pressed, the gyro sensor 180B detects the shake angle of the electronic device, calculates the distance that the lens module needs to compensate according to the angle, and allows the lens to counteract the shake of the electronic device through reverse movement to achieve anti-shake.
  • the gyro sensor 180B can also be used for navigation and somatosensory game scenes.
  • the air pressure sensor 180C is used to measure air pressure.
  • the electronic device calculates the altitude through the air pressure value measured by the air pressure sensor 180C to assist in positioning and navigation.
  • the magnetic sensor 180D includes a Hall sensor.
  • the electronic device may detect opening and closing of the flip holster using the magnetic sensor 180D.
  • the electronic device when the electronic device is a flip machine, the electronic device can detect opening and closing of the flip according to the magnetic sensor 180D.
  • features such as automatic unlocking of the flip cover are set.
  • the acceleration sensor 180E can detect the acceleration of the electronic device in various directions (generally three axes).
  • the magnitude and direction of gravity can be detected when the electronic device is stationary. It can also be used to identify the posture of electronic devices, and can be used in applications such as horizontal and vertical screen switching, pedometers, etc.
  • the distance sensor 180F is used to measure the distance.
  • Electronic devices can measure distance via infrared or laser light. In some embodiments, when shooting a scene, the electronic device can use the distance sensor 180F to measure the distance to achieve fast focusing.
  • Proximity light sensor 180G may include, for example, light emitting diodes (LEDs) and light detectors, such as photodiodes.
  • the light emitting diodes may be infrared light emitting diodes.
  • Electronic devices emit infrared light outwards through light-emitting diodes.
  • Electronic devices use photodiodes to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it can be determined that there is an object in the vicinity of the electronic device. When insufficient reflected light is detected, the electronic device may determine that there is no object in the vicinity of the electronic device.
  • the electronic device can use the proximity light sensor 180G to detect that the user holds the electronic device close to the ear to make a call, so as to automatically turn off the screen to save power.
  • the proximity light sensor 180G can also be used in leather case mode, automatic unlock and lock screen in pocket mode.
  • the ambient light sensor 180L is used for sensing ambient light brightness.
  • the electronic device can adaptively adjust the brightness of the display screen 194 according to the perceived ambient light brightness.
  • the ambient light sensor 180L can also be used to automatically adjust the white balance when taking pictures.
  • the ambient light sensor 180L can also cooperate with the proximity light sensor 180G to detect whether the electronic device is in the pocket to prevent accidental touch.
  • the fingerprint sensor 180H is used to collect fingerprints. Electronic devices can use the collected fingerprint features to unlock fingerprints, access application locks, take pictures with fingerprints, answer incoming calls with fingerprints, etc.
  • the temperature sensor 180J is used to detect temperature.
  • the electronic device uses the temperature detected by the temperature sensor 180J to implement a temperature treatment strategy. For example, when the temperature reported by the temperature sensor 180J exceeds a threshold, the electronic device may reduce the performance of a processor located near the temperature sensor 180J, so as to reduce power consumption and implement thermal protection.
  • the electronic device when the temperature is lower than another threshold, the electronic device heats the battery 142 to avoid abnormal shutdown of the electronic device caused by low temperature.
  • the electronic device boosts the output voltage of the battery 142 to avoid abnormal shutdown caused by low temperature.
  • the touch sensor 180K is also called “touch device”.
  • the touch sensor 180K can be disposed on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, also called a “touch screen”.
  • the touch sensor 180K is used to detect a touch operation on or near it.
  • the touch sensor can pass the detected touch operation to the application processor to determine the type of touch event.
  • Visual output related to the touch operation can be provided through the display screen 194 .
  • the touch sensor 180K may also be disposed on the surface of the electronic device, which is different from the position of the display screen 194 .
  • the bone conduction sensor 180M can acquire vibration signals. In some embodiments, the bone conduction sensor 180M can acquire the vibration signal of the vibrating bone mass of the human voice. The bone conduction sensor 180M can also contact the human pulse and receive the blood pressure beating signal. In some embodiments, the bone conduction sensor 180M can also be disposed in the earphone, combined into a bone conduction earphone.
  • the audio module 170 can analyze the voice signal based on the vibration signal of the vibrating bone mass of the vocal part acquired by the bone conduction sensor 180M, so as to realize the voice function.
  • the application processor can analyze the heart rate information based on the blood pressure beating signal acquired by the bone conduction sensor 180M, so as to realize the heart rate detection function.
  • the keys 190 include a power key, a volume key and the like.
  • the key 190 may be a mechanical key. It can also be a touch button.
  • the electronic device can receive key input and generate key signal input related to user settings and function control of the electronic device.
  • the motor 191 can generate a vibrating reminder.
  • the motor 191 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback.
  • touch operations applied to different applications may correspond to different vibration feedback effects.
  • Acting on the touch operation of different areas of the flexible screen 194, the motor 191 can also correspond to different vibration feedback effects.
  • Different application scenarios for example: time reminder, receiving information, alarm clock, games, etc.
  • the touch vibration feedback effect can also support customization.
  • the motor 191 may be a variety of linear motors, and the processor 110 executes a driving program of the linear motor to drive the linear motor to run.
  • the indicator 192 can be an indicator light, and can be used to indicate charging status, power change, and can also be used to indicate messages, missed calls, notifications, and the like.
  • the SIM card interface 195 is used for connecting a SIM card.
  • the SIM card can be inserted into the SIM card interface 195 or pulled out from the SIM card interface 195 to realize contact and separation with the electronic device.
  • the electronic device can support 1 or N SIM card interfaces, where N is a positive integer greater than 1.
  • SIM card interface 195 can support Nano SIM card, Micro SIM card, SIM card etc. Multiple cards can be inserted into the same SIM card interface 195 at the same time. The types of multiple cards may be the same or different.
  • the SIM card interface 195 is also compatible with different types of SIM cards.
  • the SIM card interface 195 is also compatible with external memory cards.
  • the electronic device interacts with the network through the SIM card to realize functions such as calling and data communication.
  • the electronic device adopts an eSIM, that is, an embedded SIM card.
  • the eSIM card can be embedded in the electronic device and cannot be separated from the electronic device.
  • Figure 3a is an example of the software architecture of the application of the technical solution disclosed in the embodiment of the present application, combined with the content of Figure 3b, it can be seen that:
  • the generation module of the vibration description file (which can interact with third-party applications) is used to generate the vibration description file; the analysis module analyzes the vibration description file to obtain a file in json format used to describe the vibration waveform, and the waveform processing module is for the json format Specifically, the vibration waveform processing module first uses the synthetic motor displacement algorithm to calculate, according to the file in json format and the properties of the motor, generates a vibration waveform in the form of a displacement code stream, and then drives the waveform processing module to process the vibration waveform As well as the properties of the motor, use the inverse motor voltage drive algorithm to perform inverse calculations to obtain the drive waveform.
  • the driving waveform obtained by the waveform processing module after the waveform processing operation is synthesized by the synthesis module to obtain the audio stream in the format of pulse code modulation (Pulse Code Modulation, PCM), etc.
  • PCM Pulse Code Modulation
  • the protocol is transmitted to the integrated circuit (Integrated Circuit, IC), and finally acts on the linear motor to control the operation of the linear motor.
  • the software architecture shown in FIG. 3a can be stored in the internal memory 121, and invoked by the processor 110 to implement the process described in FIG. 3b.
  • a user inputs an operation command to unlock an electronic device.
  • the user inputs a touch operation on the fingerprint recognition area on the display screen of the electronic device, the user's fingerprint is verified, and the electronic device is unlocked when the verification is passed.
  • the linear motor is driven to provide tactile feedback to the user, and the user can feel the vibration output by the linear motor through the finger performing the touch operation.
  • the user inputs an operation command to start an application program.
  • multiple application programs (Application, APP) are presented on the display screen of the electronic device.
  • the APP is started and outputs an application interface.
  • a linear motor can also be driven to provide tactile feedback to the user.
  • the electronic device outputs a push message of an application program.
  • an application such as Toutiao shown in the figure will maintain a connection with the background during the running process.
  • an operation instruction will be generated to present the pushed message to the user through the display screen. While the display is showing push messages, the linear motor can also be driven to provide tactile feedback to the user.
  • a game scene is shown in the figure.
  • the user touches an object in the game scene, such as the gun in the figure.
  • the user inputs an operation command to control the gun to fire while A linear motor is also driven, providing tactile feedback to the user.
  • the linear motor will also be driven to run, and it will be in a vibrating state to provide the user with a sense of vibration.
  • linear motors There are many types of linear motors, and different types of linear motors have different properties. Even the same type of linear motor will have different properties due to differences in production processes. Based on this, it is necessary to adopt a general linear motor control method, which can drive linear motors with different properties to run.
  • the embodiment of the present application provides a linear motor control method, which is applied to electronic equipment, as shown in Figure 5, including:
  • the operation instructions include operation instructions that need to be input for a certain object in various application scenarios, for example, the unlock instruction input by the user in FIG. 4a, and the APP start instruction input by the user in FIG. 4b.
  • it can also be a control command generated by the electronic device itself, such as a push message display command generated by the electronic device when the APP is connected to the background in FIG. 4 c , or an audio and video playback command, etc.
  • the operation instruction will act on the operation object, the electronic device will respond to the operation instruction, and the operation object will be triggered.
  • the vibration description file is one of the key elements to control the vibration of the linear motor: the vibration description file is used to describe the vibration waveform of the linear motor, and the vibration waveform indicates various vibration parameters during the vibration process of the motor, such as amplitude and frequency. It can be seen that the function of the vibration description file is to instruct the motor how to vibrate. The triggering of the manipulator requires the linear motor to follow the output vibration, so the manipulator will be configured with a vibration description file.
  • Driving the linear motor according to the vibration description file of the operating object requires the linear motor to vibrate, and the electronic device provides the vibration sensation that meets the waveform requirements of the vibration description file.
  • the vibration state corresponding to the vibration of the linear motor must match the properties of the linear motor.
  • the linear motor when controlling the operation of linear motors in multiple application scenarios, by adjusting the vibration state of the linear motor, the linear motor can provide vibration sensation according to the vibration state of its own attribute video, realizing the universal control of linear motors with different attributes.
  • the vibration description file is one of the key elements to control the vibration of the linear motor: the vibration description file is used to describe the vibration waveform of the linear motor, and the vibration waveform indicates various vibration parameters during the vibration process of the motor, such as amplitude and frequency, etc. . It can be seen that the function of the vibration description file is to instruct the motor how to vibrate, so the user can configure the expected vibration effect through the vibration description file.
  • vibration description files are generated by technicians through handwritten codes, which not only has high technical threshold and low efficiency, but also has the following problems:
  • the vibration function has a large space for expansion, and the expansion of the vibration function is beneficial to improve user experience.
  • the embodiment of the present application provides a method and device for generating vibration files, which are used to reduce the technical threshold for obtaining vibration description files, improve the efficiency of obtaining vibration description files, and ease the acquisition of vibration description files and the expansion of vibration functions. Improve the contradiction between user experience.
  • import controls are displayed, including a note icon 51 and a file icon 52 .
  • the Y (vertical) axis on the left represents the amplitude (Amplitude, also known as Intensity, abbreviated as Amp).
  • the Y (vertical) axis on the right represents frequency (frequency, also known as sharpness, abbreviated as Freq).
  • the X (horizontal) axis represents the duration (abbreviated as Time, in milliseconds). Among them, the range of the Y axis on the left is 0-1, and the middle value is represented by a scale.
  • the Y-axis on the right represents the magnitude of the frequency in terms of grayscale or color depth. The darker the frequency, the lower the frequency, and the lighter the frequency, the higher the frequency.
  • the musical note icon 51 is used to import an audio file (an example of a multimedia file).
  • the user can click the musical note icon 51 in the upper right corner of the interactive interface to import the audio file, and the interactive interface displays the basic waveform generated according to the imported audio file.
  • the basic waveform can be generated based on parameters such as the envelope, frequency, amplitude, timbre, and rhythm of the audio.
  • the file icon 52 is used to import the waveform in the scene vibration library, that is, to import and display the waveform selected by the user from the scene vibration library as the basic waveform in response to the selection command triggered by the user's selection operation.
  • the pre-configured scene vibration waveforms include waveforms corresponding to vibrations in various scenarios, for example, the waveforms corresponding to the vibrations in the shooting scene in the game, and the waveforms corresponding to the vibrations in the explosion scene in the game... .
  • the scene vibration sense waveform can be downloaded from the background server of the application. This type of waveform is the waveform corresponding to the vibration sense in the scene of the application.
  • the scene vibration waveform may be pre-stored in a scene vibration library, and the scene vibration library may be in a specific form such as a database or a folder. Wave files in the scene vibration library can be added, deleted or modified.
  • the file icon 52 is also used to import waveforms received from external sources, which can provide sources of waveforms for applications, devices, and the like. That is, the waveform received from the external source is stored in the terminal, and in response to the selection command triggered by the user's selection operation, the waveform received from the external source selected by the user is imported and displayed as the basic waveform.
  • the user can adjust the displayed basic waveform in the interactive interface, and the adjusted waveform is displayed in the interactive interface.
  • the adjustment points on the waveform in response to an operation instruction on the preset adjustment points on the basic waveform displayed in the interactive interface.
  • the waveform after the adjustment of the first vibration parameter is displayed, and the first vibration parameter includes amplitude and/or frequency.
  • the user presses and holds on the waveform, a dialog box or option box pops up, and from the dialog box or option box, select to increase the adjustment point (hereinafter referred to as point, represented by a circle) .
  • point represented by a circle
  • the added points are displayed on the waveform.
  • the points on the transient waveform 02 are only the vertices of the upper edge.
  • the vertex of the upper edge is used as the adjustment point by default, and no new adjustment point can be added, nor can the existing adjustment point be changed.
  • the process for the user to adjust the amplitude of the steady-state waveform 01 is: click on the left Y-axis to trigger the amplitude adjustment mode, and drag any point to realize the adjustment of the amplitude of the steady-state waveform 01. That is to say, in response to the user's operation of clicking the left Y-axis, the amplitude adjustment mode is entered, and in response to the point-to-point drag command (that is, the command triggered by the drag operation), the waveform after amplitude adjustment is displayed.
  • the process for the user to adjust the frequency of the steady-state waveform 01 is: click on the Y-axis on the right to trigger the frequency adjustment mode, and drag any point to realize the selection of the frequency of the steady-state waveform 01. That is to say, in response to the user's operation of clicking the Y axis on the right, the frequency adjustment mode is entered, and in response to the point-to-point drag command (that is, the command triggered by the drag operation), the frequency-adjusted waveform is displayed.
  • the rightmost point on the steady-state waveform 01 can only move up and down because it is currently in the amplitude adjustment mode and cannot change the existing frequency. That is, under the amplitude adjustment model, the left and right drag commands to the rightmost point on the steady-state waveform 01 are not responded.
  • the time parameters For the steady-state waveform 01, you can also adjust the time parameters through points: select the point on the X-axis of the steady-state waveform 01 to trigger the time adjustment mode. In the time adjustment mode, at least two adjustment points 58 are displayed on the X-axis. By Drag the left adjustment point left and right along the X-axis to adjust the start time of steady-state waveform 01 (when the waveform starts), and drag the right adjustment point along the X-axis to adjust the duration of steady-state waveform 01 .
  • the time adjustment mode is entered, and in response to an instruction of dragging the adjustment point on the time axis in the time adjustment mode, the time-adjusted waveform is displayed.
  • the process for the user to adjust the amplitude of the transient waveform 02 is as follows: click on the left Y axis to trigger the amplitude adjustment mode, and drag the vertex of the upper edge up and down to realize the adjustment of the amplitude of the transient waveform 02. That is to say, in response to the user's operation of clicking the left Y axis, the amplitude adjustment mode is entered, and in response to the point's up and down drag command (ie, the command triggered by the up and down drag operation), the waveform after amplitude adjustment is displayed.
  • the process for the user to adjust the frequency of the transient waveform 02 is as follows: click the Y axis on the right to trigger the frequency adjustment mode, and drag the vertex of the upper edge left and right to adjust the frequency of the transient waveform 02. That is to say, in response to the user's operation of clicking the right Y-axis, the frequency adjustment mode is entered, and in response to the left and right drag commands of the point (ie, the commands triggered by the left and right drag operations), the frequency-adjusted waveform is displayed.
  • the user drags the steady-state waveform 01 as a whole along the X-axis to adjust the start time, that is, in response to the dragging instruction of the steady-state waveform 01 along the X-axis, the waveform after the start time is adjusted is displayed.
  • the user drags the transient waveform 02 as a whole along the X-axis to adjust the start time, that is, in response to the drag command of the transient waveform 02 along the X-axis, the waveform after the start time is adjusted is displayed.
  • the indication information corresponding to the value of the adjusted parameter is displayed in the interactive interface.
  • the filling represents the grayscale or color of the currently selected frequency, and the selected frequency is adjusted in real time following the movement of the point to visually present the currently selected frequency.
  • the gray scale or color representing the current frequency of the waveform can also be filled to visually present the current frequency of the waveform that is not in the state of adjustment.
  • arrows are displayed near the frequency axis, pointing to the currently selected frequency, to visually present the current frequency of the waveform.
  • the transient waveform 02 has only one frequency, it is only filled with one color.
  • this embodiment also supports the superposition of multiple waveforms: the user selects multiple waveforms and drags them to the state where the time range overlaps, then the superposition of multiple waveforms with overlapping time ranges is triggered. That is, in response to the superposition command of dragging multiple waveforms to the time range overlapping state, the superimposed waveforms of multiple waveforms will be displayed. For example, if the first waveform is dragged to the time range of the second waveform, the first waveform and the second waveform will be superimposed Two waveforms.
  • the plurality of waveforms are at least a part of the basic waveforms described above.
  • waveform superposition An example of a specific calculation manner of waveform superposition is amplitude value addition, which will not be repeated here.
  • the purpose of waveform superposition is to expand multiple vibration effects through superposition, and to support the superposition of vibration effects in various scenes, so that the user's vibration experience is richer. It can be understood that the implementation of waveform superposition is not limited to the above-mentioned interactive interface.
  • the interactive interface shown in Figure 6a can also implement the following functions:
  • dialog box or option box that pops up by long pressing on the waveform
  • there is also an option to delete the adjustment point and the user can select this option to delete the adjustment point.
  • long press on the waveform to pop up a dialog box or option box also includes the option to delete the Slice/Event, the user can select this option to delete the waveform.
  • the user can click the return control 53 to cancel the adjustment operation, and click the play control 54 to play the vibration triggered by the adjusted waveform, so as to feel the vibration effect of the adjusted waveform and assist the adjustment.
  • You can also click the save control 55 to save the adjusted waveform.
  • a help control 56 and an exit control 57 may also be provided on the interactive interface shown in FIG. 6a.
  • the motor 191 includes at least one of the X-axis linear motor shown in FIG. 1 a and the Z-axis linear motor shown in FIG. 1 b.
  • the internal memory 121 may be used to store computer-executable program codes including instructions.
  • the processor 110 executes various functional applications and data processing of the electronic device by executing instructions stored in the internal memory 121 .
  • the processor 110 may generate a vibration description file by executing instructions, devices or modules stored in the internal memory 121 .
  • the processor 110 selects and adjusts a waveform in response to a signal triggered by a user operation received by an interactive interface in the touch screen, and generates a vibration description file based on the adjusted waveform.
  • the internal memory 121 may include an area for storing programs and an area for storing data.
  • the stored program area can store an operating system, at least one application program required by a function (such as a sound playing function, an image playing function, etc.) and the like.
  • the storage data area can store data (such as audio data, phone book, etc.) created during the use of the electronic device.
  • the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, flash memory device, universal flash storage (universal flash storage, UFS) and the like.
  • the processor 110 executes various functional applications and data processing of the electronic device by executing instructions stored in the internal memory 121 and/or instructions stored in a memory provided in the processor.
  • Figure 6b is a method for generating a vibration description file disclosed in the embodiment of the present application, including the following steps:
  • obtaining waveforms includes the following methods:
  • the vibration characteristics of the application refer to the characteristics of objects that can use vibration in the application.
  • the application can be a multimedia player, and the object that can use vibration can be multimedia, and the waveform is generated according to the characteristics of the multimedia, such as envelope, frequency, amplitude, timbre, and rhythm.
  • the pre-configured scene vibration waveforms include waveforms corresponding to vibrations in various scenarios, for example, waveforms corresponding to vibrations in a shooting scene in a game, and waveforms corresponding to vibrations in an explosion scene in a game.
  • the scene vibration sense waveform can be downloaded from the background server of the application. This type of waveform is the waveform corresponding to the vibration sense in the scene of the application.
  • the scene vibration waveform may be pre-stored in a scene vibration library, and the scene vibration library may be in a specific form such as a database or a folder. Wave files in the scene vibration library can be added, deleted or modified.
  • External sources can provide sources of waveforms for applications, devices, etc.
  • the pre-configured waveform as a template. That is, at least one waveform is preconfigured as a template, and the waveform is obtained by calling the template. It can be understood that the waveform used as a template can be regarded as a default waveform.
  • the acquisition methods of the above-mentioned multiple waveforms are provided. No matter which method is used, existing or configured waveforms can be provided. Therefore, for users, no matter which business scenario they want to customize the vibration
  • the description file does not need to design waveforms from scratch, but can be adjusted on the basis of acquired waveforms, so it can greatly facilitate users and greatly reduce the technical threshold.
  • the electronic device displays an interactive interface, responds to an adjustment instruction on the waveform on the interactive interface, displays the adjusted waveform, and generates a vibration description file of the adjusted waveform.
  • the first interface can be a display interface, and the interactive interface is a touch screen interface. It can be understood that the first interface is displayed on the display screen on the touch screen, and the interactive interface is also displayed on the screen on the touch screen.
  • the touch layer on the touch display receives adjustment commands.
  • S404 is an optional step, and the purpose of setting the adjustment limit is to protect the linear motor to be controlled from being damaged. That is, when the user adjusts the value of a certain vibration parameter of the basic waveform to exceed the adjustment limit, the adjustment instruction is not responded to.
  • prompt information may also be displayed, and the prompt information is used to prompt that the adjustment exceeds the adjustment limit.
  • the adjustment limit may include but not limited to: amplitude limit, start time limit and stop time limit.
  • the amplitude limit can be determined according to the maximum displacement of the linear motor to be controlled.
  • the start time limit and the stop time limit can be determined depending on the properties of the linear motor to be controlled.
  • the waveform is acquired and displayed first, the displayed waveform is further adjusted, and then the vibration description file of the adjusted waveform is generated. That is, the waveform acquired and displayed by S401 can be regarded as the basic waveform, and the basic waveform can be adjusted to obtain the required vibration waveform, and then the required vibration description file can be further obtained. Compared with the existing technology, there is no need to write codes to form a vibration description file , which can lower the technical threshold for acquiring vibration description files and improve acquisition efficiency.
  • the vibration following the audio playback may affect the short message service.
  • the user opens the short message interface to view the short message, but the vibration of the linear motor interferes with viewing the short message, thereby reducing user experience.
  • vibration description files described in the above embodiments are divided into static description files and dynamic description files.
  • the function of the dynamic description file is: during the vibration process of the linear motor, if an interrupt event occurs, the vibration of the linear motor is controlled according to the vibration parameters in the dynamic description file.
  • Interruption refers to: during the execution of the program implementing the first event (such as audio playback), the second event (such as SMS application) is triggered (such as receiving a short message), then the program implementing the first event is terminated, And the program for realizing the second event is executed, until the completion of the second event, continue to execute the program for realizing the first event.
  • the first event and the second event are executed simultaneously, that is, the program for realizing the first event and the program for realizing the second event are executed in parallel. Simply put, the execution of an event is interrupted, or an event is added in parallel during the execution of an event.
  • An interrupt event refers to interrupting an event that is being executed, or adding an event that is executed in parallel with other events while other events are being executed.
  • the dynamic description file can be configured for the interruption event, so that when the interruption event occurs, the vibration feeling can be weakened and the interference to the interruption event can be reduced.
  • the waveform received from an external source is used as the basic waveform for generating the dynamic description file.
  • the external source can be the execution subject of the interrupt event, such as the aforementioned short message application, that is, after an application is installed on the electronic device, the application can be pre-configured to generate the basic waveform of the dynamic description file for the user to generate Dynamically describe the file, thereby reducing the possibility of the application being disturbed by vibration during use.
  • waveforms received from external sources can also be used for other purposes, not limited to generating dynamic description files.
  • the vibration description file generated according to the characteristics of the object to be applied to the vibration or the basic waveform selected from the pre-configured scene vibration library can be used to control the linear motor when the interruption event does not occur. vibration.
  • the latter may be called a static description file.
  • the vibration parameters described in the static description file may be the same as or different from the vibration parameters described in the dynamic description file.
  • the types of vibration parameters described in the dynamic description file are a subset of the types of vibration parameters described in the static description file. That is to say, because the dynamic description file is used when an interrupt event occurs, combined with the above application scenarios, it may not be necessary to adjust all the parameters of the driving waveform, but only adjust the parameters that have a strong correlation with vibration perception.
  • the dynamic description file may only describe parameters that have a strong correlation with vibration perception, so the types of parameters described in the dynamic description file may be less than the types of parameters described in the static description file.
  • a static profile only describes the amplitude. This method can simplify the content of the dynamic description file, thereby reducing the generation cost of the dynamic description file.
  • the dynamic profile can also be visualized and adjusted, providing greater possibilities and flexibility for subsequent dynamic adjustment of the vibration of the linear motor.
  • Fig. 6c is an apparatus for generating a vibration description file disclosed in an embodiment of the present application, which is applied to electronic equipment, the electronic equipment includes a linear motor, and the apparatus includes: a display unit, a receiving unit, and a generating unit.
  • an acquisition unit may also be included.
  • the acquisition unit is used to generate a waveform according to the vibration characteristics of the application; or, use the waveform selected from the pre-configured scene vibration sensing waveform as the waveform; or receive the waveform from an external source; or call the pre-configured waveform as a template .
  • the display unit is used to present the first interface, and the first interface displays the waveform acquired by the acquisition unit.
  • the receiving unit is used to obtain the adjustment instruction for the waveform, and the generation unit is used to respond to the adjustment instruction and generate a vibration description file.
  • the generation unit is used to respond to the adjusted instruction
  • the specific implementation method of generating the vibration description file is: respond to the adjustment instruction of the waveform received from the external source, generate a dynamic description file, and the dynamic description file is used if an interruption event occurs, Control the vibration of the linear motor according to the vibration parameters in the dynamic description file.
  • the generation unit is used to respond to the adjustment instruction, and the generation of the vibration description file also includes the following steps: responding to the waveform generated according to the vibration characteristics of the application; or, the adjustment instruction of the waveform selected from the pre-configured scene vibration sensing waveforms, Generate a static description file, which is used to control the vibration of the linear motor according to the vibration parameters in the static description file in the absence of interruption events.
  • the types of vibration parameters indicated by the dynamic description file are a subset of the types of vibration parameters indicated by the static description file.
  • the generation unit is used to respond to the adjustment instruction, and the specific implementation manner of generating the vibration description file is: responding to the adjustment instruction of the waveform on the interactive interface, displaying the adjusted waveform; generating the vibration description file of the adjusted waveform.
  • the generation unit is used to respond to the adjustment instruction of the waveform on the interactive interface
  • the specific implementation method of displaying the adjusted waveform is: responding to the operation instruction of the preset adjustment point on the waveform displayed in the interactive interface, displaying on the waveform Adjustment point: in response to a drag instruction on the adjustment point in the first vibration parameter adjustment mode, displaying a waveform after adjustment of the first vibration parameter, where the first vibration parameter includes amplitude and/or frequency.
  • the waveform includes a steady-state waveform
  • the first vibration parameter further includes: a time parameter
  • the generation unit is configured to respond to a drag instruction on the adjustment point in the first vibration parameter adjustment mode, and display the waveform after the first vibration parameter adjustment
  • the specific implementation method of is: responding to the drag command of the adjustment point on the time axis in the time adjustment mode, and displaying the waveform after the time parameter is adjusted.
  • the generation unit is used to respond to an adjustment instruction on the waveform in the interactive interface, and the specific implementation manner of displaying the adjusted waveform is: responding to a drag instruction on the waveform displayed in the interactive interface, and displaying the waveform after adjusting the time parameter.
  • the display unit is further configured to: display indication information corresponding to the value of the adjusted parameter in the interactive interface.
  • the generation unit is further configured to: superimpose multiple waveforms in response to the superposition instruction, and generate a vibration description file of the superimposed waveforms; the multiple waveforms are at least a part of the waveforms.
  • the generating unit is configured to superimpose multiple waveforms in response to the superimposing instruction, and the specific implementation manner is: superimposing multiple waveforms in response to an instruction of dragging the multiple waveforms to a time range overlapping state.
  • the specific implementation method used by the generation unit to generate the vibration description file is: the vibration parameter of the adjusted waveform does not exceed the preset adjustment limit, and generates the vibration description file.
  • the device for generating vibration description files in this embodiment does not need to write codes to form vibration description files, which can reduce the technical threshold for obtaining vibration description files and improve the acquisition efficiency. Because the technical threshold is lowered, users have more space for customizing vibration waveforms, making it possible to design vibration modes for more business scenarios, so as to realize the expansion of vibration functions and the improvement of user experience.
  • the embodiment of the present application also discloses a readable storage medium on which a computer program is stored, wherein, when the computer program is executed by a processor, the method for generating the vibration description file in the above embodiment is realized.
  • the vibration description file is one of the key elements to control the vibration of the linear motor: the vibration description file is used to describe the vibration waveform of the linear motor, and the vibration waveform indicates various vibration parameters during the vibration process of the motor, such as amplitude and frequency.
  • FIG. 4d The application scenario shown in Fig. 4d is taken as an example for illustration.
  • Each manipulated object in the game scene shown in this example is configured with a vibration description file.
  • the vibration waveform described in the vibration description file when the linear motor is controlled to run at the resonant frequency, it can be seen from Figure 7a, the amplitude of the linear motor's start time (0 to t1) and stop time (t2 to t3) smooth transition, so, The vibration brought by the linear motor is smooth, the vibration noise is low, the user can feel the smooth and stable vibration, and the vibration sound of the linear motor is also stable and not sharp.
  • the resonant frequency of the linear motor is a key parameter for the operation of the linear motor.
  • the resonant frequency is also called the resonant frequency. It refers to the situation that a physical system (referring to the linear motor) vibrates at a specific frequency with a larger amplitude than other frequencies. This specific The frequency is called the resonant frequency.
  • a small driving force can cause the linear motor to vibrate greatly, therefore, the linear motor is generally driven to run at the resonant frequency.
  • the frequency in the vibration description file of the object configuration may be diversified.
  • different types of guns have different vibration requirements, so it is necessary to use certain frequency range Any frequency point is used to drive the linear motor to run. If the frequency of the vibration description file configured for an object is not the resonant frequency of the linear motor, the vibration provided by the linear motor operation will be unstable and unsmooth, and the user will not feel good and the vibration sound may be harsh.
  • the electronic device should output the vibration feeling corresponding to the waveform with the first variation trend in the start time and the second variation tendency in the stop time.
  • the first variation trend is: the amplitude of the steady-state waveform changes smoothly from zero
  • the second variation trend is: the amplitude of the steady state waveform changes smoothly from the amplitude of the linear motor in a stable vibration state to zero.
  • the electronic device outputs the vibration sensation corresponding to the waveform of the above-mentioned change trend, and the corresponding processor processing flow is shown in the following embodiments.
  • the method for processing the vibration waveform of the linear motor disclosed in the embodiment of the present application is based on the characteristics of the linear motor that implements vibration, and adjusts the vibration waveform described in the vibration description file, so that the linear motor that implements vibration can output smoothly at the start time and stop time amplitude to solve the overdrive problem.
  • the present application provides a method for processing vibration waveforms, which is applied to electronic equipment.
  • Electronic equipment includes linear motors.
  • the method for processing vibration waveforms includes:
  • the vibration description file includes a variety of vibration parameters. By analyzing the vibration description file, each vibration parameter included in the vibration description file can be obtained, and the vibration waveform of the linear motor can be generated by using the vibration parameters.
  • the vibration waveform of the linear motor can be understood as a displacement code stream, reflecting the displacement of the linear motor at different time points.
  • the mover of the X-axis linear motor can move in the direction of the X-axis or the Y-axis
  • the mover of the Z-axis linear motor can move in the direction of the Z-axis. Therefore, no matter what kind of linear motor, the operation of the linear motor driven by the waveform refers to the operation of the mover of the linear motor on the corresponding axis (X axis, Y axis or Z axis), and the mover moves on the corresponding axis
  • the form of expression is that the displacement of the mover along the corresponding axis changes at different times, and the vibration felt by the user is brought about by the displacement of the mover at different times.
  • Vibration parameters in a vibration profile may include, but are not limited to: intensity, sharpness (also called frequency), waveform type, start time, and stop time.
  • the vibration parameters in the vibration description file include the waveform type. By analyzing the waveform type, it can be determined whether the vibration description file describes a steady-state waveform or a transient waveform.
  • the steady-state waveform is the vibration waveform that drives the linear motor through a rising phase, a stable vibration phase and a stop phase.
  • the rising phase, the stable vibration phase and the stop phase are three phases that the linear motor goes through from the start of vibration to the end of vibration.
  • the vibration form of the linear motor is free attenuation vibration accompanied by forced vibration.
  • the vibration form of the linear motor is steady-state forced vibration with equal amplitude.
  • the vibration form of the linear motor is free attenuation vibration. .
  • the transient waveform is the vibration waveform that drives the linear motor through only the rising phase.
  • the start time and stop time are both time periods.
  • the start time is the time between the time point when the linear motor starts running and the time point in the stable vibration state
  • the stop time is the time period between the time point when the linear motor is in a stable vibration state and the time point when it stops running. time.
  • the steady-state waveform amplitude during the start-up time of the linear motor is processed into an amplitude that changes smoothly from zero to the stable vibration state of the linear motor; and the steady-state waveform amplitude during the stop time of the linear motor is processed into a stable vibration by the linear motor
  • the amplitude of the state changes smoothly to zero, ensuring that when the linear motor runs with the processed steady-state waveform, the amplitude output at the start time and stop time is a smooth transition, the amplitude will not be disordered, and the vibration brought by the linear motor is smooth and smooth. Low vibration and noise.
  • the smooth change proposed in the above content can be understood as that during the start time, the amplitude of the linear motor transitions from zero to the amplitude of the stable vibration state; during the stop time, the amplitude of the linear motor transitions smoothly from the amplitude of the stable vibration state to zero.
  • the original vibration waveform 41 at the start time (0 to t1 ) is smoothed to obtain a vibration waveform 42 .
  • the original vibration waveform 43 at the stop time (t2 to t3) is smoothed to obtain a vibration waveform 44.
  • the vibration description file is used to generate the vibration waveform of the linear motor.
  • the vibration waveform is a displacement code stream, which reflects the displacement of the linear motor at different time points.
  • the displacement of the linear motor at each time point is equivalent to the amplitude of the linear motor at each time point, so adjusting the amplitude of the steady-state waveform in step S504 is to adjust the start time and stop in the vibration description file displacement at each point in time.
  • the first is to superimpose the cosine waveform on the steady-state vibration waveform during the start time and stop time of the linear motor.
  • the steady-state vibration waveform of the linear motor at the start time and stop time is superimposed on the cosine waveform, and the value of the cosine waveform at each time point is used to offset the too sharp value in the steady-state vibration waveform of the linear motor at the start time and stop time.
  • the cosine waveform includes two, the duration of one cosine waveform is the same as the duration of the start time, including the same number of waveform values as the amplitude values of multiple time points included in the start time, the waveform value of the cosine waveform, and the waveform within the start time
  • the amplitude value at the peak of the wave is reversed, and the amplitude value at the valley of the waveform during the start-up time is in the same direction, so as to ensure that the peak-shaving and valley-filling of the waveform during the start-up time is ensured.
  • the duration of the other cosine waveform is the same as the duration of the stop time, and the value of each time point of the cosine waveform is opposite to the amplitude value at the peak of the waveform within the stop time, and at the trough of the waveform within the stop time
  • the amplitude values are in the same direction, which ensures that the peaks and valleys of the waveform during the stop time are clipped and filled.
  • the second is to use the ramp algorithm to process the steady-state vibration waveform during the start time and stop time of the linear motor.
  • the slope algorithm is an algorithm that makes the waveform look like a slope. Using ramp algorithm processing, it can be understood that the amplitude of the steady-state waveform of the linear motor during the start time and stop time is multiplied by the coefficient. Of course, during the start time and the stop time, the coefficient of multiplying the amplitude of the steady-state waveform at each time point also changes gently.
  • a vibration waveform processing device including:
  • the obtaining unit 601 is configured to obtain a vibration description file.
  • the identification unit 602 is configured to identify the waveform type described by the vibration description file.
  • the extraction unit 603 is configured to extract the start time and stop time from the vibration description file if the waveform type described in the vibration description file is a steady state waveform.
  • the processing unit 604 is used to process the amplitude of the steady-state waveform during the startup time as: the amplitude that changes smoothly from zero to the stable vibration state of the linear motor, and process the amplitude of the steady-state waveform during the stop time as: stabilized by the linear motor The amplitude of the vibration state changes smoothly to zero.
  • the processing unit 604 processes the amplitude of the linear motor from zero to smooth Change to the amplitude of the stable vibration state of the linear motor, and, within the stop time, the amplitude of the linear motor is smoothly changed from the amplitude of the stable vibration state of the linear motor to zero, which can control the linear motor to run smoothly at the start time and stop time, and overcome the excessive drive problem.
  • the processing unit 604 processes the amplitude of the steady-state waveform within the start-up time into: the amplitude that smoothly changes from zero to the steady vibration state of the linear motor, for:
  • the ramp algorithm is used to process the steady-state waveform during the start-up time to obtain a steady-state waveform in which the amplitude during the start-up time transitions smoothly from zero to the amplitude of the linear motor in a stable vibration state.
  • the processing unit 604 executes processing the amplitude of the steady-state waveform within the stop time as: when the amplitude of the steady-state vibration of the linear motor smoothly changes to zero, it is used for:
  • the ramp algorithm is used to process the steady-state waveform during the stop time, and a steady-state waveform in which the amplitude within the stop time is smoothly transitioned from the amplitude of the linear motor in a stable vibration state to zero is obtained.
  • the specific working process of the acquisition unit 601 , the identification unit 602 , the extraction unit 603 and the processing unit 604 can be found in the corresponding method embodiments, and will not be repeated here.
  • Another embodiment of the present application provides a readable storage medium.
  • the instructions in the readable storage medium are executed by the processor of the electronic device, the electronic device can execute the vibration waveform processing method in any of the above-mentioned embodiments. .
  • the readable storage medium may be a non-transitory computer-readable storage medium, for example, the non-transitory computer-readable storage medium may be ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage equipment etc.
  • the non-transitory computer-readable storage medium may be ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage equipment etc.
  • the vibration description file is one of the key elements to control the vibration of the linear motor: the vibration description file is used to describe the vibration waveform of the linear motor, and the vibration waveform indicates various vibration parameters during the vibration process of the motor, such as amplitude and frequency.
  • the function of the vibration description file is to instruct the motor how to vibrate, so the user can configure the expected vibration effect through the vibration description file.
  • the linear motor is the subject of vibration, so the vibration effect is related to the properties of the linear motor. Therefore, although the vibration description file is configured based on the expected vibration effect, the vibration generated by the linear motor controlled by the vibration description file may not necessarily be Can achieve the expected vibration effect.
  • the linear motor cannot provide the expected vibration effect mainly in the following aspects:
  • the vibration description file defines a vibration waveform with a frequency of 230hz, and the resonant frequencies of the linear motor implementing vibration are 150hz and 230hz.
  • the resonant frequency of the linear motor is 150hz
  • the output frequency of the linear motor is a driving waveform of 150hz, which can ensure that the linear motor produces a large vibration with a small driving force.
  • the frequency of the vibration waveform defined by the vibration description file is 230hz
  • the output frequency of a linear motor with a resonance frequency of 150hz is a vibration waveform of 230hz, which will make the vibration sense output by the linear motor fail to meet the requirements. Therefore, it is necessary to adjust the vibration waveform described in the vibration description file, so that the vibration waveform is adapted to each resonance frequency of the linear motor implementing vibration, so as to ensure the expected vibration effect and the expected vibration feeling.
  • the application scenario shown in FIG. 4d belongs to a game. With the popularity of the game, more and more electronic devices are installed with the game.
  • the linear motors in the electronic devices installed with the game may be of different types, or they may be of the same type but the source From different manufacturers or different production batches.
  • the resonant frequency of the linear motor in the electronic device will be different. The result of this is that when users play the same game on different electronic devices, they will feel different vibrations due to the difference in the resonant frequency of the linear motor. Even the vibration perception output by the linear motor is very different from what is expected from the vibration profile of the object in the application scene.
  • the linear motor in the method for adjusting the vibration waveform of the linear motor provided in the following embodiments, can be in the first vibration state.
  • the internal memory 121 stores instructions for executing the method for adjusting the driving waveform.
  • the processor 110 can adjust the driving waveform described by the vibration description file by executing the instructions stored in the internal memory 121, so as to ensure that the video of the driving waveform is compatible with the resonant frequency of each linear motor, and shield different linear motors The difference between different resonant frequencies.
  • the motor 191 may be a variety of linear motors, and the processor 110 executes a driving program of the linear motor to drive the linear motor to run.
  • the driving waveform adjustment scheme involved in the operation of the linear motor driven by the driver of the linear motor is, for example, the driving waveform adjustment method provided in the following embodiments of the present application.
  • the method for adjusting the driving waveform of the linear motor described in the embodiment of the present application can be applied to the waveform processing module in FIG. 3a.
  • the method of adjusting the driving waveform of the linear motor will be described in detail below.
  • FIG. 10 shows a method for adjusting a driving waveform, which is applied to an electronic device, and the electronic device includes a linear motor.
  • the adjustment method of the drive waveform includes:
  • the vibration description file includes various vibration parameters. By analyzing the vibration description file, each vibration parameter included in the vibration description file can be obtained, and the vibration waveform of the linear motor can be generated by using the vibration parameters.
  • the vibration waveform of the linear motor can be understood as a displacement code stream, reflecting the displacement of the linear motor at different time points.
  • the mover of the X-axis linear motor can move in the direction of the X-axis or the Y-axis
  • the mover of the Z-axis linear motor can move in the direction of the Z-axis. Therefore, no matter what kind of linear motor, the operation of the linear motor driven by the waveform refers to the operation of the mover of the linear motor on the corresponding axis (X axis, Y axis or Z axis), and the mover moves on the corresponding axis
  • the form of expression is that the displacement of the mover along the corresponding axis changes at different times, and the vibration felt by the user is brought about by the displacement of the mover at different times.
  • Vibration parameters in a vibration profile may include, but are not limited to: intensity, sharpness (also called frequency), waveform type, start time, and stop time.
  • step S203 is executed.
  • the vibration parameters of the vibration description file include the waveform type. By analyzing the waveform type, it can be determined whether the vibration description file describes a steady-state waveform or a transient waveform.
  • the steady-state waveform is the vibration waveform that drives the linear motor through a rising phase, a stable vibration phase and a stop phase.
  • the rising phase, the stable vibration phase and the stop phase are three phases that the linear motor goes through from the start of vibration to the end of vibration.
  • the vibration form of the linear motor is free attenuation vibration accompanied by forced vibration.
  • the vibration form of the linear motor is steady-state forced vibration with equal amplitude.
  • the vibration form of the linear motor is free attenuation vibration. .
  • the transient waveform is the vibration waveform that drives the linear motor through only the rising phase.
  • the vibration parameters included in the vibration description file define the vibration waveform to be generated. Therefore, based on the vibration parameters of the transient waveform described by the vibration description file, a vibration waveform that meets the requirements of the vibration parameters can be generated.
  • the vibration parameters defined in the vibration description file include: a frequency of 230 Hz, based on the vibration parameters, a vibration waveform with a frequency of 230 Hz can be generated.
  • the transient waveform described by the vibration description file it can be output by linear motors with different resonant frequencies, and the waveform array corresponding to each resonant frequency of the linear motor is predefined and stored in the internal memory of the electronic device.
  • the waveform array includes: multiple half-period waveforms, and each half-period waveform is obtained by splitting the transient waveform adapted to the resonant frequency of the linear motor by taking half a period of the transient waveform as the split unit.
  • storing an array of waveforms in the internal memory of an electronic device stores the frequency and amplitude of the waveform used to generate each half cycle.
  • a transient waveform includes 3 periods of waveforms, and the waveform array of the linear motor of each resonance frequency will include: 6 half-period waveforms corresponding to the frequency and amplitude.
  • the waveform array corresponding to the resonant frequency of the linear motor in the electronic device is selected from the pre-stored waveform array corresponding to each resonant frequency, according to the waveform array
  • the frequency and amplitude of multiple half-cycle waveforms indicated generate each half-cycle waveform, and then combine the generated half-cycle waveforms to obtain the transient waveform.
  • FIG. 11 shows another method for adjusting the driving waveform, which is also applied to electronic equipment, and the electronic equipment includes linear motors.
  • the adjustment method of the drive waveform includes:
  • step S503 is executed.
  • step S501 and step S502 For the specific content of step S501 and step S502, refer to the content of step S501 and step S502 in the embodiment corresponding to FIG. 4 .
  • selecting a drive waveform that matches the resonant frequency of the linear motor from multiple pre-stored drive waveforms also needs to meet the vibration parameter requirements of the transient waveform described in the vibration description file.
  • This method of pre-storing multiple driving waveforms and selecting a driving waveform to drive the linear motor according to the vibration parameters of the transient waveform described in the vibration description file and the resonant frequency of the linear motor can also realize the shielding of the linear motor.
  • the efficiency of obtaining the driving waveform is higher.
  • the driving waveforms of each resonance frequency involved in the linear motor are used as atomic driving waveforms. In this way, it can be ensured that each resonant frequency of the linear motor can find a matching atomic driving fluctuation from the stored atomic driving waveform.
  • this generation method requires a relatively large storage space.
  • the second is to use the driving waveform of each frequency in a frequency range within the frequency range involved in the linear motor as an atomic driving waveform, for example: the frequency range of all frequencies involved in the linear motor is 70hz to 185hz, and the The driving waveform of each frequency in this frequency range is used as the atomic driving waveform; or the driving waveform of each frequency of 165hz to 175hz in the range of 70hz to 185hz is used as the atomic driving waveform.
  • the selection criteria for a frequency range within the frequency range involved in the linear motor may also be: a frequency range with a higher hit rate, and a higher hit rate also refers to the frequency range used by most linear motors.
  • the number of atomic drive waveforms generated by this generation method is less than that of the first one, and does not need to occupy a large storage space. It brings that there may be atomic drive waveforms corresponding to a resonance frequency of the linear motor that cannot be found.
  • the third one is to use the drive waveform of the resonant frequency of the linear motor with a high hit rate as the atomic drive waveform.
  • the resonant frequency with a high hit rate refers to a resonant frequency used by most linear motors among a series of resonant frequencies of the linear motor. For example: in the frequency range from 70hz to 185hz, the frequencies of 70, 80, 90, 100, 120, 130, 150 and 170 belong to the resonance frequency set by most linear motors, and will be set to have a higher hit rate the resonant frequency.
  • this generation method further reduces the storage space requirement, and also increases the probability that the atomic drive waveform corresponding to a resonant frequency of the linear motor cannot be found.
  • the frequency of the transient waveform described by the vibration description file is diverse, that is, the linear motor can be required to operate according to waveforms of different frequencies. Based on this, the number of driving waveforms to be included in each atomic driving waveform is multiple, and each driving waveform is adapted to a frequency requirement of the transient waveform described in the vibration description file.
  • the atomic drive waveform of a linear motor with a resonant frequency of 165hz includes: the drive waveform corresponding to the transient waveform with a frequency of 80hz, the drive waveform corresponding to the transient waveform with a frequency of 81hz, and the drive waveform corresponding to the transient waveform with a frequency of 82hz ...
  • the adaptive atomic drive waveform can be selected from the stored atomic drive waveforms. waveform, and, since each atomic driving waveform includes a driving waveform that adapts to various frequency requirements of the transient waveform described in the vibration description file, it is possible to further filter out the matching vibration from the filtered atomic driving waveform.
  • the driving waveform of the frequency of the transient waveform described in the description file so that the linear motor with multiple resonance frequencies can be guaranteed to output the transient waveform described in the same vibration description file, which realizes the shielding of the difference in the resonance frequency of the linear motor .
  • the pre-stored multiple driving waveforms are stored in groups, and a group of driving waveforms (that is, a kind of atomic driving waveform in the above content) corresponds to a resonance frequency of the linear motor; each group
  • the driving waveform includes at least one driving waveform, and each driving waveform is adapted to a frequency requirement of the transient waveform described by the vibration description file.
  • step S503 an implementation manner of step S503 is:
  • a set of drive waveforms whose frequency matches the resonant frequency of the linear motor is selected.
  • the vibration parameters of the vibration description file include: the vibration frequency is 82 Hz; the resonant frequency of the linear motor is 165 Hz, and a group of driving waveforms with a frequency of 165 Hz is screened out from multiple groups of driving waveforms in the manner of this step.
  • the driving waveform is selected according to the vibration parameters of the transient waveform described in the vibration description file.
  • a group of driving waveforms of 165 Hz includes multiple driving waveforms, and each driving waveform corresponds to a frequency of the vibration waveform. Based on this, a driving waveform with a frequency of 82 Hz is selected from the group of driving waveforms of 165 Hz.
  • the atomic driving waveforms are generated and stored using the second and third atomic driving waveforms proposed above. If among the various pre-stored atomic driving waveforms, the The atomic drive waveform that matches the resonant frequency of the linear motor, first select the atomic drive waveform that is closest to the resonant frequency of the linear motor from the stored multiple atomic drive waveforms, and then select the atomic drive waveform according to the vibration description file The vibration parameters of the described transient waveform After the driving waveform is selected, the selected driving waveform is interpolated according to the resonant frequency of the linear motor to obtain the driving waveform matching the resonant frequency of the linear motor.
  • the closest to the resonant frequency of the linear motor can be understood as the same or the smallest difference between the frequency and the resonant frequency of the linear motor.
  • an interpolation operation is performed on the selected driving waveform, which may be to use a resampling algorithm to sample the driving waveform to obtain the values of multiple sampling points, and then the values of the multiple sampling points Insert it into the drive waveform to complete the adjustment of the drive waveform to obtain a drive waveform that matches the resonant frequency of the linear motor.
  • FIG. 12 shows another method for adjusting the driving waveform, which is also applied to electronic devices, and the electronic devices include linear motors.
  • the adjustment method of the drive waveform includes:
  • step S603 is executed.
  • step S601 and step S602 For the specific content of step S601 and step S602, refer to the content of step S401 and step S402 in the embodiment corresponding to FIG. 4 .
  • transient vibration waveforms To drive linear motors to output vibration waveforms at different frequencies, pre-store vibration waveforms of multiple frequencies (transient vibration waveforms). If the waveform type described in the vibration description file is a transient waveform, then follow the vibration description file The described vibration parameters of the transient waveform are screened from multiple pre-stored vibration waveforms, and the vibration waveform matching the vibration parameters of the transient waveform described by the vibration description file is selected.
  • the vibration waveform will be adjusted according to the resonant frequency of the linear motor to obtain a drive waveform that matches the resonant frequency of the linear motor.
  • the inverse motor voltage drive algorithm itself has the function of inverting the vibration waveform into a resonant frequency suitable for the linear motor.
  • the purpose of shielding the difference in the resonant frequency of the linear motor is achieved by using this function of the algorithm.
  • the pre-stored vibration waveforms of multiple frequencies are not enough to cover the requirement of driving the linear motor to output according to the waveforms of all frequencies, then among the multiple pre-stored vibration waveforms, it is impossible to select a vibration waveform that meets the vibration description.
  • the vibration waveform of the vibration parameters of the transient waveform described in the file for example: the vibration waveform from 100hz to 130hz is pre-stored, the frequency of the transient waveform described in the vibration description file is 135hz, and the frequency of the transient waveform described in the vibration description file is 135hz Requirements, the vibration waveform of the same frequency cannot be found in the vibration waveform of 100hz to 130hz.
  • the vibration waveform closest to the vibration parameters of the transient waveform described by the vibration description file it is necessary to select the vibration waveform closest to the vibration parameters of the transient waveform described by the vibration description file from the multiple pre-stored vibration waveforms.
  • this closest refers to the frequency and vibration description.
  • the transient waveform described by the file has the smallest difference in vibration parameters.
  • the selected vibration waveform is interpolated to obtain a vibration waveform matching the vibration parameters of the transient waveform described in the vibration description file.
  • the interpolation operation is performed on the selected vibration waveform according to the vibration parameters of the transient waveform described in the vibration description file, which may be to use a resampling algorithm to sample the vibration waveform to obtain multiple sampling points. Then insert the values of multiple sampling points into the vibration waveform to complete the adjustment of the vibration waveform, and obtain the vibration waveform that matches the vibration parameters of the transient waveform described in the vibration description file.
  • the vibration waveform processing module and the driving waveform processing module use the content of the three embodiments corresponding to Fig. 2, Fig. 3 or Fig. 4 to generate driving waveforms, and the realization principle can be understood as: the vibration described in the vibration description file parameters and the resonant frequency of the linear motor to generate the drive waveform of the linear motor.
  • the waveform type described in the vibration description file is a transient waveform
  • the driving waveform of the linear motor is generated according to the vibration parameters described in the vibration description file and the resonant frequency of the linear motor, which ensures the performance of the generated linear motor.
  • the driving waveform can be adapted to the resonant frequency of the linear motor, so that the transient waveform shielding the difference of the motor can be generated to drive the linear motor.
  • the embodiment of the present application provides a driving waveform adjustment device, as shown in FIG. 13 , including:
  • the obtaining unit 701 is configured to obtain a vibration description file.
  • the identification unit 702 is configured to identify the waveform type described by the vibration description file.
  • the generating unit 703 is configured to generate the driving waveform of the linear motor according to the vibration parameters described in the vibration description file and the resonant frequency of the linear motor if the waveform type described in the vibration description file is a transient waveform.
  • the generating unit 703 when generating the drive waveform of the linear motor according to the vibration parameters described in the vibration description file and the resonant frequency of the linear motor by the generating unit 703, it is used to: according to the resonant frequency of the linear motor
  • the parameters of the matched waveform array are used to generate multiple half-period waveforms; and then the generated multiple half-period waveforms are combined to obtain the transient waveform described by the vibration description file.
  • the generating unit 703 when generating the driving waveform of the linear motor according to the vibration parameters described in the vibration description file and the resonant frequency of the linear motor, the generating unit 703 is used to: Among the waveforms, select the driving waveform that matches the resonant frequency of the linear motor, and the driving waveform that matches the resonant frequency of the linear motor meets the vibration parameter requirements of the transient waveform described in the vibration description file.
  • multiple drive waveforms are stored in groups, and a set of drive waveforms corresponds to a resonant frequency of the linear motor; each set of drive waveforms contains at least one drive waveform, and each The drive waveform is adapted to a frequency requirement of the vibration waveform of the linear motor;
  • the generating unit 703 selects a drive waveform that matches the resonant frequency of the linear motor from a plurality of pre-stored drive waveforms, a drive waveform that matches the resonant frequency of the linear motor, and a vibration that conforms to the transient waveform described by the vibration description file.
  • the parameters are required, it is used to: select a set of drive waveforms that match the resonant frequency of the linear motor from multiple sets of drive waveforms; determine the transient state described in the vibration description file from the selected set of drive waveforms The drive waveform required by the vibration parameter of the waveform.
  • the generation unit 703 when generating the driving waveform of the linear motor according to the vibration parameters described in the vibration description file and the resonant frequency of the linear motor, the generation unit 703 is used to:
  • the specific working process of the acquisition unit 701 , the identification unit 702 and the generation unit 703 can be found in the content of the corresponding method embodiments, and will not be repeated here.
  • Another embodiment of the present application provides a readable storage medium.
  • the instructions in the readable storage medium are executed by the processor of the electronic device, the electronic device can execute the driving waveform adjustment method in any of the above-mentioned embodiments. .
  • the readable storage medium may be a non-transitory computer-readable storage medium, for example, the non-transitory computer-readable storage medium may be ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage equipment etc.
  • the non-transitory computer-readable storage medium may be ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage equipment etc.
  • the vibration description file is one of the key elements to control the vibration of the linear motor: the vibration description file is used to describe the vibration waveform of the linear motor, and the vibration waveform indicates various vibration parameters during the vibration process of the motor, such as amplitude and frequency.
  • the vibration waveform (including steady-state waveform and transient waveform) of the vibration description file refers to the waveform generated by vibrating with the vibration parameter parameters obtained by analyzing the vibration description file. Therefore, it can be called the vibration waveform described by the vibration description file.
  • the function of the vibration description file is to instruct the motor how to vibrate, so the user can configure the expected vibration effect through the vibration description file.
  • the vibration effect of electronic equipment is realized by linear motors. Therefore, the vibration effect is related to the properties of linear motors. Therefore, although the vibration effect of electronic equipment is realized by configuring vibration description files, due to the different linear motors The parameters are different, even if the corresponding vibration description file is used for configuration, the vibration generated by different linear motors may not be able to achieve the expected vibration effect.
  • the vibration provided by the linear motor is weak and cannot be perceived by the user or the vibration perceived by the user does not match the scene.
  • the vibration in the explosion scene which should be strongly perceived by the user, cannot be perceived by the user.
  • the cause of this problem is that the frequency of the steady-state waveform of the vibration profile does not match the frequency of the linear motor implementing the vibration.
  • the steady-state waveform of the vibration description file is generated by debugging the X-axis linear motor, that is, given the expected vibration feeling, based on the debugging of the X-axis linear motor, the X-axis linear motor can provide the expected vibration feeling , to get the vibration description file.
  • the linear motor to be driven by the vibration description file is a Z-axis linear motor.
  • the Z-axis linear motor has a smaller volume, so the amplitude is smaller. Therefore, the vibration achieved under the same parameter control The vibration sense is weaker than that of the X-axis linear motor. And because the resonant frequency of the Z-axis linear motor is higher than that of the X-axis linear motor, the vibration of the Z-axis linear motor cannot be sensed when the frequency is lower than a certain threshold.
  • the tactile feedback effect of the virtual button is not good: when the physical button is replaced by a virtual button, after the user presses the virtual button, different vibration effects are used to make the user obtain different vibration sensations, so as to provide the user with "soft touch”. ” or “hard” press haptics, but this is not possible because the transient waveform of the vibration profile does not match the linear motor implementing the vibration.
  • the X-axis linear motor uses a transient waveform with a relatively low frequency, a long duration, and a variable amplitude to simulate a "soft" touch (a transient waveform with a relatively high frequency, a short duration, and a variable amplitude Simulate "hard” touch.
  • the resonant frequency of the Z-axis linear motor is lower than that of the X-axis linear motor, the low-frequency vibration is reduced. Therefore, if the transient waveform of the simulated "soft" vibration is determined by the vibration description file according to X
  • the characterization of the axis linear motor, implemented by the Z-axis linear motor may result in imperceptibility to the user, and may not be able to differentiate between "soft" and “hard” haptics.
  • the method for adjusting the vibration waveform of the linear motor disclosed in the embodiment of the present application adjusts the vibration waveform described in the vibration description file based on the characteristics of the linear motor implementing vibration, so that the vibration waveform is adapted to the linear motor implementing vibration to ensure that the expected Vibration effect and vibration feeling.
  • the motor 191 includes at least one Z-axis linear motor as shown in FIG. 1b. Since the Z-axis linear motor has a smaller volume, it can save space inside the electronic device, which is conducive to thinning the electronic device. In this case, the vibration waveform described in the vibration description file may not be able to achieve the expected vibration effect through the Z-axis linear motor, so it is necessary to adjust the vibration waveform described in the vibration description file.
  • the internal memory 121 may be used to store computer-executable program codes including instructions.
  • the processor 110 executes various functional applications and data processing of the electronic device by executing instructions stored in the internal memory 121 .
  • the processor 110 may adjust the vibration waveform described in the vibration description file by executing instructions, devices or modules stored in the internal memory 121 .
  • the processor 110 uses the adjusted vibration waveform to drive the linear motor to vibrate in response to the signal input by the virtual key in the touch screen, so as to give vibration feedback to the user's operation of pressing the virtual key.
  • the internal memory 121 may include an area for storing programs and an area for storing data.
  • the stored program area can store an operating system, at least one application program required by a function (such as a sound playing function, an image playing function, etc.) and the like.
  • the storage data area can store data (such as audio data, phone book, etc.) created during the use of the electronic device.
  • the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, flash memory device, universal flash storage (universal flash storage, UFS) and the like.
  • the processor 110 executes various functional applications and data processing of the electronic device by executing instructions stored in the internal memory 121 and/or instructions stored in a memory provided in the processor.
  • the method for adjusting the vibration waveform of the linear motor described in the embodiment of the present application can be applied to the vibration waveform processing module in FIG. 3a.
  • the method for adjusting the vibration waveform of the linear motor will be described in detail below.
  • Fig. 14 is a vibration waveform adjustment method of a linear motor disclosed in the embodiment of the present application, which includes the following steps:
  • the steady-state waveform is a vibration waveform that drives the linear motor through a rising phase, a stable vibration phase, and a stop phase.
  • the rising phase, the stable vibration phase and the stop phase are three phases that the linear motor goes through from the start of vibration to the end of vibration.
  • the vibration form of the linear motor is free attenuation vibration accompanied by forced vibration.
  • the vibration form of the linear motor is steady-state forced vibration with equal amplitude.
  • the vibration form of the linear motor is free attenuation vibration. .
  • the target frequency is obtained according to the lower frequency limit, the upper frequency limit and the preset first mapping rule.
  • the lower limit frequency is met: the amplitude of the linear motor at the lower limit frequency is greater than a preset threshold.
  • the purpose of setting the preset threshold is to ensure that the vibration intensity can be perceived by the user, so the preset threshold can be preconfigured according to the actual vibration effect of the linear motor. Because if the amplitude is not greater than the preset threshold, the vibration sense of the linear motor may be weak, which reduces the user's sensitivity to vibration, so the amplitude of the lower limit frequency is greater than the preset threshold, which can not reduce the user's sensitivity to vibration.
  • the upper limit frequency belongs to the resonant frequency range of the linear motor, that is, it can be any value in the resonant frequency range. Because the frequency within the resonant frequency range of the linear motor corresponds to a larger amplitude, the upper limit frequency is set within the resonant frequency range to ensure that the linear motor has a greater vibration intensity, thereby ensuring that the user can perceive the vibration.
  • the first mapping rule indicates: a rule for mapping from the lower limit frequency and the upper limit frequency to the target frequency.
  • the first mapping rule may be preconfigured, and the specific content will be described in detail in the following embodiments.
  • the frequency of the steady-state waveform described in the vibration description file is 170 Hz, which is the resonance frequency of the X-axis linear motor.
  • the linear motor implementing vibration is a Z-axis linear motor
  • the resonant frequency of the Z-axis linear motor is usually 235Hz. Therefore, directly using the vibration waveform described in the vibration description file to control the vibration of the Z-axis linear motor may not obtain the expected vibration. Therefore, according to S201, the steady-state waveform shown in FIG. 15 can be mapped to the steady-state waveform shown in FIG. 16. It can be seen that the frequency is mapped from 170 Hz to the target frequency of 235 Hz.
  • the target frequency has nothing to do with the frequency of the steady-state waveform described by the vibration description file, but is only related to the linear motor that implements the vibration. Therefore, the vibration waveform is more suitable for the linear motor that implements vibration. Even if the volume of the linear motor that implements vibration is small, it can ensure that under the same control parameters, it has the same vibration effect and vibration effect as the linear motor with a larger volume.
  • Sense that is, S401 can solve the first problem above.
  • the transient waveform is the vibration waveform that drives the linear motor through only the rising phase.
  • the "soft" touch requires a transient waveform with a lower frequency to achieve, but the resonance spectrum of the Z-axis linear motor is higher than that of the X-axis linear motor, so it is possible that the transient waveform described by the vibration description file, The vibration generated by controlling the Z-axis linear motor cannot be perceived. Therefore, in this step, the transient waveform described in the vibration description file is expanded into a waveform sequence composed of multiple transient waveforms. The waveform sequence and the transient waveform In comparison, the number of vibrations is increased, that is, the vibration feeling changes from "one vibration” to "multiple vibrations", so it is beneficial for the user to perceive the vibration.
  • the waveform sequence is composed of multiple target transient waveforms.
  • the frequency of the waveform sequence is the same as the frequency of the transient waveform described in the vibration description file, and the frequency of the target transient waveform is adapted to the linear motor.
  • Adapting the frequency of the target transient waveform to the linear motor means that the frequency of the target transient waveform is within the resonant frequency range of the linear motor.
  • the frequency of the target transient waveform is the resonant frequency of the linear motor to ensure that the linear motor has a greater vibration intensity, so that the user can perceive the vibration, laying the foundation for the user to further feel "soft" or "hard”.
  • Fig. 17 is an example of a transient waveform described by a vibration description file
  • Fig. 18 is a waveform sequence obtained based on the extension of the transient waveform in Fig. 17 .
  • the frequency of the waveform sequence in FIG. 18 is equal to the frequency of the transient waveform shown in FIG. 17 .
  • the vibration duration is the distinguishing feature of "soft” and “hard”
  • the frequency of the waveform sequence is the same as the frequency of the transient waveform described by the vibration description file. Therefore, by describing the transient waveform described by the file, Expanding to a waveform sequence, the difference in the number of transient waveforms in the waveform sequence can enable the waveform sequence to follow the expected touch of the transient waveform described in the vibration description file, and realize the distinction between "soft” and "hard”.
  • the method for adjusting the vibration waveform of the linear motor provided in this embodiment can improve the vibration effect of the linear motor, so that the linear motor can achieve the desired vibration feeling (by the user).
  • vibration description file may include multiple vibration events, that is, both transient vibration events and steady-state vibration events
  • S402 and S402 may be executed at least one step, or both.
  • Fig. 19 is another vibration waveform adjustment method of a linear motor disclosed in the embodiment of the present application. Compared with the above embodiment, the main difference is that the frequency mapping rule and the amplitude determination rule are further defined.
  • the waveform of the vibration description file is at least one of a steady state waveform and a transient waveform.
  • the vibration description file may include an identifier indicating a steady-state waveform or a transient waveform. Use this flag to identify the type of waveform.
  • the target frequency is acquired according to the lower limit frequency, the upper limit frequency and the preset first mapping rule.
  • the first mapping rule is an exponential rule satisfied by frequency distribution in the target frequency range, where the target frequency range is defined by a lower limit frequency and an upper limit frequency. That is to say, the frequencies distributed in the target frequency range satisfy the exponential rule: assuming that the target frequency range is [a, b], then other frequency values in [a, b] satisfy the exponential relationship with a and b.
  • the exponential rule is adopted in this embodiment, and obtained through the following experimental process: obtain frequencies mapped under various rules (including exponential rule, linear rule, etc.), measure and calculate the user's vibration sensation parameters corresponding to each frequency, And through comparison, the optimal vibration-sensing parameter is obtained, and the frequency corresponding to the optimal vibration-sensing parameter is the optimal frequency.
  • the exponential rule mapping gets the optimal frequency. It can be understood that the vibration sensing parameters can be set according to requirements, which is not limited here.
  • selecting the exponential relationship from the perspective of user vibration can enable the user to obtain better vibration, so as to obtain better user experience.
  • the second mapping rule is a sin-like function rule that the amplitude distribution in the first target amplitude range satisfies, and the first target amplitude range is limited by the lower limit amplitude of the linear motor and the upper limit amplitude of the linear motor. That is to say, the amplitudes distributed in the first target amplitude range satisfy the sin-like function rule: assuming that the first target amplitude range is [c, d], then other amplitude values in [c, d] and c and d satisfy the class sin function relationship.
  • the lower limit amplitude of the linear motor is usually the smallest amplitude that can be felt, such as 0, and the upper limit amplitude is the amplitude at a specified frequency, such as the amplitude corresponding to the resonance frequency.
  • the amplitude is chosen from this range to ensure that the vibrations are perceived.
  • the sin-like function rule is similar to the selection process of the above index rule, that is, it is selected from a variety of rules based on the vibration feeling. Therefore, the limitation of the amplitude not only ensures that the user perceives the vibration from the dimension of the amplitude, but also further Yes, using the sin-like function rule can enable the user to obtain a better vibration feeling.
  • An example of the application scenario of S902-S903 is: the user generates a steady-state waveform based on the debugging of the X linear motor according to the expected vibration feeling, and then further generates a vibration description file of the steady-state waveform.
  • the linear motor configured on the electronic device is a Z-axis linear motor, that is, the linear motor to be driven by the vibration description file is a Z-axis linear motor.
  • the Z-axis linear motor is smaller in size and has a resonant frequency
  • the vibration sense achieved under the same parameter control is weaker than that of the X-axis linear motor. Therefore, the vibration generated by the vibration description file driving the Z-axis linear motor on the electronic device cannot achieve the expected vibration sense. .
  • the user needs to reconfigure the vibration description file for the Z-axis linear motor, but in this embodiment, S902-S903 redefines the frequency and amplitude adapted to the Z-axis linear motor through frequency and amplitude mapping, so as to
  • the vibration waveform adapted to the X-axis linear motor is adjusted to obtain a vibration waveform adapted to the Z-axis linear motor, so that it is possible to realize a vibration feeling similar to that of the X-axis linear motor for the Z-axis linear motor. Therefore, the user does not need to reconfigure the vibration description file, that is, the same vibration description file can be used to achieve the expected vibration feeling on different types of linear motors.
  • the waveform sequence is composed of multiple target transient waveforms.
  • the frequency of the waveform sequence is the same as the frequency of the transient waveform described by the vibration profile.
  • the amplitude of the target transient waveform is adapted to the linear motor, for example, the amplitude of the target transient waveform is the amplitude of the resonant frequency of the linear motor.
  • the amplitude of the waveform sequence is obtained from the amplitude mapping of the transient waveform described by the vibration description file according to the third mapping rule.
  • the third mapping rule includes: a sin-like function rule that the amplitude distribution in the second target amplitude range satisfies, and the second target amplitude range is limited by the lower limit amplitude of the linear motor and the upper limit amplitude of the linear motor.
  • the vibration effect can be further improved.
  • using the sin-like function rule can enable the user to obtain a better vibration feeling, so as to obtain a better user experience.
  • the second mapping rule is the same as the third mapping rule as an example.
  • the second mapping rule and the third mapping rule may also be the same, which is not limited here.
  • An example of the S904 application scenario is: the user generates a steady-state waveform based on the debugging of the X linear motor according to the expected "soft" and “hard” touch, and then further generates a vibration description file of the steady-state waveform.
  • the linear motor configured on the electronic device is a Z-axis linear motor, that is, the linear motor to be driven by the vibration description file is a Z-axis linear motor.
  • the Z-axis linear motor is smaller in size and has a resonant frequency There are also big differences.
  • the vibration sense achieved under the same parameter control is weaker than that of the X-axis linear motor.
  • the safety limit may include an amplitude limit.
  • the amplitude limit is determined by the maximum voltage and maximum stroke of the linear motor.
  • the purpose of setting safety limits is to reduce the possibility of damage to the linear motor caused by adjusting the vibration waveform.
  • the method for adjusting the vibration waveform of the linear motor disclosed in this embodiment has the following beneficial effects:
  • the vibration feeling of the small-sized linear motor can be improved, so that the small-sized linear motor can achieve a richer vibration experience.
  • the versatility of the vibration description file is improved. Even if the vibration description file does not match the linear motor, there is no need to modify the vibration description file to adapt to the linear motor. Instead, the vibration waveform is adjusted to obtain a vibration profile that is compatible with the linear motor. Vibration waveform.
  • Fig. 20 is a vibration waveform adjustment device for a linear motor disclosed in an embodiment of the present application, including: a mapping unit and an expansion unit.
  • the device may also include a safety detection unit.
  • the mapping unit is used to map the frequency of the steady-state waveform described by the vibration description file to the target frequency, and the target frequency is obtained according to the lower limit frequency, the upper limit frequency and the preset first mapping rule, and the lower limit frequency satisfies:
  • the amplitude of the linear motor at the lower limit frequency is greater than a preset threshold, and the upper limit frequency belongs to the resonant frequency range of the linear motor.
  • the expansion unit is used to expand the transient waveform described by the vibration description file into a waveform sequence, the waveform sequence is composed of a plurality of target transient waveforms, the frequency of the waveform sequence is the same as the transient waveform described by the vibration description file The frequency of the waveforms is the same, and the frequency of the target transient waveform is adapted to that of the linear motor.
  • the safety detection unit is used to take the adjusted steady-state waveform or waveform sequence as the adjustment result of the waveform described in the vibration description file when the vibration parameters of the adjusted vibration waveform do not exceed the safety limit.
  • the first mapping rule may be: an exponential rule satisfied by a frequency distribution within a target frequency range, where the target frequency range is defined by the lower limit frequency and the upper limit frequency.
  • the mapping unit may also be configured to: after mapping the frequency of the steady-state waveform described in the vibration description file to the target frequency, convert the amplitude of the steady-state waveform described in the vibration description file to the first Two mapping rules, mapped to the target amplitude, the second mapping rule includes: a sin-like function rule that the amplitude distribution in the first target amplitude range satisfies, and the first target amplitude range is determined by the lower limit amplitude of the linear motor and the specified The upper limit of the amplitude of the linear motor is defined.
  • the amplitude of the target transient waveform in the waveform sequence is adapted to the linear motor.
  • the vibration waveform adjustment device of the linear motor shown in Figure 20 can achieve the expected vibration effect, especially when the vibration waveform described in the vibration description file is realized based on a larger linear motor, and the linear motor implementing vibration has a smaller volume In this way, the smaller linear motor achieves the same vibration effect as the larger linear motor.
  • the embodiment of the present application also provides a readable storage medium on which a computer program is stored, wherein, when the computer program is executed by a processor, the method for adjusting the vibration waveform of the linear motor described in the above embodiment is implemented to improve the linearity Motor vibration effect.
  • a linear motor control device provided in an embodiment of the present application is applied to electronic equipment, and the electronic equipment includes a linear motor, including:
  • a determining unit configured to, in response to the operation instruction, determine the vibration description file of the operation object of the operation instruction
  • the output unit is used for outputting the vibration feeling conforming to the waveform requirement of the vibration description file, the vibration feeling is provided by the linear motor in the first vibration state, and the first vibration state is adapted to the properties of the linear motor.
  • the execution unit in the control device of the linear motor includes the following:
  • FIG. 21 is a control device for a linear motor provided by an embodiment of the present application, including: an acquisition unit 801 , a first generation unit 802 , a second generation unit 803 , and a control unit 804 .
  • the obtaining unit 801 is used to obtain vibration description files.
  • the first generating unit 802 is configured to generate a vibration waveform according to the vibration parameters described in the vibration description file and the properties of the linear motor.
  • the second generating unit 803 is used for generating a driving waveform according to the properties of the linear motor and the vibration waveform.
  • the control unit 804 is used to control the linear motor using the driving waveform.
  • the acquisition unit, the first generation unit, and the second generation unit can be understood as execution units in the waveform processing module in Figure 3a, the first generation unit belongs to the vibration waveform processing module, and the second generation unit belongs to the driving waveform processing module.
  • the control unit refers to the synthesis module and driver IC in Figure 3a.
  • the acquiring unit 801 is configured to acquire a vibration description file, and is configured to: present a first interface displaying the acquired waveform; acquire an adjustment instruction for the waveform; and generate a vibration description file in response to the adjustment instruction.
  • the acquiring unit 801 generates a vibration description file in response to the adjustment instruction, which is used to: display the adjusted waveform in response to the adjustment instruction on the waveform in the interactive interface; generate the vibration description file of the adjusted waveform.
  • the obtaining unit 801 executes in response to an adjustment instruction on the waveform on the interactive interface, and generates an adjusted waveform for: responding to an operation instruction on a preset adjustment point on the waveform displayed in the interactive interface, on the waveform Displaying the adjustment point; in response to a drag command on the adjustment point in the first vibration parameter adjustment mode, displaying the adjusted waveform of the first vibration parameter, where the first vibration parameter includes amplitude and/or frequency.
  • the waveform includes a steady-state waveform;
  • the first vibration parameter also includes: a time parameter;
  • the acquisition unit 801 responds to a drag instruction to the adjustment point in the first vibration parameter adjustment mode, and displays the first vibration parameter
  • the adjusted waveform is used for displaying the waveform after adjusting the time parameter in response to an instruction of dragging the adjustment point on the time axis in the time adjustment mode.
  • the acquiring unit 801 performing displaying the adjusted waveform in response to an adjustment instruction on the waveform in the interactive interface includes: responding to a dragging instruction on the waveform displayed in the interactive interface, displaying the waveform after the time parameter is adjusted.
  • the obtaining unit 801 is further configured to: display indication information corresponding to the value of the adjusted parameter in the interactive interface.
  • the acquisition unit 801 generates a vibration description file in response to the adjustment instruction, which is used to: respond to the superposition instruction, superimpose multiple waveforms, and generate a vibration description file of the superimposed waveform; the multiple waveforms are the At least a portion of the waveform.
  • the first generation unit 802 is configured to obtain the frequency of the steady-state waveform of the vibration description file when generating the vibration waveform according to the vibration parameters described in the vibration description file and the properties of the linear motor, and According to the preset first mapping rule and the frequency of the linear motor, map to the target frequency; and/or, obtain the transient waveform of the vibration description file, expand it into a waveform sequence, and the waveform sequence consists of multiple target transient waveforms.
  • the frequency of the waveform sequence is the same as the frequency of the transient waveform of the vibration description file, and the frequency of the target transient waveform is adapted to the linear motor.
  • the target frequency is obtained according to a lower limit frequency, an upper limit frequency, and a preset first mapping rule, the lower limit frequency satisfies: the amplitude of the linear motor at the lower limit frequency is greater than a preset threshold, and the upper limit frequency fall within the resonant frequency range of the linear motor.
  • the first generating unit 802 is further configured to:
  • the amplitude of the steady-state waveform is mapped to the target amplitude with a second mapping rule
  • the second mapping rule includes: a sin-like function rule that the amplitude distribution in the first target amplitude range satisfies, and the first target amplitude A range is defined by a lower limit amplitude of the linear motor and an upper limit amplitude of the linear motor.
  • the amplitude of the waveform sequence is obtained from the amplitude mapping of the transient waveform of the vibration description file according to a third mapping rule;
  • the third mapping rule includes: the amplitude distribution within the second target amplitude range satisfies A sin-like function rule, the second target amplitude range is defined by the lower limit amplitude of the linear motor and the upper limit amplitude of the linear motor.
  • the first generating unit 802 is configured to generate a vibration waveform according to the vibration parameters described in the vibration description file and the properties of the linear motor: if the waveform type described in the vibration description file is a steady state waveform, extracting start time and stop time from the vibration description file; processing the amplitude of the steady-state waveform within the start time to satisfy: a smooth change from zero to the amplitude of a stable vibration state of the linear motor, and The amplitude of the steady-state waveform within the stop time is processed so that the amplitude of the steady-state vibration from the linear motor changes smoothly to zero.
  • the first generating unit 802 processes the amplitude of the steady-state waveform within the start-up time as: an amplitude that smoothly changes from zero to a stable vibration state of the linear motor, for:
  • a ramp algorithm is used to process the steady-state waveform during the start-up period to obtain a steady-state waveform in which the amplitude within the start-up period smoothly transitions from zero to the amplitude of the linear motor in a stable vibration state.
  • the first generation unit 802 processes the amplitude of the steady-state waveform within the stop time as: the amplitude of the steady-state vibration of the linear motor smoothly changes to zero, for:
  • a ramp algorithm is used to process the steady-state waveform within the stop time to obtain a steady-state waveform in which the amplitude within the stop time smoothly transitions from the amplitude of the linear motor in a stable vibration state to zero.
  • first generating unit 802 and the second generating unit 803 are working, they are used to:
  • the drive waveform of the linear motor is generated according to the vibration parameters described in the vibration description file and the resonant frequency of the linear motor.
  • the first generation unit 802 and the second generation unit 803 generate the drive waveform of the linear motor according to the vibration parameters described in the vibration description file and the resonant frequency of the linear motor, including:
  • the generated multiple half-period waveforms are combined to obtain the transient waveform described by the vibration description file.
  • the first generating unit 802 and the second generating unit 803 generate the driving waveform of the linear motor according to the vibration parameters described in the vibration description file and the resonant frequency of the linear motor, for:
  • the pre-stored multiple driving waveforms are stored in groups, and a group of driving waveforms corresponds to a resonance frequency of the linear motor; each group of driving waveforms includes at least one driving waveform, and each driving waveform is adapted to A frequency requirement for the vibration waveform of the linear motor;
  • the first generation unit 802 and the second generation unit 803 select a drive waveform that matches the resonant frequency of the linear motor from a plurality of pre-stored drive waveforms, and the drive waveform that matches the resonant frequency of the linear motor
  • the driving waveform conforms to the vibration parameter requirements of the transient waveform described in the vibration description file, and is used for:
  • the first generation unit 802 and the second generation unit 803 execute the vibration parameters described in the vibration description file and the resonant frequency of the linear motor to generate the driving waveform of the linear motor, which is used to: from a plurality of pre-stored vibration Among the waveforms, a vibration waveform that meets the vibration parameter requirements of the transient waveform described in the vibration description file is selected; the selected vibration waveform is processed to obtain a driving waveform that matches the resonant frequency of the linear motor.
  • the vibration of the linear motor can be designed for different business scenarios of electronic devices. For example, when the mobile phone is playing music, the linear motor vibrates with the rhythm of the music.
  • different services of electronic devices may overlap. For example, when a mobile phone receives information while playing music, that is, the music playing service overlaps with the information service.
  • the vibration of the linear motor in a certain service scenario may cause interference to other services.
  • the mobile phone still plays music, and the linear motor is still blocked. If the control vibrates with the music, the vibration will interfere with the user's viewing of information.
  • a second event such as a short message application
  • a first event such as audio playback
  • the program that realizes the first event is Abort
  • the program that implements the second event is executed, until the completion of the second event, continue to execute the program that implements the first event.
  • the first event and the second event are executed simultaneously, that is, the program for realizing the first event and the program for realizing the second event are executed in parallel.
  • an interruption means that the execution of an event is interrupted, or an event that is executed in parallel is added during the execution of an event.
  • An interrupt event refers to interrupting an event that is being executed, or adding an event that is executed in parallel with other events while other events are being executed.
  • the vibration originally designed for business scenarios in order to achieve a better user experience may actually reduce the user experience under certain circumstances. It can be seen that the vibration function of electronic equipment needs to be further improved. In order to improve the vibration function of electronic equipment and avoid To reduce the possibility of user experience, the embodiments of the present application provide a method and device for adjusting a driving waveform.
  • the motor 191 includes at least one of the linear motors shown in FIGS. 1a and 1b.
  • the internal memory 121 may be used to store computer-executable program codes including instructions.
  • the processor 110 executes various functional applications and data processing of the electronic device by executing instructions stored in the internal memory 121 .
  • the processor 110 can adjust the driving waveform by executing instructions, devices or modules stored in the internal memory 121 .
  • the internal memory 121 may include an area for storing programs and an area for storing data.
  • the stored program area can store an operating system, at least one application program required by a function (such as a sound playing function, an image playing function, etc.) and the like.
  • the storage data area can store data (such as audio data, phone book, etc.) created during the use of the electronic device.
  • the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, flash memory device, universal flash storage (universal flash storage, UFS) and the like.
  • the processor 110 executes various functional applications and data processing of the electronic device by executing instructions stored in the internal memory 121 and/or instructions stored in a memory provided in the processor.
  • the method for adjusting the driving waveform described in the embodiment of the present application can be applied to the driving waveform processing module in FIG. 3 a , further, the cooperation of the generating module of the vibration description file is also required.
  • Fig. 22a is a driving waveform adjustment method disclosed in the embodiment of the present application, which includes the following steps:
  • the information of the interruption event to be monitored may be pre-configured according to requirements, and after the information of the interruption event is monitored, it is determined that the interruption event is monitored.
  • the vibration description file is used to describe the vibration parameters of the vibration waveform, such as the frequency and amplitude of the vibration waveform.
  • the dynamic description file refers to a vibration description file that describes the vibration parameters that control the vibration of the linear motor during the interruption event.
  • the static description file corresponds to the dynamic description file, and the static description file refers to a vibration description file that describes vibration parameters that control the vibration of the linear motor when an interruption event does not occur.
  • the static description file is used to control the vibration of the linear motor
  • the dynamic description file is used to control the vibration of the linear motor, so as to reduce the vibration of the linear motor. Interruption of interrupt events.
  • the interruption event is an example of receiving a short message by a short message application
  • the interrupted event is an example of playing music
  • the corresponding relationship between the interruption event and the dynamic description file may be pre-configured, for example, the identifier of the corresponding interruption event is written in the dynamic description file.
  • the dynamic description file may be pre-configured, and this step is obtained from the storage space, or a dynamic description file corresponding to the interrupt event may be generated in response to the interrupt event.
  • the method for generating the dynamic description file will be described in the following embodiments.
  • both dynamic and static profiles describe vibration parameters such as amplitude and frequency.
  • the function of the dynamic description file is to reduce the interference of the vibration of the linear motor on the interruption event. Therefore, it can be understood that among the vibration parameters described in the dynamic description file, the value of at least one vibration parameter is smaller than the value of the vibration parameter in the static description file.
  • the amplitude of the transient waveform 01 described in the static description file is 0.9, while the amplitude of the transient waveform 02 described in the dynamic description file is 0.3, the transient waveform 01 described in the static description file and the transient waveform 02 described in the dynamic description file the same frequency.
  • the difference between the amplitude value described in the static description file and the amplitude value described in the dynamic description file is compared in sequence. It can be understood that the parameters to be compared can be pre-configured, and only the parameters that have a greater impact on vibration perception, such as the amplitude, can be compared to reduce the amount of calculation.
  • vibration parameters described in the static description file may be the same as or different from the vibration parameters described in the dynamic description file.
  • the types of vibration parameters described in the dynamic description file are a subset of the types of vibration parameters described in the static description file. That is to say, because the dynamic description file is used when an interrupt event occurs, combined with the above application scenarios, it may not be necessary to adjust all the parameters of the driving waveform, but only adjust the parameters that have a strong correlation with vibration perception. Therefore, the dynamic description file may only describe parameters that have a strong correlation with vibration perception, so the types of parameters described in the dynamic description file may be less than the types of parameters described in the static description file.
  • the static description file that controls the vibration of the linear motor to follow the music played includes parameters such as amplitude, frequency, and vibration time, while the static description file that controls the vibration of the linear motor only includes the amplitude during the execution of the SMS application process. .
  • the static description file that controls the vibration of the linear motor only includes the amplitude during the execution of the SMS application process.
  • the difference refers to the difference in value between parameters of the same kind.
  • the amplitude adjustment coefficient is generated according to the numerical difference between the amplitude described in the static description file and the amplitude described in the dynamic description file.
  • amplitude adjustment coefficient For example, use the amplitude adjustment coefficient to adjust the amplitude of the drive waveform transformed by the static profile. Further, for example, if the amplitude adjustment coefficient is 0.3, the amplitude of the driving waveform is multiplied by 0.3 to obtain the adjusted amplitude.
  • the electronic device adjusts the driving waveform, for example, multiplying the amplitude of the driving waveform by an adjustment factor of 0.3, so that the driving waveform follows the music
  • the intensity of the vibration is weakened, thereby reducing the interference to the user viewing the short message.
  • the dynamic description file is used to adjust the driving waveform, and after the interruption event ends, the adjustment of the driving waveform according to the dynamic description file is stopped, and the vibration described by the static description file is also used
  • the waveform is converted into a driving waveform, and the linear motor is driven using the driving waveform.
  • the method for adjusting the driving waveform described in this embodiment responds to the interruption event, uses the dynamic description file to adjust the driving waveform, makes the vibration of the linear motor adapt to the interruption event, and adjusts the vibration feeling according to the change of the scene, thereby providing users with more Excellent vibration experience. Moreover, the vibration function is also expanded.
  • both the static description file and the dynamic description file can be pre-configured in the storage space, which can be read and used by the driving waveform processing module shown in Figure 3a, or the driving waveform shown in Figure 3a Handle module generation.
  • Figure 23 is the flow of the method for generating a static description file, including the following steps:
  • a first interface may be presented, and the first interface displays a first basic waveform.
  • the first basic waveform is a waveform obtained according to characteristics of an object to which vibration is to be applied, or a waveform selected from a pre-configured scene vibration perception library.
  • the object to be vibrated can be audio
  • the basic waveform is generated according to the sound effect characteristics of the audio, such as envelope, frequency, amplitude, timbre, and rhythm.
  • the object to which the vibration is applied can be received from the outside, for example, an audio file imported by the user.
  • the user can click the musical note icon 51 in the upper right corner of the interactive interface to import an audio file, and the interactive interface displays the basic waveform generated according to the imported audio file.
  • the pre-configured scene vibration library includes waveforms corresponding to vibrations in various scenarios, for example, waveforms corresponding to vibrations in gun shooting scenes (in games) and vibrations in explosion scenes (in games) the corresponding waveform.
  • Wave files in the scene vibration library can be added, deleted or modified.
  • the interactive interface can be displayed, and the user can select at least one waveform corresponding to the vibration sensation in the scene from the scene vibration perception library based on the interactive interface.
  • the user can click on the upper right of the interactive interface as shown in Figure 6a
  • the file icon 52 in the corner imports the waveform in the scene vibration library, responds to the selection instruction triggered by the user's selection operation, and uses the waveform selected by the user from the scene vibration library as the basic waveform.
  • the adjustment instruction described in this step can indicate: the adjustment of the parameters of the waveform, such as adjusting the vibration parameters such as the frequency, start time, duration and amplitude of the first basic waveform, and can also indicate the superimposed waveform, such as superimposing different vibration events The first basic waveform of .
  • waveform superposition For the specific calculation method of waveform superposition, refer to the prior art, for example, amplitude addition, which will not be repeated here.
  • the purpose of the waveform superposition is to expand multiple vibration effects through superposition, to support the superposition of vibration effects in various scenes, and to enrich the user's vibration experience.
  • the basic waveform is adjusted, and in response to the instruction sent by the save control 55, a vibration description file is generated.
  • the adjusted waveform that is, the waveform described by the vibration description file, may also be displayed on the interactive interface.
  • the prompt message is used to prompt that the adjustment exceeds the adjustment limit.
  • the adjustment instruction is not responded to.
  • the adjustment limit may include but not limited to: amplitude limit, start time limit and stop time limit.
  • the amplitude limit value can be determined according to the maximum displacement of the linear motor to be controlled.
  • the start time limit and the stop time limit can be determined depending on the properties of the linear motor to be controlled.
  • the purpose of setting the adjustment limit is to protect the linear motor to be controlled from being damaged.
  • the acquisition efficiency of vibration description files can be improved, and the technical threshold for users to obtain vibration description files can be reduced. Because the basic waveform is provided first, the user can obtain the required vibration description file based on the basic waveform, thereby further improving the efficiency and lowering the technical threshold for the user to obtain the vibration description file.
  • the difference between the generation process of the dynamic description file and the process shown in Figure 6b is that the basic waveform, in order to distinguish it from the static description file, is called the second basic waveform here, and is received from an external source.
  • the external source can be an application , equipment and other waveforms to provide source equipment.
  • Other steps are the same as the process shown in Fig. 6b, and will not be repeated here.
  • the dynamic profile can also be visualized and adjusted, providing greater possibilities and flexibility for subsequent dynamic adjustment of the vibration of the linear motor.
  • the interactive interface is only an implementation method, which has higher convenience and better user experience, but the adjustment method of the basic waveform is not limited to the implementation based on the interactive interface.
  • Fig. 24 is a device for adjusting a driving waveform disclosed in an embodiment of the present application, including: an acquisition unit and an adjustment unit.
  • the device may further include a prompt unit.
  • the acquiring unit is configured to respond to an interrupt event, and acquire a vibration description file corresponding to the interrupt event; the vibration description file is used to describe a vibration parameter.
  • the adjustment unit is used for adjusting the driving waveform by using the vibration parameters.
  • the prompt unit is used for displaying prompt information when the value of the parameter of the adjusted waveform exceeds the adjustment limit, and the prompt information is used to prompt that the adjustment exceeds the adjustment limit.
  • the adjustment unit is used to use the vibration parameters
  • the specific implementation method of adjusting the driving waveform is: comparing the difference between the vibration parameters described in the static description file and the vibration parameters described in the dynamic description file; the static description The file is used to control the vibration of the linear motor when the interruption event does not occur; the dynamic description file is the vibration description file corresponding to the interruption event; according to the difference, an adjustment coefficient is generated; using the adjustment The coefficient is used to adjust the driving waveform converted from the static description file, so that the adjustment accuracy is high and the operation is easy.
  • the types of vibration parameters described in the dynamic description file are a subset of the types of vibration parameters described in the static description file, so as to reduce the cost of comparison.
  • the acquisition unit is further configured to: acquire the waveform according to the vibration characteristics of the application, or select the waveform from the pre-configured scene vibration sensing waveforms to display the first basic waveform; respond to the adjustment of the first basic waveform Instructions to generate the static description file can improve efficiency and lower the technical threshold for users to obtain vibration description files.
  • the specific implementation manner for the obtaining unit to obtain the vibration description file corresponding to the interruption event is: receiving and displaying the second basic waveform from an external source; in response to an adjustment instruction for the second basic waveform, generating The vibration description file corresponding to the interruption event.
  • the dynamic profile can also be visualized and adjusted, providing greater possibilities and flexibility for subsequent dynamic adjustment of the vibration of the linear motor.
  • the adjustment instruction instructs at least one of adjusting waveform parameters and superimposing multiple waveforms.
  • the device for adjusting the driving waveform shown in Figure 24 can not only expand the vibration function, that is, adjust the driving waveform in response to the interruption event, so that the vibration of the motor is adapted to the interruption event, but also improve the user experience.
  • the embodiment of the present application also provides a readable storage medium on which a computer program is stored, wherein, when the computer program is executed by a processor, the method for adjusting the vibration waveform of the linear motor described in the above embodiment is implemented to improve the linearity Motor vibration effect.
  • control device of the linear motor also includes:
  • the adjustment unit 805 is configured to respond to an interruption event during the control unit 804 using the drive waveform to control the linear motor, and obtain a vibration description file corresponding to the interruption event; the vibration description file is used to describe vibration parameters; use the Vibration parameters, adjust the drive waveform.
  • the adjustment unit can be understood as the execution unit in the waveform processing module in Fig. 3a.
  • the adjustment unit 805 executes using the vibration parameters to adjust the driving waveform, which is used to: compare the difference between the vibration parameters described in the static description file and the vibration parameters described in the dynamic description file; When the interruption event does not occur, control the vibration of the linear motor; the dynamic description file is the vibration description file corresponding to the interruption event; generate an adjustment coefficient according to the difference; use the adjustment coefficient to adjust the Describe the driving waveform converted from the static description file.
  • the types of vibration parameters described in the dynamic description file are a subset of the types of vibration parameters described in the static description file.
  • the acquisition process of the static description file includes: acquiring the waveform according to the vibration characteristics of the application, or selecting the waveform from the pre-configured scene vibration sensing waveforms to display the first basic waveform; responding to the adjustment of the first basic waveform command to generate the static description file.
  • the acquisition of the vibration description file corresponding to the interruption event by the adjustment unit 805 includes: receiving and displaying a second basic waveform from an external source; generating a vibration description corresponding to the interruption event in response to an adjustment instruction for the second basic waveform document.
  • the linear motor control device described in this embodiment can control the vibration of various linear motors and has high versatility.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请实施例提供了一种线性马达的控制方法、装置、设备及可读存储介质,线性马达的控制方法包括:响应于操作指令,确定所述操作指令的操作对象的振动描述文件;输出符合所述振动描述文件的波形要求的振感,所述振感由处于第一振动状态的线性马达提供,所述第一振动状态与所述线性马达属性相适配。

Description

线性马达的控制方法、装置、设备及可读存储介质
本申请要求于2021年5月20日提交中国专利局、申请号为202110553963.4、发明名称为“线性马达的控制方法、装置、设备及可读存储介质”,于2021年5月20日提交中国专利局、申请号为202110552989.7、发明名称为“瞬态驱动波形的调整方法、装置、设备及可读存储介质”,于2021年5月20日提交中国专利局、申请号为202110553942.2、发明名称为“振动波形处理方法、装置、设备及可读存储介质”,于2021年5月20日提交中国专利局、申请号为202110553954.5、发明名称为“基于小体积线性马达的振动波形调整方法、装置、设备及可读存储介质”,于2021年5月20日提交中国专利局、申请号为202110552996.7、发明名称为“驱动波形的调整方法、装置、设备及可读存储介质”,于2021年5月20日提交中国专利局、申请号为202110553961.5、发明名称为“振动描述文件的生成方法、装置、设备及可读存储介质”,于2021年06月16日提交中国国家知识产权局、申请号为202110668263.X、发明名称为“线性马达的控制方法、装置、设备及可读存储介质”中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及数据处理技术领域,尤其涉及一种线性马达的控制方法、装置、设备及可读存储介质。
背景技术
线性马达,根据行程方向的不同,可基本分为X轴线性马达和Z轴线性马达,不同种类的线性马达,需要采用不同的控制方法。并且,即便是同一种类的线性马达,因其运行参数的不同,也需要设定不同的控制方法。如此一来,现有的线性马达的控制方案就存有通用性差的问题。
发明内容
有鉴于此,本申请实施例提供一种线性马达的控制方法、装置、设备及存储介质,以实现对线性马达的通用性控制。
为实现上述目的,本申请实施例提供如下技术方案:
第一方面,本申请提供了一种线性马达的控制方法,应用于电子设备,电子设备包括线性马达,包括:响应于操作指令,确定操作指令的操作对象的振动描述文件;输出符合振动描述文件的波形要求的振感,振感由处于第一振动状态的线性马达提供,第一振动状态与线性马达属性相适配。
从第一方面的内容可以看出:第一振动状态与线性马达属性相适配,实现了对线性马达的通用性控制。
在一种可能的实现方式中,输出符合振动描述文件的波形要求的振感,包括:输出在启动时间内具有第一变化趋势,在停止时间内具有第二变化趋势的波形对应的振感,第一变化趋势为:稳态波形的振幅由零平滑变化至线性马达稳定振动状态的振幅,第二变化趋势为:稳态波形的振幅由线性马达稳定振动状态的振幅平滑变化至零。
从上述的内容可以看出:在启动时间内,线性马达的振幅是由零平滑变化至线性马达稳定振动状态的振幅,并且,在停止时间内,线性马达的振幅是由线性马达稳定振动状态的振幅平滑变化至零,可以控制线性马达在启动时间和停止时间平缓运行,克服过驱问题。
在一种可能的实现方式中,输出符合振动描述文件的波形要求的振感,振感由处于第一振动状态的线性马达提供,第一振动状态与线性马达属性相适配,包括:输出频率为目标频率的稳态波形对应的振感,目标频率由振动描述文件的稳态波形的频率,根据预设的第一映射规则以及线性马达的频率映射得到;和/或,输出波形序列对应的振感,波形序列的频率与振动描述文件的瞬态波形的频率相同,目标瞬态波形的频率与线性马达适配。
在一种可能的实现方式中,输出符合振动描述文件的波形要求的振感过程中,还包括:响应中断事件,获取中断事件对应的振动描述文件;振动描述文件用于描述振动参数;调整振感为中断事件对应的振感,中断事件对应的振感符合中断事件对应的振动描述文件的波形要求。
在一种可能的实现方式中,生成操作对象的振动描述文件的过程包括:响应于在交互界面对导入控件的操作指令,在交互界面显示操作对象的基础波形;操作对象包括多媒体文件以及场景振感波形的至少一个;响应在交互界面对基础波形的调整指令,显示调整后波形;响应在交互界面对生成控件的操作指令,生成操作对象的振动描述文件。
在一种可能的实现方式中,响应在交互界面对基础波形的调整指令,显示调整后波形包括:响应对交互界面中显示的基础波形上预设的调整点的操作指令,在基础波形上显示调整点;响应在第一振动参数调整模式下对调整点的拖拽指令,显示第一振动参数调整后的波形,第一振动参数包括振幅和/或频率。
在一种可能的实现方式中,基础波形包括稳态波形;第一振动参数还包括:时间参数;响应在第一振动参数调整模式下对调整点的拖拽指令,显示第一振动参数调整后的波形包括:响应在时间调整模式下对调整点的在时间轴上拖拽的指令,显示调整时间参数后的波形。
在一种可能的实现方式中,响应在交互界面对基础波形的调整指令,显示调整后波形包括:响应对交互界面中显示的波形的拖拽指令,显示调整时间参数后的波形。
在一种可能的实现方式中,响应在交互界面对基础波形的调整指令,显示调整后波形包括:响应在交互界面拖拽多个波形至时间范围重叠的指令,显示多个波形叠加后的波形。
第二方面,本申请提供了一种应用于电子设备的线性马达的控制装置,电子设备包括线性马达,包括:确定单元,用于响应于操作指令,确定操作指令的操作对象的振动描述文件;输出单元,用于输出符合振动描述文件的波形要求的振感,振感由处于第一振动状态的线性马达提供,第一振动状态与线性马达属性相适配。
第三方面,本申请提供了一种电子设备,包括:
一个或多个处理器;
存储器,其上存储有程序;
当程序被一个或多个处理器执行时,使得一个或多个处理器实现实现第一方面及其每一种可能的实现方式中任意一项的线性马达的控制方法,以驱动线性马达运行。
第四方面,本申请提供了一种可读存储介质,其上存储有计算机程序,其中,计算机 程序被处理器执行时实现第一方面及其每一种可能的实现方式中任意一项的线性马达的控制方法,以驱动线性马达运行。
附图说明
图1a为X轴线性马达的结构以及应用示例图;
图1b为Z轴线性马达的结构以及应用示例图;
图2为本申请实施例公开的一种电子设备的结构示意图;
图3a为本申请实施例提供的线性马达的振动波形调整方法应用的软件架构示例图;
图3b为图3a所示的软件架构的实现功能的流程示例图;
图4a到图4d为本申请实施例提供的四个应用场景展示图;
图5为本申请实施例提供的线性马达的控制方法的流程图;
图6a为本申请实施例提供的用于生成振动描述文件的交互界面的示例图;
图6b为本申请实施例提供的振动描述文件的生成方法的流程图;
图6c为本申请实施例提供的振动描述文件的生成装置的结构示意图;
图7a提供了一种以谐振频率驱动线性马达运行的振动波形的包络线;
图7b提供了一种以非谐振频率驱动线性马达运行的振动波形的包络线;
图8a为本申请实施例提供的振动波形的处理方法的流程图;
图8b为本申请实施例提供的线性马达的振动波形调整展示图;
图9为本申请实施例提供的振动波形处理装置的结构示意图;
图10到图12为本申请实施例提供的驱动波形的调整方法的流程图;
图13为本申请另一实施例提供的驱动波形的调整装置的结构图;
图14为本申请实施例提供的线性马达的振动波形调整方法的流程图;
图15为振动描述文件的稳态波形的示例图;
图16为图15所示的稳态波形进行频率映射后的波形示例图;
图17为振动描述文件的瞬态波形示例图;
图18为图17所示的瞬态波形扩展得到的波形序列的示例图;
图19为本申请实施例提供的线性马达的振动波形调整方法的流程图;
图20为本申请实施例提供的线性马达的振动波形调整装置的结构示意图;
图21为本申请实施例提供的线性马达的控制装置的结构示意图;
图22a为本申请实施例提供的驱动波形调整方法的流程图;
图22b为本申请实施例提供的驱动波形调整方法中调整驱动波形的具体流程图;
图23为本申请实施例提供的驱动波形调整方法中静态描述文件的生成流程图;
图24为本申请实施例提供的驱动波形调整装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含, 从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
线性马达设置在电子设备中,用于通过振动使得电子设备输出振感。在电子设备的不同场景下,线性马达被控制发生振动产生不同的振动效果,使得用户感知到振感,以提示用户或对用户操作进行反馈,具体如下:
1、对应于不同的业务场景(例如:时间提醒,接收信息,来电,闹钟,游戏等),可以对应不同的振动效果。
2、作为对触摸的反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动效果。作用于显示屏不同区域的触摸操作,也可对应不同的振动效果。
电子设备中常用的线性马达包括X轴线性马达(又称方形或横向线性马达)以及Z轴线性马达(又称圆形或纵向线性马达)。图1a为X轴线性马达的结构以及应用示例,图1b为Z轴线性马达的结构以及应用示例。
如图1a所示,X轴线性马达的外观呈长条或方块形,假设X轴为水平轴,Y轴为竖直轴,Z轴为垂直于X轴和Y轴的垂直轴,则依据摆放方向,X轴线性马达的动子可以在X轴或Y轴方向运动,可以做到更长的行程。X轴线性马达在电子设备中沿X轴方向安装,则能够提供X轴方向的振感,若沿Y轴方向安装,则能提供Y轴方向的振感。
如图1b所示,Z轴线性马达的外观呈圆柱形,动子可以在Z轴方向运动。Z轴线性马达设置在电子设备中,能够带来沿电子设备的厚度方向的振感。
本申请实施例公开的线性马达的控制方法,应用在设置线性马达的电子设备,设置线性马达的电子设备可以是手机、平板电脑、桌面型、膝上型、笔记本电脑、超级移动个人计算机(Ultra-mobile Personal Computer,UMPC)、手持计算机、上网本、个人数字助理(Personal Digital Assistant,PDA)、可穿戴电子设备、智能手表等设备。
图2所示的电子设备包括:处理器110、外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本实施例示意的结构并不构成对电子设备的具体限定。在另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU), 图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。I2S接口和PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(display serial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备的 拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备充电,也可以用于电子设备与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备的结构限定。在本申请另一些实施例中,电子设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器 将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oled,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,电子设备可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备的显示屏194上可以显示一系列图形用户界面(graphical user interface,GUI),这些GUI都是该电子设备的主屏幕。一般来说,电子设备的显示屏194的尺寸是固定的,只能在该电子设备的显示屏194中显示有限的控件。控件是一种GUI元素,它是一种软件组件,包含在应用程序中,控制着该应用程序处理的所有数据以及关于这些数据的交互操作,用户可以通过直接操作(direct manipulation)来与控件交互,从而对应用程序的有关信息进行读取或者编辑。一般而言,控件可以包括图标、按钮、菜单、选项卡、文本框、 对话框、状态栏、导航栏、Widget等可视的界面元素。例如,在本申请实施例中,显示屏194可以显示虚拟按键。
电子设备可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备可以支持一种或多种视频编解码器。这样,电子设备可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
本申请实施例中,内部存储器121存储的是用于执行线性马达的控制方法的指令。处理器110可以通过执行存储在内部存储器121中的指令,实现对线性马达的通用性控制。
电子设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入 转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备可以设置至少一个麦克风170C。在另一些实施例中,电子设备可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备根据压力传感器180A检测触摸操作强度。电子设备也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备是翻盖机时,电子设备可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备在各个方向上(一般为三轴)加速度的大小。当电子 设备静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备通过发光二极管向外发射红外光。电子设备使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备附近有物体。当检测到不充分的反射光时,电子设备可以确定电子设备附近没有物体。电子设备可以利用接近光传感器180G检测用户手持电子设备贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备对电池142加热,以避免低温导致电子设备异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备可以接收按键输入,产生与电子设备的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于柔性屏幕194不同区域的触摸操作,马达191也可对应不同的振动反馈效 果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
本申请实施例中,马达191可以采用多种线性马达,处理器110执行线性马达的驱动程序以驱动线性马达运行。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备的接触和分离。电子设备可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备中,不能和电子设备分离。
进一步的,图3a为本申请实施例公开的技术方案应用的软件架构的示例,结合图3b内容可知:
振动描述文件的生成模块(可与第三方应用进行交互),用于生成振动描述文件;解析模块对振动描述文件进行解析,得到用于描述振动波形的json格式的文件,波形处理模块针对json格式的文件,进行波形处理操作,具体的:振动波形处理模块先采用合成马达位移算法运算,依据json格式的文件和马达的属性,生成位移码流形式的振动波形,驱动波形处理模块再对振动波形以及马达的属性,利用反解马达电压驱动算法进行反解运算,得到驱动波形。
波形处理模块进行波形处理操作后得到的驱动波形经合成模块合成处理,得到脉冲编码调制(Pulse Code Modulation,PCM)等格式的音频码流,以实时传输协议(Real-time Transport Protocol,RTP)等协议传输至集成电路(Integrated Circuit,IC),并最终作用于线性马达,控制线性马达运行。
结合以上电子设备的结构,图3a所示的软件架构,可以存储在内部存储器121中,由处理器110调用实现图3b所述的流程。
下面结合几种应用场景来说明线性马达的工作场景,当然下述提出的应用场景仅是示例性的,线性马达的工作场景不局限下述几种。
在一种应用场景,用户输入操作指令,解锁电子设备。如图4a所示,用户在电子设备的显示屏上的指纹识别区域输入触控操作,用户的指纹被验证,在验证通过时电子设备被解锁。在本应用场景中,用户手指触控显示屏的同时,线性马达被驱动,向用户提供触觉反馈,用户可以通过执行触控操作的手指感受线性马达输出的振感。
在另一种应用场景,用户输入操作指令,启动某应用程序。如图4b所示,电子设备的显示屏上呈现多个应用程序(Application,APP),用户手指触控某个APP,APP被启动而输出应用界面,同样,在用户手指触控某个APP的同时,线性马达也可以被驱动,向用户提供触觉反馈。
在另一种应用场景,电子设备输出应用程序的推送消息。如图4c所示,应用程序例如图中展示的今日头条在运行过程中,会与后台保持连接。在接收到后台推送的消息之后,会生成操作指令将推送的消息通过显示屏呈现给用户。在显示屏显示推送消息的同时,线性马达也可以被驱动,向用户提供触觉反馈。
在另一种应用场景,如图4d所示,图中展示了一个游戏场景,用户触控游戏场景中对象,例如图中的枪,为了模拟真实的场景,用户输入操作指令控制枪开火的同时线性马达也被驱动,向用户提供触觉反馈。
由上述的几种应用场景可以看出:用户输入操作指令或者电子设备自身生成的操作指令之后,线性马达也会被驱动运行,处于振动状态给用户提供振感。
线性马达包括多种类型,不同类型的线性马达属性有差异,即便同一种线性马达,因生产工艺的差异,也会导致线性马达的属性不同。基于此,需要采用一种通用性的线性马达的控制方法,能够驱动属性不同的线性马达运行。
本申请实施例提供了一种线性马达的控制方法,应用于电子设备,如图5所示,包括:
S501、响应于操作指令,确定操作指令的操作对象的振动描述文件。
操作指令包括在多种应用场景中,针对某个对象需要输入的操作指令,例如图4a中用户输入的解锁指令,图4b中用户输入的APP启动指令。当然也可以是电子设备自身生成的控制指令,例如图4c中APP与后台连接时,电子设备生成的推送消息显示指令,还例如音视频的播放指令等。
操作指令会作用于操作对象,电子设备响应操作指令,操作对象会被触发。
振动描述文件是控制线性马达发生振动的关键要素之一:振动描述文件用于描述线性马达的振动波形,振动波形指示马达振动过程中的各项振动参数,例如振幅和频率等。可见,振动描述文件的作用是指示马达如何进行振动。操作对象的触发需要线性马达跟随输出振动,因此,操作对象会配置有振动描述文件。
S502、输出符合振动描述文件的波形要求的振感,振感由处于第一振动状态的线性马达提供,第一振动状态与线性马达属性相适配。
按照操作对象的振动描述文件驱动线性马达,是要求线性马达振动,由电子设备提供符合振动描述文件的波形要求的振感。但是由于线性马达的属性差异性,线性马达振动对应的振动状态要与线性马达属性相适配。
如此,在多应用场景控制线性马达运行时,通过调整线性马达的振动状态,让线性马达能够按照与自身属性视频的振动状态来提供振感,实现了属性不同的线性马达的通用性控制。
如前所述,振动描述文件是控制线性马达发生振动的关键要素之一:振动描述文件用于描述线性马达的振动波形,振动波形指示马达振动过程中的各项振动参数,例如振幅和频率等。可见,振动描述文件的作用是指示马达如何进行振动,因此用户可以通过振动描述文件配置预期的振动效果。
目前,振动描述文件由技术人员通过手写代码生成,不仅技术门槛高以及效率低,更重要的是还具有以下问题:
随着终端的发展,存在扩展终端的功能以及提高用户对终端的使用体验的需求。如前所述场景,振动功能具有较大的扩展空间,且振动功能的扩展有利于提高用户的体验。
因为终端的业务场景的复杂性和多样性,由技术人员预先针对各个业务场景编写振动描述文件的难度较大。并且,因为编写振动描述文件的技术门槛高,所以终端的用户很难通过这种方式自定义业务场景所需的振动描述文件。
可见,目前的振动描述文件的获取方式,已成为制约扩展振动功能以及提高用户体验的因素。
因此,本申请实施例提供了一种振动文件的生成方法以及装置,用以降低获取振动描述文件的技术门槛,提高获取振动描述文件的效率,并且,缓解振动描述文件的获取与扩展振动功能以及提高用户体验之间的矛盾。
本申请实施例中,使用如图6a示例的用户交互界面为不同操作配置振动描述文件:
图6a中所示的交互界面中,显示有导入控件,包括音符图标51以及文件图标52。图6a中,左侧的Y(竖直)轴表示振幅(Amplitude,又称强度Intensity,简写为Amp)。右侧的Y(竖直)轴表示频率(frequency,又称锐度Sharpness,简写为Freq)。X(水平)轴表示时长(简写为Time,单位为毫秒)。其中,左侧的Y轴的范围为0-1,以刻度表示中间值。右侧的Y轴以灰度或颜色的深浅表示频率的大小,越深则表示频率越低,越浅则表示频率越高。
音符图标51用于导入音频文件(多媒体文件的一种示例),用户可点击交互界面右上角的音符图标51,导入音频文件,交互界面显示依据导入的音频文件生成的基础波形。
本实施例中,可以基于音频的包络、频率、振幅、音色和节奏等参数,生成基础波形。
文件图标52用于导入场景振感库中的波形,即响应用户的选择操作触发的选择指令,将用户从场景振感库中选择的波形作为基础波形导入并显示。
预先配置的场景振感波形中包括多种场景下的振感对应的波形,例如,游戏中打枪场景下的振感对应的波形、以及游戏中爆炸场景下的振感对应的波形…….。
场景振感波形可以从应用的后台服务器下载获得,这类波形为该应用的场景下的振感对应的波形,还可以通过存储在电子设备本地生成的波形获得等,这里不做限定。
进一步的,场景振感波形可以被预先存储在场景振感库中,场景振感库可以为数据库或者文件夹等具体形式。场景振感库中的波形文件,可以被增加、删除或修改。
文件图标52还用于导入从外源接收的波形,外源可以为应用、设备等提供波形的源头。即从外源接收的波形存储在终端中,响应用户的选择操作触发的选择指令,将用户选择的从外源接收的波形作为基础波形导入并显示。
用户可以在交互界面对显示的基础波形进行调整,交互界面中显示调整后波形。
具体的,1、响应对交互界面中显示的基础波形上预设的调整点的操作指令,在波形上显示调整点。响应在第一振动参数调整模式下对调整点的拖拽指令,显示第一振动参数调整后的波形,第一振动参数包括振幅和/或频率。
例如,对于显示的稳态波形01或瞬态波形02,用户在波形上长按,弹出对话框或选项框,从对话框或选项框中选择增加调整点(以下简称为点,以圆圈表示)。响应增加点的指令,在波形上显示增加后的点。可以理解的是,因为瞬态波形02不涉及包络的调整,所 以,瞬态波形02上的点仅为上边缘的顶点。或者,对于瞬态波形02,将上边缘的顶点默认为调整点,而不可增加新的调整点,也不可改变现有的调整点。
用户对稳态波形01调整振幅的过程为:点击左侧Y轴,触发进入振幅调整模式,通过拖拽任意一个点,实现对于稳态波形01的振幅的调整。也就是说,响应用户点击左侧Y轴的操作,进入振幅调整模式,响应对点的拖拽指令(即拖拽操作触发的指令),显示振幅调整后的波形。
用户对稳态波形01调整频率的过程为:点击右侧Y轴,触发进入频率调整模式,通过拖拽任意一个点,实现对于稳态波形01的频率的选择。也就是说,响应用户点击右侧Y轴的操作,进入频率调整模式,响应对点的拖拽指令(即拖拽操作触发的指令),显示频率调整后的波形。
需要说明的是,在调整振幅的过程中,稳态波形01上的最右侧点,因为当前处于振幅调整模式,不能改变现有的频率,所以只能上下移动。即在振幅调整模型下,不响应对稳态波形01上的最右侧点的左右拖拽指令。
对于稳态波形01,还可以通过点调整时间参数:选中稳态波形01在X轴上的点触发进入时间调整模式,在时间调整模式下,在X轴上显示至少两个调整点58,通过沿X轴左右拖动左边的调整点实现对于稳态波形01的开始时间(波形开始的时刻)的调整,通过沿X轴左右拖动右边的调整点实现对于稳态波形01的持续时间的调整。
也就是说,响应用户点击X轴上的点的操作,进入时间调整模式,响应在时间调整模式下对调整点的在时间轴上拖拽的指令,显示时间调整后的波形。
用户对瞬态波形02调整振幅的过程为:点击左侧Y轴,触发进入振幅调整模式,通过上下拖拽上边缘的顶点,实现对于瞬态波形02的振幅的调整。也就是说,响应用户点击左侧Y轴的操作,进入振幅调整模式,响应对点的上下拖拽指令(即上下拖拽操作触发的指令),显示振幅调整后的波形。
用户对瞬态波形02调整频率的过程为:点击右侧Y轴,触发进入频率调整模式,通过左右拖拽上边缘的顶点,实现对于瞬态波形02的频率的调整。也就是说,响应用户点击右侧Y轴的操作,进入频率调整模式,响应对点的左右拖拽指令(即左右拖拽操作触发的指令),显示频率调整后的波形。
2、响应对交互界面中显示的波形的拖拽指令,显示时间调整后的波形。
用户沿X轴对稳态波形01整体拖拽,以调整开始时间,也就是说,响应对稳态波形01沿X轴的拖拽指令,显示调整开始时间后的波形。
用户沿X轴对瞬态波形02整体拖拽,以调整开始时间,也就是说,响应对瞬态波形02沿X轴的拖拽指令,显示调整开始时间后的波形。
为了增强调整的可视性,在交互界面中显示被调整的参数的数值对应的指示信息。
具体的,在显示的波形中,填充表示当前选中频率的灰度或颜色,并跟随点的移动而选中的频率实时调整,以直观呈现当前选定的频率。
进一步的,在没有处于频率调整状态的波形(稳态或瞬态)中,也可以填充表示该波形当前频率的灰度或颜色,以直观呈现没有处于调整状态的波形的当前频率。进一步的,在频率调整模式下,频率轴附近显示箭头,指向当前选择的频率,以直观呈现的波形的当 前频率。
可以理解的是,瞬态波形02因为只有一种频率,所以只填充一种颜色。
除了对于单个波形的调整外,本实施例中,还支持多个波形的叠加:用户选中多个波形,并拖拽至时间范围重叠的状态,则触发时间范围重叠的多个波形的叠加。即响应将多个波形拖拽至时间范围重叠状态的叠加指令,显示多个波形叠加后的波形,例如,将第一波形拖拽至第二波形的时间范围内,则叠加第一波形与第二波形。多个波形为上述基础波形的至少一部分波形。
波形叠加的具体的计算方式的一种示例为振幅值相加,这里不再赘述。波形叠加的目的在于,通过叠加呈现扩展多种振动效果,能够支持多种场景的振动效果的叠加,使得用户的振动感受更为丰富。可以理解的是,波形叠加的实现并不限定于上述交互界面。
除了上述调整操作之外,图6a所示的交互界面还可以实现以下功能:
在波形上长按弹出的对话框或选项框中,还包括删除调整点的选项,用户可以选择该选项删除调整点。类似的,在波形上长按弹出的对话框或选项框中,还包括删除该Slice/Event的选项,用户可以选择该选项删除该波形。
在调整过程中,用户可以通过点击返回控件53撤销调整操作,并点击播放控件54播放调整后的波形触发的振动,以感受调整后的波形的振动效果,辅助调整。还可以点击保存控件55保存调整后的波形。可选的,交互界面图6a上还可以设置有帮助控件56以及退出控件57。
马达191包括图1a所示的X轴线性马达以及图1b所示的Z轴线性马达的至少一个。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以及数据处理。例如,在本实施例中,处理器110可以通过执行存储在内部存储器121中的指令、装置或者模块,生成振动描述文件。又例如,处理器110响应于触控屏中交互界面接收的用户操作触发的信号,选择以及调整波形,并基于调整后的波形生成振动描述文件。
内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备的各种功能应用以及数据处理。
下面将对本申请实施例所述的振动描述文件的生成方法进行详细的说明。图6b为本申请实施例公开的一种振动描述文件的生成方法,包括以下步骤:
S401、呈现第一界面,第一界面展示获取的波形。
具体的,获取波形包括以下几种方式:
1、依据应用的振动特点生成波形。
应用的振动特点是指,应用中能够使用振动的对象的特点。
例如,应用可以为多媒体播放器,可以使用振动的对象可以为多媒体,则依据多媒体 的特点,例如:包络、频率、振幅、音色和节奏等,生成波形。
可以理解的是,可以预先配置各类应用中可以使用振动的对象的类型,并且这类对象可以从外部接收,例如接收用户导入的音频文件。
2、从预先配置的场景振感波形中选择。
预先配置的场景振感波形中包括多种场景下的振感对应的波形,例如,游戏中打枪场景下的振感对应的波形、以及游戏中爆炸场景下的振感对应的波形。
场景振感波形可以从应用的后台服务器下载获得,这类波形为该应用的场景下的振感对应的波形,还可以通过存储在电子设备本地生成的波形获得等,这里不做限定。
进一步的,场景振感波形可以被预先存储在场景振感库中,场景振感库可以为数据库或者文件夹等具体形式。场景振感库中的波形文件,可以被增加、删除或修改。
3、从外源接收。外源可以为应用、设备等提供波形的源头。
4、调用预先配置的作为模板的波形。即预先配置至少一种波形作为模板,通过调用该模板,获取波形。可以理解的是,作为模板的波形可以看作默认波形。
本实施例中,提供了以上多种波形的获取方式,无论是哪种方式,均能够提供已有或已经配置的波形,所以,对于用户而言,无论要自定义哪种业务场景下的振动描述文件,都不需要从无到有设计波形,而是可以在获取的波形的基础上进行调整,所以,能够极大方便用户,技术门槛被大大降低。
S402、获取对波形的调整指令。
S403、响应对波形的调整指令,生成振动描述文件。
具体的,电子设备显示交互界面,响应在交互界面对波形的调整指令,显示调整后波形,并生成调整后波形的振动描述文件。第一界面可以为显示界面,交互界面为触屏界面,可以理解的是,第一界面在触摸显示屏上的显示屏显示,交互界面也在该触摸显示屏上的显示屏显示,并通过该触摸显示屏上的触摸层接收调整指令。
本步骤的详细实现方式将在图5所示的实施例中说明。
S404、响应调整后波形的振动参数不超过预先设置的调整限值,生成振动描述文件。
S404为可选步骤,设置调整限值的目的在于,保护待控制的线性马达不被损坏。即在用户调整基础波形的某个振动参数的数值超过调整限值的情况下,不响应调整指令。
进一步的,还可以展示提示信息,提示信息用于提示调整超过调整限值。
具体的,调整限值可以包括但不限于:振幅限值、启动时间限值以及停止时间限值。
振幅限值可以依据待控制的线性马达的最大位移确定。启动时间限值以及停止时间限值可以依据待控制的线性马达的属性确定。
可以看出,本实施例所述的流程,先获取并展示波形,对展示的波形进一步调整,再生成调整后的波形的振动描述文件。即S401获取并展示的波形可以看作基础波形,可以对基础波形进行调整获得所需的振动波形,再进一步获得所需的振动描述文件,与现有技术相比,无需手写代码形成振动描述文件,能够降低获取振动描述文件的技术门槛,并且提高获取效率。
从用户的角度而言,用户具有更大的自由配置振动波形的空间,使得能够为更多业务场景设计振动模式,从而能够实现振动功能的扩展以及用户体验的提升。
申请人在研究的过程中发现,在实际产品的使用过程中,原本为了提高用户体验而为某个或某些业务场景设计的振动,可能对其它业务场景造成干扰。
例如,在音频播放过程中,接收到短信息,则跟随音频播放的振动,可能对短信息业务产生影响,例如振动干扰了提示信息,使得用户没有感知到提示信息,导致没有及时查看短信息,又例如,用户打开短信息界面查看短信息,但线性马达的振动对查看短信息造成干扰,而降低用户体验。
为了解决上述问题,将以上实施例中所述的振动描述文件,划分为静态描述文件以及动态描述文件。
动态描述文件的作用为:在线性马达振动的过程中,如果发生中断事件,则按照动态描述文件中的振动参数控制线性马达振动。
中断是指:在实现第一事件(如音频播放)的程序执行的过程中,第二事件(如短信息应用)被触发(如接收到短信息),则实现第一事件的程序被中止,并且实现第二事件的程序被执行,直到第二事件完成后,继续执行实现第一事件的程序。或者,第一事件与第二事件同时执行,即实现第一事件的程序与实现第二事件的程序被并行执行。简单而言就是某个事件的执行被打断,或者某个事件的执行过程中新增并行执行的事件。
中断事件是指打断正在执行的事件,或者,在其它事件正在执行时新加入与其它事件并行执行的事件。
可见,可以为中断事件配置动态描述文件,使得中断事件发生时,能够减弱振感,降低对于中断事件的干扰。
基于上述基础波形的几种获取方式,本实施例中,从外源接收到的波形,作为生成动态描述文件的基础波形。可以理解的是,可以使用图6a所示的交互界面导入并显示外源接收到的波形,通过调整后获得动态描述文件。外源可以为中断事件的执行主体,例如前述短信息应用,也就是说,在电子设备上安装某个应用后,该应用可以被预先配置用于生成动态描述文件的基础波形,以供用户生成动态描述文件,从而降低该应用在使用中被振动干扰的程度提供可能性。
当然,从外源接收到的波形,也可以用作其它用途,而不限于生成动态描述文件。
相应的,依据待应用振动的对象的特点获取的或者从预先配置的场景振感库中选择的基础波形,生成的振动描述文件,可以被用于在中断事件没有发生的情况下,控制线性马达振动。在此场景下,为了区别两种振动描述文件,可以将后者称为静态描述文件。
动态描述文件和静态描述文件具体的应用过程,不属于本案的范畴,因此不做详细说明。可以理解的是,静态描述文件描述的振动参数可以与动态描述文件描述的振动参数相同,也可以不同。进一步的,动态描述文件描述的振动参数的种类为静态描述文件描述的振动参数的种类的子集。也就是说,因为动态描述文件在中断事件发生的情况下使用,结合上述应用场景,所以有可能无需对驱动波形的全部参数进行调整,而仅调整与振感相关性较强的参数即可,因此,动态描述文件可以仅描述与振感相关性较强的参数,所以,动态描述文件描述的参数的种类可能少于静态描述文件描述的参数的种类。例如,静态描述文件仅描述振幅。这种方式能够简化动态描述文件的内容,从而降低动态描述文件的生成 代价。
动态描述文件也可以可视化并且被调整,为后续动态调整线性马达的振动,提供了更大的可能性和灵活性。
图6c为本申请实施例公开的一种振动描述文件的生成装置,应用于电子设备,电子设备包括线性马达,装置包括:展示单元、接收单元以及生成单元。可选的,还可以包括获取单元。
获取单元用于根据应用的振动特点,生成波形;或者,将从预先配置的场景振感波形中选择的波形,作为波形;或者,从外源接收波形;或者,调用预先配置的作为模板的波形。
展示单元用于呈现第一界面,第一界面展示获取单元获取的波形。接收单元用于获取对波形的调整指令,生成单元用于响应调整指令,生成振动描述文件。
可选的,生成单元用于响应所调整指令,生成振动描述文件的具体实现方式为:响应对从外源接收的波形的调整指令,生成动态描述文件,动态描述文件用于如果发生中断事件,按照动态描述文件中的振动参数控制线性马达振动。
可选的,生成单元用于响应调整指令,生成振动描述文件还包括以下步骤:响应依据应用的振动特点生成的波形;或者,将从预先配置的场景振感波形中选择的波形的调整指令,生成静态描述文件,静态描述文件用于在没有发生中断事件的情况下,按照静态描述文件中的振动参数控制线性马达振动。
可选的,动态描述文件指示的振动参数的种类为静态描述文件指示的振动参数的种类的子集。
可选的,生成单元用于响应调整指令,生成振动描述文件的具体实现方式为:响应在交互界面对波形的调整指令,显示调整后波形;生成调整后波形的振动描述文件。
可选的,生成单元用于响应在交互界面对波形的调整指令,显示调整后波形的具体实现方式为:响应对交互界面中显示的波形上预设的调整点的操作指令,在波形上显示调整点;响应在第一振动参数调整模式下对调整点的拖拽指令,显示第一振动参数调整后的波形,第一振动参数包括振幅和/或频率。
可选的,波形包括稳态波形,第一振动参数还包括:时间参数;生成单元用于响应在第一振动参数调整模式下对调整点的拖拽指令,显示第一振动参数调整后的波形的具体实现方式为:响应在时间调整模式下对调整点的在时间轴上的拖拽指令,显示调整时间参数后的波形。
可选的,生成单元用于响应在交互界面对波形的调整指令,显示调整后波形的具体实现方式为:响应对交互界面中显示的波形的拖拽指令,显示调整时间参数后的波形。
可选的,展示单元还用于:在交互界面中显示被调整的参数的数值对应的指示信息。
可选的,生成单元还用于:响应叠加指令,叠加多个波形,并生成叠加后的波形的振动描述文件;多个波形为波形的至少一部分波形。
可选的,生成单元用于响应于叠加指令,叠加多个波形的具体实现方式为:响应将多个波形拖拽至时间范围重叠状态的指令,叠加多个波形。
可选的,生成单元用于生成振动描述文件的具体实现方式为:响应调整后波形的振动 参数不超过预先设置的调整限值,生成振动描述文件。
本实施例的振动描述文件的生成装置,无需手写代码形成振动描述文件,能够降低获取振动描述文件的技术门槛,并且提高获取效率。因为降低了技术门槛,所以用户具有更大的自定义振动波形的空间,使得能够为更多业务场景设计振动模式,从而能够实现振动功能的扩展以及用户体验的提升。
本申请实施例还公开了一种可读存储介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现上述实施例的振动描述文件的生成方法。
参见前述,振动描述文件是控制线性马达发生振动的关键要素之一:振动描述文件用于描述线性马达的振动波形,振动波形指示马达振动过程中的各项振动参数,例如振幅和频率等。
以图4d展示的应用场景为示例进行说明。本示例展示的游戏场景中每一个被操作的对象,都配置振动描述文件。按照振动描述文件描述的振动波形,控制线性马达在以谐振频率运行时,可参见图7a,线性马达的启动时间(0到t1)和停止时间(t2到t3)内的振幅平滑过渡,如此,线性马达带来的振感平顺,振动噪音较低,用户能感受到顺畅平稳的振动,听到的线性马达的振动声音也是平稳不尖锐的。
线性马达的谐振频率是线性马达运行的关键参数,谐振频率也称共振频率,是指一物理系统(指线性马达)在特定频率下,比其他频率以更大的振幅做振动的情形,此特定频率被称之为共振频率。在共振频率下,很小的驱动力便可使线性马达产生很大的振动,因此,一般驱动线性马达以谐振频率运行。
但是,为了满足用户的多振感体验需求,或者不同应用的不同振感需求,需要采用一定频率范围下任意一个频率点来驱动线性马达运行,如此就意味着线性马达没有以谐振频率来运行,带来的问题就是:结合图7b,在启动时间(0到t1)和停止时间(t2到t3)内,线性马达的振幅紊乱,这种振幅紊乱就称为马达出现过驱问题,线性马达带来的振感不平稳,不顺畅,振动噪声也较高。
在本示例中,受游戏场景操作对象数量多的影响,对象配置的振动描述文件中的频率可能是多样化的,如不同类型枪的振感要求不同,如此就带来需要采用一定频率范围下任意一个频率点来驱动线性马达运行。若一个对象配置的振动描述文件的频率不是线性马达的谐振频率,那线性马达运行提供的振动,是不平稳,不顺畅的,用户感受不好而且振动声音也可能会刺耳。
因此,有必要对振动描述文件描述的振动波形进行调整,使振动波形由实施振动的线性马达输出时,在启动时间和停止时间内,线性马达的振幅平滑,振感平稳顺畅,噪声较低。可以理解的是,电子设备要输出在启动时间内具有第一变化趋势,在停止时间内具有第二变化趋势的波形对应的振感,第一变化趋势为:稳态波形的振幅由零平滑变化至线性马达稳定振动状态的振幅,第二变化趋势为:稳态波形的振幅由线性马达稳定振动状态的振幅平滑变化至零。
电子设备输出上述变化趋势的波形对应的振感,所对应的处理器处理流程见下述实施例。
本申请实施例公开的线性马达的振动波形的处理方法,基于实施振动的线性马达的特点,对振动描述文件描述的振动波形进行调整,使实施振动的线性马达在启动时间和停止时间能够输出平滑的振幅,解决过驱问题。
结合图8a,本申请提供了一种振动波形的处理方法,应用于电子设备,电子设备包括线性马达,振动波形的处理方法包括:
S501、获取振动描述文件。
振动描述文件中包括多种振动参数,通过解析振动描述文件,可得到振动描述文件包括的每一种振动参数,且利用振动参数可生成线性马达的振动波形。线性马达的振动波形可以理解为一种位移码流,体现出线性马达在不同时间点下的位移。
如前所述,X轴线性马达的动子可以在X轴或Y轴方向运动,Z轴线性马达的动子可以在Z轴方向运动。因此,无论是哪一种线性马达,线性马达受波形驱动的运行,都是指线性马达的动子在对应轴(X轴、Y轴或Z轴)上的运行,动子在对应轴上运动的表现形式就是动子在不同时刻沿对应轴发生位移变化,通过动子沿在不同时刻的位移变化,带来被用户感受到的振感。
振动描述文件中的振动参数可以包括但不限于:强度、锐度(也称为频率)、波形类型、启动时间以及停止时间。
S502、识别振动描述文件描述的波形类型。
振动描述文件中的振动参数包括波形类型,通过分析波形类型,可以确定出振动描述文件描述的是稳态波形还是瞬态波形。
可以理解的是:稳态波形为驱动线性马达经历上升阶段、稳定振动阶段和停止阶段的振动波形。上升阶段、稳定振动阶段和停止阶段为线性马达从开始振动到结束振动经历的三个阶段。在上升阶段,线性马达的振动形式表现为自由衰减振动伴随强迫振动,在稳定振动阶段线性马达的振动形式表现为等幅的稳态强迫振动,在停止阶段线性马达的振动形式表现为自由衰减振动。
瞬态波形为驱动线性马达仅经历上升阶段的振动波形。
S503、若振动描述文件描述的波形类型为稳态波形,从振动描述文件中提取启动时间以及停止时间。
如前所述,在线性马达以非谐振频率运行时,启动时间和停止时间内的振幅紊乱,存在过驱问题。因此,需要获取振动描述文件中振动参数说明的启动时间和停止时间。
启动时间和停止时间均是时间段,启动时间为线性马达从开始运行时间点到稳定振动状态时间点之间的时间,停止时间为线性马达从稳定振动状态时间点到停止运行时间点之间的时间。
S504、将启动时间内的稳态波形的振幅处理为:由零平滑变化至线性马达稳定振动状态的振幅,并将停止时间内的稳态波形的振幅处理为:由线性马达稳定振动状态的振幅平滑变化至零。
将线性马达的启动时间内的稳态波形振幅,处理成由零平滑变化至线性马达稳定振动状态的振幅;并且,将线性马达的停止时间内的稳态波形振幅,处理成由线性马达稳定振动状态的振幅平滑变化至零,保证线性马达以处理后的稳态波形运行时,在启动时间和停 止时间输出的振幅是平滑过渡的,振幅不会紊乱,线性马达带来的振感平稳顺畅,振动噪声低。
上述内容中提出的平滑变化可以理解成在启动时间内,线性马达的振幅由零平缓的过渡为稳定振动状态的振幅;在停止时间内,线性马达的振幅由稳定振动状态的振幅平缓的过渡为零。参见图8b,启动时间(0到t1)的原始振动波形41,经过平滑处理后得到振动波形42。同理,停止时间(t2到t3)的原始振动波形43,经过平滑处理后得到振动波形44。
如前所述,振动描述文件用于生成线性马达的振动波形,振动波形是一种位移码流,体现出线性马达在不同时间点下的位移。并且,线性马达在每个时间点下的位移与线性马达在每个时间点的振幅是等同概念,所以按照步骤S504的方式调整稳态波形的振幅,就是在调整振动描述文件中启动时间和停止时间内每一个时间点下的位移。
在一种可能的实现方式中,平滑变化的方式由下述两种:
第一种,对线性马达的启动时间和停止时间内的稳态振动波形,叠加余弦波形。
线性马达在启动时间和停止时间内的稳态振动波形叠加余弦波形,利用余弦波形在每一个时间点的数值,抵消到线性马达在启动时间和停止时间的稳态振动波形中过于尖锐的值。
余弦波形包括两条,一条余弦波形的时长与启动时间的时长相同,包括与启动时间内包括的多个时间点的振幅值等同数量的波形数值,余弦波形的波形数值,与启动时间内的波形的波峰处的振幅值反向,与启动时间内的波形的波谷处的振幅值同向,保证将启动时间内的波形削峰填谷。同理,另一条余弦波形的时长与停止时间的时长相同,余弦波形的每个时间点的数值,与停止时间内的波形的波峰处的振幅值反向,与停止时间内的波形的波谷处的振幅值同向,保证将停止时间内的波形削峰填谷。
第二种,利用斜坡算法处理线性马达的启动时间和停止时间内的稳态振动波形。
斜坡算法就是让波形变成斜坡样子的算法。利用斜坡算法处理,可以理解的是将启动时间内和停止时间内的线性马达的稳态波形的振幅与系数作乘。当然,在启动时间内和停止时间内,每一个时间点的稳态波形的振幅相乘的系数,也是平缓变化的。
结合图9,本申请实施例提供了一种振动波形处理装置,包括:
获取单元601,用于获取振动描述文件。
识别单元602,用于识别振动描述文件描述的波形类型。
提取单元603,用于若振动描述文件描述的波形类型为稳态波形,从振动描述文件中提取启动时间以及停止时间。
处理单元604,用于将启动时间内的稳态波形的振幅处理为:由零平滑变化至线性马达稳定振动状态的振幅,并将停止时间内的稳态波形的振幅处理为:由线性马达稳定振动状态的振幅平滑变化至零。
需要说明的是,本实施例提供的振动波形处理装置中,在识别单元602识别出振动描述文件描述的波形为稳态波形时,处理单元604在启动时间内,处理线性马达的振幅由零平滑变化至线性马达稳定振动状态的振幅,并且,在停止时间内,处理线性马达的振幅由 线性马达稳定振动状态的振幅平滑变化至零,可以控制线性马达在启动时间和停止时间平缓运行,克服过驱问题。
可选地,本申请的另一实施例中,处理单元604执行将启动时间内的稳态波形的振幅处理为:由零平滑变化至线性马达稳定振动状态的振幅,用于:
对启动时间内的稳态波形叠加余弦波形,得到启动时间内的振幅由零平滑过渡为线性马达稳定振动状态的振幅的稳态波形;
或者,采用斜坡算法处理启动时间内的稳态波形,得到启动时间内的振幅由零平滑过渡为线性马达稳定振动状态的振幅的稳态波形。
可选地,本申请的另一实施例中,处理单元604执行将停止时间内的稳态波形的振幅处理为:由线性马达稳定振动状态的振幅平滑变化至零时,用于:
对停止时间内的稳态波形叠加余弦波形,得到停止时间内的振幅由线性马达稳定振动状态的振幅平滑过渡为零的稳态波形;
或者,采用斜坡算法处理停止时间内的稳态波形,得到停止时间内的振幅由线性马达稳定振动状态的振幅平滑过渡为零的稳态波形。
本申请上述几个实施例提供的波形振动处理装置中,获取单元601、识别单元602、提取单元603和处理单元604的具体工作过程,可参见对应方法实施例内容,此处不再赘述。
本申请另一实施例提供了一种可读存储介质,当可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述任一实施例中的振动波形的处理方法。
可选地,可读存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
参见前述,振动描述文件是控制线性马达发生振动的关键要素之一:振动描述文件用于描述线性马达的振动波形,振动波形指示马达振动过程中的各项振动参数,例如振幅和频率等。
可见,振动描述文件的作用是指示马达如何进行振动,因此用户可以通过振动描述文件配置预期的振动效果。而实际中,线性马达是振动的实施主体,因此,振动效果与线性马达的属性相关,所以,虽然基于预期的振动效果配置振动描述文件,但振动描述文件控制的线性马达产生的振动,不一定能够实现预期的振动效果。
基于上述不同种类的线性马达的特点,申请人在研究的过程中发现:线性马达不能提供预期的振动效果主要体现在:
不同种的线性马达或者同种线性马达,其谐振频率是有差异的。不同谐振频率的线性马达均会应用到电子设备中,因此,同一种振动描述文件描述的瞬态驱动波形的频率,并不能与实施振动的每一种线性马达的谐振频率相适配。例如:振动描述文件定义频率为230hz的振动波形,实施振动的线性马达的谐振频率为150hz和230hz。如前所述,线性马达的谐振频率为150hz,线性马达输出频率为150hz的驱动波形,才能保证在很小的驱动力促使线性马达产生很大的振动。振动描述文件定义的振动波形的频率为230hz,谐振频率为150hz的线性马达输出频率为230hz振动波形,会使得线性马达输出的振感达不到要求。 因此,有必要对振动描述文件描述的振动波形进行调整,使振动波形与实施振动的线性马达的每一种谐振频率适配,以保证获得预期的振动效果,并获得预期的振感。
同样以图4d展示的应用场景为示例进行说明。图4d展示的应用场景属于一款游戏,随着该游戏的普及,安装游戏的电子设备越来越多,安装游戏的电子设备中的线性马达可能是不同种的,也可能是同一种但是源自于不同厂家或不同生成批次。如此,电子设备中的线性马达的谐振频率会不同。如此带来的就是,用户在不同电子设备中玩同一款游戏,由于线性马达的谐振频率的差异性,会感受到不同的振感。甚至线性马达输出的振感与应用场景中对象的振动描述文件的预期差异性很大。如此,需要采用下述实施例公开的线性马达的振动波形调整方法,基于实施振动的线性马达的特点,对振动描述文件描述的振动波形进行调整,使振动波形与实施振动的线性马达的谐振频率适配,以保证获得预期的振动效果以及振感。
可以理解的是,下述实施例提供的线性马达的振动波形调整方法,可以完成线性马达处于第一振动状态。
本申请实施例中,内部存储器121存储的是用于执行驱动波形的调整方法的指令。处理器110可以通过执行存储在内部存储器121中的指令,对振动描述文件描述的驱动波形进行调整,以保证驱动波形的视频与每一种线性马达的谐振频率相适配,屏蔽掉不同线性马达不同谐振频率的差异。
本申请实施例中,马达191可以采用多种线性马达,处理器110执行线性马达的驱动程序以驱动线性马达运行。并且,线性马达的驱动程序驱动线性马达运行时所涉及到的驱动波形的调整方案,如本申请下述实施例提供的驱动波形的调整方法。
本申请实施例所述的线性马达的驱动波形的调整方法,可以应用在图3a中的波形处理模块。以下将对线性马达的驱动波形的调整方法进行详细说明。
图10示出了一种驱动波形的调整方法,应用于电子设备,电子设备包括线性马达。该驱动波形的调整方法包括:
S401、获取振动描述文件。
振动描述文件包括多种振动参数,通过解析振动描述文件,可得到振动描述文件包括的每一种振动参数,且利用振动参数可生成线性马达的振动波形。线性马达的振动波形可以理解为一种位移码流,体现出线性马达在不同时间点下的位移。
如前所述,X轴线性马达的动子可以在X轴或Y轴方向运动,Z轴线性马达的动子可以在Z轴方向运动。因此,无论是哪一种线性马达,线性马达受波形驱动的运行,都是指线性马达的动子在对应轴(X轴、Y轴或Z轴)上的运行,动子在对应轴上运动的表现形式就是动子在不同时刻沿对应轴发生位移变化,通过动子沿在不同时刻的位移变化,带来被用户感受到的振感。
振动描述文件中的振动参数可以包括但不限于:强度、锐度(也称为频率)、波形类型、启动时间以及停止时间。
S402、识别振动描述文件描述的波形类型。
若振动描述文件描述的波形类型为瞬态波形,则执行步骤S203。
振动描述文件的振动参数包括波形类型,通过分析波形类型,可以确定出振动描述文件描述的是稳态波形还是瞬态波形。
可以理解的是:稳态波形为驱动线性马达经历上升阶段、稳定振动阶段和停止阶段的振动波形。上升阶段、稳定振动阶段和停止阶段为线性马达从开始振动到结束振动经历的三个阶段。在上升阶段,线性马达的振动形式表现为自由衰减振动伴随强迫振动,在稳定振动阶段线性马达的振动形式表现为等幅的稳态强迫振动,在停止阶段线性马达的振动形式表现为自由衰减振动。
瞬态波形为驱动线性马达仅经历上升阶段的振动波形。
S403、按照与线性马达的谐振频率相适配的波形数组的参数,生成多个半周期波形,并组合生成的多个半周期波形,得到振动描述文件描述的瞬态波形。
振动描述文件包括的振动参数,定义出要需要生成的振动波形。因此,基于振动描述文件描述的瞬态波形的振动参数,可以生成满足振动参数需求的振动波形。例如:振动描述文件定义的振动参数包括:频率为230hz,基于该振动参数,可以生成频率为230hz的振动波形。
但是,如前所述,由于不同的线性马达,其适配的频率(也称谐振频率)是有差异性的。振动描述文件描述的瞬态波形的频率,在与线性马达的谐振频率不匹配时,会带来线性马达振感达不到振动描述文件描述的瞬态波形振感要求。因此,需要处理振动描述文件描述的瞬态波形的振动参数,生成与线性马达的适配的每一种谐振频率相匹配的驱动波形。也可以理解成:需要屏蔽掉线性马达的谐振频率的差异,控制多个不同谐振频率的线性马达,均能输出同种振动描述文件描述的瞬态波形。例如:针对振动描述文件定义频率为230hz的振动波形,需要由谐振频率为230hz的线性马达以及150hz的线性马达来输出。
为了保证振动描述文件描述的瞬态波形,可以由不同谐振频率的线性马达来输出,预先定义出线性马达的每一种谐振频率对应的波形数组,并存储在电子设备的内部存储器。波形数组包括:多个半周期波形,每个半周期波形是以瞬态波形的半个周期为拆分单位,对线性马达谐振频率适配的瞬态波形进行拆分得到。当然,在电子设备的内部存储器存储波形数组,是存储用于生成每半个周期的波形的频率和振幅。
另外,振动描述文件描述的瞬态波形周期是固定的,例如,一个瞬态波形包括3个周期的波形,每种谐振频率的线性马达的波形数组则会包括:6个半周期波形对应的频率和振幅。
在振动描述文件描述的波形类型为瞬态波形的情况下,从预先存储的每一种谐振频率对应的波形数组中,筛选出电子设备中线性马达的谐振频率对应的波形数组,按照波形数组中指示的多个半周期波形的频率和振幅,生成每一个半周期波形,再组合生成的每一个半周期波形,得到瞬态波形。
图11示出了另一种驱动波形的调整方法,也应用于电子设备,电子设备包括线性马达。该驱动波形的调整方法包括:
S501、获取振动描述文件。
S502、识别振动描述文件描述的波形类型。
若振动描述文件描述的波形类型为瞬态波形,则执行步骤S503。
步骤S501和步骤S502的具体内容,可参见图4对应实施例中步骤S501和步骤S502的内容。
S503、按照振动描述文件描述的瞬态波形的振动参数,从预先存储的多个驱动波形中,选择与线性马达的谐振频率相匹配的驱动波形。
可以理解的是:从预先存储的多个驱动波形中,选择与线性马达的谐振频率相匹配的驱动波形,也需要符合振动描述文件描述的瞬态波形的振动参数要求。这种预先存储多个驱动波形,按照振动描述文件描述的瞬态波形的振动参数和线性马达的谐振频率的要求,选择出一个驱动波形来驱动线性马达的方式,也可以实现屏蔽掉线性马达的谐振频率的差异性,当然,由于是直接选择,能够做到得到驱动波形的效率更高。
由于线性马达的谐振频率需求是有限的,不同的线性马达需要不同谐振频率的驱动波形。因此,可以预先生成适应不同谐振频率的线性马达的驱动波形,存储至电子设备的内部存储器,这些预先生成的驱动波形,就称之为原子驱动波形。
原子驱动波形的生成方式,由下述三种:
第一种,将线性马达所涉的每一种谐振频率的驱动波形,均作为原子驱动波形。如此,可以保证线性马达的每一种谐振频率,均能从存储的原子驱动波形中,找到相适配的原子驱动波动。但是本生成方式需要占用较大的存储空间。
第二种,将线性马达所涉的频率范围内中的一段频率范围中的每一个频率的驱动波形,作为原子驱动波形,例如:线性马达所涉的所有频率的频率范围为70hz到185hz,将本频率范围内的每一个频率的驱动波形,作为原子驱动波形;或者将70hz到185hz中的165hz到175hz中的每一个频率的驱动波形,作为原子驱动波形。当然,线性马达所涉的频率范围内中的一段频率范围的选定标准也可以是:命中率较高的频率范围,命中率较高同样指代被多数线性马达所采用的频率组成的范围。本生成方式生成的原子驱动波形数量相对第一种较少,不需要占用较大的存储空间,随之带来的是有可能存在无法找到线性马达的一种谐振频率对应的原子驱动波形。
第三种,将命中率较高的线性马达的谐振频率的驱动波形,作为原子驱动波形。命中率较高的谐振频率是指:在一系列的线性马达的谐振频率中,属于被多数线性马达所采用的谐振频率。例如:频率范围由70hz到185hz中,70、80、90、100、120、130、150和170这几个频率属于被多数线性马达所设定的谐振频率,会被设定为命中率较高的谐振频率。本生成方式在第二种的基础上,又进一步降低了存储空间的要求,同样无法找到线性马达的一种谐振频率对应的原子驱动波形的概率也增加了。
振动描述文件描述的瞬态波形频率是多样化的,即可以要求线性马达按照不同频率的波形来运行。基于此,在每一种原子驱动波形要包含的驱动波形的数量为多个,每一个驱动波形适配振动描述文件描述的瞬态波形的一种频率需求。例如:谐振频率为165hz的线性马达的原子驱动波形包括:频率为80hz的瞬态波形对应的驱动波形,频率为81hz的瞬态波形对应的驱动波形,频率为82hz的瞬态波形对应的驱动波形……
由上述内容可以看出:预先存储了适配线性马达不同谐振频率的原子驱动波形,因此,针对线性马达的每一种谐振频率,均能从存储的原子驱动波形中筛选出适配的原子驱动波 形,并且,由于每一种原子驱动波形包括适配振动描述文件描述的瞬态波形的多种频率需求的驱动波形,因此,从筛选出适配的原子驱动波形中还可以进一步筛选出符合振动描述文件描述的瞬态波形的频率的驱动波形,如此,可以保证多种谐振频率的线性马达,可以输出同一个振动描述文件描述的瞬态波形,实现了对线性马达的谐振频率差异性的屏蔽。
基于上述内容可知:预先存储的多个驱动波形是以成组的方式进行保存的,一组驱动波形(也就是上述内容的一种原子驱动波形)对应线性马达的一种谐振频率;每一组驱动波形中包含至少一个驱动波形,每一个驱动波形适应于振动描述文件描述的瞬态波形的一种频率需求。
因此,步骤S503的一种实施方式为:
从多组驱动波形中,选择出频率与线性马达的谐振频率相匹配的一组驱动波形。
在一个示例中:振动描述文件的振动参数包括:振动频率为82hz;线性马达的谐振频率为165hz,按照本步骤的方式从多组驱动波形中,筛选出频率为165hz的一组驱动波形。
从选择出的一组驱动波形中,按照振动描述文件描述的瞬态波形的振动参数选择驱动波形。
续接上述示例:165hz的一组驱动波形包括多个驱动波形,每一个驱动波形是对应振动波形的一个频率,基于此,从165hz的一组驱动波形,筛选出频率为82hz的驱动波形。
在一个可能的实施方式中,采用上述提出的第二种和第三种原子驱动波形的生成方式生成原子驱动波形并存储,若在预先存储的多种原子驱动波形中,无法筛选出与线性马达的谐振频率相匹配的原子驱动波形,先从存储的多种原子驱动波形中,选择出与线性马达的谐振频率最接近的原子驱动波形,再从选择出的原子驱动波形中,按照振动描述文件描述的瞬态波形的振动参数选择驱动波形之后,按照线性马达的谐振频率,对选择出的驱动波形进行插值运算,得到与线性马达的谐振频率相匹配的驱动波形。与线性马达的谐振频率最接近,可以理解成频率与线性马达的谐振频率相同或者差值最小。
可选地,按照线性马达的谐振频率,对选择出的驱动波形进行插值运算,可以是采用重采样算法,对驱动波形进行采样,得到多个采样点的数值,再将多个采样点的数值插入到驱动波形,完成对驱动波形的调整,得到与线性马达的谐振频率相匹配的驱动波形。
图12示出了另一种驱动波形的调整方法,也应用于电子设备,电子设备包括线性马达。该驱动波形的调整方法包括:
S601、获取振动描述文件。
S602、识别振动描述文件描述的波形类型。
若振动描述文件描述的波形类型为瞬态波形,则执行步骤S603。
步骤S601和步骤S602的具体内容,可参见图4对应实施例中步骤S401和步骤S402的内容。
S603、从预先存储的多个振动波形中,选择出符合振动描述文件描述的瞬态波形的振动参数要求的振动波形。
针对驱动线性马达按照不同频率下的振动波形进行输出的需求,预先存储多个频率的振动波形(为瞬态振动波形),若振动描述文件描述的波形类型是瞬态波形,则按照振动描 述文件描述的瞬态波形的振动参数,从预先存储的多个振动波形进行筛选,选择出与振动描述文件描述的瞬态波形的振动参数相匹配的振动波形。
S604、处理选择出的振动波形,得到与线性马达的谐振频率相匹配的驱动波形。
在选择出符合振动描述文件描述的瞬态波形的振动参数要求的振动波形后,利用反解马达电压驱动算法对振动波形进行反解运算,得到与线性马达的谐振频率相匹配的驱动波形。
在利用反解马达电压驱动算法对振动波形进行反解运算过程中,会按照线性马达的谐振频率对振动波形进行调整,以得到与线性马达的谐振频率相匹配的驱动波形。
反解马达电压驱动算法本身具有将振动波形反解成适配线性马达的谐振频率的功能,本实施例中,利用该算法的此种功能,实现了屏蔽掉线性马达的谐振频率差异性的目的。
还需要说明的是,若预先存储的多个频率的振动波形,不足以覆盖驱动线性马达按照所有频率的波形进行输出的需求,那在预先存储的多个振动波形中,无法选择出符合振动描述文件描述的瞬态波形的振动参数的振动波形,例如:预先存储了100hz到130hz的振动波形,振动描述文件描述的瞬态波形的频率为135hz,针对振动描述文件描述的瞬态波形的135hz频率需求,在100hz到130hz的振动波形中不能找对等同频率的振动波形。
在此种情况下,需要从预先存储的多个振动波形中,选择出与振动描述文件描述的瞬态波形的振动参数最接近的振动波形,当然,这种最接近就是指代频率与振动描述文件描述的瞬态波形的振动参数差值最小。按照振动描述文件描述的瞬态波形的振动参数,对选择出的振动波形进行插值运算,以得到与振动描述文件描述的瞬态波形的振动参数相匹配的振动波形。
在一个可能的实施方式中,按照振动描述文件描述的瞬态波形的振动参数,对选择出的振动波形进行插值运算,可以是采用重采样算法,对振动波形进行采样,得到多个采样点的数值,再将多个采样点的数值插入到振动波形,完成对振动波形的调整,得到与振动描述文件描述的瞬态波形的振动参数相匹配的振动波形。
还需要说明的是,振动波形处理模块和驱动波形处理模块采用图2、图3或者图4对应的三个实施例内容,生成驱动波形,其实现原理可以理解成:依据振动描述文件描述的振动参数以及线性马达的谐振频率,生成线性马达的驱动波形。如此可以看出:在振动描述文件描述的波形类型为瞬态波形的情况下,依据振动描述文件描述的振动参数以及线性马达的谐振频率,生成线性马达的驱动波形,保证了生成的线性马达的驱动波形能够适配该线性马达的谐振频率,实现了生成屏蔽马达差异性的瞬态波形来驱动线性马达。
本申请实施例提供了一种驱动波形的调整装置,如图13所示,包括:
获取单元701,用于获取振动描述文件。
识别单元702,用于识别振动描述文件描述的波形类型。
生成单元703,用于若振动描述文件描述的波形类型为瞬态波形,依据振动描述文件描述的振动参数以及线性马达的谐振频率,生成线性马达的驱动波形。
可选地,本申请的另一实施例中,生成单元703执行依据振动描述文件描述的振动参数以及线性马达的谐振频率,生成线性马达的驱动波形时,用于:按照与线性马达的谐振 频率相适配的波形数组的参数,生成多个半周期波形;再组合生成的多个半周期波形,得到振动描述文件描述的瞬态波形。
可选地,本申请的另一实施例中,生成单元703执行依据振动描述文件描述的振动参数以及线性马达的谐振频率,生成线性马达的驱动波形时,用于:从预先存储的多个驱动波形中,选择与线性马达的谐振频率相匹配的驱动波形,与线性马达的谐振频率相匹配的驱动波形,符合振动描述文件描述的瞬态波形的振动参数要求。
可选地,本申请的另一实施例中,多个驱动波形以成组方式保存,一组驱动波形对应线性马达的一种谐振频率;每一组驱动波形中包含至少一个驱动波形,每一个驱动波形适应于线性马达的振动波形的一种频率需求;
生成单元703执行从预先存储的多个驱动波形中,选择与线性马达的谐振频率相匹配的驱动波形,与线性马达的谐振频率相匹配的驱动波形,符合振动描述文件描述的瞬态波形的振动参数要求时,用于:从多组驱动波形中,选择出与线性马达的谐振频率相匹配的一组驱动波形;从选择出的一组驱动波形中,确定出符合振动描述文件描述的瞬态波形的振动参数要求的驱动波形。
可选地,本申请的另一实施例中,生成单元703执行依据振动描述文件描述的振动参数以及线性马达的谐振频率,生成线性马达的驱动波形时,用于:
从预先存储的多个振动波形中,选择出符合振动描述文件描述的瞬态波形的振动参数要求的振动波形;处理选择出的振动波形,得到与线性马达的谐振频率相匹配的驱动波形。
本申请上述几个实施例提供的驱动波形的调整装置中,获取单元701、识别单元702和生成单元703的具体工作过程,可参见对应方法实施例内容,此处不再赘述。
本申请另一实施例提供了一种可读存储介质,当可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述任一实施例中的驱动波形的调整方法。
可选地,可读存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
振动描述文件是控制线性马达发生振动的关键要素之一:振动描述文件用于描述线性马达的振动波形,振动波形指示马达振动过程中的各项振动参数,例如振幅和频率等。在以下实施例中,振动描述文件的振动波形(包括稳态波形以及瞬态波形)是指,解析振动描述文件得到振动参数,以振动参数参数振动而产生的波形。因此可以称为振动描述文件描述的振动波形。
可见,振动描述文件的作用是指示马达如何进行振动,因此用户可以通过振动描述文件配置预期的振动效果。在产品实现中,电子设备的振动效果是通过线性马达实现的,因此,振动效果与线性马达的属性相关,所以,虽然电子设备的振动效果是通过配置振动描述文件实现,但由于不同线性马达的参数不同,即使使用相应的振动描述文件进行配置,不同的线性马达产生的振动也不一定能够实现预期的振动效果。
基于上述不同种类的线性马达的特点,申请人在研究的过程中发现:线性马达不能提供预期的振动效果的原因主要体现在以下两方面:
一方面,线性马达提供的振感弱,而不能被用户感知或者用户感知的振感与场景不匹配。例如,在游戏场景下,本该被用户强烈感知到的爆炸场景下的振感,无法被用户感知。导致该问题的原因为振动描述文件的稳态波形的频率与实施振动的线性马达不适配。例如,振动描述文件的稳态波形是对X轴线性马达的调试生成,即在给出预期振感的情况下,基于对X轴线性马达的调试,使得X轴线性马达能够提供预期的振感,得到振动描述文件。但振动描述文件要驱动的线性马达为Z轴线性马达,如前所述,与X轴线性马达相比,Z轴线性马达的体积更小,所以振幅更小,因此同等参数控制下实现的振感,比X轴线性马达的振感弱。又因为Z轴线性马达的谐振频率比X轴线性马达的谐振频率高,所以,在频率低于某个阈值后,Z轴线性马达的振动不能被感知。
另一方面虚拟按键的触感反馈效果不好:,在实体按键被虚拟按键替代的情况下,在用户按压虚拟按键后,使用不同的振动效果使得用户获得不同的振感,以向用户提供“软”或“硬”的按压触感,但因为振动描述文件的瞬态波形与实施振动的线性马达不匹配而无法实现。例如,X轴线性马达使用频率相对较低,时长较长,振幅可大可小的瞬态波形模拟“软”触感(使用频率相对较高,时长较短,振幅可大可小的瞬态波形模拟“硬”触感。因为Z轴线性马达的谐振频率比X轴线性马达的谐振频率低,所以导致低频振感降低,因此,如果模拟“软”振感的瞬态波形由振动描述文件依据X轴线性马达的特性描述,并由Z轴线性马达实施,则可能导致用户感知不到,而可能无法实现“软”和“硬”触感的区分。
因此,有必要对振动描述文件的振动波形进行调整,使振动波形与实施振动的线性马达适配,以保证获得预期的振动效果,并获得预期的振感。
本申请实施例公开的线性马达的振动波形调整方法,基于实施振动的线性马达的特点,对振动描述文件描述的振动波形进行调整,使振动波形与实施振动的线性马达适配,以保证获得预期的振动效果以及振感。
马达191包括至少一个图1b所示的Z轴线性马达,因为Z轴线性马达的体积更小,所以能够节省电子设备内部的空间,有利于电子设备的轻薄化。在此情况下,可能振动描述文件描述的振动波形不能通过Z轴线性马达实现预期的振动效果,所以,有必要对振动描述文件描述的振动波形进行调整。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以及数据处理。例如,在本实施例中,处理器110可以通过执行存储在内部存储器121中的指令、装置或者模块,对振动描述文件描述的振动波形进行调整。又例如,处理器110响应于触控屏中的虚拟按键输入的信号,使用调整后的振动波形驱动线性马达振动,以对用户按压虚拟按键的操作做出振动反馈。
内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存 储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备的各种功能应用以及数据处理。
本申请实施例所述的线性马达的振动波形调整方法,可以应用在图3a中的振动波形处理模块。以下将对线性马达的振动波形调整方法进行详细说明。
图14为本申请实施例公开的一种线性马达的振动波形调整方法,包括以下步骤:
S401、将振动描述文件描述的稳态波形的频率,映射至目标频率。
稳态波形为驱动线性马达经历上升阶段、稳定振动阶段和停止阶段的振动波形。上升阶段、稳定振动阶段和停止阶段为线性马达从开始振动到结束振动经历的三个阶段。在上升阶段,线性马达的振动形式表现为自由衰减振动伴随强迫振动,在稳定振动阶段线性马达的振动形式表现为等幅的稳态强迫振动,在停止阶段线性马达的振动形式表现为自由衰减振动。
本步骤中,目标频率依据下限频率、上限频率以及预设的第一映射规则获取。
下限频率满足:线性马达在下限频率的振幅大于预设阈值。设置预设阈值的目的在于,保证振动强度能够被用户感知,所以,预设阈值可以按照线性马达的实际振动效果预先配置。因为振幅不大于预设阈值的情况下,可能线性马达的振感较弱,而降低了用户对振动的感受度,所以下限频率的振幅大于预设阈值,能够不降低用户对振动的感受度。
上限频率属于线性马达的谐振频率范围,即可以是谐振频率范围中的任意一个数值。因为线性马达的谐振频率范围内的频率,对应较大的振幅,所以上限频率设置在谐振频率范围内,也是为了保证线性马达具有较大的振动强度,从而保证用户能够感知到振感。
第一映射规则指示:从下限频率以及上限频率映射为目标频率的规则。第一映射规则可以被预先配置,具体内容将在以下实施例详细说明。
以图15为例,振动描述文件描述的稳态波形的频率为170Hz,即X轴线性马达的谐振频率。而假设实施振动的线性马达为Z轴线性马达,Z轴线性马达的谐振频率通常为235Hz,因此,直接使用振动描述文件描述的振动波形控制Z轴线性马达振动,可能不能获得预期的振感。因此,按照S201,能够将图15示例的稳态波形映射为图16示例的稳态波形,可以看出,频率从170Hz映射为目标频率235Hz。
可以看出,经过频率映射后,目标频率与振动描述文件描述的稳态波形的频率无关,而仅与实施振动的线性马达相关。因此,使得振动波形与实施振动的线性马达更为适配,即使实施振动的线性马达的体积较小,也能保证在同等控制参数下,与较大体积的线性马达具有相当的振动效果以及振感,即S401能够解决以上第一方面的问题。
S402、将振动描述文件描述的瞬态波形,扩展为波形序列。
瞬态波形为驱动线性马达仅经历上升阶段的振动波形。
如前另一方面所述,“软”触感需要频率较低的瞬态波形实现,但Z轴线性马达的谐振频谱高于X轴线性马达,所以,有可能振动描述文件描述的瞬态波形,控制Z轴线性马达产生的振动,并无法被感知到振感,所以,本步骤中,将振动描述文件描述的瞬态波形扩展为多个瞬态波形组成的波形序列,波形序列与瞬态波形相比,增加了振动次数,即振感从“振一下”变成“振多下”,所以有利于用户感知到振感。
本步骤中,波形序列由多个目标瞬态波形组成,波形序列的频率与振动描述文件描述 的瞬态波形的频率相同,目标瞬态波形的频率与线性马达适配。
目标瞬态波形的频率与线性马达适配是指,目标瞬态波形的频率在线性马达的谐振频率范围内。例如,目标瞬态波形的频率为线性马达的谐振频率,保证线性马达具有较大的振动强度,从而用户能够感知到振感,为用户进一步感受到“软”或“硬”奠定基础。图17为振动描述文件描述的瞬态波形的示例,图18为基于图17的瞬态波形扩展得到的波形序列。图18中的波形序列的频率与图17所示的瞬态波形的频率相等。
如前所述,振动时长是“软”和“硬”的区别特征,并且,波形序列的频率与振动描述文件描述的瞬态波形的频率相同,所以,通过将描述文件描述的瞬态波形,扩展为波形序列,能够通过波形序列中的瞬态波形的数量的不同,使得波形序列能够沿袭振动描述文件描述的瞬态波形的预期的触感,实现对“软”和“硬”的区分。
综上所述,即使实施振动的线性马达的体积较小,也能够实现对“软”或“硬”的模拟,即S402能够解决以上第二方面的问题。
综上所述,本实施例提供的线性马达的振动波形调整方法,能够改善线性马达的振动效果,从而使得线性马达实现(用户)所需振感。
需要说明的是,因为振动描述文件可以包括多个振动事件,也就是说,既可以包括瞬态振动事件,也可以包括稳态振动事件,所以,S402与S402可以至少执行一步,或者都执行。
图19为本申请实施例公开的又一种线性马达的振动波形调整方法,与上述实施例相比,主要区别在于,进一步限定了频率的映射规则以及振幅的确定规则。
如图19中包括以下步骤:
S901、识别振动描述文件的波形为稳态波形和瞬态波形中的至少一个。
可以理解的是,振动描述文件中可以包括指示稳态波形或瞬态波形的标识。通过该标识识别波形的类型。
S902、将振动描述文件的稳态波形的频率,映射至目标频率。
其中,目标频率依据下限频率、上限频率以及预设的第一映射规则获取。
可选的,第一映射规则为目标频率范围内的频率分布满足的指数规则,其中,目标频率范围由下限频率与上限频率限定。也就是说,分布在目标频率范围中的频率满足指数规则:假设目标频率范围为[a,b],则[a,b]中的其它频率值与a以及b满足指数关系。
需要说明的是,本实施例中采用指数规则,通过以下实验过程得到:获得在各种规则(包括指数规则、线性规则等)下映射得到的频率,测算各个频率对应的用户的振感参数,并通过比较得到最优的振感参数,最优的振感参数对应的频率为最优频率。实验证明,指数规则映射得到最优频率。可以理解的是,振感参数可以依据需求设置,这里不做限定。
可见,从用户振感的角度选择指数关系,能够使得用户获得更好的振感,以获取更好的用户使用感受。
S903、将振动描述文件描述的稳态波形的振幅,以第二映射规则,映射至目标振幅。
第二映射规则为,第一目标振幅范围内的振幅分布满足的类sin函数规则,第一目标振幅范围由线性马达的下限振幅与线性马达的上限振幅限定。也就是说,分布在第一目标振幅范围中的振幅满足类sin函数规则:假设第一目标振幅范围为[c,d],则[c,d]中的其它振幅值 与c以及d满足类sin函数关系。
具体的,线性马达的下限振幅通常为能够感受到的最小振幅例如0,上限振幅为指定频率下的振幅,例如谐振频率对应的振幅。振幅从这个范围中选择,能够保证振动被感知。进一步的,类sin函数规则与上述指数规则选取的过程类似,即以振感为依据从多种规则中选取,因此,对于振幅的限定,不仅从振幅这一维度保证用户感知到振感,进一步的,使用类sin函数规则,能够使得用户获得更好的振感。
S902-S903的应用场景的示例为:用户依据预期的振感,基于对X线性马达的调试生成稳态波形,再进一步生成稳态波形的振动描述文件。
而电子设备上配置的线性马达为Z轴线性马达,即振动描述文件要驱动的线性马达为Z轴线性马达,与X轴线性马达相比,Z轴线性马达的体积更小,并且,谐振频率也有较大差异,因此同等参数控制下实现的振感,比X轴线性马达的振感弱,所以,振动描述文件在电子设备上驱动Z轴线性马达产生的振动,并不能实现预期的振感。现有技术中,用户需要针对Z轴线性马达重新配置振动描述文件,而本实施例中,S902-S903通过频率以及振幅的映射,重新定义与Z轴线性马达适配的频率以及振幅,以对适配X轴线性马达的振动波形进行调整,得到适配Z轴线性马达的振动波形,从而对Z轴线性马达实现与X轴线性马达类似的振感提供了可能。因此,用户无需重新配置振动描述文件,即实现使用相同的振动描述文件,在不同类型的线性马达上均可实现预期的振感。
S904、将振动描述文件描述的瞬态波形,扩展为波形序列。
其中,波形序列由多个目标瞬态波形组成。波形序列的频率与振动描述文件描述的瞬态波形的频率相同。
可选的,目标瞬态波形的振幅与线性马达适配,例如目标瞬态波形的振幅为线性马达的谐振频率的振幅。
进一步的,波形序列的振幅依据第三映射规则,从振动描述文件描述的瞬态波形的振幅映射获取。具体的,第三映射规则包括:第二目标振幅范围内的振幅分布满足的类sin函数规则,第二目标振幅范围由线性马达的下限振幅与线性马达的上限振幅限定。对于振幅的限定,能够进一步提高振动效果。并且,使用类sin函数规则,能够使得用户获得更好的振感,以获取更好的用户使用感受。
可以理解的是,本实施例中,以第二映射规则与第三映射规则相同为例,实际中,第二映射规则与第三映射规则也可以相同,这里不做限定。
S904应用场景的示例为:用户依据预期的“软”和“硬”触感,基于对X线性马达的调试生成稳态波形,再进一步生成稳态波形的振动描述文件。而电子设备上配置的线性马达为Z轴线性马达,即振动描述文件要驱动的线性马达为Z轴线性马达,与X轴线性马达相比,Z轴线性马达的体积更小,并且,谐振频率也有较大差异,同等参数控制下实现的振感,比X轴线性马达的振感弱,甚至X轴线性马达的振动波形的低频部分,在Z轴线性马达上的振幅不能被感知,所以,在配置Z轴线性马达的电子设备上,用户无法获得虚拟按键按压后的“软”或“硬”的触感。而S904中,通过增加瞬态波形的数量,能够模拟“软”触感,进一步因为波形序列的频率与振动描述文件描述的瞬态波形的频率相同,所以能够 实现“软”和“硬”触感的区分。所以,用户无需重新配置振动描述文件,即实现使用相同的振动描述文件,在不同类型的线性马达上均可实现“软”和“硬”触感的区分。
S905、在调整后的振动波形的振动参数不超过安全限值的情况下,将调整后的稳态波形或波形序列,作为对振动描述文件描述的波形的调整结果。
具体的,安全限值可以包括振幅限值。振幅限值依据线性马达的最大电压以及最大行程确定。设置安全限值的目的在于,降低因调整振动波形而导致的线性马达损坏的可能性。
综上所述,本实施例公开的线性马达的振动波形调整方法,具有以下有益效果:
1、在振动描述文件与线性马达不适配的情况下,能够改善小体积的线性马达的振感,使得小体积的线性马达能够实现更丰富的振感体验。
2、提高了振动描述文件的通用性,即使振动描述文件与线性马达不适配,也无需为了适配线性马达而修改振动描述文件,而是通过振动波形的调整,得到与线性马达适配的振动波形。
3、在调整振动波形的前提下,保障线性马达的安全。
需要说明的是,以上实施例虽然以小体积的线性马达举例,并不限于小体积的线性马达,而是适用于所有线性马达。
图20为本申请实施例公开的一种线性马达的振动波形调整装置,包括:映射单元以及扩展单元。可选的,所述装置还可以包括安全检测单元。
其中,映射单元用于将振动描述文件描述的稳态波形的频率,映射至目标频率,所述目标频率依据下限频率、上限频率以及预设的第一映射规则获取,所述下限频率满足:所述线性马达在所述下限频率的振幅大于预设阈值,所述上限频率属于所述线性马达的谐振频率范围。
扩展单元用于将所述振动描述文件描述的瞬态波形,扩展为波形序列,所述波形序列由多个目标瞬态波形组成,所述波形序列的频率与所述振动描述文件描述的瞬态波形的频率相同,所述目标瞬态波形的频率与所述线性马达适配。
安全检测单元用于在调整后的振动波形的振动参数不超过安全限值的情况下,将调整后的稳态波形或波形序列,作为对所述振动描述文件描述的波形的调整结果。
可选的,第一映射规则可以为:目标频率范围内的频率分布满足的指数规则,所述目标频率范围由所述下限频率与所述上限频率限定。
可选的,映射单元还可以用于:在所述将振动描述文件描述的稳态波形的频率,映射至目标频率之后,将所述振动描述文件描述的所述稳态波形的振幅,以第二映射规则,映射至目标振幅,所述第二映射规则包括:第一目标振幅范围内的振幅分布满足的类sin函数规则,所述第一目标振幅范围由所述线性马达的下限振幅与所述线性马达的上限振幅限定。
可选的,所述波形序列中的所述目标瞬态波形的振幅与所述线性马达适配。
以上各个单元的功能的具体实现方式,可以参见上述实施例,这里不再赘述。
图20所示的线性马达的振动波形调整装置,能够实现预期的振动效果,尤其在振动描述文件描述的振动波形基于较大体积的线性马达实现,而实施振动的线性马达的体积较小的情况下,使得体积较小的线性马达实现与体积较大的线性马达相当的振动效果。
本申请实施例还提供了一种可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述实施例所述的线性马达的振动波形调整方法,以改善线性马达振动效果。
本申请实施例提供的一种线性马达的控制装置,应用于电子设备,所述电子设备包括线性马达,包括:
确定单元,用于响应于操作指令,确定操作指令的操作对象的振动描述文件;
输出单元,用于输出符合振动描述文件的波形要求的振感,振感由处于第一振动状态的线性马达提供,第一振动状态与所述线性马达属性相适配。
为支持上述实施例中确定单元和输出单元的工作,线性马达的控制装置中的执行单元包括如下:
图21为本申请实施例提供的一种线性马达的控制装置,包括:获取单元801、第一生成单元802、第二生成单元803以及控制单元804。
其中,获取单元801用于获取振动描述文件。第一生成单元802用于依据所述振动描述文件描述的振动参数以及线性马达的属性,生成振动波形。第二生成单元803用于依据所述线性马达的属性以及所述振动波形,生成驱动波形。控制单元804用于使用所述驱动波形控制所述线性马达。
获取单元、第一生成单元、第二生成单元可以理解成图3a中波形处理模块中的执行单元,第一生成单元属于振动波形处理模块,第二生成单元属于驱动波形处理模块。控制单元指代图3a中合成模块和驱动IC。
可选的,获取单元801用于获取振动描述文件,用于:呈现第一界面,第一界面展示获取的波形;获取对所述波形的调整指令;响应调整指令,生成振动描述文件。
可选的,获取单元801执行响应所述调整指令,生成振动描述文件,用于:响应在交互界面对所述波形的调整指令,显示调整后波形;生成所述调整后波形的振动描述文件。
可选的,获取单元801执行响应在交互界面对所述波形的调整指令,生成调整后波形用于:响应对交互界面中显示的波形上预设的调整点的操作指令,在所述波形上显示调整点;响应在第一振动参数调整模式下对所述调整点的拖拽指令,显示所述第一振动参数调整后的波形,所述第一振动参数包括振幅和/或频率。
可选的,波形包括稳态波形;第一振动参数还包括:时间参数;获取单元801执行响应在第一振动参数调整模式下对所述调整点的拖拽指令,显示所述第一振动参数调整后的波形用于:响应在所述时间调整模式下对所述调整点的在时间轴上拖拽的指令,显示调整所述时间参数后的波形。
可选的,获取单元801执行响应在交互界面对所述波形的调整指令,显示调整后波形包括:响应对所述交互界面中显示的波形的拖拽指令,显示调整时间参数后的波形。
可选的,获取单元801还用于:在交互界面中显示被调整的参数的数值对应的指示信息。
可选的,获取单元801执行响应所述调整指令,生成振动描述文件,用于:响应叠加指令,叠加多个波形,并生成叠加后的波形的振动描述文件;所述多个波形为所述波形的 至少一部分波形。
可选的,第一生成单元802用于依据所述振动描述文件描述的振动参数以及所述线性马达的属性,生成振动波形时,用于获取所述振动描述文件的稳态波形的频率,并根据预设的第一映射规则以及所述线性马达的频率,映射至目标频率;和/或,获取所述振动描述文件的瞬态波形,扩展为波形序列,所述波形序列由多个目标瞬态波形组成,所述波形序列的频率与所述振动描述文件的瞬态波形的频率相同,所述目标瞬态波形的频率与所述线性马达适配。
可选的,所述目标频率依据下限频率、上限频率以及预设的第一映射规则获取,所述下限频率满足:所述线性马达在所述下限频率的振幅大于预设阈值,所述上限频率属于所述线性马达的谐振频率范围。
可选的,在所述映射至目标频率之后,第一生成单元802还用于:
将所述稳态波形的振幅,以第二映射规则,映射至目标振幅,所述第二映射规则包括:第一目标振幅范围内的振幅分布满足的类sin函数规则,所述第一目标振幅范围由所述线性马达的下限振幅与所述线性马达的上限振幅限定。
可选的,所述波形序列的振幅依据第三映射规则,从所述振动描述文件的瞬态波形的振幅映射获取;所述第三映射规则包括:第二目标振幅范围内的振幅分布满足的类sin函数规则,所述第二目标振幅范围由所述线性马达的下限振幅与所述线性马达的上限振幅限定。
可选的,第一生成单元802用于依据所述振动描述文件描述的振动参数以及所述线性马达的属性,生成振动波形时,用于:若所述振动描述文件描述的波形类型为稳态波形,从所述振动描述文件中提取启动时间以及停止时间;将所述启动时间内的所述稳态波形的振幅处理为满足:由零平滑变化至所述线性马达稳定振动状态的振幅,并将所述停止时间内的所述稳态波形的振幅处理为满足:由所述线性马达稳定振动状态的振幅平滑变化至零。
可选的,第一生成单元802将启动时间内的稳态波形的振幅处理为:由零平滑变化至线性马达稳定振动状态的振幅,用于:
对所述启动时间内的稳态波形叠加余弦波形,得到所述启动时间内的振幅由零平滑过渡为所述线性马达稳定振动状态的振幅的稳态波形;
或者,采用斜坡算法处理所述启动时间内的稳态波形,得到所述启动时间内的振幅由零平滑过渡为所述线性马达稳定振动状态的振幅的稳态波形。
可选的,第一生成单元802将停止时间内的稳态波形的振幅处理为:由线性马达稳定振动状态的振幅平滑变化至零,用于:
对所述停止时间内的稳态波形叠加余弦波形,得到所述停止时间内的振幅由所述线性马达稳定振动状态的振幅平滑过渡为零的稳态波形;
或者,采用斜坡算法处理所述停止时间内的稳态波形,得到所述停止时间内的振幅由所述线性马达稳定振动状态的振幅平滑过渡为零的稳态波形。
可选的,第一生成单元802以及第二生成单元803工作时,用于:
若所述振动描述文件描述的波形类型为瞬态波形,依据所述振动描述文件描述的振动参数以及线性马达的谐振频率,生成所述线性马达的驱动波形。
可选的,第一生成单元802以及第二生成单元803依据振动描述文件描述的振动参数 以及线性马达的谐振频率,生成所述线性马达的驱动波形,包括:
按照与所述线性马达的谐振频率相适配的波形数组的参数,生成多个半周期波形;
组合生成的多个半周期波形,得到所述振动描述文件描述的瞬态波形。
可选的,第一生成单元802以及第二生成单元803执行依据振动描述文件描述的振动参数以及线性马达的谐振频率,生成所述线性马达的驱动波形,用于:
从预先存储的多个驱动波形中,选择与线性马达的谐振频率相匹配的驱动波形,所述与所述线性马达的谐振频率相匹配的驱动波形,符合所述振动描述文件描述的瞬态波形的振动参数要求。
可选的,所述预先存储的多个驱动波形以成组方式保存,一组驱动波形对应线性马达的一种谐振频率;每一组驱动波形中包含至少一个驱动波形,每一个驱动波形适应于线性马达的振动波形的一种频率需求;
第一生成单元802以及第二生成单元803执行从预先存储的多个驱动波形中,选择与所述线性马达的谐振频率相匹配的驱动波形,所述与所述线性马达的谐振频率相匹配的驱动波形,符合所述振动描述文件描述的瞬态波形的振动参数要求,用于:
从多组驱动波形中,选择出与所述线性马达的谐振频率相匹配的一组驱动波形;从选择出的一组驱动波形中,确定出符合所述振动描述文件描述的瞬态波形的振动参数要求的驱动波形。
可选的,第一生成单元802以及第二生成单元803执行依据振动描述文件描述的振动参数以及线性马达的谐振频率,生成所述线性马达的驱动波形,用于:从预先存储的多个振动波形中,选择出符合所述振动描述文件描述的瞬态波形的振动参数要求的振动波形;处理选择出的振动波形,得到与所述线性马达的谐振频率相匹配的驱动波形。
为了实现更强的功能以及更优的用户体验,可以针对电子设备的不同业务场景设计线性马达的振动,例如,在手机播放音乐的过程中,线性马达随着音乐的节奏振动。但电子设备的不同业务有重合的可能性,例如,在手机播放音乐的过程中接收到信息,即音乐播放业务与信息业务重合。在电子设备的不同业务有重合的情况下,某个业务场景下的线性马达的振动,可能对其它业务造成干扰,接上例,用户查看信息的情况下,手机仍然播放音乐,线性马达仍被控制跟随音乐振动,则振动会对用户查看信息造成干扰。
具体的,假设电子设备在执行实现第一事件(如音频播放)的程序的过程中,第二事件(如短信息应用)被触发(如接收到短信息),则实现第一事件的程序被中止,并且实现第二事件的程序被执行,直到第二事件完成后,继续执行实现第一事件的程序。或者,第一事件与第二事件同时执行,即实现第一事件的程序与实现第二事件的程序被并行执行。
简单而言,中断就是某个事件的执行被打断,或者某个事件的执行过程中新增并行执行的事件。
中断事件是指打断正在执行的事件,或者,在其它事件正在执行时新加入与其它事件并行执行的事件。
可见,原本为了实现更优的用户体验而针对业务场景设计的振动,在一定情况下,反而可能会降低用户体验,可见,电子设备的振动功能有待进一步完善,为了完善电子设备的振动功能以及避免降低用户体验的可能性,本申请实施例提供了驱动波形的调整方法以 及装置。
马达191包括图1a以及图1b所示的线性马达的至少一个。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以及数据处理。例如,在本实施例中,处理器110可以通过执行存储在内部存储器121中的指令、装置或者模块,对驱动波形进行调整。
内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备的各种功能应用以及数据处理。
本申请实施例所述的驱动波形的调整方法,可以应用在图3a中的驱动波形处理模块,进一步的,还需振动描述文件的生成模块的配合。
下面将对本申请实施例所述的驱动波形的调整方法进行详细的说明。
图22a为本申请实施例公开的一种驱动波形的调整方法,包括以下步骤:
S401、监测到中断事件。
需要被监测的中断事件的信息,例如标识,可以预先按照需求配置,在监测到中断事件的信息后,确定监测到中断事件。
S402、响应中断事件,获取中断事件对应的动态描述文件。
振动描述文件用于描述振动波形的振动参数,例如振动波形的频率和振幅等。动态描述文件是指描述在中断事件发生的过程中控制线性马达振动的振动参数的振动描述文件。
与动态描述文件对应的是静态描述文件,静态描述文件是指描述在中断事件没有发生的情况下,控制线性马达振动的振动参数的振动描述文件。
也就是说,在中断事件没有发生的情况下,使用静态描述文件控制线性马达的振动,而在中断事件发生的过程中,使用动态描述文件控制线性马达的振动,以实现减轻线性马达的振动对于中断事件的干扰。
本实施例中,中断事件以短信息应用接收到短信息为例,被中断的事件以播放音乐为例。
中断事件与动态描述文件之间的对应关系,可以预先配置,例如,在动态描述文件中写入对应的中断事件的标识。
可选的,动态描述文件可以被预先配置,本步骤从存储空间中获取,也可以,响应中断事件,生成中断事件对应的动态描述文件。动态描述文件的生成方法将在以下实施例中说明。
S403、使用中断事件对应的动态描述文件,调整驱动波形。
如前所述,动态描述文件和静态描述文件均描述振动参数,例如振幅和频率。并且,动态描述文件的作用为减轻线性马达的振动对于中断事件的干扰。所以,可以理解的是, 动态描述文件描述的振动参数中,至少有一项振动参数的数值小于静态描述文件中该振动参数的数值。
例如,静态描述文件描述的瞬态波形01的振幅为0.9,而动态描述文件描述的瞬态波形02的振幅为0.3,静态描述文件描述的瞬态波形01与动态描述文件描述的瞬态波形02的频率相同。
因此,如图22b,S403的具体实现步骤为:
S4031、对比静态描述文件描述的振动参数与动态描述文件描述的振动参数的数值的差异。
例如,依次对比静态描述文件描述的振幅值与动态描述文件描述的振幅值之差。可以理解的是,可以预先配置需对比的参数,仅对比对于振感影响较大的参数,例如振幅,以降低计算量。
静态描述文件的具体获取过程,将在以下实施例中说明。
可以理解的是,静态描述文件描述的振动参数可以与动态描述文件描述的振动参数相同,也可以不同。
进一步的,动态描述文件描述的振动参数的种类为静态描述文件描述的振动参数的种类的子集。也就是说,因为动态描述文件在中断事件发生的情况下使用,结合上述应用场景,所以有可能无需对驱动波形的全部参数进行调整,而仅调整与振感相关性较强的参数即可,因此,动态描述文件可以仅描述与振感相关性较强的参数,所以,动态描述文件描述的参数的种类可能少于静态描述文件描述的参数的种类。
例如,控制线性马达跟随播放的音乐振动的静态描述文件中包括振幅、频率、振动时间等参数,而在短信息应用的进程被执行的过程中,控制线性马达振动的静态描述文件中仅包括振幅。在对比两份文件时,只需对比振幅的数值即可,以降低对比的代价(包括用户可感受到的时延等)。
可以理解的是,差异是指同类的参数之间数值的差异。
S4032、依据差异,生成调整系数。
例如依据静态描述文件描述的振幅与动态描述文件描述的振幅的数值差异,生成振幅调整系数。
S4033、使用调整系数,调整静态描述文件转换的驱动波形。
例如,使用振幅调整系数,调整调整静态描述文件转换的驱动波形的振幅。进一步的,例如振幅调整系数为0.3,则将驱动波形的振幅乘以0.3,得到调整后的振幅。
还以在手机播放音乐的过程中接收到信息这种场景举例:在信息应用接收到短信息后,电子设备调整驱动波形,例如,将驱动波形的振幅乘以调整系数0.3,使得驱动波形跟随音乐的振动的强度减弱,从而减轻对于用户查看短信息的干扰。
可以理解的是,可选的,在中断事件的持续期间,使用动态描述文件调整驱动波形,在中断事件结束后,停止依据动态描述文件对驱动波形的调整,而还使用静态描述文件描述的振动波形转换为驱动波形,再使用驱动波形驱动线性马达。
综上所述并结合以上场景举例,在播放音乐而没有接收到信息的过程中,使用静态描述文件描述的振动波形转换为驱动波形,再使用驱动波形控制线性马达振动,实现线性马 达伴随音乐振动,在接收到信息后,使用动态描述文件描述的振动波形,调整驱动波形,从而降低驱动波形的振幅,在用户查看信息的情况下,线性马达的振幅会变小,所以,能够降低对于用户的干扰。
可见,本实施例所述的驱动波形的调整方法,响应中断事件,使用动态描述文件对调整驱动波形,使得线性马达的振动适应于中断事件,跟随场景的变换调整振感,从而为用户提供更优的振感体验。并且,还扩展了振动功能。
如前所述,静态描述文件以及动态描述文件均可以被预先配置在存储空间,可供图3a所示的驱动波形处理模块可从存储空间读取并使用,或者由图3a所示的驱动波形处理模块生成。
图23为静态描述文件的生成方法的流程,包括以下步骤:
S501、展示第一基础波形。
可以呈现第一界面,第一界面展示第一基础波形。
其中,第一基础波形为依据待应用振动的对象的特点获取的波形,或者,从预先配置的场景振感库中选择的波形。
具体的,待应用振动的对象可以为音频,依据音频的音效特点,例如:包络、频率、振幅、音色和节奏等,生成基础波形。可以理解的是,待应用振动的对象可以从外部接收,例如接收用户导入的音频文件。如图6a所示的交互界面,用户可点击交互界面右上角的音符图标51,导入音频文件,交互界面展示依据导入的音频文件生成的基础波形。
具体的,预先配置的场景振感库中包括多种场景下的振感对应的波形,例如,(游戏中)打枪场景下的振感对应的波形、以及(游戏中)爆炸场景下的振感对应的波形。场景振感库中的波形文件,可以被增加、删除或修改。
可以理解的是,可以展示交互界面,用户可以基于交互界面,从场景振感库中选定至少一种场景下的振感对应的波形,如图6a所示的交互界面用户可点击交互界面右上角的文件图标52,导入场景振感库中的波形,响应用户的选择操作触发的选择指令,将用户从场景振感库中选择的波形作为基础波形。
S502、响应对第一基础波形的调整指令,生成静态描述文件。
本步骤中所述的调整指令可以指示:波形的参数的调整,例如对第一基础波形的频率、开始时间、持续时间以及振幅等振动参数进行调整,还可以指示叠加波形,如叠加不同振动事件的第一基础波形。
进行叠加的多个波形,不限于事件。波形叠加的具体的计算方式,可以参见现有技术,例如,幅值相加,这里不再赘述。波形叠加的目的在于,通过叠加呈现扩展多种振动效果,能够支持多种场景的振动效果的叠加,使得用户的振动感受更为丰富。
响应调整指令,对基础波形进行调整,并响应保存控件55发出的指令,生成振动描述文件。可选的,响应保存控件55发出的指令,还可以在交互界面显示调整后的波形,即振动描述文件描述的波形。
S503、在调整后的波形的参数的数值超过调整限值的情况下,展示提示信息。
提示信息用于提示调整超过调整限值。
可选的,在调整后的波形的参数的数值超过调整限值的情况下,不响应调整指令。
具体的,调整限值可以包括但不限于:振幅限值、启动时间限值以及停止时间限值。
其中,振幅限值可以依据待控制的线性马达的最大位移确定。启动时间限值以及停止时间限值可以依据待控制的线性马达的属性确定。
设置调整限值的目的在于,保护待控制的线性马达不被损坏。
与现有技术中技术人员手写代码形成振动描述文件的方式相比,能够提高振动描述文件的获取效率,并且,能够降低用户获取振动描述文件的技术门槛。因为先提供基础波形,所以使得用户可以基于基础波形获取所需的振动描述文件,从而进一步提高效率以及降低用户获取振动描述文件的技术门槛。
动态描述文件的生成流程,与图6b所示的流程的区别在于:基础波形,为了与静态描述文件相区分,这里称为第二基础波形,从外源接收,具体的,外源可以为应用、设备等波形的提供源头设备。其它步骤与图6b所示的流程相同,这里不再赘述。动态描述文件也可以可视化并且被调整,为后续动态调整线性马达的振动,提供了更大的可能性和灵活性。
需要说明的是,以上实施例中,交互界面仅为一种实现方式,具有更高的便利性和更好的用户体验,但对基础波形的调整方式,并不限于基于交互界面实现。
图24为本申请实施例公开的一种驱动波形的调整装置,包括:获取单元以及调整单元。可选的,所述装置还可以包括提示单元。
获取单元用于响应中断事件,获取所述中断事件对应的振动描述文件;所述振动描述文件用于描述振动参数。调整单元用于使用所述振动参数,调整驱动波形。提示单元用于在调整后的波形的所述参数的数值超过调整限值的情况下,展示提示信息,所述提示信息用于提示调整超过所述调整限值。
可选的,所述调整单元用于使用所述振动参数,调整驱动波形的具体实现方式为:对比静态描述文件描述的振动参数与动态描述文件描述的振动参数的数值的差异;所述静态描述文件用于在所述中断事件没有发生的情况下,控制所述线性马达振动;所述动态描述文件为所述中断事件对应的振动描述文件;依据所述差异,生成调整系数;使用所述调整系数,调整所述静态描述文件转换的驱动波形,使得调整的准确性高且便于操作。
可选的,所述动态描述文件描述的振动参数的种类为所述静态描述文件描述的振动参数的种类的子集,以降低对比的代价。
可选的,所述获取单元还用于:依据应用的振动特点获取波形,或者,从预先配置的场景振感波形中选择波形,展示第一基础波形;响应对所述第一基础波形的调整指令,生成所述静态描述文件,能够提高效率以及降低用户获取振动描述文件的技术门槛。
可选的,所述获取单元用于获取所述中断事件对应的振动描述文件的具体实现方式为:从外源接收并展示第二基础波形;响应对所述第二基础波形的调整指令,生成所述中断事件对应的振动描述文件。动态描述文件也可以可视化并且被调整,为后续动态调整线性马达的振动,提供了更大的可能性和灵活性。
可选的,所述调整指令指示调整波形的参数以及叠加多个波形的至少一项。
图24所示的驱动波形的调整装置,不仅能够扩展振动功能,即响应中断事件调整驱动 波形,以使得马达的振动适应于中断事件,还能够提升用户的体验。
本申请实施例还提供了一种可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述实施例所述的线性马达的振动波形调整方法,以改善线性马达振动效果。
可选的,如图21所示,线性马达的控制装置还包括:
调整单元805,用于在控制单元804使用所述驱动波形控制所述线性马达过程中,响应中断事件,获取所述中断事件对应的振动描述文件;振动描述文件用于描述振动参数;使用所述振动参数,调整驱动波形。
调整单元可以理解成是图3a中波形处理模块中的执行单元。
可选的,调整单元805执行使用所述振动参数,调整驱动波形,用于:对比静态描述文件描述的振动参数与动态描述文件描述的振动参数的数值的差异;所述静态描述文件用于在所述中断事件没有发生的情况下,控制所述线性马达振动;所述动态描述文件为所述中断事件对应的振动描述文件;依据所述差异,生成调整系数;使用所述调整系数,调整所述静态描述文件转换的驱动波形。
可选的,动态描述文件描述的振动参数的种类为静态描述文件描述的振动参数的种类的子集。
可选的,静态描述文件的获取过程包括:依据应用的振动特点获取波形,或者,从预先配置的场景振感波形中选择波形,展示第一基础波形;响应对所述第一基础波形的调整指令,生成所述静态描述文件。
可选的,调整单元805执行获取中断事件对应的振动描述文件包括:从外源接收并展示第二基础波形;响应对所述第二基础波形的调整指令,生成所述中断事件对应的振动描述文件。
本实施例所述的线性马达的控制装置,能够控制各种线性马达振动,具有较高的通用性。

Claims (12)

  1. 一种线性马达的控制方法,应用于电子设备,所述电子设备包括线性马达,其特征在于,包括:
    响应于操作指令,确定所述操作指令的操作对象的振动描述文件;
    输出符合所述振动描述文件的波形要求的振感,所述振感由处于第一振动状态的线性马达提供,所述第一振动状态与所述线性马达属性相适配。
  2. 根据权利要求1所述的线性马达的控制方法,其特征在于,所述输出符合所述振动描述文件的波形要求的振感,包括:
    输出在启动时间内具有第一变化趋势,在停止时间内具有第二变化趋势的波形对应的振感,所述第一变化趋势为:稳态波形的振幅由零平滑变化至线性马达稳定振动状态的振幅,所述第二变化趋势为:稳态波形的振幅由所述线性马达稳定振动状态的振幅平滑变化至零。
  3. 根据权利要求1所述的线性马达的控制方法,其特征在于,所述输出符合所述振动描述文件的波形要求的振感,所述振感由处于第一振动状态的线性马达提供,所述第一振动状态与所述线性马达属性相适配,包括:
    输出频率为目标频率的稳态波形对应的振感,所述目标频率由所述振动描述文件的稳态波形的频率,根据预设的第一映射规则以及所述线性马达的频率映射得到;
    和/或,输出波形序列对应的振感,所述波形序列的频率与所述振动描述文件的瞬态波形的频率相同,所述目标瞬态波形的频率与所述线性马达适配。
  4. 根据权利要求1所述的线性马达的控制方法,其特征在于,所述输出符合所述振动描述文件的波形要求的振感过程中,还包括:
    响应中断事件,获取所述中断事件对应的振动描述文件;所述振动描述文件用于描述振动参数;
    调整所述振感为所述中断事件对应的振感,所述中断事件对应的振感符合所述中断事件对应的振动描述文件的波形要求。
  5. 根据权利要求1所述的线性马达的控制方法,其特征在于,所述生成所述操作对象的振动描述文件的过程包括:
    响应于在交互界面对导入控件的操作指令,在所述交互界面显示所述操作对象的基础波形;所述操作对象包括多媒体文件以及场景振感波形的至少一个;
    响应在所述交互界面对所述基础波形的调整指令,显示调整后波形;
    响应在所述交互界面对生成控件的操作指令,生成所述操作对象的振动描述文件。
  6. 根据权利要求5所述的线性马达的控制方法,其特征在于,所述响应在所述交互界面对所述基础波形的调整指令,显示调整后波形包括:
    响应对所述交互界面中显示的所述基础波形上预设的调整点的操作指令,在所述基础波形上显示调整点;
    响应在第一振动参数调整模式下对所述调整点的拖拽指令,显示所述第一振动参数调整后的波形,所述第一振动参数包括振幅和/或频率。
  7. 根据权利要求6所述的线性马达的控制方法,其特征在于,所述基础波形包括稳态波形;所述第一振动参数还包括:时间参数;
    所述响应在第一振动参数调整模式下对所述调整点的拖拽指令,显示所述第一振动参数调整后的波形包括:
    响应在所述时间调整模式下对所述调整点的在时间轴上拖拽的指令,显示调整所述时间参数后的波形。
  8. 根据权利要求5所述的线性马达的控制方法,其特征在于,所述响应在所述交互界面对所述基础波形的调整指令,显示调整后波形包括:
    响应对所述交互界面中显示的波形的拖拽指令,显示调整时间参数后的波形。
  9. 根据权利要求5所述的线性马达的控制方法,其特征在于,所述响应在所述交互界面对所述基础波形的调整指令,显示调整后波形包括:
    响应在所述交互界面拖拽多个波形至时间范围重叠的指令,显示所述多个波形叠加后的波形。
  10. 一种线性马达的控制装置,应用于电子设备,所述电子设备包括线性马达,其特征在于,包括:
    确定单元,用于响应于操作指令,确定所述操作指令的操作对象的振动描述文件;
    输出单元,用于输出符合所述振动描述文件的波形要求的振感,所述振感由处于第一振动状态的线性马达提供,所述第一振动状态与所述线性马达属性相适配。
  11. 一种电子设备,其特征在于,包括:
    一个或多个处理器;
    存储器,其上存储有程序;
    当所述程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至9中任意一项所述的线性马达的控制方法。
  12. 一种可读存储介质,其特征在于,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至9中任意一项所述的线性马达的控制方法。
PCT/CN2022/073173 2021-05-20 2022-01-21 线性马达的控制方法、装置、设备及可读存储介质 WO2022242217A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/796,623 US20240186920A1 (en) 2021-05-20 2022-01-21 Method and apparatus for controlling linear motor, device, and readable storage medium
EP22743700.1A EP4113820A4 (en) 2021-05-20 2022-01-21 METHOD AND DEVICE FOR CONTROLLING A LINEAR MOTOR, DEVICE AND READABLE STORAGE MEDIUM

Applications Claiming Priority (14)

Application Number Priority Date Filing Date Title
CN202110553942 2021-05-20
CN202110553963.4 2021-05-20
CN202110552996.7 2021-05-20
CN202110553942.2 2021-05-20
CN202110553954 2021-05-20
CN202110553963 2021-05-20
CN202110553961.5 2021-05-20
CN202110552996 2021-05-20
CN202110552989.7 2021-05-20
CN202110553961 2021-05-20
CN202110553954.5 2021-05-20
CN202110552989 2021-05-20
CN202110668263.X 2021-06-16
CN202110668263.XA CN115378302B (zh) 2021-05-20 2021-06-16 线性马达的控制方法、装置、设备及可读存储介质

Publications (1)

Publication Number Publication Date
WO2022242217A1 true WO2022242217A1 (zh) 2022-11-24

Family

ID=84059021

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/073173 WO2022242217A1 (zh) 2021-05-20 2022-01-21 线性马达的控制方法、装置、设备及可读存储介质

Country Status (4)

Country Link
US (1) US20240186920A1 (zh)
EP (1) EP4113820A4 (zh)
CN (1) CN115378302B (zh)
WO (1) WO2022242217A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024212048A1 (zh) * 2023-04-10 2024-10-17 瑞声开泰声学科技(上海)有限公司 基于微触感的振动驱动方法及相关设备
CN116418270B (zh) * 2023-05-29 2023-11-03 荣耀终端有限公司 一种线性马达的控制方法及电子设备
CN116345984B (zh) * 2023-05-29 2023-11-07 荣耀终端有限公司 一种线性马达的控制方法及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050237011A1 (en) * 2003-04-30 2005-10-27 Woods Samuel G Generic motor control system
CN106059440A (zh) * 2016-05-31 2016-10-26 维沃移动通信有限公司 一种移动终端的振动马达的控制方法及移动终端
WO2018223535A1 (zh) * 2017-06-07 2018-12-13 华为技术有限公司 一种移动终端的振动提醒方法和移动终端
CN109887528A (zh) * 2019-02-15 2019-06-14 上海艾为电子技术股份有限公司 马达随音频振动的方法及装置、存储介质及电子设备
CN111966211A (zh) * 2014-03-31 2020-11-20 索尼公司 触觉再现设备、触觉再现系统和触觉再现方法
CN112269895A (zh) * 2020-11-06 2021-01-26 Oppo广东移动通信有限公司 一种振动控制方法、装置及计算机可读存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6498863B2 (ja) * 2012-12-13 2019-04-10 イマージョン コーポレーションImmersion Corporation 増加したlra帯域幅を有するハプティックシステム
US9245429B2 (en) * 2013-09-06 2016-01-26 Immersion Corporation Haptic warping system
CN105322842B (zh) * 2014-08-01 2019-07-12 昆山广兴电子有限公司 马达的驱动控制方法及驱动控制系统
EP4046001A1 (en) * 2019-10-14 2022-08-24 Lofelt GmbH Systems and methods for authoring an audio signal and for transforming the authored audio signal into a haptic data file
CN111030412B (zh) * 2019-12-04 2022-04-29 瑞声科技(新加坡)有限公司 一种振动波形的设计方法及振动马达
CN111552377B (zh) * 2020-03-30 2024-05-17 瑞声科技(新加坡)有限公司 振动信号的生成方法、装置、设备及存储介质
CN112506341B (zh) * 2020-12-01 2022-05-03 瑞声新能源发展(常州)有限公司科教城分公司 一种振动效果的生成方法、装置、终端设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050237011A1 (en) * 2003-04-30 2005-10-27 Woods Samuel G Generic motor control system
CN111966211A (zh) * 2014-03-31 2020-11-20 索尼公司 触觉再现设备、触觉再现系统和触觉再现方法
CN106059440A (zh) * 2016-05-31 2016-10-26 维沃移动通信有限公司 一种移动终端的振动马达的控制方法及移动终端
WO2018223535A1 (zh) * 2017-06-07 2018-12-13 华为技术有限公司 一种移动终端的振动提醒方法和移动终端
CN109887528A (zh) * 2019-02-15 2019-06-14 上海艾为电子技术股份有限公司 马达随音频振动的方法及装置、存储介质及电子设备
CN112269895A (zh) * 2020-11-06 2021-01-26 Oppo广东移动通信有限公司 一种振动控制方法、装置及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4113820A4

Also Published As

Publication number Publication date
EP4113820A4 (en) 2024-02-28
CN115378302A (zh) 2022-11-22
CN115378302B (zh) 2023-12-12
US20240186920A1 (en) 2024-06-06
EP4113820A1 (en) 2023-01-04

Similar Documents

Publication Publication Date Title
WO2021000803A1 (zh) 一种控制屏幕小窗口的方法及相关设备
WO2021103981A1 (zh) 分屏显示的处理方法、装置及电子设备
WO2020211701A1 (zh) 模型训练方法、情绪识别方法及相关装置和设备
CN113645351B (zh) 应用界面交互方法、电子设备和计算机可读存储介质
CN109271081B (zh) 滚动截屏的方法及电子设备
WO2020134869A1 (zh) 电子设备的操作方法和电子设备
WO2022242217A1 (zh) 线性马达的控制方法、装置、设备及可读存储介质
WO2022068819A1 (zh) 一种界面显示方法及相关装置
CN110633043A (zh) 一种分屏处理方法及终端设备
WO2022242218A1 (zh) 驱动波形的调整方法、装置、设备及可读存储介质
CN113986070B (zh) 一种应用卡片的快速查看方法及电子设备
CN112751954A (zh) 一种操作提示的方法和电子设备
CN112527093A (zh) 手势输入方法及电子设备
CN112068907A (zh) 一种界面显示方法和电子设备
CN112698756A (zh) 用户界面的显示方法及电子设备
WO2022242300A1 (zh) 线性马达的振动波形调整方法及装置
JP2023500656A (ja) 表示要素の表示方法及び電子機器
CN113448658A (zh) 截屏处理的方法、图形用户接口及终端
CN114089932A (zh) 多屏显示方法、装置、终端设备及存储介质
CN115016697A (zh) 投屏方法、计算机设备、可读存储介质和程序产品
WO2022242299A1 (zh) 驱动波形的调整方法及装置、电子设备、可读存储介质
WO2022078116A1 (zh) 笔刷效果图生成方法、图像编辑方法、设备和存储介质
CN115459643A (zh) 线性马达的振动波形调整方法及装置
WO2022242301A1 (zh) 振动描述文件的生成方法、装置、设备及可读存储介质
CN115933952A (zh) 一种触控采样率调节方法及相关装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 17796623

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2022743700

Country of ref document: EP

Effective date: 20220802

NENP Non-entry into the national phase

Ref country code: DE