Vibration waveform processing method, device, equipment and readable storage medium

By adjusting the vibration description file and using a cosine waveform or ramp algorithm to process the steady-state waveform, the amplitude disorder problem of the linear motor during the start and stop time is solved, and a smooth transition of the vibration sense and low-noise output are achieved.

CN115372819BActive Publication Date: 2025-09-30HONOR DEVICE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202110666473.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-05-20
Filing Date
2021-06-16
Publication Date
2025-09-30
Estimated Expiration
2041-06-16

AI Technical Summary

Technical Problem

The linear motor has amplitude disturbances during start-up and stop times, which results in overdrive, unstable vibration, and high vibration noise.

Method used

By adjusting the vibration description file and using a cosine waveform or ramp algorithm to process the steady-state waveform, the amplitude during the start and stop time can be smoothly transitioned, ensuring that the linear motor vibrates smoothly when starting and stopping.

Benefits of technology

It effectively solves the overdrive problem of the linear motor during start-up and stop times, achieving smooth transition of vibration and low-noise output.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115372819B_ABST
    Figure CN115372819B_ABST
Patent Text Reader

Abstract

The embodiments of the present application provide a method, apparatus, device and readable storage medium for processing a vibration waveform; in the method for processing a vibration waveform, a vibration description file is obtained and the waveform type described in the vibration description file is identified; if the waveform type described in the vibration description file is a steady-state waveform, the start time and the stop time are extracted from the vibration description file; the amplitude of the steady-state waveform within the start time is processed as: a smooth change from zero to the amplitude of the stable vibration state of the linear motor, and the amplitude of the steady-state waveform within the stop time is processed as: a smooth change from the amplitude of the stable vibration state of the linear motor to zero.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on May 20, 2021, with application number 202110553942.2, and invention name “Vibration waveform processing method, device, equipment and readable storage medium”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of waveform processing technology, and in particular to a vibration waveform processing method, device, equipment and readable storage medium. Background Art

[0003] The waveform used to control the linear motor can be either a steady-state waveform or a transient waveform. Specifically, when the linear motor is controlled to operate with a steady-state waveform and the linear motor is not operating at a resonant frequency, an overdrive problem may occur during the startup and shutdown of the linear motor. Summary of the Invention

[0004] The present application provides a vibration waveform processing method, device, equipment and storage medium to solve the overdrive problem of a linear motor during startup time and stop time.

[0005] In order to achieve the above objectives, this application provides the following technical solutions:

[0006] In a first aspect, the present application provides a method for processing a vibration waveform applied to an electronic device, the electronic device including a linear motor, and the method for processing the vibration waveform including: first obtaining a vibration description file, and then identifying the waveform type described in the vibration description file; if it is found that the waveform type described in the vibration description file is a steady-state waveform, the start time and the stop time can be extracted from the vibration description file; and the amplitude of the steady-state waveform within the start time is processed as: a smooth change from zero to the amplitude of the stable vibration state of the linear motor, and the amplitude of the steady-state waveform within the stop time is processed as: a smooth change from the amplitude of the stable vibration state of the linear motor to zero.

[0007] From the first aspect, it can be seen that: during the startup time, 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 changes smoothly from the amplitude of the stable vibration state of the linear motor to zero. The linear motor can be controlled to run smoothly during the startup time and the stop time, overdriving problem can be overcome.

[0008] In one possible implementation, the amplitude of the steady-state waveform during the startup time is processed as a method of smoothly changing from zero to the amplitude of the stable vibration state of the linear motor. This can be done by superimposing a cosine waveform on the steady-state waveform during the startup time to obtain a steady-state waveform in which the amplitude during the startup time smoothly transitions from zero to the amplitude of the stable vibration state of the linear motor.

[0009] In one possible implementation, the amplitude of the steady-state waveform during the startup time is processed as a method of smoothly changing from zero to the amplitude of the stable vibration state of the linear motor. The method can be: using a ramp algorithm to process the steady-state waveform during the startup time, and obtaining a steady-state waveform in which the amplitude during the startup time smoothly transitions from zero to the amplitude of the stable vibration state of the linear motor.

[0010] In one possible implementation, the amplitude of the steady-state waveform during the stop time is processed as follows: the amplitude of the linear motor's stable vibration state changes smoothly to zero. This can be done by superimposing a cosine waveform on the steady-state waveform during the stop time to obtain a steady-state waveform in which the amplitude of the linear motor's stable vibration state smoothly transitions to zero during the stop time.

[0011] In one possible implementation, the amplitude of the steady-state waveform during the stop time is processed as: the amplitude of the linear motor's stable vibration state changes smoothly to zero. This can be: using a ramp algorithm to process the steady-state waveform during the stop time, to obtain a steady-state waveform in which the amplitude during the stop time smoothly transitions from the amplitude of the linear motor's stable vibration state to zero.

[0012] In a second aspect, the present application provides a vibration waveform processing device for an electronic device, the electronic device including a linear motor, the processing device including: an acquisition unit capable of acquiring a vibration description file; an identification unit for identifying the waveform type described in the vibration description file; an extraction unit for extracting the start time and the stop time from the vibration description file when the waveform type described in the vibration description file is a steady-state waveform; and a processing unit for processing the amplitude of the steady-state waveform within the start time as: a smooth change from zero to the amplitude of the stable vibration state of the linear motor, and processing the amplitude of the steady-state waveform within the stop time as: a smooth change from the amplitude of the stable vibration state of the linear motor to zero.

