IP Library Granted Patent US 9,843,317
Granted Patent B2
US 9,843,317 · App. 14/704,940 · Granted Dec 12, 2017

Method and device for processing PWM data

Inventors: Yi Ding (Beijing, CN); Xin Liu (Beijing, CN); Ziguang Gao (Beijing, CN)
Assignee: XIAOMI INC.
H03K7/08H03K5/19
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,843,317
App. No.
14/704,940
Granted
Dec 12, 2017
Kind
B2
Abstract

The present disclosure provides a method and a device for processing PWM data, so as to reduce the size of the PWM data. The method includes: dividing pulse widths in the PWM data into at least one pulse width group; determining a convergence pulse width for each of the at least one pulse width group, herein each of the at least one pulse width group converges around a same pulse width, respectively; replacing each of the at least one pulse width group with the corresponding convergence pulse width; and representing the PWM data by using the convergence pulse widths. Through the technical solution, the size of the PWM data may be reduced, transmission speed of the PWM data may be improved, and the space for storing the PWM data may be decreased.

Claims (88)

1. A method for processing PWM (Pulse Width Modulation) data, comprising:

dividing pulse widths in the PWM data into at least one pulse width group;

determining a convergence pulse width for each of the at least one pulse width group, wherein each of the at least one pulse width group converges around a same pulse width, respectively;

replacing each of the at least one pulse width group with the corresponding convergence pulse width; and

representing the PWM data by using the convergence pulse widths.

2. The method according to claim 1 , wherein representing the PWM data by using the convergence pulse widths comprises:

generating a pulse-width query table which contains an index for each of the convergence pulse widths; and

representing the PWM data by using the indexes in the pulse-width query table.

3. The method according to claim 1 , wherein determining the convergence pulse width for each of the at least one pulse width group comprises:

marking each pulse width in the PWM data on a pulse-width coordinate;

determining at least one region on the pulse-width coordinate, wherein a marking density is equal to or larger than a preset density in each region;

determining pulse widths in each region as each group of the pulse widths;

calculating an average value of the pulse widths in each region; and

replacing the average value as the corresponding convergence pulse width for each of the at least one pulse width group.

4. The method according to claim 3 , wherein a difference value between a maximum value and a minimum value of the pulse widths in each region equals to a preset value.

5. The method according to claim 4 , wherein the method further comprises:

judging whether there exists an outer pulse width among the pulse widths marked on the pulse-width coordinate, wherein the outer pulse width is a pulse width locating outside the at least one region;

selecting a convergence pulse width having a smallest absolute difference value with respect to the outer pulse width when there exists the outer pulse width; and

replacing the outer pulse width with the convergence pulse width having the smallest absolute difference value with respect to the outer pulse width.

6. The method according to claim 4 , wherein calculating the average value of the pulse widths in each region:

determining the number of the pulse widths in each region;

calculating the sum of the pulse widths in each region; and

taking a ratio of the sum against the number as the average value of the pulse widths in each region.

7. The method according to claim 3 , wherein the method further comprises:

judging whether there exists an outer pulse width among the pulse widths marked on the pulse-width coordinate, wherein the outer pulse width is a pulse width locating outside the at least one region;

selecting a convergence pulse width having a smallest absolute difference value with respect to the outer pulse width when there exists the outer pulse width; and

replacing the outer pulse width with the convergence pulse width having the smallest absolute difference value with respect to the outer pulse width.

8. The method according to claim 3 , wherein calculating the average value of the pulse widths in each region comprises:

determining the number of the pulse widths in each region;

calculating the sum of the pulse widths in each region; and

taking a ratio of the sum against the number as the average value of the pulse widths in each region.

9. The method according to claim 1 , wherein determining the convergence pulse width for each of the at least one pulse width group comprises:

marking each pulse width in the PWM data on a pulse-width coordinate;

determining at least one region on the pulse-width coordinate, wherein a marking density is equal to or larger than a preset density in each region;

determining pulse widths in each region as each group of the pulse widths;

selecting a median value of the pulse widths in each region; and

replacing the median value as the corresponding convergence pulse width for each of the at least one pulse width group.

10. A device for processing PWM data, comprising:

a processor; and

a memory for storing instructions executable by the processor;

wherein, the processor is configured to perform:

dividing pulse widths in the PWM data into at least one pulse width group;

determining a convergence pulse width for each of the at least one pulse width group, wherein each of the at least one pulse width group converges around a same pulse width, respectively;

replacing each of the at least one pulse width group with the corresponding convergence pulse width; and

