IP Library Granted Patent US 11,265,031
Granted Patent B2
US 11,265,031 · App. 17/091,357 · Granted Mar 1, 2022

Universal notch filter

Inventors: Budimir S. Drakulic (Los Angeles, CA); Sina Fakhar (Encino, CA); Thomas G. Foxall (Surrey, CA); Branislav Vlajinic (Rochester, MN)
Assignee: BioSig Technologies, Inc.
H04B1/1027H04B1/0475H04B2001/1063
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 11,265,031
App. No.
17/091,357
Granted
Mar 1, 2022
Kind
B2
Abstract

Systems, methods, and computer program product embodiments are disclosed for removing any fixed frequency interfering signal from an input signal without introducing artifacts that are not part of the original signal of interest. An embodiment operates by using a virtual buffer with a length that matches a length of one cycle of an interfering signal. The embodiment extracts the interfering signal into the virtual buffer. For a sample in the next cycle of the interfering signal that corresponds to a virtual memory location for the virtual buffer, the embodiment can update one or more physical memory locations of the virtual buffer that are in the vicinity of the virtual memory location. This use of virtual buffer can remove any interfering signal without creating the artifacts associated with conventional notch filters.

Claims (56)

1. A computer implemented method for filtering an input signal, comprising:

accessing, by at least one processor, the input signal having an interfering signal;

determining, by the at least one processor, a quiet period in the input signal;

storing, by the at least one processor, during the quiet period, samples of the interfering signal in virtual memory locations of a virtual buffer;

subtracting, by the at least one processor, the samples from a single cycle of the interfering signal in the virtual buffer from the input signal to create a filtered signal, wherein the subtracting removes the interfering signal from the input signal, thereby not introducing transient responses in the filtered signal; and

repeating, by the at least one processor, the determining, storing, and subtracting to refine the filtered signal.

2. The method of claim 1 , wherein the determining further comprises:

calculating, by the at least one processor, a non-quiet characteristic of the input signal; and

determining, by the at least one processor, the non-quiet characteristic is below a threshold value, thereby determining a presence of the quiet period.

3. The method of claim 1 , wherein the storing further comprises:

averaging, by the at least one processor, a sample of the input signal with a corresponding sample of the interfering signal in the virtual buffer to create an average sample; and

replacing, by the at least one processor, the corresponding sample of the interfering signal in the virtual buffer with the average sample.

4. The method of claim 1 , wherein the storing further comprises:

updating a physical memory location in the virtual buffer based on a sample of the interfering signal, wherein the sample of the interfering signal corresponds to a non-physically addressable memory location for the virtual buffer.

5. The method of claim 1 , wherein a frequency of the interfering signal of the input signal is substantially constant.

6. The method of claim 1 , further comprising:

setting a length of the virtual buffer to match a length of one cycle of a frequency of the interfering signal.

7. The method of claim 1 , further comprising:

calculating a frequency of the interfering signal in real time; and

setting a length of the virtual buffer to match a length of one cycle of the calculated frequency of the interfering signal.

8. A universal notch filter comprising:

a memory configured to store a virtual buffer having virtual memory locations; and

a processor coupled to the memory and configured to:

access an input signal having an interfering signal;

determine a quiet period in the input signal;

store, during the quiet period, samples of the interfering signal in the virtual memory locations of the virtual buffer;

subtract the samples from a single cycle of the interfering signal in the virtual buffer from the input signal to create a filtered signal, wherein the subtracting removes the interfering signal from the input signal, thereby not introducing transient responses in the filtered signal; and

repeat the determining, storing, and subtracting to refine the filtered signal.

9. The universal notch filter of claim 8 , wherein the processor is further configured to determine the processor is further configured to:

calculate a non-quiet characteristic of the input signal; and

determine the non-quiet characteristic is below a threshold value, thereby determining a presence of the quiet period.

10. The universal notch filter of claim 8 , wherein to store the processor is further configured to:

average a sample of the input signal with a corresponding sample of the interfering signal in the virtual buffer to create an average sample; and

replace corresponding sample of the interfering signal in the virtual buffer with the average sample.

11. The universal notch filter of claim 8 , wherein to store the processor is further configured to:

update a physical memory location in the virtual buffer based on a sample of the interfering signal, wherein the sample of the interfering signal corresponds to a non-physically addressable memory location for the virtual buffer.

12. The universal notch filter of claim 8 , wherein a frequency of the interfering signal of the input signal is substantially constant.

13. The universal notch filter of claim 8 , wherein the processor is further configured to:

set a length of the virtual buffer to match a length of one cycle of a frequency of the interfering signal.

14. A non-transitory computer-readable device having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations comprising:

accessing an input signal having an interfering signal;

determining a quiet period in the input signal;

storing, during the quiet period, samples of the interfering signal in virtual memory locations of a virtual buffer;

subtracting the samples from a single cycle of the interfering signal in the virtual buffer from the input signal to create a filtered signal, wherein the subtracting removes the interfering signal from the input signal, thereby not introducing transient responses in the filtered signal; and

repeating the determining, storing, and subtracting to refine the filtered signal.

15. The non-transitory computer-readable device of claim 14 , wherein the determining further comprises:

calculating a non-quiet characteristic of the input signal; and

determining the non-quiet characteristic is below a threshold value, thereby determining a presence of the quiet period.

16. The non-transitory computer-readable device of claim 14 , wherein the storing further comprises:

averaging a sample of the input signal with a corresponding sample of the interfering signal of the input signal in the virtual buffer to create an average sample; and

replacing the corresponding sample of the interfering signal in the virtual buffer with the average sample.

17. The non-transitory computer-readable device of claim 14 , wherein the storing further comprises:

updating a physical memory location in the virtual buffer based on a sample of the interfering signal, wherein the sample of the interfering signal corresponds to a non-physically addressable memory location for the virtual buffer.

18. The non-transitory computer-readable device of claim 14 , wherein a frequency of the interfering signal of the input signal is substantially constant.

19. The non-transitory computer-readable device of claim 14 , the operations further comprising:

setting a length of the virtual buffer to match a length of one cycle of a frequency of the interfering signal.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Apr 1, 2026
From: YA II PN, LTD
To: STREAMEX CORP.
Reel/Frame 074249/0365 →
SECURITY INTEREST Recorded Nov 5, 2025
From: STREAMEX CORP.
To: YA II PN, LTD.
Reel/Frame 072796/0591 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2021
From: DRAKULIC, BUDIMIR S.; FAKHAR, SINA; FOXALL, THOMAS G.; VLAJINIC, BRANISLAV
To: BIOSIG TECHNOLOGIES, INC.
Reel/Frame 054816/0285 →
Continuity (2)
Provisional Application 62933020 · Nov 8, 2019
Related Publication 20210143851A1 · May 13, 2021