[0013] From the second aspect, it can be seen that: during the startup time, the processing unit processes the amplitude of the linear motor smoothly from zero to the amplitude of the linear motor's stable vibration state, and during the stop time, the processing unit processes the amplitude of the linear motor smoothly from the amplitude of the linear motor's stable vibration state to zero, which can control the linear motor to run smoothly during the startup time and stop time, overcoming the overdrive problem.

[0014] In one possible implementation, when the processing unit executes processing of the amplitude of the steady-state waveform within the startup time so that the amplitude changes smoothly from zero to the amplitude of the stable vibration state of the linear motor, it is used to: superimpose a cosine waveform on the steady-state waveform within the startup time to obtain a steady-state waveform in which the amplitude within the startup time smoothly transitions from zero to the amplitude of the stable vibration state of the linear motor; or, use a ramp algorithm to process the steady-state waveform within the startup time to obtain a steady-state waveform in which the amplitude within the startup time smoothly transitions from zero to the amplitude of the stable vibration state of the linear motor.

[0015] In one possible implementation, when the processing unit processes the amplitude of the steady-state waveform during the stop time so that the amplitude of the linear motor in the stable vibration state smoothly changes to zero, it is used to: superimpose a cosine waveform on the steady-state waveform during the stop time to obtain a steady-state waveform in which the amplitude of the linear motor in the stable vibration state smoothly transitions to zero; or, use a ramp algorithm to process the steady-state waveform during the stop time to obtain a steady-state waveform in which the amplitude of the linear motor in the stable vibration state smoothly transitions to zero.

[0016] In the third aspect, the present application provides an electronic device comprising: one or more processors and a memory storing a program, wherein when the program is executed by the one or more processors, the one or more processors implement the vibration waveform processing method proposed in the first aspect and any one of its possible implementation methods.

[0017] In a fourth aspect, the present application provides a readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the method for processing a vibration waveform proposed in the first aspect and any one of its possible implementations is implemented. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Figure 1a This is the structure and application example diagram of the X-axis linear motor;

[0019] Figure 1b This is the structure and application example diagram of the Z-axis linear motor;

[0020] Figure 2a An envelope of a vibration waveform for driving a linear motor at a resonant frequency is provided;

[0021] Figure 2b Provided is an envelope of a vibration waveform for driving a linear motor at a non-resonant frequency;

[0022] Figure 3 A schematic diagram of the structure of an electronic device disclosed in an embodiment of the present application;

[0023] Figure 4aAn example diagram of the software architecture for the linear motor vibration waveform adjustment method provided in an embodiment of the present application;

[0024] Figure 4b for Figure 4a An example diagram of the process flow for implementing the functions of the software architecture shown;

[0025] Figure 5a A flowchart of a method for processing a vibration waveform provided in an embodiment of the present application;

[0026] Figure 5b A diagram showing the adjustment of the vibration waveform of a linear motor provided in an embodiment of the present application;

[0027] Figure 6 This is a schematic structural diagram of the vibration waveform processing device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0028] The terms "first", "second" and "third" in the specification, claims and drawings of this application are used to distinguish different objects rather than to limit a specific order.

[0029] In this application, the terms "comprises," "comprising," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or apparatus that includes a list of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not preclude the presence of additional identical elements in the process, method, article, or apparatus that includes the element.

[0030] A linear motor is installed in an electronic device to generate a vibration. In different scenarios, the linear motor is controlled to vibrate to produce different vibration effects, allowing the user to perceive the vibration, prompting the user or providing feedback on the user's operation, as follows:

[0031] 1. Corresponding to different business scenarios (such as time reminder, receiving messages, incoming calls, alarm clocks, games, etc.), different vibration effects can be used.

[0032] 2. As feedback for touch. For example, touch operations on different applications (such as taking a photo, playing audio, etc.) can correspond to different vibration effects. Touch operations on different areas of the display can also correspond to different vibration effects.

[0033] Commonly used linear motors in electronic devices include X-axis linear motors (also known as square or horizontal linear motors) and Z-axis linear motors (also known as circular or longitudinal linear motors). Figure 1aThis is the structure and application example of the X-axis linear motor. Figure 1b This section shows the structure and application examples of Z-axis linear motors.

[0034] like Figure 1a As shown, an X-axis linear motor has a long, rectangular or square shape. Assuming the X-axis is horizontal, the Y-axis is vertical, and the Z-axis is perpendicular to both, the X-axis and Y-axis. Depending on the orientation, the X-axis linear motor's actuator can move in either the X-axis or Y-axis direction, enabling a longer travel. Installing an X-axis linear motor in an electronic device along the X-axis provides X-axis vibration, while installing it along the Y-axis provides Y-axis vibration.

[0035] like Figure 1b As shown, the Z-axis linear motor has a cylindrical appearance and its actuator can move in the Z-axis direction. The Z-axis linear motor is installed in electronic devices and can generate vibration along the thickness direction of the electronic device.

[0036] The vibration description file is one of the key elements in controlling the vibration of a linear motor: the vibration description file is used to describe the vibration waveform of the linear motor. The vibration waveform indicates various vibration parameters during the motor vibration process, such as amplitude and frequency.

[0037] According to the vibration waveform described in the vibration description file, the linear motor is controlled to run at the resonant frequency. Figure 2a The amplitude of the linear motor transitions smoothly during the start-up time (0 to t1) and the stop time (t2 to t3). In this way, the vibration brought by the linear motor is smooth and the vibration noise is low.