representing the PWM data by using the convergence pulse widths.

11. The device according to claim 10 , wherein representing the PWM data by using the convergence pulse widths comprises:

generating a pulse-width query table which contains an index for each of the convergence pulse widths; and

representing the PWM data by using the indexes in the pulse-width query table.

12. The device according to claim 10 , wherein determining the convergence pulse width for each of the at least one pulse width group comprises:

marking each pulse width in the PWM data on a pulse-width coordinate;

determining at least one region on the pulse-width coordinate, wherein a marking density is equal to or larger than a preset density in each region;

determining pulse widths in each region as each group of the pulse widths;

calculating an average value of the pulse widths in each region; and

replacing the average value as the corresponding convergence pulse width for each of the at least one pulse width group.

13. The device according to claim 12 , wherein a difference value between a maximum value and a minimum value of the pulse widths in each region equals to a preset value.

14. The device according to claim 13 , wherein the processor is configured to further perform:

judging whether there exists an outer pulse width among the pulse widths marked on the pulse-width coordinate, wherein the outer pulse width is a pulse width locating outside the at least one region;

selecting a convergence pulse width having a smallest absolute difference value with respect to the outer pulse width when there exists the outer pulse width; and

replacing the outer pulse width with the convergence pulse width having the smallest absolute difference value with respect to the outer pulse width.

15. The device according to claim 13 , wherein calculating the average value of the pulse widths in each region comprises:

determining the number of the pulse widths in each region;

calculating the sum of the pulse widths in each region; and

taking a ratio of the sum against the number as the average value of the pulse widths in each region.

16. The device according to claim 12 , wherein the processor is configured to further perform:

judging whether there exists an outer pulse width among the pulse widths marked on the pulse-width coordinate, wherein the outer pulse width is a pulse width locating outside the at least one region;

selecting a convergence pulse width having a smallest absolute difference value with respect to the outer pulse width when there exists the outer pulse width; and

replacing the outer pulse width with the convergence pulse width having the smallest absolute difference value with respect to the outer pulse width.

17. The device according to claim 12 , wherein calculating the average value of the pulse widths in each region comprises:

determining the number of the pulse widths in each region;

calculating the sum of the pulse widths in each region; and

taking a ratio of the sum against the number as the average value of the pulse widths in each region.

18. The device according to claim 10 , wherein determining the convergence pulse width for each of the at least one pulse width group comprises:

marking each pulse width in the PWM data on a pulse-width coordinate;

determining at least one region on the pulse-width coordinate, wherein a marking density is equal to or larger than a preset density in each region;

determining pulse widths in each region as each group of the pulse widths;

selecting a median value of the pulse widths in each region; and

replacing the median value as the corresponding convergence pulse width for each of the at least one pulse width group.

19. A non-transitory computer readable storage medium, when instructions in the storage medium are executed by a processor of a device, the device is caused to execute the following steps of:

dividing pulse widths in the PWM data into at least one pulse width group;

determining a convergence pulse width for each of the at least one pulse width group, wherein each of the at least one pulse width group converges around a same pulse width, respectively;

replacing each of the at least one pulse width group with the corresponding convergence pulse width; and

representing the PWM data by using the convergence pulse widths.

20. The non-transitory computer readable storage medium according to claim 19 , wherein determining the convergence pulse width for each of the at least one pulse width group comprises:

marking each pulse width in the PWM data on a pulse-width coordinate;

determining at least one region on the pulse-width coordinate, wherein a marking density is equal to or larger than a preset density in each region;

determining pulse widths in each region as each group of the pulse widths;

calculating an average value of the pulse widths in each region; and

replacing the average value as the corresponding convergence pulse width for each of the at least one pulse width group.

Assignments (3)
SECURITY INTEREST Recorded Apr 7, 2023
From: YALE CORDAGE, INC.; SLINGMAX, LLC; I & I SLING, LLC; SLINGMAX TECHNOLOGIES, LLC
To: ABACUS FINANCE GROUP, LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 063260/0931 →
ENTITY CONVERSION Recorded Apr 6, 2023
From: SLINGMAX, INC.
To: SLINGMAX, LLC
Reel/Frame 063268/0268 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2015
From: DING, YI; LIU, XIN; GAO, ZIGUANG
To: XIAOMI INC.
Reel/Frame 035570/0444 →
Priority Claims (1)
CN 2014 1 0469463 · Sep 15, 2014 · national
Continuity (2)
Continuation PCTCN2015071872 · Jan 30, 2015
Related Publication 20160079973A1 · Mar 17, 2016