[0038] The resonant frequency of a linear motor is a key parameter in its operation. Resonant frequency, also known as resonance frequency, refers to the condition at which a physical system (a linear motor) vibrates with a greater amplitude at a specific frequency than at other frequencies. This specific frequency is called the resonant frequency. At this resonant frequency, even a small driving force can produce significant vibration in the linear motor. Therefore, linear motors are generally driven to operate at the resonant frequency.

[0039] However, in order to meet the user's multi-vibration experience needs, or the different vibration needs of different applications, it is necessary to use any frequency point within a certain frequency range to drive the linear motor to operate. This means that the linear motor does not operate at the resonant frequency, which brings the following problems: Figure 2b During the start-up time (0 to t1) and the stop time (t2 to t3), the amplitude of the linear motor is disordered. This amplitude disorder is called the motor overdrive problem. The vibration caused by the linear motor is not stable and smooth, and the vibration noise is also high.

[0040] Therefore, it is necessary to adjust the vibration waveform described in the vibration description file so that when the vibration waveform is output by the linear motor that implements the vibration, the amplitude of the linear motor is smooth during the start time and stop time, the vibration feeling is steady and smooth, and the noise is low.

[0041] The method for processing the vibration waveform of a linear motor disclosed in an embodiment of the present application adjusts the vibration waveform described in a vibration description file based on the characteristics of the linear motor implementing vibration, so that the linear motor implementing vibration can output a smooth amplitude at the start time and the stop time, thereby solving the overdrive problem.

[0042] The method for processing the vibration waveform of a linear motor disclosed in the embodiments of the present application is applied to electronic devices equipped with a linear motor. The electronic devices equipped with a linear motor can be mobile phones, tablet computers, desktop computers, laptop computers, notebook computers, ultra-mobile personal computers (UMPCs), handheld computers, netbooks, personal digital assistants (PDAs), wearable electronic devices, smart watches, and other devices.

[0043] Figure 3 The electronic device shown includes: a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. 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, a bone conduction sensor 180M, etc.

[0044] It should be understood that the structure illustrated in this embodiment does not constitute a specific limitation on the electronic device. In other embodiments, the electronic device may include more or fewer components than shown, or may combine or separate certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0045] The processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU). The different processing units may be independent devices or integrated into one or more processors.

[0046] The controller can be the nerve center and command center of the electronic device. The controller can generate operation control signals based on instruction operation codes and timing signals to complete the control of instruction fetching and execution.

[0047] In the embodiment of the present application, the processor 110 executes the vibration waveform processing method proposed in the following embodiment.

[0048] Processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in processor 110 is a cache memory. This memory can store instructions or data that have just been used or are being recycled by processor 110. If processor 110 needs to use the same instruction or data again, it can directly access the memory. This avoids duplicate accesses, reduces processor 110 latency, and thus improves system efficiency.

[0049] In some embodiments, the processor 110 may include one or more interfaces. The interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface.

[0050] The I2C interface is a bidirectional synchronous serial bus that includes a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 may include multiple I2C busses. The processor 110 may be coupled to the touch sensor 180K, the charger, the flash, the camera 193, and the like via different I2C bus interfaces. For example, the processor 110 may be coupled to the touch sensor 180K via the I2C interface, enabling communication between the processor 110 and the touch sensor 180K via the I2C bus interface, thereby implementing the touch function of the electronic device.

[0051] The I2S interface can be used for audio communication. In some embodiments, the processor 110 can include multiple I2S buses. The processor 110 can be coupled to the audio module 170 via the I2S bus to enable communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the I2S interface, enabling the function of answering calls through a Bluetooth headset.

[0052] The PCM interface can also be used for audio communication, sampling, quantizing, and encoding analog signals. In some embodiments, the audio module 170 and the wireless communication module 160 can be coupled via a PCM bus interface. In some embodiments, the audio module 170 can also transmit audio signals to the wireless communication module 160 via the PCM interface, enabling the function of answering calls via a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.

[0053] The UART interface is a universal serial data bus used for asynchronous communication. This bus can be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication. In some embodiments, the UART interface is typically used to connect the processor 110 and the wireless communication module 160. For example, the processor 110 communicates with the Bluetooth module in the wireless communication module 160 via the UART interface to implement Bluetooth functionality. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the UART interface, enabling the function of playing music through Bluetooth headphones.

[0054] The MIPI interface can be used to connect the processor 110 to peripheral devices such as the display 194 and the camera 193. MIPI interfaces include the camera serial interface (CSI) and the display serial interface (DSI). In some embodiments, the processor 110 and the camera 193 communicate via the CSI interface to implement the electronic device's camera function. The processor 110 and the display 194 communicate via the DSI interface to implement the electronic device's display function.

[0055] The GPIO interface can be configured via software. The GPIO interface can be configured as either a control signal or a data signal. In some embodiments, the GPIO interface can be used to connect the processor 110 to the camera 193, display 194, wireless communication module 160, audio module 170, sensor module 180, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.

[0056] USB port 130 is an interface that complies with USB standards and may be a Mini USB port, a Micro USB port, a USB Type-C port, or the like. USB port 130 can be used to connect a charger to charge an electronic device, transfer data between the electronic device and peripherals, connect headphones to play audio, and connect other electronic devices, such as augmented reality devices.

[0057] It is understood that the interface connection relationship between the modules illustrated in this embodiment is only a schematic illustration and does not constitute a structural limitation of the electronic device. In other embodiments of the present application, the electronic device may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.

[0058] The charging management module 140 is configured to receive charging input from a charger. The charger can be either a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 can receive charging input from the wired charger via the USB interface 130. In some wireless charging embodiments, the charging management module 140 can receive wireless charging input via the electronic device's wireless charging coil. While charging the battery 142, the charging management module 140 can also power the electronic device through the power management module 141.

[0059] The power management module 141 is used to connect the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, and provides power to the processor 110, the internal memory 121, the display 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 count, and battery health status (leakage, impedance). In some other embodiments, the power management module 141 can also be set in the processor 110. In other embodiments, the power management module 141 and the charging management module 140 can also be set in the same device.

[0060] The wireless communication function of the electronic device can be implemented through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor.

[0061] 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 reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In other embodiments, the antennas can be used in conjunction with a tuning switch.

[0062] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied in electronic devices. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the same device as at least some of the modules of the processor 110.

[0063] The modem processor may include a modulator and a demodulator. The modulator is used to modulate 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. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After being processed by the baseband processor, the low-frequency baseband signal is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to the speaker 170A, the receiver 170B, etc.) or displays an image or video through the display screen 194. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 110 and be set in the same device as the mobile communication module 150 or other functional modules.

[0064] The wireless communication module 160 can provide wireless communication solutions for electronic devices, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc. The wireless communication module 160 can be one or more devices that integrate 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 for radiation through the antenna 2.

[0065] In some embodiments, 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. The wireless communication technology may include 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, and / or IR technology. The GNSS may include global positioning system (GPS), global navigation satellite system (GLONASS), Beidou navigation satellite system (BDS), quasi-zenith satellite system (QZSS) and / or satellite based augmentation system (SBAS).

[0066] The electronic device implements display functionality through a GPU, display screen 194, and an application processor. A GPU is a microprocessor for image processing that connects display screen 194 and the application processor. The GPU is 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 modify display information.

[0067] Display screen 194 is used to display images, videos, and the like. 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 (AMOLED), a flexible light-emitting diode (FLED), a MiniLED, a MicroLED, a Micro-OLED, or a quantum dot light-emitting diode (QLED). In some embodiments, the electronic device can include one or N display screens 194, where N is a positive integer greater than one.

[0068] A series of graphical user interfaces (GUIs) can be displayed on the display screen 194 of the electronic device, and these GUIs are the main screen of the electronic device. Generally speaking, 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 included in an application that controls all data processed by the application and interactive operations on this data. Users can interact with the control through direct manipulation to read or edit relevant information of the application. Generally speaking, controls can include visual interface elements such as icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, widgets, etc. For example, in an embodiment of the present application, the display screen 194 can display virtual buttons.

[0069] The electronic device can realize the shooting function through the ISP, camera 193, video codec, GPU, display 194 and application processor.

[0070] The ISP processes data fed back by camera 193. For example, when taking a photo, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, which is then passed to the ISP for processing and converted into a visible image. The ISP can also perform algorithmic optimization on image noise, brightness, and skin tone. It can also optimize parameters such as exposure and color temperature of the captured scene. In some embodiments, the ISP can be located within camera 193.

[0071] The camera 193 is used to capture still images or videos. The object generates an optical image through the lens and projects it onto the photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, and then passes the electrical signal to the ISP for conversion into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV or other format. In some embodiments, the electronic device may include 1 or N cameras 193, where N is a positive integer greater than 1.

[0072] Digital signal processors are used to process digital signals. Besides digital image signals, they can also process other digital signals. For example, when an electronic device selects a frequency, the digital signal processor performs a Fourier transform on the frequency energy.

[0073] Video codecs are used to compress or decompress digital video. Electronic devices may support one or more video codecs. This allows them to play or record videos in a variety of encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, and MPEG4.

[0074] The NPU is a neural network (NN) computing processor. Drawing on the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it rapidly processes input information and can continuously self-learn. The NPU enables intelligent cognitive applications in electronic devices, such as image recognition, face recognition, speech recognition, and text comprehension.

[0075] 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 via the external memory interface 120 to implement data storage functions. For example, files such as music and videos can be stored on the external memory card.

[0076] The internal memory 121 can be used to store computer executable program codes, and the executable program codes include instructions. The processor 110 executes various functional applications and data processing of the electronic device 100 by running the instructions stored in the internal memory 121. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area can store data created during the use of the electronic device 100 (such as audio data, a phone book, etc.), etc. In addition, 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 disk storage device, a flash memory device, a universal flash storage (UFS), etc.

[0077] In the embodiment of the present application, internal memory 121 stores instructions for executing a vibration waveform processing method. Processor 110 can execute the instructions stored in internal memory 121 to adjust the vibration waveform described in the vibration description file to ensure a smooth transition in amplitude between the start and stop times of the linear motor, thereby resolving overdrive issues.

[0078] The electronic device can implement audio functions such as music playback and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.

[0079] 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 signals. The audio module 170 can also be used to encode and decode audio signals. In some embodiments, the audio module 170 can be provided in the processor 110, or some functional modules of the audio module 170 can be provided in the processor 110.

[0080] The speaker 170A, also called a "speaker," is used to convert audio electrical signals into sound signals. The electronic device can listen to music or make hands-free calls through the speaker 170A.

[0081] The receiver 170B, also called a "handset", is used to convert audio electrical signals into sound signals. When the electronic device receives a call or voice message, the voice can be heard by placing the receiver 170B close to the human ear.

[0082] Microphone 170C, also known as "microphone" or "microphone", is used to convert sound signals into electrical signals. When making a call or sending a voice message, the user can speak by putting their mouth close to the microphone 170C to input the sound signal into the microphone 170C. The electronic device can be provided with at least one microphone 170C. In other embodiments, the electronic device can be provided with two microphones 170C, which can not only collect sound signals but also realize noise reduction function. In other embodiments, the electronic device can also be provided with three, four or more microphones 170C to realize sound signal collection, noise reduction, and identification of sound sources, and realize directional recording function, etc.

[0083] The headphone jack 170D is used to connect a wired headphone and can be the 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.

[0084] Pressure sensor 180A is used to sense pressure signals and convert them into electrical signals. In some embodiments, pressure sensor 180A can be located on display screen 194. There are many types of pressure sensors 180A, such as resistive, inductive, and capacitive. A capacitive pressure sensor can include at least two parallel plates made of conductive material. When force is applied to pressure sensor 180A, the capacitance between the electrodes changes. The electronic device determines the intensity of the pressure based on this change in capacitance. When a touch operation is applied to display screen 194, the electronic device detects the touch intensity based on pressure sensor 180A. The electronic device can also calculate the touch location based on the detection signal from pressure sensor 180A. In some embodiments, touch operations applied to the same touch location but with different touch intensities can correspond to different operation instructions. For example, when a touch operation with an intensity less than a first pressure threshold is applied to a short message application icon, an instruction to view short messages is executed. When a touch operation with an intensity greater than or equal to the first pressure threshold is applied to a short message application icon, an instruction to create a new short message is executed.

[0085] The gyroscope sensor 180B can be used to determine the motion posture of the electronic device. In some embodiments, the angular velocity of the electronic device around three axes (i.e., x, y, and z axes) can be determined by the gyroscope sensor 180B. The gyroscope sensor 180B can be used for anti-shake shooting. For example, when the shutter is pressed, the gyroscope sensor 180B detects the angle of the electronic device's shake, calculates the distance that the lens module needs to compensate based on the angle, and allows the lens to offset the shake of the electronic device through reverse motion to achieve anti-shake. The gyroscope sensor 180B can also be used for navigation and somatosensory game scenes.

[0086] The air pressure sensor 180C is used to measure air pressure. In some embodiments, the electronic device calculates the altitude using the air pressure value measured by the air pressure sensor 180C to assist in positioning and navigation.

[0087] The magnetic sensor 180D includes a Hall sensor. The electronic device can use the magnetic sensor 180D to detect the opening and closing of a flip case. In some embodiments, when the electronic device is a flip phone, the electronic device can detect the opening and closing of the flip cover based on the magnetic sensor 180D. Based on the detected opening and closing status of the case or flip cover, features such as automatic unlocking of the flip cover can be configured.

[0088] The accelerometer 180E can detect the magnitude of an electronic device's acceleration in all directions (generally three axes). When the electronic device is stationary, it can detect the magnitude and direction of gravity. It can also be used to identify the electronic device's posture, enabling applications such as switching between landscape and portrait modes and pedometers.

[0089] Distance sensor 180F is used to measure distance. The electronic device can measure distance using infrared or laser. In some embodiments, when shooting a scene, the electronic device can use distance sensor 180F to measure distance to achieve fast focus.

[0090] The proximity light sensor 180G may include, for example, a light emitting diode (LED) and a light detector, such as a photodiode. The light emitting diode may be an infrared light emitting diode. The electronic device emits infrared light outward through the light emitting diode. The electronic device uses a photodiode to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it can be determined that there is an object near the electronic device. When insufficient reflected light is detected, the electronic device can determine that there is no object near the electronic device. The electronic device can use the proximity light sensor 180G to detect when the user holds the electronic device close to the ear to talk, so as to automatically turn off the screen to save power. The proximity light sensor 180G can also be used in leather case mode and pocket mode to automatically unlock and lock the screen.

[0091] The ambient light sensor 180L senses ambient light brightness. The electronic device can adaptively adjust the brightness of the display screen 194 based on the perceived ambient light. The ambient light sensor 180L can also be used to automatically adjust the white balance when taking photos. The ambient light sensor 180L can also work with the proximity sensor 180G to detect whether the electronic device is in a pocket to prevent accidental touches.

[0092] Fingerprint sensor 180H is used to collect fingerprints. Electronic devices can use the collected fingerprint characteristics to achieve fingerprint unlocking, access application locks, fingerprint photography, fingerprint answering calls, etc.

[0093] The temperature sensor 180J is used to detect temperature. In some embodiments, the electronic device uses the temperature detected by the temperature sensor 180J to implement a temperature processing strategy. For example, when the temperature reported by the temperature sensor 180J exceeds a threshold, the electronic device reduces the performance of the processor located near the temperature sensor 180J to reduce power consumption and implement thermal protection. In other embodiments, when the temperature is lower than another threshold, the electronic device heats the battery 142 to prevent the electronic device from shutting down abnormally due to low temperature. In other embodiments, when the temperature is lower than another threshold, the electronic device boosts the output voltage of the battery 142 to prevent abnormal shutdown due to low temperature.

[0094] The touch sensor 180K is also referred to as a "touch-sensitive device." The touch sensor 180K can be disposed on the display screen 194. The touch sensor 180K and the display screen 194 form a touch screen, also referred to as a "touch screen." The touch sensor 180K is used to detect touch operations applied thereto or in the vicinity thereof. The touch sensor can transmit the detected touch operations to the application processor to determine the type of touch event. Visual output related to the touch operations can be provided via the display screen 194. In other embodiments, the touch sensor 180K can also be disposed on the surface of the electronic device, at a location different from that of the display screen 194.

[0095] The bone conduction sensor 180M can obtain vibration signals. In some embodiments, the bone conduction sensor 180M can obtain vibration signals from the vibrating bones of the human body. The bone conduction sensor 180M can also contact the human pulse to receive blood pressure pulse signals. In some embodiments, the bone conduction sensor 180M can also be set in headphones to form bone conduction headphones. The audio module 170 can parse out voice signals based on the vibration signals of the vibrating bones of the human body obtained by the bone conduction sensor 180M to implement voice functions. The application processor can parse heart rate information based on the blood pressure pulse signals obtained by the bone conduction sensor 180M to implement heart rate detection functions.

[0096] Keys 190 include a power button, a volume button, and the like. Keys 190 may be mechanical keys or touch-sensitive keys. The electronic device may receive key inputs and generate key signal inputs related to user settings and function control of the electronic device.

[0097] Motor 191 can generate vibration prompts. Motor 191 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback. For example, touch operations acting on different applications (such as taking pictures, audio playback, etc.) can correspond to different vibration feedback effects. For touch operations acting on different areas of the flexible screen 194, motor 191 can also correspond to different vibration feedback effects. Different application scenarios (for example: time reminders, receiving messages, alarm clocks, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also support customization.

[0098] In the embodiment of the present application, motor 191 can be a variety of linear motors, and processor 110 executes a driver program for the linear motor to drive the linear motor. Furthermore, the linear motor driver program can process the vibration waveform involved in the operation of the linear motor, such as the vibration waveform processing method provided in the following embodiment of the present application.

[0099] The indicator 192 may be an indicator light, which may be used to indicate the charging status, power level changes, messages, missed calls, notifications, etc.

[0100] The SIM card interface 195 is used to connect a SIM card. The SIM card can be connected to and separated from the electronic device by inserting it into or removing it from the SIM card interface 195. The electronic device can support 1 or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, and the like. Multiple cards can be inserted into the same SIM card interface 195 at the same time. The types of the multiple cards can be the same or different. The SIM card interface 195 can also be compatible with different types of SIM cards. The SIM card interface 195 can also be compatible with external memory cards. Electronic devices interact with the network through SIM cards to implement functions such as calls and data communications. In some embodiments, the electronic device uses an eSIM, i.e., an embedded SIM card. The eSIM card can be embedded in the electronic device and cannot be separated from the electronic device.

[0101] Further, Figure 3 a is an example of the software architecture of the technical solution disclosed in the embodiment of this application, combined with Figure 3 b content shows:

[0102] The vibration description file generation module (which can interact with third-party applications) is used to generate the vibration description file; the parsing module parses the vibration description file to obtain a json format file used to describe the vibration waveform. The waveform processing module performs waveform processing operations on the json format file. Specifically: the vibration waveform processing module first uses the synthetic motor displacement algorithm to generate a vibration waveform in the form of a displacement code stream based on the json format file and the motor properties. The drive waveform processing module then uses the inverse motor voltage drive algorithm to perform inverse operations on the vibration waveform and the motor properties to obtain the drive waveform.

[0103] The waveform processing module processes the driving waveform, which is then synthesized by the synthesis module to produce an audio bitstream in a format such as Pulse Code Modulation (PCM). This bitstream is then transmitted to an integrated circuit (IC) using a protocol such as the Real-time Transport Protocol (RTP), and ultimately acts on the linear motor to control its operation.

[0104] Combined with the structure of the above electronic equipment, Figure 3 The software architecture shown in a can be stored in the internal memory 121 and called by the processor 110 to implement Figure 3 b.

[0105] The method for processing the vibration waveform of a linear motor described in the embodiment of the present application can be applied to Figure 3 The vibration waveform processing module in a. The following will describe in detail the method for processing the vibration waveform of the linear motor.

[0106] Combine Figure 5a The present application provides a vibration waveform processing method, which is applied to electronic equipment, wherein the electronic equipment includes a linear motor, and the vibration waveform processing method includes:

[0107] S501: Obtain a vibration description file.

[0108] A vibration description file contains multiple vibration parameters. By parsing the vibration description file, each of these parameters can be obtained and used to generate the linear motor's vibration waveform. The linear motor's vibration waveform can be understood as a displacement code stream, reflecting the linear motor's displacement at different time points.

[0109] As mentioned earlier, the actuator of an X-axis linear motor can move in the X-axis or Y-axis direction, while the actuator of a Z-axis linear motor can move in the Z-axis direction. Therefore, regardless of the type of linear motor, the waveform-driven operation of the linear motor refers to the movement of the linear motor's actuator along the corresponding axis (X-axis, Y-axis, or Z-axis). The movement of the actuator along the corresponding axis is manifested as the displacement of the actuator along the corresponding axis at different times. This displacement change at different times brings the vibration felt by the user.

[0110] The vibration parameters in the vibration description file may include, but are not limited to, intensity, sharpness (also called frequency), waveform type, start time, and stop time.

[0111] S502: Identify the waveform type described in the vibration description file.

[0112] 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.

[0113] It can be understood that the steady-state waveform is the vibration waveform of the linear motor as it drives through the rising phase, stable vibration phase, and stopping phase. The rising phase, stable vibration phase, and stopping phase are the three phases a linear motor experiences from the start of vibration to the end of vibration. During the rising phase, the linear motor vibrates in the form of free-decay vibration accompanied by forced vibration. During the stable vibration phase, the linear motor vibrates in the form of constant-amplitude steady-state forced vibration. During the stopping phase, the linear motor vibrates in the form of free-decay vibration.

[0114] The transient waveform is the vibration waveform of the driven linear motor that only experiences the rising phase.

[0115] S503: If the waveform type described in the vibration description file is a steady-state waveform, extract the start time and the stop time from the vibration description file.

[0116] As mentioned previously, when a linear motor operates at a non-resonant frequency, the amplitudes during the start and stop times are erratic, leading to overdrive. Therefore, it is necessary to obtain the start and stop times specified by the vibration parameters in the vibration description file.

[0117] The start time and stop time are both time periods. The start time is the time from the start of the linear motor to the time when the linear motor reaches a stable vibration state. The stop time is the time from the time when the linear motor reaches a stable vibration state to the time when the linear motor stops running.

[0118] S504: Process the amplitude of the steady-state waveform during the startup time to smoothly change from zero to the amplitude of the linear motor's stable vibration state, and process the amplitude of the steady-state waveform during the stop time to smoothly change from the amplitude of the linear motor's stable vibration state to zero.

[0119] The steady-state waveform amplitude during the startup time of the linear motor is processed so as to smoothly change from zero to the amplitude of the linear motor's stable vibration state; and the steady-state waveform amplitude during the stop time of the linear motor is processed so as to smoothly change from the amplitude of the linear motor's stable vibration state to zero, thereby ensuring that when the linear motor operates with the processed steady-state waveform, the amplitude output during the startup time and stop time is smoothly transitioned, the amplitude is not disordered, and the vibration sense brought by the linear motor is stable and smooth, with low vibration noise.

[0120] The smooth change mentioned above can be understood as the linear motor's amplitude smoothly transitioning from zero to the amplitude of a stable vibration state during the startup time; and the linear motor's amplitude smoothly transitioning from the amplitude of a stable vibration state to zero during the stop time. Figure 5b The original vibration waveform 41 of the start time (0 to t1) is smoothed to obtain the vibration waveform 42. Similarly, the original vibration waveform 43 of the stop time (t2 to t3) is smoothed to obtain the vibration waveform 44.

[0121] As previously mentioned, the vibration description file is used to generate the linear motor's vibration waveform. This vibration waveform is a displacement code stream that reflects the linear motor's displacement at different time points. Furthermore, the linear motor's displacement at each time point is equivalent to its amplitude at that time point. Therefore, adjusting the amplitude of the steady-state waveform in step S304 essentially adjusts the displacement at each time point within the start and stop times within the vibration description file.

[0122] In one possible implementation, there are two ways to smoothly change:

[0123] The first method is to superimpose a cosine waveform on the steady-state vibration waveform during the start-up time and the stop-time of the linear motor.

[0124] The cosine waveform is superimposed on the steady-state vibration waveform of the linear motor during the start-up time and the stop-time. The value of the cosine waveform at each time point is used to offset the excessively sharp values ​​in the steady-state vibration waveform of the linear motor during the start-up time and the stop-time.

[0125] The cosine waveforms include two. One cosine waveform has the same duration as the start-up time and includes a number of waveform values ​​equal to the amplitude values ​​at multiple time points within the start-up time. The waveform values ​​of the cosine waveform are opposite to the amplitude values ​​at the peaks of the waveform within the start-up time and in the same direction as the amplitude values ​​at the troughs of the waveform within the start-up time, ensuring that the waveform within the start-up time is smoothed and the valleys filled. Similarly, the other cosine waveform has the same duration as the stop-time. The values ​​of the cosine waveform at each time point are opposite to the amplitude values ​​at the peaks of the waveform within the stop-time and in the same direction as the amplitude values ​​at the troughs of the waveform within the stop-time, ensuring that the waveform within the stop-time is smoothed and the valleys filled.

[0126] The second method uses a ramp algorithm to process the steady-state vibration waveform during the start-up and stop times of the linear motor.

[0127] The ramp algorithm creates a ramp-like waveform. This algorithm multiplies the amplitude of the linear motor's steady-state waveform during both the startup and shutdown periods by a coefficient. Naturally, the coefficient used to multiply the amplitude of the steady-state waveform at each point in time during both the startup and shutdown periods also changes smoothly.

[0128] Combine Figure 6 , an embodiment of the present application provides a vibration waveform processing device, comprising:

[0129] The acquisition unit 601 is configured to acquire a vibration description file.

[0130] The identification unit 602 is used to identify the waveform type described in the vibration description file.

[0131] The extraction unit 603 is configured to extract the start time and the stop time from the vibration description file if the waveform type described in the vibration description file is a steady-state waveform.

[0132] The processing unit 604 is used to process the amplitude of the steady-state waveform during the startup time as: smoothly changing from zero to the amplitude of the stable vibration state of the linear motor, and to process the amplitude of the steady-state waveform during the stop time as: smoothly changing from the amplitude of the stable vibration state of the linear motor to zero.

[0133] It should be noted that in the vibration waveform processing device provided by this embodiment, when the identification unit 602 identifies that the waveform described in the vibration description file is a steady-state waveform, the processing unit 604 processes the amplitude of the linear motor to smoothly change from zero to the amplitude of the stable vibration state of the linear motor during the startup time, and, during the stop time, processes the amplitude of the linear motor to smoothly change from the amplitude of the stable vibration state of the linear motor to zero. The linear motor can be controlled to run smoothly during the startup time and the stop time, thereby overcoming the overdrive problem.

[0134] Optionally, in another embodiment of the present application, the processing unit 604 processes the amplitude of the steady-state waveform during the startup time into an amplitude that smoothly changes from zero to a stable vibration state of the linear motor, for:

[0135] The cosine waveform is superimposed on the steady-state waveform during the startup time to obtain a steady-state waveform in which the amplitude during the startup time smoothly transitions from zero to the amplitude of the linear motor's stable vibration state;

[0136] Alternatively, a ramp algorithm is used to process the steady-state waveform during the startup time, so as to obtain a steady-state waveform in which the amplitude during the startup time smoothly transitions from zero to the amplitude of the linear motor in a stable vibration state.

[0137] Optionally, in another embodiment of the present application, the processing unit 604 processes the amplitude of the steady-state waveform during the stop time as follows: when the amplitude of the linear motor's stable vibration state changes smoothly to zero, for:

[0138] The cosine waveform is superimposed on the steady-state waveform during the stop time, thereby obtaining a steady-state waveform in which the amplitude during the stop time smoothly transitions from the amplitude of the linear motor's stable vibration state to zero;

[0139] Alternatively, a ramp algorithm is used to process the steady-state waveform during the stop time, so as to obtain a steady-state waveform in which the amplitude during the stop time smoothly transitions from the amplitude of the linear motor in a stable vibration state to zero.

[0140] In the waveform vibration processing devices provided in the above-mentioned embodiments of the present application, the specific working processes of the acquisition unit 601, the recognition 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.

[0141] Another embodiment of the present application provides a readable storage medium. When the instructions in the readable storage medium are executed by a processor of an electronic device, the electronic device can execute the vibration waveform processing method as described in any of the above embodiments.

[0142] Alternatively, the readable storage medium may be a non-transitory computer-readable storage medium, for example, a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, optical data storage device, etc.

Claims

1. A method for processing a vibration waveform, applied to an electronic device, wherein the electronic device includes a linear motor, characterized in that: include: Get the vibration description file; Identify the waveform type described by the vibration description file; If the waveform type described in the vibration description file is a steady-state waveform, extracting the start time and the stop time from the vibration description file; A cosine waveform is superimposed on the steady-state waveform during the startup time, or a ramp algorithm is used to process the steady-state waveform during the startup time, so as to obtain a steady-state waveform in which the amplitude during the startup time smoothly transitions from zero to the amplitude of the stable vibration state of the linear motor, and the amplitude of the steady-state waveform during the stop time is processed so as to smoothly change from the amplitude of the stable vibration state of the linear motor to zero.

2. The vibration waveform processing method according to claim 1, characterized in that: The step of processing the amplitude of the steady-state waveform during the stop time so that the amplitude of the linear motor in a stable vibration state smoothly changes to zero includes: A cosine waveform is superimposed on the steady-state waveform during the stop time to obtain a steady-state waveform in which the amplitude during the stop time smoothly transitions from the amplitude of the linear motor in a stable vibration state to zero.

3. The vibration waveform processing method according to claim 1, characterized in that: The step of processing the amplitude of the steady-state waveform during the stop time so that the amplitude of the linear motor in a stable vibration state smoothly changes to zero includes: The steady-state waveform during the stop time is processed using a ramp algorithm to obtain a steady-state waveform in which the amplitude during the stop time smoothly transitions from the amplitude of the linear motor in a stable vibration state to zero.

4. A vibration waveform processing device, applied to an electronic device, wherein the electronic device includes a linear motor, characterized in that: include: An acquisition unit, used for acquiring a vibration description file; An identification unit, used for identifying the waveform type described in the vibration description file; an extraction unit, configured to extract a start time and a stop time from the vibration description file if the waveform type described in the vibration description file is a steady-state waveform; A processing unit is configured to superimpose a cosine waveform on the steady-state waveform during the startup time, or to process the steady-state waveform during the startup time using a ramp algorithm, to obtain a steady-state waveform in which the amplitude during the startup time smoothly transitions from zero to the amplitude of the stable vibration state of the linear motor, and to process the amplitude of the steady-state waveform during the stop time so that the amplitude smoothly changes from the amplitude of the stable vibration state of the linear motor to zero.

5. The vibration waveform processing device according to claim 4, characterized in that The processing unit processes the amplitude of the steady-state waveform during the stop time so that the amplitude of the linear motor in a stable vibration state smoothly changes to zero, and is used to: superimposing a cosine waveform on the steady-state waveform during the stop time to obtain a steady-state waveform in which the amplitude during the stop time smoothly transitions from the amplitude of the linear motor in a stable vibration state to zero; Alternatively, a ramp algorithm is used to process the steady-state waveform during the stop time, so as to obtain a steady-state waveform in which the amplitude during the stop time smoothly transitions from the amplitude of the linear motor in a stable vibration state to zero.

6. An electronic device, characterized in that: include: one or more processors; a memory having a program stored therein; When the program is executed by the one or more processors, the one or more processors are caused to implement the vibration waveform processing method according to any one of claims 1 to 3.

7. A readable storage medium, characterized in that: A computer program is stored thereon, wherein when the computer program is executed by a processor, the vibration waveform processing method according to any one of claims 1 to 3 is implemented.