Distributed photobiomodulation therapy system and method

A phototherapy system includes a channel driver, a first microcontroller and a pad comprising a string of light-emitting diodes (LEDs). The pad also comprises a second microcontroller that autonomously controls the string of LEDs such that the LEDs are controlled even if communication between the first microcontroller and the pad is interrupted.

BACKGROUND

Field of Invention

This invention relates to biotechnology for medical and health applications, including photobiomodulation, phototherapy, and photobiomodulation therapy (PBT).

Discussion of Related Art

Biophotonics is the biomedical field relating to the electronic control of photons, i.e. light, and its interaction with living cells and tissue. Biophotonics includes surgery, imaging, biometrics, disease detection, and photobiomodulation (PBM). Photobiomodulation therapy (PBT), also referred to as phototherapy, is the controlled application of light photons, typically infrared, visible and ultraviolet light to invoke photobiomodulation for medically therapeutic purposes including combating injury, disease, pain and immune system distress. More specifically, PBT involves subjecting cells and tissue undergoing treatment to a stream of photons of specific wavelengths of light either continuously or in repeated discontinuous pulses to control the energy transfer and absorption behavior of living cells and tissue.

FIG. 1illustrates elements of a PBT system capable of continuous or pulsed light operation including an LED driver1controlling and driving LEDs as a source of photons3emanating from an LED pad2on tissue5for the patient. Although a human brain is shown as tissue5, any organ, tissue or physiological system may be treated using PBT. Before and after, or during treatment, a doctor or clinician7may adjust the treatment by controlling the settings of LED driver1in accordance with observations on LED driver1.

While there are many potential mechanisms, as shown inFIG. 2, it is generally agreed that the dominant photobiological process22responsible for photobiomodulation during PBT treatment using red and infrared light occurs within mitochondria21, an organelle present in every eukaryotic cell20comprising both plants and animals including birds, mammals, horses, and humans. To the present understanding, photobiological process22involves a photon23impinging on a cytochrome-c oxidase (CCO) molecule24, which acts as a battery charger increasing the cellular energy content by transforming adenosine monophosphate (AMP) into a higher energy adenosine diphosphate (ADP) molecule, and converting the ADP molecule into an even higher energy adenosine triphosphate (ATP) molecule. In the process of increasing stored energy in an AMP-to-ADP-to-ATP charging sequence25, the cytochrome-c oxidase molecule24acts as a battery charger with the ATP molecule26acting as a cellular battery storing energy, a process which could be considered animal “photosynthesis”. The cytochrome-c oxidase molecule24is also capable of converting energy from glucose resulting from digestion of food to fuel in the ATP charging sequence25, or through a combination of digestion and photosynthesis. To power cellular metabolism, the ATP26molecule is able to release energy29through an ATP-to-ADP-to-AMP discharging process28. Energy29is then used to drive protein synthesis including the formation of catalysts, enzymes, DNA polymerase, and other biomolecules.

Another aspect of photobiological process22is that the cytochrome-c oxidase molecule24is a scavenger for a nitric oxide (NO) molecule27, an important signaling molecule in neuron communication and angiogenesis, the growth of new arteries and capillaries. Illumination of cytochrome-c oxidase molecule24in cells treated during PBT releases NO molecule27in the vicinity of injured or infected tissue, increasing blood flow and oxygen delivery to the treated tissue, accelerating healing, tissue repair, and immune response.

To perform PBT and stimulate the cytochrome-c oxidase molecule24to absorb energy from photon23, the intervening tissue between the light source and the tissue absorbing light cannot block or absorb the light. As illustrated inFIG. 3, the electromagnetic radiation (EMR) molecular absorption spectrum of human tissue is illustrated in a graph40of absorption coefficient versus the wavelength of electromagnetic radiation λ, (measured in nm). Shown inFIG. 3are the relative absorption coefficients of oxygenated hemoglobin (curve44a), deoxygenated hemoglobin (curve44b), cytochrome c (curves41a,41b), water (curve42) and fats and lipids (curve43) as a function of the wavelength of the light. As illustrated, deoxygenated hemoglobin (curve44b) and also oxygenated hemoglobin, i.e. blood, (curve44a) strongly absorb light in the red portion of the visible spectrum, especially for wavelengths shorter than 650 nm. At longer wavelengths in the infrared portion of the spectrum, i.e. above 950 nm, EMR is absorbed by water (H2O) shown as curve42. At wavelengths between 650 nm to 950 nm, human tissue is essentially transparent, as illustrated by transparent optical window45.

Aside from absorption by fats and lipids (curve43), EMR comprising photons23of wavelengths λ within in transparent optical window45, is directly absorbed by cytochrome-c oxidase (curves41aa,41b). Specifically, cytochrome-c oxidase molecule24absorbs the infrared portion of the spectrum represented by curve41bunimpeded by water or blood. A secondary absorption tail for cytochrome-c oxidase (curve41a), illuminated by light in the red portion of the visible spectrum, is partially blocked by the absorption properties of deoxygenated hemoglobin (curve44b), limiting any photobiological response for deep tissue but still activated in epithelial tissue and cells.FIG. 3thus shows that PBT for skin and internal organs and tissue requires different treatments and light wavelengths, red for skin and infrared for internal tissue and organs.

Present Photonic Delivery Systems

In order to achieve maximum energy coupling into tissue during PBT, it is important to devise a consistent delivery system for illuminating tissue with photons consistently and uniformly. While early attempts used filtered lamps, lamps are extremely hot and uncomfortable for patients, potentially can burn patients and doctors, and are extremely difficult in maintaining uniform illumination during a treatment of extended durations. Lamps also suffer short lifetimes, and if constructed using rarified gasses, can also be expensive to replace regularly. Because of the filters, the lamps must be run very hot to achieve the required photon flux to achieve an efficient therapy in reasonable treatment durations. Unfiltered lamps, like the sun, actually deliver too broad of a spectrum and limit the efficacy of the photons by simultaneously stimulating both beneficial and unwanted chemical reactions, some involving harmful rays, especially in the ultraviolet portion of the electromagnetic spectrum. Extended periods of exposure to ultraviolet light are also known to increase the risk for contracting cancer because UV light damages DNA. In the infrared spectrum, expended exposure to far infrared electromagnetic radiation and heat can cause drying of skin and cause premature aging by destroying elastin and collagen.

As an alternative, lasers have been and continue to be employed to perform PBT, generally referred to by the term LLLT an acronym for low-level laser therapy. Unlike lamps, lasers risk burning a patient, not through heat, but rather by exposing tissue to intense concentrated optical power, also known as ablation. To prevent that problem, special care must be taken that the laser light is limited in its power output and that unduly high current producing dangerous light levels cannot accidentally occur. A second, more practical problem arises from a laser's small “spot size”, the illuminated area. Because a laser illuminates a small focused area, it is difficult to treat large organs, muscles, or tissue and it is much easier for an overpower condition to arise.

Another problem with laser light is that its “coherence,” which prevents a laser beam from spreading out, makes it more difficult to cover large areas during treatment. Studies reveal there is no inherent extra benefit from PBT using coherent light. For one thing, bacterial, plant and animal life evolved on and naturally absorbs scattered, not coherent light because coherent light does not occur naturally from any known light sources. Secondly, the first two layers of epithelial tissue already destroy any optical coherence, so the coherent character of an incident laser beam is quickly lost as it is absorbed in human or animal tissue. Laser manufacturers have promoted the premise that optical interference patterns of laser light called ‘speckles’ arising from backscattering enhance therapeutic efficacy, but no scientific evidence has been provided to support such marketing-motivated assertions.

Moreover, the optical spectrum of a laser is too narrow to fully excite all the beneficial chemical and molecular transitions needed for to achieve high efficacy PBT. The limited spectrum of a laser, typically a range of ±1 nm around the laser's center wavelength value, makes it difficult to properly excite all the beneficial chemical reactions needed in PBT. It is difficult to cover a range of frequencies with a narrow bandwidth optical source. For example, referring again toFIG. 3, the chemical reactions of chromophores (light absorbing molecules) involved in making the CCO absorption spectrum (curve41b) are clearly different than the reactions giving rise to absorption tail (curve41a). Assuming the absorption spectra of both regions are shown to be beneficial it is difficult to cover this wide range with an optical source having a wavelength spectrum only 2 nm wide.

So just as sunlight has an excessively broad spectrum of wavelengths, photobiologically exciting many competing chemical reactions with many EMR wavelengths, some even harmful, the wavelength spectrum of laser light is too narrow and does not stimulate enough chemical reactions to reach full efficacy in phototherapeutic treatment. This subject is discussed in greater detail in a related application entitled “Phototherapy System And Process Including Dynamic LED Driver With Programmable Waveform”, by Williams et al. (U.S. application Ser. No. 14/073,371), now U.S. Pat. No. 9,877,361, issued Jan. 23, 2018, which is incorporated herein by reference.

To deliver PBT by exciting the entire range of wavelengths in the transparent optical window45, i.e. the full width from approximately 650 nm to 950 nm, even if four different wavelength light sources are employed to span the range, each light source would require a bandwidth almost 80 nm wide. This is more than an order of magnitude wider than the bandwidth of a laser light source. This range is simply too wide for lasers to cover in a practical manner. Today, LEDs are commercially available for emitting a wide range of light spectra from the deep infrared through the ultraviolet portion of the electromagnetic spectrum. With bandwidths of ±30 nm to ±40 nm, it is much easier to cover the desired spectrum with center frequencies located in the red, the long red, the short near infrared (NIR) and the mid NIR portions of the spectrum, e.g. 670 nm, 750 nm, 810 nm, and 880 nm.

Photobiomodulation therapy (PBT) is sharply distinguishable from photo-optical therapy. As shown inFIG. 4A, PBT involves direct stimulation of tissue5with photons3emitted from LED pad2. Tissue5may be unrelated to the eyes and may comprise organs associated with the endocrine and immune systems, such as kidneys, liver, glands, lymph nodes, etc. or the musculoskeletal system, such as muscles, tendons, ligaments, and even bone. PBT also directly treats and repairs neurons including peripheral nerves, the spinal cord, as well (as shown) brain5and the brain stem. PBT transcranial treatment penetrates the skull and exhibits significant and rapid therapeutic benefits in concussion recovery and repairing damage from mild traumatic brain injury (mTBI). In other words, PBT energy is absorbed by chromophores in cells not associated with the optic nerve. Photo-optical therapy in contrast is based on exciting the retina with colored light or images to invoke a cognitive or an emotional response or to help synchronize the body's circadian rhythms to its surroundings. In such cases, image12from light source12stimulates the optic nerve in eye11to send electrical signals, i.e. neural impulses, to the brain5.

Several rudimentary tests highlight the many and vast differences between PBT and photo-optical therapy. For one, photo-optical therapy only works on the eyes, whereas PBT affects any cell including internal organs and brain cells. In photo-optical therapy, light is directed to light perceiving cells (photo-transduction), which in turn results in the generation of electrical signals that are carried to the brain, whereas PBT stimulates chemical transformations, ionic, electron and thermal transport within treated cells and tissue, with no need for signal transduction to the brain. The effect is local and systemic without the assistance of the brain. For example, blind patients respond to PBT but not to photo-optical therapy. Another distinction between photo-optical therapy and PBT is illustrated inFIG. 4B. In the case of sight, i.e. photo-optical stimulation or vision, the combination of red light15A and blue light15B emanating from light source14once received by eye11sends an electrical signal9to brain5, which perceives the color of the impinging light as purple. In reality, violet/purple light has a much shorter wavelength than blue or red light, and as such comprises photons with higher energy than red light15A or blue light15B. In the case of PBT, cell16and the mitochondria17contained therein will respond photo-chemically to light source14as though it is emitting red light15A and blue light15B (which it truly is), and not respond as though purple light is present. Only true short wavelength purple light emitted from a violet or ultraviolet light source can produce a photobiomodulation response to purple light. In other words, mitochondria and cells are not “fooled” by the blending of different colored light the way the eye and the brain are. In conclusion, photo-optical stimulation is very different from photobiomodulation, As such, techniques and developments in the art of photo-optical therapy cannot be considered as applicable in or relevant to PBT.

As an etymological side note, ambiguity in nomenclature prompted researchers to change original references using the catholic term ‘phototherapy’ or PT into the more modern currently accepted term ‘photobiomodulation therapy’ or PBT. The term phototherapy was used generically to mean any therapeutic application of light including (i) photo-optical therapy involving visual stimulation, (ii) photobiomodulation therapy or PBT involving cellular modulation, and (iii) photodynamic therapy or PDT activating an injected chemical or applied ointment with light to encourage a chemical reaction. A similarly broad term ‘photochemistry’, chemical reactions stimulated by light, also ambiguously refers to any and all of the foregoing treatments. So, while photochemistry and phototherapy have broad meaning today, PBT, PDT, and photo-optical therapy have specific non-overlapping interpretations.

As another source of confusion, the term LLLT was originally intended to mean ‘low level laser therapy’ to distinguish lasers operated at low power levels (sometimes called ‘cold’ lasers in the popular press) from lasers operating at high power for tissue ablation and surgery. With the advent of LED based therapies, some authors conflated the nomenclature for laser- and LED-based therapies into ‘low-level light therapy’, having the same acronym LLLT. This unfortunate action caused much confusion in the published art and indiscriminately blurred the distinction of two very different photonic delivery systems. A ‘low level’ laser is eye safe and burn-safe only because it is operated at low levels. If a cold laser is powered up to a higher level either intentionally or accidently so that it is no longer ‘cold’, it can cause severe burns or blindness in milliseconds. In contrast, LEDs always operate at low levels and cannot be operated at high optical power densities. At no power level can LEDs cause blindness. And although LEDs can overheat by running too much current through them for extended durations, they cannot cause an instantaneous burns or tissue ablation the way a last can. As such, the term low-level light is meaningless in reference to a LED. Accordingly, throughout this application the acronym LLLT shall refer only to laser PBT meaning low-level laser therapy and will not be used to refer to LED PBT.

Present Day Photobiomodulation Therapy Systems

Today's state-of-the-art photobiomodulation therapy systems, shown by example system50inFIG. 5, comprises controller51, electrically connected to two sets of LED pads.

Specifically, output A of controller51is connected by cable53ato a first LED pad set comprising electrically interconnected LED pad52b. LED pads52aand52care optionally connected to LED pad52bby electrical jumpers54aand54bto create a first LED pad set operating as a single LED pad comprising over 600 LEDs and covering a treatment area exceeding 600 cm2. In a similar manner, output B of controller51is connected by cable53bto a second LED pad set comprising electrically interconnected LED pad52e. LED pads52dand52fare optionally connected to LED pad52dby electrical jumpers54cand54dto create a second LED pad set operating as a single LED pad comprising over 600 LEDs and covering a treatment area exceeding 600 cm2.

In the system shown, controller51not only generates the signals to control the LEDs within the pads but also provides a source of power to drive the LEDs. The electrical power delivered from controller51to the LED pads is substantial, typically 12 W for two sets of three pads each. An exemplary electrical schematic of the system is shown inFIG. 6A, where controller61includes switch-mode power supply SMPS65used to convert power from the 120 V to 220 V AC mains64into at least two regulated DC voltage supplies, namely 5 V for control and logic, and a higher voltage supply+VLEDused for powering the strings of LEDs in the LED pads. Typical voltages for +VLEDrange from 24 V to 40 V depending on the number of LEDs connected in series. To facilitate algorithmic control, microcontroller (μC)67executes dedicated software in response to user commands input on touchscreen LCD panel66. The result is a series of a pulses output in some alternating pattern on outputs A from logic buffers68aand68bused to independently control red and near infrared (NIR) LEDs in the LED pads connected to output A. A similar arrangement is included for output B using its own dedicated logic buffers but where μC67is able to manage and control both A and B outputs concurrently.

The signal on output A is then routed to one or more LED pads62through shielded-cable63comprising high current power lines ground GND69a,5V supply line69b, and +VLEDsupply line69c, as well as LED control signal line70afor controlling conduction in NIR LEDs71athrough71m, and LED control signal line70bfor controlling conduction in red LEDs72athrough72m. Control signal lines70aand70bin turn drive the base terminals of bipolar junction transistors73aand73b, respectively, the transistors operating as switches to pulse the corresponding strings of LEDs on and off. When the input to either bipolar transistor is low, i.e. biased to ground, no base current and no collector current flow and the LED string remains dark. When the input to either bipolar transistor is high, i.e. biased to 5V, base current flows and in a corresponding manner collector current flows, illuminating the LEDs in the corresponding LED string. LED current flow is set by the LED turn-on voltages and by current limiting resistors74aor74b. Using resistors to set LED brightness is not preferred because any variation in the LED voltage either from manufacturing stochastic variability or from variations in temperature during operation will result in a change in LED brightness. The result is poor uniformity in LED brightness across an LED pad, from LED pad to LED pad, and from one manufacturing batch to the next. An improvement in maintaining LED brightness uniformity can be gained by replacing resistors74aand74bwith fixed value constant current sources or sinks75aand75b, as shown inFIG. 6B.

The physical connection between PBT-controller61and LED pads62, over shielded cable63can also be described as two interacting communication stacks in the parlance of the 7-layer open source initiative or 7-layer OSI model. As shown inFIG. 7, PBT controller61can be represented as stack80comprising application Layer-7, the PBT controller's operating system referred to LightOS v1. In operation the application layer transfers data to the Layer-1 physical or PHY layer comprising logic buffers. Stack80unidirectionally sends electrical signals82to the PHY Layer-1, i.e. the LED string drivers, in communication stack81of passive LED pad62.

Because the electrical signals comprise simple digital pulses, parasitic impedances in cable63can affect communication signal integrity and LED pad operation. As shown inFIG. 8, as sent square wave electrical signal82may be significantly distorted into received waveform83including reduced magnitude and duration84a, slow rise times84b, voltage spikes84c, oscillations84d, and ground loops89affecting the signal ground bounce84e. The cable parasitics responsible for these distortions include power line series resistances87ato87cand inductances86ato86c, and inter-conductor capacitances85ato85e. Other effects can include ground loop conduction89and antenna effects88.

Another disadvantage of using simple electrical signal connections between PBT controller61and the LED pads is the PBT system cannot confirm if the peripheral attached to cable63is in fact a qualified LED pad or an invalid load. For example, improper LED configurations not matched to the PBT controller, as shown inFIG. 9, will result in either inadequate or excessive LED current. Specifically, as shown by icon91, too many series LEDs will result in a high voltage-drop with low or no LED illumination. In contrast, shown in icon92, too few series connected LED can result in excessive current, overheating, and possible patient burn risks.

Powering non-LED loads from PBT controller61can damage the invalid peripheral, the controller, or both. This is particularly problematic because one pin on the PBT controller's output supplies high voltage of 20V or greater, exceeding the 5V rating of most semiconductors and causing permanent damage to ICs. Inductive loads as represented by icon94can cause overvoltage voltage spikes that may damage the controller. Loads containing motors such as disk drives or fans can lead to excessive damaging inrush currents. Shorted-cables or shorted electrical loads, as depicted by icon93, can cause fires. Connecting a battery to the PBT controller61, as shown by icon96, can result to excessive current and fire risk. Overcharging or subjecting a chemical cell to an overvoltage also has the potential to cause intense fire or even an explosion. Unknown electrical loads, shown by icon95, represent unspecified risks. Especially problematic is any connection between PBT controller61and an electrical power source such as a generator, car battery, or UPS, the result of which may include complete destruction of the system and an extreme fire hazard. InFIG. 9the icons are intended to represent a class of electrical loads but should not be considered as a specific circuit.

Other problems arise when mismatched LED pads are connected to the same output. For example, inFIG. 10two different LED pads62and79, powered by a common cable63, share connections to ground69a,5V supply69b, high voltage +VLEDsupply69c, visible light LEDvcontrol signal70aand near infrared LEDnircontrol signal70b. As shown, LED pad62includes current sinks75aand75band switches73aand73bdriving corresponding LEDs71athrough71mhaving a visible light wavelength λvand LEDs72athrough72mhaving a near infrared wavelength λnir2. Alternatively, LED pad79includes the same current sinks75aand75band switches73aand73bbut drives different wavelength LEDs, specifically LEDs76athrough76mhaving a visible light wavelength λv2and LEDs77athrough77mhaving a near infrared wavelength λnir2. None of the LED strings has the same wavelength light as the other LED strings. For example, λvmay comprise red light while λv2may comprise blue light. Similarly, λnirmay comprise 810 nm radiation while λv2may comprise 880 nm. In operation, the parallel connection of the red and blue LEDs driven by the LEDvsignal70ameans that a treatment for red light could inadvertently be driving blue light. Similarly, the parallel connection of the 810 nm and 880 nm LEDs driven by the LEDnirsignal70ameans that a treatment for one wavelength NIR LED could inadvertently be driving a different wavelength.

Another issue arises when two or more LED pads are connected to both LED outputs at the same time, as shown inFIG. 11A. As shown PBT controller51has two outputs, output A and output B. These outputs are intended to drive separate sets of LED pads. As shown, Output A connects to LED pad52dthrough cable53a. Output B connects to LED pad52ethrough cable53band also connects through jumper54dto LED pad52f. Accidentally, however, jumper54cconnects LED pad52eto LED52dand thereby shorts output A to output B. The electrical impact of shorting outputs A and B together depends on the treatment program being executed.FIG. 11Billustrates the case where both outputs A and B of buffer100are driving the red/visible light output, specifically buffers101aand101care active at the same time. As shown, the outputs are shorted through electrical conductors102ato LED pad105a, through connector104ato LED pad105b, and ultimately through connector103a. In operation, the frequency and pulse patterns of the two outputs are asynchronous meaning any combination of high and low output biases can occur. If the pull-up transistors are too strong, the output buffers can destroy on another; if not, the alternating on-signals can cause the LEDs to stay on with a high duty factor causing overheating and presenting a possible patient burn risk.

InFIG. 11C, buffer101ain output A is powering the red LEDs in LED pads105aand105bwhile buffer101din output B is powering the NIR LEDs also in LED pads105aand105b. Although the independent operation of both red and NIR LEDs does not represent an electrical problem, the simultaneous conduction of both red and NIR LEDs will result in overheating of the LED pad, potentially damaging the pad and possibly burning a patient. This overpower condition is illustrated by the waveforms shown inFIG. 11Dwhere the power Pvof the conducting visible LEDs shown by waveform110has an average power Pave113, and the power Pnirof NIR LEDs shown by waveform111has an average power Pave114. Together the aggregate power waveform112has an average power115of magnitude 2Pave.

In today's LED pads, overheating for any reason is problematic because there is no temperature protection. As shown inFIG. 12, even if LED pad109does have temperature sensing, with unidirectional data flow82in cable63there is no way for LED pad109to inform PBT controller61of an over temperature condition or to suspend operation.

As described in the foregoing, the limitations of today's PBT systems above are numerous, impacting PBT system utility, functionality, safety, and expandability. These limitations include the following issues:Electrical “signal” communication to LED pad—Signals from the PBT controller to LED pads are simple digital pulses, not differential communication between a bus transceiver pair. These signals are sensitive to common mode noise and ground loops affecting the magnitude and duration of the pulses controlling LED operation. As simple electrical pulses, the system also lacks any error checking capability so malfunctions cannot be corrected or even detected.Unidirectional signal flow from PBT controller to LED pad—With unidirectional data flow, PBT controllers cannot authenticate any LED pad connected to its output, nor once connected can they monitor a pad's operating condition. Unidirectional data also prevents feedback of a LED pad's status or reporting of other pad information to the host PBT controller.Inability to detect a multi pad misconnection short—Through user error, the misconnection of two outputs of a PBT controller to the same LED pad or pads, i.e. inadvertently shorting two outputs together, means both outputs are driving the same LED strings. This misconnection error can damage the LED driver circuitry, cause LED overheating, patient burn risk, and potentially fire.Inability to identify approved LED pads or certified manufacturers—Lacking any ability to identify an LED pad's pedigree a PBT system will unknowingly drive any LED connected to it including illegal, counterfeit, or knock-off LED pads. Driving pads not made or certified by the system specifier or manufacturer has unknown consequences ranging from loss of functionality and reduced efficacy to safety risks. Commercially, the merchandizing and sale of counterfeit and copycat LED pads also robs IP licensed PBT device merchants of legal income.Inability to identify a connected device as an LED pad—Without the ability to confirm if a device connected to a PBT controller output is an LED pad (rather than a completely unrelated peripheral such as a speaker, battery, motor, etc.), connection of an unauthorized electrical load to a PBT system's output will invariably damage either the accessory, the PBT controller, or both. When driving an unknown electrical load, high voltage present on the controller's output pins during operation also presents a fire hazard.Inability to identify power sources—The inability of a PBT controller to identify connection of its output to a power source (such as AC power adapters, batteries, car electrical power, or generators) represents a real safety risk, whereby the power supply contained within the PBT controller competes with the external power source. The interconnection of two dissimilar power supplies may result in excessive currents, voltages, power dissipation, or uncontrolled oscillations leading to damage of the external power source, the PBT controller, or both.Inability to control or limit driver output current—Connection of a shorted load such as a damaged pad, a wire short, or any load that exhibits a high inrush current (such as a motor) represents a high current risk and possibly a fire hazard. Inductive loads such as solenoids also can momentarily create excessive voltages damaging low-voltage components.Inability to detect batteries connected to a PBT system's output—Connecting a battery pack to a PBT system's output has the potential for damaging the battery pack, accidentally charging the battery with the wrong charging conditions and giving rise to over-voltage, over-current, or over-temperature conditions in the electrochemical cells. Improper charging of wet-chemistry or acid batteries has the potential for acid or electrolyte leaks. The improper charging of lithium ion batteries can cause overheating, fire, and even explosions.Inability to detect over-temperature conditions in LED pads—Overheating of a LED pad risks patient discomfort and burns, pad damage, and in extreme cases the possibility of fire.Inability to identify the LED configuration within a LED pad—Unable to identify the series-parallel array configuration of LEDs in a LED pad, the PBT controller is unable to determine if the pad is compatible with the PBT system or even if LED operation is possible. For example, too few series connected LEDs can damage the LEDs with too much voltage. Too many series connected LEDs will result in dim or no illumination. Too many parallel strings of LEDs can result in excessive total pad current and consequentially overheating, as well as large voltage drops across interconnections, poor light uniformity across a LED pad, and possible damage to PCB's conductive traces.Inability to identify the types of LEDs contained within a LED pad—Unable to detect what wavelength LEDs are in a pad, a PBT system has no means by which to match its treatment programs to the LED array or to select the right wavelength LEDs for each specific waveform in the treatment protocol.PBT controller outputs are each limited to a fixed number of control signals—With only one or two control signals per output, today's PBT controllers are incapable of driving three, four, or more different wavelengths of LEDs within the same pad with different excitation patterns.Limited mobility—In present day medical grade PBT systems, the connection of a central PBT controller to LED pads requires cable connections. While such tethered PBT systems are generally acceptable in hospital applications (and possibly in clinical settings), in consumer, paramedic, and military applications limiting mobility with cables or wires is not useful.Incapable of waveform synthesis—PBT systems lack the technology to drive LEDs with any waveforms other than square wave pulses. Square wave pulsed operation limits LED illumination patterns to one-frequency-at-a-time operation. Since pulse frequency affects the energy coupling to specific tissue types, a single frequency PBT system can only optimally treat one tissue type at a time, extending the required therapy time and patient/insurance cost. Analysis also reveals square wave pulses waste energy, producing off harmonics not necessarily beneficial to a therapy. LED drive using sinusoids, chords, triangle waves, sawtooth waveforms, noise bursts, or audio samples requires complex waveform synthesis within the LED pad. Although host PBT controllers should have sufficient compute capability to synthesize such waveforms, the capability is not beneficial because the signal cannot be delivered over long cables without suffering significant waveform distortion. Unfortunately, LED pads cannot perform the task. Using cheap discrete components, present day LED pads are incapable of performing any waveform synthesis whatsoever, not to mention that the communication protocols needed to remotely select or change the synthesized waveform do not exist.Distribution of new LED driver algorithms—Present PBT systems lack the ability to download software updates from a database or server to correct software bugs or to install new treatment algorithms.Inability to capture and record real time patient biometric data—Present PBT systems lack the ability to collect biometric data such as brain waves, blood pressure, blood sugar, blood oxygen, and other biometrics during a treatment or the ability to embed this collected data into the treatment file record.Inability to gather real time images of treatment area—Present PBT systems lack any means by which to measure or create images of tissue during treatment. The systems also lack the ability to store still and video images or to match the images to a PBT session's treatment time.Inability for users (doctors) to create new treatment algorithms—Present PBT systems lack any capability for users such as physicians or researchers to create new algorithms or to string existing treatments together to form complex therapy specific treatments, e.g. optimizing an excitation sequence for activating injected stem cells (useful in accelerating stem cell differentiation while reducing rejection risks.)Electronic distribution of documentation—Present PBT systems are unable to distribute and update any documentation electronically. It would be beneficial if the distribution of FDA advisories or rulings, as well as errata and updates to PBT operating and therapy manuals, treatment guides, and other documentation can be provided electronically to all PBT system users. Such capability is not available in any medical devices today.Treatment tracking—Present PBT systems are unable to track the treatment use history, capture the system's use in a treatment log, and upload the treatment log to a server. Lacking real time treatment logs via network connectivity, the widespread commercial adoption of PBT systems by physicians, hospitals, clinics, and spas is problematic. Without uploaded use logs, present day PBT systems cannot support revenue-sharing lease business models because the lessor is unable to verify the lessee's system use. Similarly, hospitals and clinics cannot confirm PBT systems use for insurance audits and for fraud prevention. In pay-to-use SaaS (software as a service) payment models, the PBT service agent is unable to confirm a client's use history.Electronic prescriptions—No physical medicine devices today including PBT systems are capable of securely transferring and distributing doctor prescriptions into a medical device.Remote disable—No PBT system today is capable of disabling device operation in the case of non-payment or in the case of theft to stop black market trade.Location tracking—No PBT system today is capable of tracing the location of a stolen PBT system to track the thieves.Secure communication—Since PBT systems today use electrical signals rather than packet-based communication to control LED pads, then hacking and direct measurement of communication between a host PBT system and an LED pad is trivial, lacking any security whatsoever. Moreover, PBT systems today lack any provision for Internet communication and the security methods needed to prevent content hacking and to thwart identity theft in compliance with HEPA regulations. In the future, encryption alone is expected to be inadequate in securing data communication across the Internet. In such cases connectivity to private hypersecure networks will also be required.

In summary, the architecture of present day PBT systems is completely outmoded, and requires an entirely new system architecture, new control methods, and new communication protocols to facilitate an efficacious, flexible, versatile, and secure solution to providing photobiomodulation therapy.

SUMMARY OF THE INVENTION

In the photobiomodulation therapy (PBT) process of this invention, defined patterns (e.g., sequences of square-wave pulses, sine waves, or combinations thereof) of electromagnetic radiation (EMR) having one or more wavelengths, or spectral bands of wavelengths, are introduced into a living organism (e.g. a human being or animal) using a distributed system comprising two or more distributed components or “nodes” communicating using a bus or transceiver to send instructions or files between or among the constituent components. The radiation is normally within the infrared or visible parts of the EMR spectrum, although ultraviolet light may sometimes be included.

EMR of a single wavelength may be used, or the pattern may include EMR having two, three or more wavelengths. Rather than consisting of radiation of a single wavelength, the EMR may include spectral bands of radiation, often represented as a range of wavelengths centered on a central wavelength, e.g., λ±Δλ. The pulses or waveforms may be separated by gaps, during which no radiation is generated, the trailing edge of one pulse or waveform may coincide temporally with the leading edge of the following pulse, or the pulses may overlap such that radiation of two or more wavelengths (or spectral bands of wavelengths) may be generated simultaneously.

In one embodiment, the distributed PBT system's components comprise a PBT controller and one or more intelligent LED pads communicating using a unidirectional serial data bus sending data, files, instructions, or executable code from the PBT controller to the intelligent LED pads. In a second embodiment, the distributed PBT system's components comprise a PBT controller and one or more intelligent LED pads communicating using a bidirectional data bus or transceiver whereby the PBT controller is able to send data, files, instructions, or executable code to the intelligent LED pad and conversely the intelligent LED pad is able to return data to the PBT controller regarding the pad's operating status or patient condition, including LED pad configuration data, program status, fault conditions, skin temperature or other sensor data. The other sensor data may include two-dimensional temperature maps, two- or three-dimensional ultrasound images, or may comprise biometric data such as pH, humidity, blood oxygen, blood sugar, or skin impedance etc., which in turn may optionally be used to change the treatment conditions, i.e. operating in a closed biofeedback loop.

In one embodiment, the EMR is generated by light-emitting diodes (LEDs) arranged in serial “strings” connected to a common power supply. Each LED string may comprise LEDs designed to generate radiation of a single wavelength or band of wavelengths in response to a defined constant or time varying current. The LEDs may be embedded in a flexible pad designed to fit snuggly against a skin surface of a human body, allowing the target tissue or organ to be exposed to a uniform pattern of radiation. Power may be delivered to each intelligent pad from a cable connecting the LED pad to the PBT controller or alternatively may be provided to the LED pad from a separate power source. In an alternative embodiment, semiconductor laser diodes may be used in place of LEDs configured in an array to create a uniform pattern of radiation or alternatively mounted in a handheld wand to create a spot or small area of concentrated radiation.

In the distributed PBT system disclosed herein, each of the LED strings is controlled by an LED driver, which in turn is controlled by a microcontroller contained within the intelligent LED pad. The LED pad's microcontroller communicates with another microcontroller or computer in the PBT controller via a communication bus, which may include wired connectivity such as USB, RS232, HDMI, I2C, SMB, Ethernet, or proprietary formats and communication protocols, or which may alternatively comprise wireless media and protocols including Bluetooth, WiFi, WiMax, cellular radio using 2G, 3G, 4G/LTE, or 5G protocols, or other proprietary communication methods.

Using a display, keyboard or other input device connected to the PBT controller, a doctor or clinician can select the particular algorithm (process sequence) that is suited to the condition or disease being treated. The instructions are then communicated from the PBT controller over the wired or wireless data bus to one or more intelligent LED pads, instructing the pad's microcontroller when to commence or suspend a PBT treatment and specifying what treatment is to be performed.

In one embodiment, referred to as data streaming, the PBT controller sends a stream of data packets specifying the LED driving waveforms including the timing of when an LED is instructed to conduct current and the magnitude of the current to be conducted. The streaming instructions sent by the controller are selected from a “pattern library” of algorithms, each of which defines a particular process sequence of pulses or waveforms of the EMR generated by the LED strings. Upon receiving the data packets over the data bus, the intelligent LED pad stores the instruction in memory, then commences “playback” of the streaming data file, i.e. driving the LEDs in accordance with the instructions received. During the playback of the streaming data file, communication from the PBT controller to the intelligent LED pad over the data bus may be interrupted to accommodate system safety checks or to allow the intelligent LED pad to report its status or to upload sensor data to the PBT controller.

Unlike prior art PBT systems, in the disclosed distributed PBT system the PBT controller is not constantly sending instructions to the intelligent LED pads. During intervals when the PBT controller is silent, either listening to the data bus, or receiving data from the intelligent LED pads over the data bus, each intelligent LED pad must operate autonomously and independently from the PBT controller and the other LED pads connected on the same data bus or communication network. This means the PBT controller must send sufficient data to the intelligent LED pad to be stored in the pad's memory to support uninterrupted LED playback operation until the next data file can be delivered.

In another embodiment, the PBT controller delivers a complete playback file to the intelligent LED pad, defining the entire execution sequence of a PBT treatment or session. In this method the file is delivered prior to commencing playback, i.e. before executing treatment. As soon as the file is loaded into the memory of the intelligent LED pad, the in-pad local microcontroller can execute playback in accordance with instructions contained in the playback file. The transferred playback file may comprise either (i) an executable code file including the totality of all LED driving waveform instructions, (ii) a passive playback file defining the treatment durations and settings that is interpreted by executable code comprising a LED player software, or (iii) data files comprising waveform primitives that are subsequently combined in a prescribed manner by the LED pad's microcontroller to control the LED illumination pattern and execute a PBT treatment or session.

In the latter two examples, the executable code needed to interpret the playback file, referred to as the “LED player”, must be loaded into the intelligent LED pad prior to commencing playback. This LED player can be loaded into the intelligent LED pad at the time a user instructs the PBT controller to commence therapy, or can be loaded into the intelligent pad at a previous date, e.g. when the LED pad is programmed during manufacturing or at the time the PBT controller is turned on and establishes that the intelligent LED pad is connected to the PBT controller's local area network. In cases where the LED player file is previously loaded into an intelligent LED pad and stored in non-volatile memory for extended durations, the distributed PBT system must include provisions to determine whether the LED player file previously loaded into the LED pad is still current or has become obsolete. If the PBT controller determines that the LED player file stored in the LED pad is up-to-date, LED playback can commence immediately. Alternatively, if the PBT controller determines that the LED player file stored in the LED pad is obsolete, expired, or just not up-to-date, the PBT controller can download the current LED player file to the LED pad either immediately or after first obtaining the user's approval. In some instances, performing treatments using an obsolete LED player file may result in improper playback or a system malfunction. In such cases, the operation of the intelligent pad may be mandatorily suspended by the PBT controller until the current LED player file is downloaded and stored in the LED pad.

The ability of an LED pad to function independently and autonomously for a defined duration distinguishes the LED pad as “intelligent” as compared to a passive LED pad. Passive LED pads, in contrast, are limited to responding to real time signals sent from the PBT controller, where any interruption in communication will immediately result in disruption of the LED pad's operation, affecting the pulse train or waveform of the EMR emitted by the LEDs in the pad. In other words, bus communication between the PBT controller and one or more intelligent LED pads can be considered as a packet-switched local area network (LAN).

Another key feature of the disclosed distributed PBT system is its autonomous safety systems—protection and safety functions operating in each intelligent LED pad independent of the PBT controller. Specifically, in network connected professional medical devices, safety systems must continue to operate without fail even when network connectivity is lost. As a key feature of this invention, during operation each intelligent LED pad regularly executes a safety related subroutine to ensure that its software is operating normally and that no dangerous conditions exist. These intelligent LED pad embedded protective features include a software related “blink timer” subroutine, a watchdog timer, overvoltage protection, LED current balancing, and over-temperature protection. The autonomous safety functions are included in firmware comprising the intelligent LED pad's local operating system (referred to herein as “LightPadOS,” which is stored in non-volatile memory in the intelligent LED pad and executed by the microcontroller included within each intelligent LED pad.

Upon receiving an instruction to commence therapy, an intelligent LED pad's LightPadOS starts a software timer and concurrently resets and starts a hardware counter in the pad's microcontroller. The LightPadOS then launches the executable code to perform a PBT treatment, executed as a streaming data file or as a LED player (playing a specific playback file) in synchrony with an advancing program counter. The program counter advances at a frequency defined by either a shared system clock or a precision time reference specific to one or several intelligent LED pads. Such time references can be established using a RC relaxation oscillator, a RLC resonant tank oscillator, a crystal oscillator, or a micromechanical machine based oscillator. In this manner, pulses with nanosecond precision can be used to synthesize square wave pulses, sine waves, and other waveforms varying in frequency and in duration. The synthesized waveforms are then used to drive strings of varying waveform LEDs in the selected patterns according to defined algorithms.

During program execution (playback), both the software blink timer and the hardware-based watchdog timer continue to count in synchrony with the program counter time base. When the software blink timer reaches a certain predefined time (referred to herein as the blink interval), e.g. 30 seconds, the blink timer generates an interrupt signal which is sent to the pad's operating system LightPadOS and which suspends the treatment's program counter and commences an ‘interrupt service routine” or ISR. The ISR then performs housekeeping functions, which may include reading the temperature of one or more sensors in the intelligent LED pad, sending the temperature data to the PBT controller, and concurrently comparing the highest measured temperature to a defined range. If the temperature exceeds the defined range a warning flag is also generated and sent to the PBT controller as a request for the system to take some action, e.g. to reduce the LED duty factor (on time per cycle) to lower the pad's temperature, or to suspend treatment.

If, however, the highest measured temperature exceeds a predetermined safety threshold, the intelligent LED pad immediately suspends execution of the treatment program and simultaneously sends a message to the PBT controller. Unless the PBT controller restarts the program, the overheating intelligent LED pad will remain off indefinitely. In this manner, if an over-temperature condition occurs while the PBT controller is unavailable or malfunctioning, or if the network or communication bus is busy or unavailable, the default condition is to stop the treatment.

During an ISR the intelligent LED pad can perform other safety tests, for example checking for excessive input voltages resulting from a power supply failure, excessive currents resulting from an internal pad short circuit, or detecting excessive moisture resulting from sweat or water contacting the intelligent LED pad, possibly resulting a missing or improperly applied sanitary barrier between the patient and the LED pad. In any case, the malfunctioning intelligent LED pad firsts suspends operation and then sends a message to the PBT controller, informing the PBT controller of the fault. The other LED pads may also be informed of the fault. In such a case the other LED pads may continue to operate independently (even though one pad has discontinued operation) or, alternatively, all the intelligent LED pads may be shut down concurrently (either by the PBT controller or via direct pad-to-pad communications). After the ISR is complete, control is returned to the LED pad performing the PBT treatment by restarting the program counter, restarting the software blink timer, and restarting the watchdog timer.

In the event that a software execution failure occurs either in the LED playback file or in the ISR subroutine, the program counter will not resume operation and the blink timer will not be reset and restarted. If the watchdog timer reaches its full count without being reset (e.g. at 31 seconds), it means software execution has failed. A watchdog timer time-out instantly generates an interrupt flag suspending program execution in the offending LED pad and sending a fault message to the PBT controller and optionally to the other LED pads. As a result, a software failure always defaults to a non-operational state for the malfunctioning LED pad to ensure patient safety even in the absence of network connectivity.

Aside from autonomous safety features, in another embodiment the disclosed distributed PBT system includes centralized protection of the networked components administered by the PBT controller. Specifically, the PBT operating system operating with the PBT controller, referred to herein as “LightOS,” includes a number of protective provisions, including the ability to detect if a component attached to the network or communication bus is an authorized component or a fraud. If a user attempts to connect a light pad or other component to the PBT controller's network that cannot pass a prescribed authentication process, then the component will be denied access to the network. The PBT controller's LightOS operating system can prohibit unauthorized access in any number of ways including shutting down the entire distributed system until the offending device is removed, not sending any data packets to the fraudulent device's IP address, or encrypting the commands so as to make them unrecognizable by the unauthorized component.

To effectuate multi-layer secure communication in the disclosed distributed PBT system, the operating system of the PBT controller (LightOS) and the operating system of the intelligent LED pads (LightPadOS) comprise parallel communication stacks using consistent protocols and shared secrets not discernable to a device operator, hackers, or unauthorized developers. As such the distributed PBT system operates as a protected communication network with the ability to execute security on any number of communication layers including data link Layer-2, network Layer-3, transport Layer-4, session Layer-5, presentation Layer-6, or application Layer-7.

For example, a numeric code installed and cryptographically hidden in both a PBT controller and an intelligent LED pad, i.e. a shared secret, can be used to confirm the authenticity of a network connected intelligent LED pad without ever divulging the key itself. In one method of LED pad validation executed on data link Layer-2, the PBT controller passes a random number to the intelligent LED pad over the network or communication bus. In response, the microcontroller in the LED pad decrypts its copy of the shared secret (numeric code), merges it with the received random number then performs a cryptographic hash operation on the concatenated number. The intelligent LED pad then openly returns the cryptographic hash value across the same transceiver link.

Concurrently, the PBT controller performs an identical operation decrypting its own copy of the shared secret (numeric code), merging it with the generated random number it sent to the LED pad then performing a cryptographic hash operation on the concatenated number. The PBT controller next compares the received and locally generated hash values. If the two numbers match the pad is authentic, i.e. it is ‘authorized’ to connect to the network. The aforementioned authentication algorithm may be executed on any PHY Layer-1 and/or data-link Layer-2 connection over any data bus or packet switched network including USB, Ethernet, WiFi or cellular radio connections. In the event of a WiFi connection, the data link may also be established using WiFi protected access protocol WPA2.

For ‘administrative’ purposes and security tracking, the authorization time and date (and as available the GPS location) of the authenticated component is stored in non-volatile memory and optionally uploaded to a server. The benefit of employing secure communication and AAA (authentication, authorization, administration) validation of all connected components in the distributed PBT system is crucial to ensure safety and protection from the intentional connection of uncertified and potentially unsafe imposter devices. In this way, imposter devices cannot be driven by the distributed PBT system. AAA validation also protects against the accidental connection of devices not intended for operation as part of the PBT system such as lithium ion battery packs, unapproved power supplies, speakers, disk drives, motor drivers, high power Class III and Class IV lasers, and other potential hazards unrelated to the PBT system.

The security of a distributed PBT system using a packet switched network (such as Ethernet or WiFi) may also be enhanced by using dynamic addressing on network Layer-3 and dynamic port assignment on data transport Layer-4. In the operation of a PBT controller not connected to the Internet or any other local area network, the PBT controller generates a dynamic IP address and a dynamic port address, and then broadcasts the address to the other network connected devices to which the intelligent LED pads respond with their own dynamic IP addresses and their own dynamic port addresses. In the event that the distributed PBT system is in contact with a router or the Internet, a dynamic host configuration processor (DHCP) is used to assign dynamic IP addresses. Similarly, a remote procedure call (RPC) is used to perform a dynamic port number assignment. Since dynamic IP addresses and dynamic ports change whenever a device is connected to a network, the risk of a cyber attack surface is reduced. Additional Layer-4 security can be added using TLS ‘transport layer security’, IPSec security protocol, or other protocols.

Once the components of a distributed PBT system are established through Layer-2 authentication, and Layer-3 and Layer-4 network and port address assignments, the distributed PBT system is ready to execute treatments. Upon the PBT controller receiving a user ‘start’ command, PBT treatment commences with an exchange of encryption keys or digital certificates between the PBT controller and the network-connected intelligent LED pads to establish a Layer-5 session. Once the session is opened, the PBT controller and each intelligent LED pad maintain their secure link during the exchange of files and commands until the treatment is completed or is terminated. Additional network security can be performed using encryption on presentation Layer-6 or at the application Layer-7.

As disclosed, the network-connected distributed PBT system functions as a single unified virtual machine (VM) able to reliably and safely perform photobiomodulation therapy using multiple intelligent LED pads offeringNo waveform distortion resulting from cable parasiticsBidirectional communication between PBT controller and intelligent LED padAbility to detect a multi-pad misconnection shortAbility to identify approved LED pads or certified manufacturersAbility to identify a connected device as an intelligent LED padAbility to identify power sources and to control their operating voltageAbility to control and limit driver LED currentAbility to detect batteries and prevent their connection to a PBT system's outputAbility to detect over-temperature conditions in LED padsAbility to identify the LED configuration within a LED padAbility to identify the types and configuration of LEDs contained within an intelligent LED padAbility to independently control multiple outputsAbility to perform distortion-free waveform synthesis within an intelligent LED padAbility to distribute new LED driver algorithms to intelligent LED padsAbility to capture and record real time patient biometric dataAbility to gather real time images of a treatment areaSupport for the ability for users (doctors) to create new treatment algorithmsAbility to support the electronic distribution of documentationAbility to perform treatment trackingAbility to manage the distribution of electronic prescriptionsAbility to support a network connected remote controlAbility to perform location tracking of PBT systemsAbility to perform secure communication among components

In another embodiment, the disclosed distributed PBT system comprises three stage waveform generation involving digital waveform synthesis, PWM pulse generation, and a dynamic multiplexed multichannel LED driver able to produce square wave, triangle wave, sawtooth, and sine wave waveforms. Waveforms may comprise a single periodic function or a chord of multiple frequency components.

In another embodiment, the disclosed waveform generator can generate chords based on a prescribed key and frequency scale, e.g. a chord comprising two, three, or four different frequencies including noise filtering. LED driving waveforms can also be produced from audio samples or by combining chords of scalable audio primitive waveforms of varying resolution and frequency. Waveforms may be stored in libraries based on waveform synthesizer parametrics, PWM waveforms, and PWM chords, including major, minor, diminished, augmented chords, octaves, and inversions. The software-controlled LED driver includes I/O mapping (multiplexing), dynamic current control, and various dynamic programmable current references.

In another embodiment, a distributed PBT system comprises multiple sets of intelligent LED pads controlled from a centralized multichannel PBT control station. An optional WiFi PBT remote is included to facilitate local start-start and pause control. In yet another embodiment, the PBT controller comprises an application running on a mobile device or smartphone controlling intelligent LED pads. The mobile application includes intuitive UI/UX control and biofeedback display. The app may also connect to the Internet or to a PBT server as a therapy database. In another embodiment, the PBT system comprises a fully autonomous LED pad set programmed over the network.

The distributed PBT system may also be used to control LEDs mounted in a mouthpiece to combat gum inflammation and periodontal disease or to drive individual LEDs mounted in ear buds inserted into a nose or ear to kill bacterial inflections in the sinus cavities. A variation of the individual LED buds may be used as “spots” placed on acupuncture points.

The aforementioned distributed PBT system is not limited to driving LEDs but may be used to drive any energy emitter positioned adjacent to a patient in order to inject energy into living tissue, including coherent light from a laser, or time-varying magnetic fields (magneto-therapy), micro-electric currents (electrotherapy), ultrasonic energy, infrasound, far infrared electromagnetic radiation, or any combination thereof.

In one such embodiment, a LED or laser handheld wand comprises a large area head unit and a pivoting handle, an integral temperature sensor, a battery charger, a step-up (boost) voltage regulator, and integral safety system as a proximity detector. In yet another embodiment, a magneto therapy device comprises a coil implemented as a multilayer printed circuit board and used to generate time-varying magnetic fields. The magneto therapy device may be implemented in a pad or in a wand. Magnetotherapy, used to reduce inflammation and joint pain may be operated independently or in combination with PBT.

Another handheld wand version includes a modulated voice coil operated as a vibrator applying pressure to muscles and tissue at infrasound frequencies, i.e. below 10 Hz, similar to massage therapy but with deeper penetration. Infrasound therapy, used to reduce relax muscles and improve flexibility and range of motion, may be operated independently or in combination with PBT.

In another embodiment an ultrasound therapy device comprises a bendable PCB with one or more piezoelectric transducers modulated in the ultrasound band from 20 kHz to 4 MHz. The pad with piezoelectric transducers may also include LEDs modulated by pulses in the audio spectrum. In one application of a combination ultrasound-LED device, the ultrasound produced by the piezoelectric transducers is employed to break up scar tissue and the light emitted by the LEDs is used to improve circulation and remove the dead cells thereafter.

DESCRIPTION OF THE INVENTION

In order to overcome the aforementioned limitations facing existing generation PBT systems, a completely new system architecture in required. Specifically, the generation of sinusoidal waveforms and chords combining sine waves must occur within close proximity of the LEDs being driven to avoid significant waveform distortion from cabling. Such a design criterion mandates relocating waveform synthesis, moving it out of the PBT controller and into the LED pad. To accomplish this seemingly minor re-partitioning of functions is in fact a significant design change, and requires converting the LED pad from a passive component into an active system or “intelligent” LED pad. While a passive LED pad contains only an array of LEDs, current sources, and switches, an intelligent LED pad must integrate a microcontroller, volatile and non-volatile memory, a communication transceiver or bus interface, LED drive electronics, and the LED array. Because of the need for long cabling or wireless operation the time reference for the microcontroller must also be relocated into the LED pad. Essentially each intelligent LED pad becomes a small computer, which once instructed, is able to independently produce LED excitation patterns.

So rather than using a centralized PBT controller producing and distributing electrical signals to passive LED pads, the new architecture is “distributed”, comprising a network of autonomously operating electronic components lacking centralized real time control. This distributed PBT system, the first of its kind, requires the invention of intelligent LED pads—a therapeutic light delivery system whereby the LED pads perform all calculations needed to generate dynamic LED excitation patterns and safely execute LED drive accordingly. In distributed PBT operation, the role of the PBT controller is dramatically diminished to that of a UI/UX interface, allowing a user to select therapy treatments or sessions from available protocol libraries, and to start, pause, or terminate treatments. This lack of central hardware control is virtually unheard of in medical devices because ISO13485, IEC, and FDA regulations demand, for reasons of safety, hardware controllability at all times. As such, the implementation of effective safety systems in distributed hardware medical devices requires a new and innovative approach where safety functions must be performed locally and communicated system-wide. Such a safety protocol must be specified, designed, verified, validated and documented in accordance with FDA design regulations and international safety standards.

Another implication of a distributed PBT system with intelligent LED pads is the replacement of electrical signal communication with command-based instructions comprising data packets. Such command-based communication involves the design and development of a packet switched private communication network among the distributed system's components, adapting digital communication to meet the unique and stringent requirements of medical device control. Packet routing, security, and data payloads must be designed to prevent hacking or system malfunction, and must carry all requisite information to perform all necessary PBT operations.

Implementing a distributed PBT system with intelligent LED pads involves two sets of interrelated innovations. In this application, the intelligent LED pad's operation is disclosed including time-based LED excitation patterns delivered by streaming or by file transfer. This disclosure also considers the in-pad generation of waveforms using a three-step process of waveform synthesis, PWM player operation, and dynamic LED drive as well as requisite safety functions. In a related application filed by R.K. Williams et al., U.S. application Ser. No. 16/377,192, titled “Distributed Photobiomodulation Therapy Devices, Methods, and Communication Protocols Therefor,” filed concurrently with this application, the data communication hierarchical stack and control protocol are disclosed.

In the distributed PBT systems disclosed herein, LED playback can be controlled using either a time-based instruction sequence (referred to as streaming) or through command-based waveform generation and synthesis. In either event, data packets carry the LED excitation pattern digitally in their payload. In operation, through a graphical interface a user or therapist selects a PBT treatment or therapy session, and agrees to commence treatment. The command is then packetized, i.e. prepared, formatted, compressed, and stuffed into a communication packet, and delivered over a serial peripheral communication bus, LAN, broadband connection, WiFi, fiber or other media to one or more intelligent LED pads. Although the payload data being carried in each data packet is digital comprising bits organized as octets or hexadecimal words, the actual communication medium is analog, comprising differential analog signals, radio waves, or modulated light.

In wired communication, the communication bus typically uses electrical signals comprising analog differential waveforms modulated at a specified rate known as the symbol rate or baud rate (https://en.wikipedia.org/wiki/Symbol_rate). Each symbol may comprise a frequency or code for a defined duration. The detection of each sequential symbol is immune to distortions caused by reactive parasitics in a cable or by noise sources and therefore overcomes all the issues associated with digital pulse signal transmission in prior art PBT implementations. In WiFi communication, incoming serial data is split and transmitted in small packets across multiple frequency sub-bands, known as OFDM, i.e. orthogonal frequency division multiplexing to achieve a high-symbol rate and low bit-error rate. Similar frequency splitting methods are used in fiber channel and DOCSIS communication to achieve high symbol rates. Since each transmitted symbol is capable of representing multiple digital states, the serial bus bit data rate is therefore higher than the media's symbol rate. The effective bit data rate (https://en.wikipedia.org/wiki/List_of_device_bit_rates) of several of the most common serial and wireless communication protocols above 50 MB/s are summarized here below for reference:

In response to a user's commands, the PBT controller converts instructions into communication data packets, which are subsequently sent to all connected and qualified LED pads. The LED pads receive the instructions and respond accordingly, commencing a therapy session or performing other tasks. Because of high-bandwidth communication, the PBT system's user experience is that the treatment was instantaneous, i.e. users perceive a real time UI/UX response even though the system's operation was in fact performed as a sequence of inter-device communication and autonomous tasks.

The disclosed distributed PBT system involves multiple interacting components, each of which performs a dedicated function or functions within the de-centralized system. The number of unique components integrated into the system affects the system's overall complexity and impacts the sophistication of the communication protocol, i.e. the “language” used in inter-device communication. Various components of the disclosed distributed PBT system may include:A user interface comprising a central PBT controller or mobile application used for performing UI/UX based commands and dispatching instructions over the communication network.Intelligent LED pads performing dynamic photobiomodulation therapy treatments with local in-pad excitation pattern generation and waveform synthesis, and optionally with integrated sensors or imaging capability.Computer servers accessible over the Internet or private communication networks used for retaining and distributing PBT treatments, sessions, and protocols, or for uploading patient response, case study, or clinical trial data and associated files (e.g. MRIs, X-rays, blood tests).Optional therapeutic accessories such as laser wands or ultrasound therapy pads.Optional biometric sensors (e.g. EEG sensors, ECG monitors, blood oxygen, blood pressure, blood sugar, etc.) used for capturing and uploading patient sample or real-time data.Computer peripherals including high-definition displays and touchscreens, keyboards, mice, speakers, headphones, etc.

By combining or excluding various components in the PBT system, a variety of performance and system costs can be tailored for a wide range of users covering hospitals and clinics, and extending to individual users and consumers, spas, estheticians, sports trainers and athletes, as well as professional mobile applications for paramedics, police, or for military field doctors. Since the PBT components use a voltage higher than 5V, care in the disclosed design is exercised to prevent a user for accidentally connecting a USB peripheral into a high-voltage (12V to 42V) connection or bus.

LED Control in Distributed PBT Systems

One basic implementation of a distributed PBT system, shown inFIG. 13, involves three components—a PBT controller120, a power supply121, and a single intelligent LED pad123with an intervening USB cable122.FIG. 14illustrates a block diagram of an exemplary distributed PBT system's implementation, including a PBT controller and bus transceiver131, one or more intelligent LED pads337, a USB cable136, and an external power supply “brick”132. Although power supply brick132is shown as a discrete component in the illustration, in systems where PBT controller and bus transceiver131use a wired connection to an intelligent LED pad337the power supply may be included inside the PBT controller and transceiver rather than using a separate component. As shown, PBT controller and bus transceiver131includes a main microcontroller μC or MPU134, a touchscreen LCD133, a non-volatile memory128, a volatile memory129, a bus interface135, and a clock124, which produces clock pulses297at a frequency Φsys. The clock and memory elements are shown separately from main MPU134, to represent their function and are not intended to describe a specific realization or component partitioning. A RTC real time clock (not shown) may also included with PBT controller131. A RTC is an extremely low power consumption clock that runs continuously and synchronizes to international time standards or network time whenever possible.

Construction of main MPU134may comprise a fully integrated single-chip microcontroller or a microprocessor-based module, optionally containing main system clock124, bus interface135, and portions of non-volatile memory128and volatile memory129. Any number of partitions is possible including using multiple silicon integrated circuits (ICs), system on chip (SOC) integration, system in package (SIP), or as modules. For example, volatile memory129may comprise dynamic random access memory (DRAM), or static random access memory (SRAM). This memory may be integrated all, or in part, within main MPU134or may be realized by separate integrated circuits. Similarly, non-volatile memory128may comprise electrically erasable programmable random access memory (EPROM) or “flash” memory, which may be integrated all, or in part, within MPU134. Within PBT controller131high-capacity non-volatile data storage may also be realized using moving media storage such as optical disks (CDs/DVDs), by magnetic hard disk drives (HDDs), and even through network connections to cloud storage.

The role of non-volatile data storage128within PBT controller131is multipurpose including storage of the main operating system, referred herein as LightOS, as well as to retain program libraries of PBT treatments and sessions, generally stored in encrypted form for security reasons. Non-volatile memory128may also be used to capture treatment logs, upload sensor data, and possibly retain treatment metadata. In contrast to non-volatile memory128, the role of volatile memory129in PBT controller131is primarily that of scratchpad memory, holding data temporarily while calculations are performed. For example, in preparing a PBT session comprising a sequence of separate PBT treatments, the encrypted treatment algorithms must first be decrypted, assembled into a PBT session, re-encrypted, then assembled into a communication packet ready for network transport. Volatile memory129holds the data content during the communication packet assembly process.

Another consideration in a distributed PBT system is power distribution needed to power the PBT controller and the LED pads. Options include the following:Power the PBT controller using an internal power supply, then deliver power to the LED pads over the communication bus,Power the PBT controller using an external power supply (brick), then deliver power to the LED pads over the communication bus,Power the PBT controller using an internal power supply, and powering the LED pads using their own dedicated external power supply or supplies (bricks),Power the PBT controller using an external power supply (brick), and powering the LED pads using their own dedicated external power supply or supplies (bricks).

In the example shown, external power-supply brick132powers the entire PBT system, providing 5 V to integrated circuits and +VLEDto the strings of LEDs. USB cable136carries transceiver symbol data from the bus interface135of PBT controller and bus transceiver131to a bus interface338of LED pad337. USB cable136also supplies power; specifically ground (GND), 5V, and +VLEDto intelligent LED pad337, generally carried on copper conductors that are thicker and have a lower resistance than the cable's signal lines. Each LED pad337comprises a pad μC339, the bus interface338, a RAM volatile memory (e.g. SRAM or DRAM)334a, a NV-RAM non-volatile memory (e.g. EEPROM or flash)334b, a time reference clock333, an LED driver335, and an LED array336. Time reference clock333produces clock pulses299at a frequency Φpad. The LED driver335includes switched current sinks140and141, a string of series connected LEDs142athrough142mfor generating a light of a wavelength λ1, and a string of series connected LEDs143athrough143mfor generating light of a wavelength λ2. Typically, an LED pad337would include more than two strings of LEDs and current sinks, with one current sink for each string of LEDS.

Memory within LED pad337, including both volatile memory334aand non-volatile memory334b, is similar to that of the semiconductor memory employed in PBT controller131except that the total capacity can be smaller, and preferably consumes lower power. Memory in LED pad337must comprise semiconductor solutions because the risk of mechanical shock and breakage of moving media storage makes it inadvisable to integrate fragile data storage into LED pad337. Specifically, volatile memory334ain LED pad337may comprise dynamic random access memory (DRAM), or static random access memory (SRAM) and may be integrated all, or in part, within μC339. In the LED pad337, volatile memory334ais useful to hold data that need not be retained except during use such as LED streaming files, LED player files and LED playback files. The advantage of only temporarily retaining executable code needed to perform the current PBT treatment (and not the entire library of treatments), is that in this way the capacity and cost of memory required within LED pad337can be greatly reduced as compared to the memory required in the PBT controller131. It also has the advantage that it renders reverse engineering and copying of the treatment programs more difficult because any time power is removed from LED pad337, all the data is lost.

Non-volatile memory334bmay comprise electrically erasable programmable random access memory (EPROM) or “flash” memory, which may be integrated all, or in part, within 339. Non-volatile memory334bis preferably employed to hold firmware that does not need to be changed often, such as the operating system for the LED pad337, herein referred to as LightPadOS, along with manufacturing data including pad identification data, i.e. the LED pad ID register, and manufacturing related LED configuration data. Non-volatile memory334bmay also be used to retain user logs of what treatments have been performed. Low-cost design for LED pads is another important economic consideration because one PBT controller is often sold with multiple LED pads, up to 6 or 8 per system. To lower the overall memory cost it is beneficial to concentrate memory, especially non-volatile memory, into the PBT controller where there is only a single device, and to minimize the memory contained within each LED pad, which occurs in multiple instances per system.

In operation, user commands input on touchscreen LCD133of PBT controller131are interpreted by main MPU134, which in response retrieves treatment files stored in non-volatile memory128and transfers these files through USB bus interface135, over USB cable136to bus interface338within intelligent LED pad337. The treatment files, once transferred, are temporarily stored in volatile memory334a. The μC339within pad337, operating in accordance with the LightPadOS operating systems stored in non-volatile memory334b, then interprets the treatments stored in RAM volatile memory334aand controls the LED driver335in accordance with the LED excitation patterns of the selected treatment, whereby n strings of LEDs in LED array336, a given string containing m LEDs, are illuminated and generate light of various wavelengths in a desired manner. Because PBT controller131and LED pad337operate using their own dedicated clocks124and333, the distributed PBT system is asynchronous, being driven by clock pulses297and299at two different frequencies, specifically Φsysand Φpadrespectively.

Since the two systems operate with different clock rates, communications between PBT controller131and LED pad337occur asynchronously, i.e. without a common synchronized clock. Asynchronous communication is compatible with a wide range of serial bus communication protocols including USB136as shown, or Ethernet, WiFi, 3G/LTE, 4G, and DOCSIS-3. Although a synchronous clock version of a distributed PBT system, i.e. one with a shared clock is technically possible, synchronous operation offers no performance or efficacy advantage over its asynchronous counterpart. Moreover, high frequency clock distribution over long cables is problematic suffering from clock skew, phase delays, pulse distortions and more.

The architecture ofFIG. 14comprising a distributed PBT system having two or more microcontroller or computer “brains” represents a fundamental architecture change in PBT systems which otherwise generally comprise either an all-in-one pad with integral controller or an active PBT controller driving passive LED pads. It should be known to those skilled in the art that instead of being a separate hardware device, a PBT controller may alternatively comprise a notebook or desktop personal computer, a computer server, an application program running on a mobile device such as a tablet or smartphone, or any other host device capable of executing computer software such as a video game console, and IoT device or more. Examples of such alternative embodiments are shown throughout the application.

As shown inFIG. 15, PBT operation can be interpreted as a sequence of communications used to control hardware operations. Using an open system implementation or OSI representation, PBT controller120contains communication stack147comprising an application Layer 7, a data link Layer-2 and a physical Layer-1. Within PBT controller120, application Layer-7 is implemented using a customized operating system for photobiomodulation referred to herein as LightOS. Instructions received by LightOS user commends are passed down to the Layer-2 data link layer and together with the PHY Layer-1 communicate using the USB protocol using USB differential signals332to the corresponding PHY Layer-1 of communication stack148resident within intelligent LED pad123. So although electrical signals comprise Layer-1 communications, the data constructs of USB behave as though the PBT controller and intelligent LED pad are communicating on Layer-2 with the packets arranged in time as USB data “frames”. Once communication stack148receives a USB packet, the information is transferred up to the application Layer-7 executed by a LED pad resident operating system referred to herein as LightPadOS. Provided that the PBT controller's LightOS and the intelligent LED pad's operating system LightPadOS are designed to communicate and execute instructions in a self-consistent manner, the bidirectional link between communication stacks147and148functions as a virtual machine at the application layer, meaning the distributed device behaves the same as if it were a single piece of hardware.

To ensure components are able to exchange information and execute instructions at a high abstraction level, i.e. at the application layer and above, it is important that the two operating systems LightOS and LightPadOS are developed with parallel structure using the same encryption and security methods and protocols on any given layer. This criterion includes adopting common shared secrets, executing pre-defined validation sequences (needed for components to join the system's private network), executing common encryption algorithms, and more.

To ensure that the two components can commence communication and perform tasks, the PBT controller must first establish whether the LED pad is indeed a manufacturer approved, system-validated component. This test, referred to as “authentication” is shown in the flow chart ofFIG. 16in two parallel sequences one occurring within LightOS operating as the “host”, the other occurring within LightPadOS operating as the “client”. As shown, upon completion of establishing a physical USB connection, i.e. insertion150, the controller's LightOS operating system commences a subroutine151acalled “LightPad Installation” while concurrently the LED pad's LightPadOS operating system commences a subroutine 15 lb. In the first step152a, used to determine whether the client is a power source (and reject it if it is), the PBT controller performs check158checking if the USB D+ and D− pins are shorted. If these data pins are shorted, according to the USB standard, the peripheral is a power source and not a LED pad, whereby the system rejects the connection, terminates the authentication, and LightOS informs the user the peripheral is not a valid component and to unplug it immediately. If the pins are not shorted, then the LightPadOS then the installation approval process may proceed.

In steps153aand153b, the two devices negotiate what is the maximum data rate they can each understand and reliably communicate. Once the communication data rate is established, the symmetric authentication processes154aand154bcommence. During symmetric authentication, in step154athe LightOS first queries the LightPadOS to determine if the LED pad123is a valid manufacturer-approved device by checking data stored in the LED pad identity data register144. In the mirrored authentication process of step154b, the LED pad123confirms that the PBT controller120is a valid device with a valid manufacturing ID approved for use with the LED pad123. In this exchange certain encrypted security credentials and manufacturer's identification data including serial number, manufacturing code, and GUD ID number change hands to insure that both PBT controller120and the intelligent LED pad123are from the same manufacturer (or are otherwise licensed as an approved device). In the authorization fails, the host LightOS informs the user the LED pad is not approved for use in the system and instructs them to remove it. If LightOS is unable to authenticate LED pad123then PBT controller120will discontinue communication with the LED pad123. Conversely, if the LED pad's LightPadOS is unable to determine the authenticity of PBT controller120, then LED pad123will ignore the instructions of PBT controller120. Only if symmetric authentication is confirmed can operation proceed.

Any number of authentication methods can be performed to establish a private network including PBT controller120and LED pad123and approve LED pad123's connection to the private network. These methods may involve symmetric or asymmetric encryption and key exchange, employing ‘certificate authority’ based identity confirmation through the exchange of digital CA-certificates, or exchanging cryptographic hash data to confirm that LED pad123holds the same shared secrets as PBT controller120, meaning that LED pad123was produced by a qualified manufacturer. For example, a numeric code installed and cryptographically hidden in both & PBT controller120and intelligent LED pad123, i.e. a shared secret, can be used to confirm the authenticity of intelligent LED pad123without ever divulging the key itself. In one such method of LED pad validation executed on data link layer2, the PBT controller120passes a random number to the intelligent LED pad123over the network or communication bus. In response, the microcontroller in the LED pad123decrypts its copy of the shared secret (numeric code), merges it with the received random number then performs a cryptographic hash operation on the concatenated number. The intelligent LED pad123then openly returns the cryptographic hash value across the same transceiver link.

Concurrently the PBT controller120performs an identical operation decrypting its own copy of the shared secret (numeric code), merging it with the generated random number it sent to the LED pad123then performing a cryptographic hash operation on the concatenated number. The PBT controller120next compares the received and locally generated hash values. If the two numbers match, the LED pad123is confirmed as authentic, i.e. LED pad123is ‘authorized’ to connect to the network. The aforementioned authentication algorithm may be executed on any PHY layer1and/or data-link2connection over any data bus or packet switched network including USB, Ethernet, WiFi or cellular radio connections. In the event of a WiFi connection, the data link may also be established using WiFi protected access protocol WPA2.

For ‘administrative’ purposes and security tracking, the authorization time and date (and as available the GPS location) of the authenticated component is stored in a non-volatile memory such as non-volatile memory128and optionally uploaded to a server. The benefit of employing secure communication and AAA (authentication, authorization, administration) validation of all connected components in the distributed PBT system is crucial to ensure safety and protection from the intentional connection of uncertified and potentially unsafe imposter devices. In this way, imposter devices cannot be driven by the distributed PBT system. AAA validation also protects against the accidental connection of devices not intended for operation as part of the PBT system such as lithium ion battery packs, unapproved power supplies, speakers, disk drives, motor drivers, high power Class III and Class IV lasers, and other potential hazards unrelated to the PBT system.

The security of a distributed PBT system using a packet switched network (such as Ethernet or WiFi) may also be enhanced using dynamic addressing on network layer3and dynamic port assignment on data transport layer4of communication stacks147and148. In operation of a PBT controller not connected to the Internet or a local area network, the PBT controller generates a dynamic IP address and a dynamic port address, and then broadcasts the addresses to the other network connected devices, to which the intelligent LED pads respond with their own dynamic IP addresses and their own dynamic port addresses. In the event that the distributed PBT system is in contact with a router or the Internet, a dynamic host configuration processor (DHCP) is used to assign dynamic IP addresses. Similarly, a remote procedure call (RPC) is used to perform a dynamic port number assignment. Since dynamic IP addresses and dynamic ports change whenever a device is connected to a network, the cyber attack surface is reduced. Additional layer-4 security can be added using TLS transport layer security, IPSec security protocol, or other protocols. Once the intelligent LED pad is connected to the network, additional information such as LED configuration data can be exchanged to authorize the component to operate as part of the distributed PBT system.

In step155a, the LightOS in the PBT controller120requests information regarding the LED configuration of the LED pad123. In step155b, the LightPadOS in the LED pad123responds by relaying the information within the configuration register145of the LED pad123to the PBT controller120. In addition to containing a detailed description of the LED array336the configuration file also specifies the manufacturer's specification for the maximum, minimum and target voltage need to power the LED strings142a-142mand143a-143min the array336. The configuration file also specifies the minimum required current needed to drive the LEDs. If more than one LED pads are connected to the PBT controller120, the LightOS in PBT controller120solicits and receives the same information from every attached LED pad, i.e. analyzing the entire network of connected devices.

In step156a, the LightOS in PBT controller120inspects the voltage requirements of LED pad123and compares that value to the output voltage range of the high voltage power supply, e.g., the external power supply brick132shown inFIG. 14. In PBT controllers using a high voltage power supply capable of a fixed output voltage +VLED, the LightOS operating system will confirm than this voltage falls within each LED pad's specified voltage range from Vminto Vmax. The system will also check to confirm that the required total current for all of the “n” LED strings in the LED pads connected to the PBT controller does not exceed the current rating of the supply (although this is generally not a concern, the current check is included to support low cost consumer PBT device designs with limited power).

If in step156a, the power supply's output voltage meets the operating range of every connected LED pad, i.e. Vmin≤+VLED≤Vmax, then the PBT controller120will enable the high supply voltage +VLED. Optionally in step156bthe PBT controller120may inform the LED pad123of the supply voltage chosen which is stored in non-volatile memory334b, documenting the last supply voltage delivered to the LED pad (useful when inspecting quality matters and field failures). In the event that the PBT controller120employs a programmable voltage power supply, the LightOS operating system will select the best voltage based on the operating Vtargetof LED pad123, as stored in the pad's LED configuration register145. If the target voltages are mismatched, the LightOS operating system in PBT controller120will choose a voltage +VLEDas some compromise of the various reported target voltages. The term “high supply voltage” in this context means a voltage between 19.5 V minimum and 42 V maximum. Common supply voltages include 20V, 24V, or 36V. Even after +VLEDis enabled, this high voltage is not connected to the output socket or supplied to the LED pads until a treatment is selected and therapy initiated.

During the authentication process and in the case of user inquiries, the PBT controller120must solicit information regarding the manufacturing of the LED pad123. This data is beneficial for complying with medical device regulations of traceability, and for debugging quality or field failures or for processing return merchandise authorizations (RMAs).FIG. 17illustrates an example of the type of product manufacturing information included in “LED pad identity data register”144stored in the LED pad337's non-volatile memory334b. This data may include the manufacturer's part number, the name of the manufacturer, the unit's serial number, a manufacturing code linked to a description of the specific unit's manufacturing history or pedigree, the USFDA specified global unique device identification database (GUDID) number [https://accessgudid.nlm.nih.gov/about-gudid], and as applicable a related510(k) number. The register may also optionally include country specific codes for importing the device and other customs related information e.g. export license numbers or free-trade certificates. The information in identity data register144is stored in non-volatile memory334bduring manufacturing. The LED pad identity data register144also includes security credentials (such as encryption keys) used in the authentication process. The security credentials may be static as installed during manufacturing, or may be dynamically rewritten each time the LED pad337is authenticated, or alternatively rewritten after a prescribed number of valid authentications.

As described, during the authentication process the PBT controller120gathers information regarding the LED configuration of every connected LED pad. As shown inFIG. 18, the LED configuration information of LED pad337is stored in the non-volatile memory334bin “LED configuration register”145, written during the manufacture of LED pad337. The configuration register145stores the number n of LED strings in the LED array336and the specific information description of the LEDs in each string, including the wavelength λ of the light emitted by the LEDs and the number “m” of LEDs connected in series in each string. In operation, this LED string information is used for matching a LED treatment to a specific type of LED pad. For example, treatments designed exclusively for driving red LEDs will not function if an LED pad containing blue or green LEDs is attached. A user's IU/UX, i.e. menu choices on the touchscreen of PCB controller120are adjusted in accordance with the LED pads connected to PCB controller120. If an LED pad containing LEDs designed to emit light of the wavelength required for a particular type of treatment is not attached to PCB controller120, the menu selection for that type of treatment is hidden or grayed out.

The LED configuration register145is essentially a tabular description of LED pad337's circuit. The schematic circuit diagram ofFIG. 19depicts a portion of LED pad337comprising LED driver335with a LED controller circuit160and current sinks161athrough161f, and LED array336, wherebyString #1 in LED configuration register145describes string162acomprising six series-connected near infrared LEDs of wavelength λ1=810 nm driven by current sink161acarrying current ILED1.String #2 in LED configuration register145describes string163acomprising four series-connected red LEDs of wavelength λ2=635 nm driven by current sink161bcarrying current ILED2.String #3 in LED configuration register145describes string164acomprising four series-connected blue LEDs of wavelength λ3=450 nm driven by current sink161ccarrying current ILED3.String #4 in LED configuration register145describes string162bcomprising six series-connected near infrared LEDs of wavelength λ1=810 nm driven by current sink161dcarrying current ILED4=ILED1.String #5 in LED configuration register145describes string163bcomprising four series-connected red LEDs of wavelength λ2=635nm driven by current sink161ecarrying current ILED5=ILED2.String #6 in LED configuration register145describes string164bcomprising four series-connected blue LEDs of wavelength λ3=450nm driven by current sink161fcarrying current ILED6=ILED3.

The foregoing is intended to exemplify without limitation, the data formatting of LED configuration register145and its corresponding schematic equivalent, not to represent a specific design. In particular, the number of LED strings “n” and the number of LEDs connected in series in a given string “m” contained within the LED pad are likely to exceed the numbers shown in this example. In practice, the number of LEDs in the various strings may be identical or may differ from string to string. For example, an LED pad may include 15 strings comprising fourteen LEDs in series, or 210 LEDs. These LEDs may be arranged in three groups of five LED strings each; one-third near infrared (NIR), one-third red, and one-third blue. Each LED type may be configured with 5 parallel strings and 14 series connected LEDs, i.e. three 14s5p arrays.

LED configuration register145also includes the minimum and maximum operating voltages for the LED pad. For proper LED operation, the power supply voltage +VLEDmust exceed the minimum voltage specification Vminof the LED pad to ensure uniform illumination, but to avoid damage from excessive voltage or heat the power supply voltage should not exceed the specified maximum voltage Vmax. In other words, the value of the supply voltage acceptable for powering the LED pad must meet the criteria Vmin<+VLED<Vmax. The manufacturer's specified value of Vmin, stored in LED configuration register145, must on a statistical basis exceed the highest voltage string of LEDs in the LED pad to insure that so long that the criteria Vmin<+VLEDare maintained, the pad's highest voltage strings will still be fully illuminated in operation. If the Vminvoltage is specified too low, in some LED pads individual LED strings may be dimmer than others during treatment. Poor brightness uniformity adversely impacts treatment efficacy by limiting a PBT treatment's peak and average power and reducing a treatment's total energy (dose).

The highest voltage string in a LED pad is determined by both design and stochastic voltage variability in LED manufacturing. Each LED string comprises m series-connected LEDs, where each LED has its own unique forward conducting voltage Vfx, where x varies from 1 to m, and where the total string voltage is the summation of these individual LED voltages ΣVfx. The highest voltage could occur in a string comprising fewer series-connected LEDs with higher-voltage, or it could occur in a string comprising a larger number of lower forward voltage LEDs. A LED pad manufacturer must employ statistical sampling data of LED forward voltages on a lot-to-lot basis to ensure that no LED pad is manufactured with an LED string voltage exceeding the specified value of Vmin.

Albeit less precise, the power supply must be capable of supplying a minimum required average current Iminto illuminate all the LEDs of a particular color (wavelength) at once. Generally, in a two wavelength LED pad, 50% of the n strings of LEDs may be conducting at the same time. While in a three-color LED pad, it is likely that only one of the three LED wavelengths will be illuminated at a time to avoid overheating, a worst case assumption of ⅔rdor 67% of the n-strings can be used to calculate the maximum current. The peak current in LED conducting in continuous operation will in the worse case not exceed 30 mA per string, i.e. ILED≤30 mA. Using this worst case assumption, a pad with n=30, ⅔rdof the strings illuminated at one time, and with ILED≤30 mA will require a value of Imin=30(⅔)(30 mA)=600 mA.

The value of Imaxspecified in LED configuration register145is not a description of the maximum current flowing in the LEDs, but a description of maximum safe current at 50% duty factor in the pad's conductive traces. This current includes the current flowing in the LED pad's own LED strings plus any current bussed through the LED pad to another LED pad. The specification is included to prevent operating the pad where significant voltage drops occur in the LED pad's power lines resulting in heating, malfunction, electromigration, or metal fusing. One possible design guideline for an LED pad's printed circuit board (PCB) is to utilize copper conductors capable of carrying more than twice its rated current, meaning the pad can safely carry its own current and the current of another LED concurrently. An added design guard band of 6=25% is included as a safety margin. For example, if Imin=600 mA then using a 25% guard band, Imax=2Imin(1+δ)=1500 mA. Configuration register145also includes the mirror ratio α used to convert the reference current Irefinto the LED string current ILED(or vice versa) in accordance with the relation ILED=αIref. If different ratios are used for each channel, the table can be modified accordingly to include α1, α2, α3. . . whereby ILED1=α1Iref1, ILED2=α2Iref2, and so on.

Referring againFIG. 19, the current ILED1in NIR LED strings162a,162bis controlled by dedicated series-connected current sinks161a,161d, respectively, conducting on-state currents in proportion to Iref1. The current ILED2in red LED strings163a,163bis controlled by dedicated series-connected current sinks161b,161e, respectively, conducting on-state currents in proportion to Iref2. The current ILED3in blue LED strings164a,164bis controlled by dedicated series-connected current sinks161c,161f, respectively, conducting on-state currents in proportion to Imo. The current control device connected in series with each LED string may be either connected to the cathode side as a current “sink” as shown by current sink161ainFIG. 20A, or connected to the anode side of the LED string as a current “source” as shown by current source200ainFIG. 22A. In both current sink (FIG. 20A) and current source (FIG. 22A) implementations, the current ILEDflowing in the current control device161a,200a, respectively, and in the LED string165,201, respectively is controlled by an analog reference current Irefand a digital enable pulse En. The origin of the signals Irefand En in a distributed PBT system is discussed later in this application. (Note: The terms “current source” and “current sink” are well-known in the art as referring to a component that provides or receives (“sinks”) a current whose magnitude is relatively unaffected by the magnitude of the voltage across the component.)

FIG. 20Billustrates a block diagram representation of idealized current sink161ashowing a current sense and control element166driving the gate of an N-channel MOSFET167. The MOSFET167(or alternatively a bipolar junction transistor) maintains the controlled current while sustaining the voltage across its drain-to-source terminals. Gate bias is provided by current sense and control element166to maintain a constant current despite variations in the drain-to-source voltage across MOSFET167.FIG. 20Cillustrates one implementation of the constant current sink161a, wherein N-channel current mirror MOSFETs168aand168bprovide a current reflecting the magnitude of the current ILED. The ratio β of the gate width of MOSFET168bto the gate width of MOSFET168ais less than one, meaning that the current in current mirror MOSFET168bis a fraction of, but in a precise ratio to, the load current in current mirror MOSFET168a(ILED). The current in MOSFET168B is transformed by a unity current mirror comprising P-channel MOSFET169aand169bhaving matched gate widths Wpfrom a ground-referenced current to a 5V-supply-referenced current of magnitude βILED. The differential “error” signal ΔIerrrepresenting the difference between Irefand βILEDis then amplified and converted proportionally into a voltage VGby transconductance amplifier170and fed to the gate of the current controlling element, i.e. MOSFET167, forming a closed loop feedback path. In operation the gain Gmof transconductance amplifier170results in a gate bias voltage VGthat drives its error signal ΔIerrto zero, thereby forcing Iref=βILED. For convenience's sake we redefine β=1/α whereby we can express the current source transfer function as ILED=αIref. The reference current Irefis distributed to all the LED strings within the same LED pad to insure uniform brightness across all LEDs.

In the switched current sink161a, a digital inverter171and an analog transmission gate comprising a P-channel MOSFET172and a ground connected N-channel MOSFET173perform the digital enable function of the En input, controlling the gate of N-channel current sink MOSFET167. Specifically, when the enable signal En is high, the output of inverter171is at ground, turning on P-channel transmission gate MOSFET172and turning off N-channel MOSFET173. Because the P-channel MOSFET172has a grounded gate, it is biased in a fully on condition, i.e. its linear region, and behaves like a resistor, passing the analog voltage VGfrom the output of transconductance amplifier170to the gate of N-channel current sink MOSFET167. Conversely, when the enable signal En is low (digital 0), the output of inverter171connected to P-channel transmission gate MOSFET172is biased to 5 V, and the P-channel MOSFET172is turned off, disconnecting the gate of N-channel current sink MOSFET167from the output of transconductance amplifier170. Concurrently, N-channel MOSFET172is turned on, pulling the gate of current sink MOSFET167to ground and turning off the current sink MOSFET167, i.e. ILED=0. In conclusion, the circuit ofFIG. 20Crepresents one circuit to implement the switched controlled current sink161a. When the current sink161ais enabled (En=digital 1), the current sink MOSFET167conducts and carries a controlled current ILED=αIref. When the current sink161ais disabled (En=digital 0), the current sink MOSFET167is turned off and ILED=0.

In a similar manner, the current source200aofFIG. 22Acan be realized using P-channel current mirror MOSFETs to source a controlled current from the +5V supply voltage +VLEDinto the anode of LED string201.FIG. 22Billustrates a block diagram representation of this idealized current source200ashowing a current sense and control element202driving the gate of a P-channel MOSFET203. The MOSFET203(or alternatively a bipolar junction transistor) maintains the controlled current ILEDwhile sustaining the voltage across its drain-to-source terminals. Gate bias is provided by current sense and control element202to maintain a constant current despite variations in the drain-to-source voltage across MOSFET203.

FIG. 22Cillustrates one implementation of the constant current source200a, wherein P-channel current mirror MOSFETs204aand204bprovide a current βILEDreflecting the magnitude of the load current ILED. The ratio of the gate width of MOSFET204bto the gate wide of MOSFET204A is β, where β<1, meaning the current in mirror MOSFET204bis a fraction of, but in a precise ratio to, the LED load current ILED. The current βILED, representing a +VLEDhigh-voltage supply-referenced current, is then input into a differential transconductance amplifier206wherein it is compared to reference current Iref, a current also mirrored to the +VLEDhigh voltage supply rail. The differential “error” signal Men, representing the difference between Irefand βILED, is then amplified and converted proportionally into a voltage −VGby transconductance amplifier206and fed to the gate of the current controlling element, P-channel current source MOSFET203, forming a closed loop feedback path. In operation the gain Gmof transconductance amplifier206results in a gate bias voltage −VGthat drives its error signal ΔIerrto zero, thereby forcing Iref=βILED. For convenience's sake we redefine β=1/α whereby we can express the current source transfer function as ILED=αIref. The reference current Irefis distributed to all the LED strings within the same LED pad to insure uniform brightness across all LEDs.

In the implementation of switched current source200ashown inFIG. 22C, digital inverters211aand211band an analog transmission gate comprising P-channel MOSFET207and a +VLEDconnected P-channel MOSFET208perform the digital enable function of the En input, controlling the gate of P-channel current source MOSFET203. Specifically, when the enable signal En is high, the output of inverter211ais at ground and the output of inverter211bis at 5 V, turning on high-voltage level shift N-channel MOSFET210aand turning off high-voltage level shift N-channel MOSFET210b. With high-voltage level shift N-channel MOSFET210ain its on state, current is conducted through resistor209apulling the gate of P-channel transmission gate MOSFET207down to a voltage near ground, turning it on. Because the P-channel MOSFET207has a gate biased near ground, the device operates in its linear region, i.e. fully on, behaving like a resistor and passing the analog voltage −VGfrom the output of transconductance amplifier206to the gate of P-channel current source MOSFET203. Simultaneously, since high-voltage level-shift N-channel MOSFET210bis off, no current flows in resistor209b, and the voltage of the gate of P-channel pull up MOSFET208is tied to its source, i.e. to +VLED, and MOSFET208is turned off. Thus, whenever P-channel current source MOSFET203is turned on, P-channel pull up MOSFET208is turned off and has no effect on the gate voltage of P-channel current source MOSFET203.

Conversely, when the enable signal En is low (digital 0), the output of inverter 211b is biased at ground, turning off high-voltage level shift N-channel MOSFET210a. With high-voltage level-shift N-channel MOSFET210aturned off, no current flows in resistor209a, and the voltage at the gate of P-channel transmission-gate MOSFET207is biased to +VLEDturning P-channel transmission gate MOSFET207off and disconnecting the output of transconductance amplifier206from the gate of P-channel current source MOSFET203. Concurrently, N-channel MOSFET210bis turned on, allowing current to flow in resistor209band pulling the gate of P-channel pull-up MOSFET208down near to ground, turning MOSFET208on. With P-channel pull-up MOSFET208is an on state, the gate of P-channel current source MOSFET203is biased to +VLED, whereby the current source MOSFET203is turned off and ILED=0. In conclusion, the circuit ofFIG. 22Crepresents one circuit to implement switched controlled current source200a. When the current source200ais enabled (En=digital 1), the current source MOSFET203conducts and carries a controlled current ILED=αIref. When the current source200ais disabled (En=digital 0), the current source MOSFET203is turned off and ILED=0.

It should be noted that the current sink circuit implementation ofFIG. 20Cis essentially a low voltage circuit. The only component requiring a specification capable of surviving high-voltage LED supply+VLEDis the N-channel current sink MOSFET167. This is not the case with the current source circuit ofFIG. 22C, which requires MOSFETs with high off-state drain-to-source blocking capability, especially P-channel current source MOSFET203, which must conduct a controlled current while simultaneously sustaining a high-voltage, i.e. the current source MOSFET203must exhibit a wide safe operating area free from second breakdown (snapback) and hot carrier reliability concerns. Of particular concern is the maximum gate-to-source voltage rating of P-channel MOSFETs207and208, i.e. VGSp(max). To avoid damaging the gate oxide of these devices, the values of resistors209aand209bmust be chosen carefully not to produce an on-state gate drive exceeding VGSp(max) of the devices. As a precaution, a zener diode can be included across the gate to source terminals of MOSFETs207and208, respectively, to clamp the maximum gate bias to a safe level. In some integrated circuit processes, fabricated high voltage P-channel transistors may optionally utilize a thicker “high voltage” gate, but this option depends of the wafer foundry used to produce the IC.

FIG. 23Aillustrates another implementation of a switched current source for controlling the current through LED string201. In this case the analog current control circuit is separated from the digital enable function, whereby LED string201is series connected between a controlled current source220aand a grounded N-channel enable MOSFET212. The block diagram of this circuit, shown inFIG. 23B, illustrates that the realization of current source220aincludes a current sense and control circuit222and a high-voltage P-channel current source MOSFET203. The circuit implementation of a “low-side switched” current source, shown inFIG. 23C, is considerably simpler than that of the fully integrated switched current source ofFIG. 22C. As shown, the current sensing remains unchanged, using a current sensing mirror comprising P-channel MOSFETs204aand204b, a current reference mirror comprising P-channel MOSFETs205aand205band a differential input transconductance amplifier206. InFIG. 23C, however, the high voltage level shift, transmission gate, and gate pull up circuitry is completely eliminated and replaced by a single grounded N-channel MOSFET212driven by low-voltage gate drive inverters221aand211b.

In the high-voltage current source circuits of bothFIG. 22CandFIG. 23C, the required reference current is a ground referenced current sink current −Iref. Since most current references source current rather than sink it, a source-to-sink current mirror is required. This mirror is depicted inFIG. 23Cby a threshold connected N-channel MOSFET213awith a current reference input Irefmirrored by N-channel MOSFET213bto produce a current sink reference current −Irefused to power +VLEDreferenced P-channel current mirror MOSFET205b. It should be understood that the converse of the circuit shown inFIG. 23Cuses a high-voltage P-channel MOSFET and level shift circuit for the enable function and a grounded current sink for current control. But in general, a high-side switched current sink has no specific advantage over the fully integrated switched current sink shown inFIG. 20Cand therefore is not described in this application.

In all the aforementioned circuits, LED current control depends on a common reference current. To achieve the required precision for controlling LED brightness, reference current Irefrequires active trimming during manufacturing. One method for trimming the reference current, using resistors, is shown inFIG. 21A. The reference current Iref0is determined by threshold-connected P-channel MOSFET180ain series with resistor181. Threshold connection refers to a MOSFET WITH ITS GATE CONNECTED TO ITS DRAIN TO CREATE A TWO TERMINAL DEVICE WHERE VGS=VDS. The term “threshold” is used because it represents the voltage where a rapid increase in drain current occurs, at a voltage near the threshold voltage Vtpof the device, i.e. VGS=VDS≈Vt. So the current in P-channel MOSFET180ais approximately Iref0≈(5V−Vtp)/Ro. This reference current is mirrored to other reference MOSFETs180bto180eof identical construction and gate width by a shared gate connection to produce multiple matched reference currents Iref1, Iref2, Iref3, Iref4and more. Mismatch of the gate widths Wp0=Wp1=Wp2=Wp3=Wp4etc. is not a significant source of variability in comparison to the variability of the resistance R0of the integrated circuit resistor181. To be able to electronically trim the circuit to compensate for manufacturing variances, Irefresistor trim circuit182includes an array of switched resistors183a,183b. . .183nhaving corresponding resistances R1, R2. . . Rnthat can by connected electrically in parallel with resistor181(or not) depending on whether N-channel MOSFETs184a,184b. . .184nare biased into a conducting state by gate drivers185a,185b. . .185nrespectively. For each transistor activated, its corresponding resistor is placed in parallel with resistor181, reducing the effective resistance R0and increasing the magnitude of current Lref0. Such a trimming method is a unidirectional trim down in resistance and up in current, meaning the initial value is the highest resistance and the lowest current. In manufacturing, the LED current is measured and the combination of which trim MOSFETs are turned on and off are adjusted by changing the digital value calibration register186until the target current is reached whereby the contents of calibration register186are written into non-volatile memory. Although this method describing switched parallel resistances represents one resistor trim method, an alternative method involves series connected resistors shorted out by conducting MOSFETs. In this series trim method, the resistor value with all the MOSFETs turned off starts at the highest value with the lowest current, and the current increases as the trim proceeds and MOSFETs are turned on shorting out more resistors.

FIG. 21Billustrates an alternative trimming method using MOSFET gate width scaling. As in the resistor reference circuit ofFIG. 21A, in this reference circuit a reference current Iref0conducted by a threshold connected P-channel MOSFET180ais mirrored to multiple outputs through identically sized MOSFETs180bthrough180e. Unlike in the prior case however, a bandgap reference circuit190with an output Vbandgapproduces the reference current. The bandgap voltage is converted into a current by series resistor and mirrored by threshold connected current mirror N-channel MOSFET192awith a gate width Wnto mirror MOSFET192bwith gate width γWnto produce reference current Iref0. The temperature-dependent output voltage Vbandgap(T) of bandgap voltage reference190can be designed to largely offset the temperature variation of resistor191whereby γ [Vbandgap(T)/R0(T)]=Iref0where Iref0becomes constant with temperature. Trimming occurs by changing the effective gate width of P-channel MOSFET180aby paralleling any number of threshold-connected MOSFETs193a,193b193n, having respective gate widths Wp1, Wp2, . . . Wpxnin accordance with the digital on-off state of P-channel MOSFET switches194a,194b. . .194n, which are controlled by digital inverters195a,195b. . .195n. If for example, MOSFET194bis turned on by inverter195b, then MOSFET193bis essentially in parallel with P-channel MOSFET180aand the current mirror's gate width increases from Wp0to a larger (Wp0+Wpx2). The larger gate width of the threshold connected MOSFET pair means less voltage is needed to carry the same reference current so the current in the output reference currents is reduced. In other words, the current mirror ratio between Lref0and Iref3, for example, changes from a ratio [Wp3/Wp0] to a smaller ratio [Wp3/(Wp0+Wpx2)] meaning the output current deceased with active trimming. As such, the trim is unidirectional starting with the highest output current when the trim MOSFETs are off and decreasing as more transistors are connected in parallel. In manufacturing, the LED current is measured and the combination of which trim MOSFETs are turned on and off is adjusted by changing the digital value calibration register186until the target current is reached whereupon the contents of calibration register186are written into non-volatile memory.

In order to vary the reference current and thereby the LED current dynamically, the value of the reference current can be changed digitally by overwriting the calibration register186with dynamic data adjusting or modulating LED brightness, but to do so is disadvantageous as it loses the accuracy achieved by a calibration reference trim during manufacturing. This problem is overcome by the dynamically programmable reference circuit ofFIG. 21C, comprising two reference current registers—the aforementioned Irefcalibration register186, and a separate dynamic target reference current register199aunique to a specific PBT treatment. The dynamic target reference current199avaries with time while the calibration table does not. In this regard, the data in calibration table186can be considered as a fixed offset to the data in dynamic target reference current register199a. The two registers are easily combined using simple subtraction performed by arithmetic logic unit ALU198to produce a compensated dynamic drive current register, specifically “Irefinput word199b”. This digital word is used to drive a digital-to-analog (D/A) converter197, which outputs an analog voltage as a function of its digital input. While the accuracy may range from 8 bits to 24 bits in resolution, 16-bit DACs, commonly available in many microcontrollers, produce 1,024 combinations—ample resolution for any required waveform synthesis. As shown, the D/A converter output voltage VDACis converted to current by a resistor191and mirrored by N-channel MOSFETs192aand192bto produce reference current Iref0, where Iref0≈β[VDAC−Vtn)/R0]. The reference current Iref0is mirrored by threshold connected P-channel MOSFET180aand matched MOSFETs180b,180c,180d,180e. . . to produce the corresponding current reference outputs Iref1, Iref2, Iref3, Iref4and so on. D/A converter197may also comprise a current output D/A converter, producing an analog current instead of producing a voltage. In such cases the resistor191is unimportant and may even be eliminated.

Referring again toFIGS. 15 and 16, once components of a distributed PBT system are established through Layer-2 authentication, and Layer-3 and Layer-4 network and port address assignments, and the LED pad's configuration data is exchanged, the distributed PBT system is ready to execute treatments. Upon the PBT controller120receiving a user ‘start’ command, PBT treatment commences with an exchange of encryption keys or digital certificates between the PBT controller120and the network-connected intelligent LED pad123to establish a Layer-5 session. Once the session is opened, the PBT controller120and intelligent LED pad123maintain their secure link during the exchange of files and commands until the treatment is completed or is terminated. Additional network security can be performed using encryption on presentation Layer-6 or at the application Layer-7. Execution of a PBT treatment commences using either data streaming or file playback methods, as described below.

Data Streaming in Distributed PBT Systems

By incorporating all LED drive circuitry into an LED pad, as previously shown inFIG. 18, the PBT controller in a distributed PBT system need not concern itself with how the LED pad is able to select specific LED strings, how the LED current is controlled, or the methods used to the pulse or modulate the LEDs' conduction. Instead, the PBT controller performs the tasks of the user interface and in preparing the drive instructions for the selected treatment. These drive instructions can be transferred from the PBT controller to the LED pad in two ways. In one method, software called a LED player is first installed into the pad, which will later be used to interpret and execute the treatment, and then an instruction set called a playback file is transferred to the LED pad, instructing the LED player's executable code what to do. An alternative approach is for the PBT controller to send a streaming file to the LED pad.

In master-slave data streaming, a series of LED instructions is sent sequentially and continuously instructing the LEDs when to turn on and off. Similar to an audio streaming file, the data transfer from the PBT controller to the intelligent LED pad must occur in advance of executing a particular step. The incoming instruction packets, sent in successive pieces, must stay ahead of the treatment's execution; otherwise the treatment will stall for lack of instructions. This process is illustrated in the flowchart ofFIG. 24showing the LightOS operations occurring in the PBT controller host and the LightPadOS operations occurring in tandem in the intelligent LED pad client. Specifically, after selecting a therapy session250, both controller and pad operating systems commence execution251aand251bof the selected session250. In step252aand at time t1the LightOS transfers a 1sttreatment segment to the LED pad, whereupon in step252bthe LightPadOS executes the 1sttreatment segment. In step253aand at time t2LightOS transfers a 2ndtreatment segment to the LED pad, whereupon in step253bthe LightPadOS executes the 2ndtreatment segment. In step254aand at time t3LightOS transfers a 3rdtreatment segment to the LED pad, whereupon in step254bthe LightPadOS executes the 3rdtreatment segment, and so on. Finally, in step256aat time to LightOS transfers a nthtreatment segment to the LED pad, whereupon in step256bthe LightPadOS executes the nthtreatment segment, after which both sessions257aand257bend.

An example of USB data packet transfer and instruction execution during master-slave streaming is shown inFIG. 25. Preparation of treatment instruction260aoccurs while the red LEDs are off, starting with LED instruction261represented by hexadecimal code representing a sample “turn-on LED” instruction. The instruction261is then embedded as the payload into a USB packet, combining the payload, instruction261, with a header262. In step263the packet is then transmitted263from the PBT controller to the LED pad. Instruction261is then extracted and decoded into bits264, describing which LEDs are to be turned on and which ones are not. The bits are then loaded into an LED register265and executed at a time266when the red LED current changes from off to on, starting a timer to prepare and load the next instruction turning off all the LEDs. The switching of the red LEDs is illustrated by an off-to-on transition267aand an on-to-off transition267bin the graph at the bottom ofFIG. 25.

Execution of streaming instructions can be performed using two techniques, the just-in-time (JIT) sequential transfer method and the transfer-ahead-and-shift method. In the JIT sequential transfer method shown inFIG. 26A, the serial packet data stream272transmitted from the PBT controller to the intelligent LED pad is interpreted by decoder270in accordance with decode table271resulting in two outputs to a color shift register279aand a time shift register279b, respectively. Each sequential interval, contains the on time and off time for the interval. The elapsed time is calculated one interval at a time as the shift register advances sequentially, for example t5=t4+(ton4+toff4). The process is executed using a first in, first out algorithm, where only the first out shift register data frame277drives LED driver278. All subsequent frames and waiting in the queue, all prior frames, once executed, are discarded. The corresponding color shift register in data frame277specifies which LEDs are illuminated by LED driver278. For example, the register [red|blue|NIR1|NIR2] having a bit sequence 0100 will illuminate only blue LEDs, 1000 will drive only red LEDs, and 0011 will drive both NIR1and NIR2LEDs. The resulting optical output includes red pulses275a, blue pulses275b, NIR1pulses275c, and NIR2pulses275d, and both concurrent NIR1and NIR2pulses275e. In this method the shift register advances at a variable rate, speeding up or slowing down based on the values of tonand toff.

In the transfer-ahead-and-shift method, shown inFIG. 26B, decoder270concurrently outputs four separate bit strings,275a,275b,275c, and275dfor driving the red, blue, NIR1, and NIR2LEDs, clocked against a fixed rate clock. To extend the duration of an LED's illumination, the on state bit is repeated for entire on duration. In the transfer-ahead-and-shift method, a file containing the illumination pattern is transferred to the LED pad and decoded in advance of LED playback.

FIG. 26Ccontrasts the JIT sequential transfer method to the transfer-ahead-and-shift method. While the JIT method decodes the four LED color register279and drives the LEDs for a specified interval until the color register changes, in the transfer-ahead-and-shift method, the transfers are successively decoded into four bit sequences and stored then played in sequence from memory. In either method, data streaming has the advantage that the LED pad doesn't require significant memory for treatment data storage. It has the disadvantage that streaming requires a steady data flow from the PBT controller to the LED pad.

An alternative approach is to transfer a complete and entire playback file from the PBT controller to the intelligent LED pad prior to commencing LED therapy. Shown in the flowchart ofFIG. 27, this operation involves two parallel operations, one executed by the LightOS operating system within the PBT controller host, the other executed by the LightPadOS inside the LED pad client. As shown, after the file transfer program, execution occurs autonomously within the LED pad without intervention of the PBT controller. After a program is selected in step300, the playback file for driving the LED sequence is transferred from the host to the client. The LED pad receives the file transfer in step302, then in step303unpacks the file, stripping away the Layer 2 MAC data of the file such as the header, checksum bits, etc. to extract the payload data and loading it into volatile memory such as static RAM. This process is illustrated graphically inFIG. 28where incoming USB packets310are transmitted over a physical media such as USB into a bus interface338of intelligent LED pad337. Once received, payload311is extracted and then unpacked (step312), executing any required decompression or file formatting to create executable code313. Executable code313is subsequently stored in volatile memory334a. Executable code313is self sufficient to run atop the LightPadOS operating system without requiring any other files or subroutines other than the LED pad's operating system and contains the hard-coded data of the algorithms314used in the PBT therapy, either a single treatment or an entire PBT session. This code could for example be realized in C++ or any other common programming language.

Returning toFIG. 27, once the playback file is unpacked and stored in RAM in step303then in step304bthe LightPadOS informs the host PBT controller that it is ready to commence the session. Once the user confirms that they are ready by selecting the start treatment button309then in step304athe run session instruction is enabled starting in step305awhere the start session command is sent to the LED pad. LightPadOS responds in step305bby commencing treatment by executing treatment algorithm314(FIG. 28). As the treatment progresses, the LED pad occasionally reports its status (step306b) to the host PBT controller including time, temperature, or other relevant program status information, which the PBT controller may display in step306a. Should a fault condition occur in the LED pad, then interrupt service routine307bin LightPadOS and307ain LightOS communicate and possibly negotiate what is to be done about the condition causing the interrupt. For example, if during the session, the LED pads were unplugged and then reconnected incorrectly the session would pause, inform the user of the connection error, and tell them how to correct the fault. Once the fault is corrected, the interrupt routine is closed and treatment resumes until in step308bthe LED pad informs the host PBT controller that the treatment program has been completed. In response, in end session step308a, the PBT controller informs the user the session or treatment has been completed.

In this discussion, the term “treatment” is defined as a single therapeutic procedure, typically 20 minutes in duration and designed to invoke photobiomodulation on a specific tissue type or organ. Furthermore a “session” comprises a sequential series of treatments. As shown inFIG. 29A, for example, a therapeutic protocol for recovering from an injury (e.g. treating a sprained and cut ankle from a bicycle accident), may involve three “injury” sessions315a,315b, and315cperformed successively every other day, where each session involves the sequential therapy of three successive treatments comprising different algorithms varying light wavelengths, power levels, modulating frequencies, and durations. For example, PBT session315a, referred to as “inflammation,” is intended to expedite healing by accelerating (but not eliminating) the inflammation phase of the healing process. Session315acomprises a sequence of three steps314a,314f, and314bcomprising algorithms23,43, and17respectively. Session315b, entitled “infection,” shown inFIG. 29Bcomprises a sequence of three steps314c,314b, and314gcomprising algorithms49,17, and66respectively. Note that treatment314bcomprising algorithm17was utilized in both the inflammation and infection sessions. Session315centitled “healing” comprises a sequence of three steps314g,314h, and314gcomprising algorithms66,12, and66respectively. Note that treatment algorithm66was utilized once in infection session315band twice in the healing session315c.

The step sequence of performing sessions for inflammation, infection, and healing, together make injury protocol316, first by speeding up the inflammatory phase of healing involving fibroblast and collagen scaffolding, cell apoptosis, and phagocytosis, then by combatting secondary microbial infections opportunistically attempting to colonize the wound. Finally, after inflammation subsides and all infection is removed, the final step in the injury protocol promotes healing of the wound by improving the thermodynamics and energy supply needed to feed healthy tissue regrowth. Injury protocol316does not employ daily therapy sessions, but by intent spreads the first three sessions over a five-day period. Rather than daily therapy, the need for intervening days off is explained by graph317, shown inFIG. 30, describing a generalized biphasic dose-response model in accordance with the work of Arndt-Schultz [https://en.wikipedia.org/wiki/Arndt % E2%80%93Schulz_rule]. According to Wikipedia the “Arndt-Schulz rule or Schulz' law is an observed law concerning the effects of pharmaceuticals or poisons in various concentrations. It states that for every substance: small doses stimulate; moderate doses inhibit; large doses kill. Because of a large number of exceptions in pharmacology, e.g. where a small drug dose does nothing at all, the theory has evolved into its modern counterpart “hormesis”, yet the underlying principle remains the same, that in medicine there is an optimum treatment dose beyond which treatment efficacy is reduced or recovery may actually be inhibited.

Despite controversy regarding the results of pharmacological studies, the biphasic model in “energy medicine” has been reconfirmed by numerous studies from radiation therapy of carcinoma to photobiomodulation. For example, in cancer therapy a small radiation dose is unable to adequately kill cancer cells while a large radiation dose is toxic and may rapidly kill the patient, far faster than leaving the cancer untreated. Adapting the biphasic model to photobiomodulation, graph317represents a pseudo-3D representation of PBT conditions where the x-axis represents treatment time; the orthogonally projected y-axis describes the power density of the PBT treatment measure in W/cm2, and the vertical z-axis measure the effective energy dose in J/cm2or eV/cm2, i.e. the product of power and time and scaled by the observed magnitude of photobiomodulation, otherwise observed treatment efficacy. Topographically, the graph appears as two coasts, a mountain range and an interior valley. As shown for low dose treatments known as a sub-threshold dose, the treatment has an inadequate power, i.e. the rate of energy delivery, to do anything. Similarly for very short durations, no matter what the power level is there is not enough energy delivered to invoke photobiomodulation. In other words, too fast or too little energy does not invoke photobiomodulation.

For a combination of moderate power densities and durations, stimulation occurs resulting in a peak response curve for power densities or total energy doses above this level, beneficial PBT response and treatment efficacy declines rapidly and may even inhibit healing. Of course, excessively powerful levels lasers can cause burns, tissue damage, and ablation (cutting). And although LEDs are incapable of the power densities of lasers, they still can be driven at high currents causing overheating. These treatment conditions occur, however, far beyond the power levels and energy doses shown in the graph. The graph319on the right from a case study confirms the dose (fluence) dependence of PBT efficacy is indeed biphasic with a minimal response at 1 J/cm2, a peak response at 2 J/cm2, reduced benefits at 10 J/cm2, and inhibition at 50 J/cm2. Inhibition means the impact of the PBT treatment was worse than doing nothing. So for this reason along with concerns with safety and patient comfort PBT treatments should be spread over time and limited in power and dose (duration).

Data Security in Distributed PBT Systems

To effectuate multi-layer secure communication in the disclosed distributed PBT system, the operating system of the PBT controller (LightOS) and the operating system of the intelligent LED pads (LightPadOS) comprise parallel communication stacks using consistent protocols and shared secrets not discernable to a device operator, hackers, or unauthorized developers. As a result, the distributed PBT system operates as a protected communication network with the ability to execute security on any number of communication layers including data link Layer-2, network Layer-3, transport Layer-4 during setup, and on session Layer-5, presentation Layer-6, or application Layer-7 during operation.

As disclosed, “treatments, sessions, and protocols” define sequences of photoexcitation patterns and operating parameters including LED wavelength, modulation pattern and frequency, treatment durations, and the LED intensity (brightness), together determining the instantaneous power, average power, therapeutic dose (total energy), and ultimately therapeutic efficacy. In order to discourage copying or duplication, these sequences should be stored and communicated securely, using encryption and other methods. Although some data security methods and related security credentials can be executed as part of the application, i.e. in LightOS and LightPadOS, a added level of security can be achieved by inclusion of a “presentation” Layer-5 in the communication stack of the PBT controller host and any network connected intelligent LED pad clients.

The presentation layer is schematically represented inFIG. 31, where PBT controller120includes OSI communication stack330comprising application Layer-7, presentation Layer-6, data link Layer-2 and physical Layer-1. As previously stated, within PBT controller120, application Layer-7 is implemented using the PBT specific operating system called LightOS. In operation, Layer-7 LightOS program execution results in actions requiring communication to the intelligent LED pad. These actions are encrypted in the presentation Layer-6 then passed to the lower level communication layers in encrypted form, i.e. as ciphertext. Specifically, the ciphertext passed down to the Layer-2 data link layer is then packetized, i.e. converted into a series of communication packets comprising a non-encrypted header and a ciphertext payload in accordance with a particular communication protocol such as USB, I2C, FireWire, then communicated over the physical PHY Layer 1 to the LED pad. For example, PHY Layer 1 may communicate using the USB protocol using USB differential signals332to the corresponding PHY Layer-1 of communication stack331resident within intelligent LED pad123. So although electrical signals comprise Layer-1 communications, the data constructs of USB behave as though the PBT controller120and intelligent LED pad123are communicating on Layer-2 with the packets arranged in time as USB data “frames”.

Once communication stack331receives a USB packet, the ciphertext payload is extracted is transferred up to the presentation Layer-6, where it is decrypted and converted into plaintext. The plaintext file is then passed to the application Layer-7, where it is executed by the LED pad's operating system LightPadOS. Provided that the PBT controller's LightOS and the intelligent LED pad's operating system LightPadOS are designed to communicate and execute instructions in a self-consistent manner, the bidirectional link between communication stacks330and331functions as a virtual machine at the application Layer-7, meaning the distributed device behaves the same as if it were a single piece of hardware, and at the presentation layer to bidirectionally execute encryption and decryption. In this manner data can be transferred between the PBT controller and the intelligent LED pad. To prevent copying of the source code, however, the library of treatments is stored in encrypted form. For added security, the encryption key used for storing the algorithms in different than the key used for communication. So before a treatment file can be securely communicated it must first be decrypted.

The process for preparing, communicating, and executing an encrypted treatment is represented schematically inFIG. 32, where through a graphical UI341, in step342a user chooses a treatment that is based on an encrypted version of algorithm17from a library340of encrypted algorithms. Encrypted algorithm17is then decrypted using the system key (step343), converting ciphertext into plaintext and restoring the unencrypted treatment344, which references a plaintext version of algorithm17. In step345the plaintext file of algorithm17is re-encrypted using an encryption key exchanged with the intelligent LED pad client (step346). The resulting ciphertext347comprising re-encrypted algorithm17is then packetized (step348) and transmitted to a PBT controller (step349) using USB or another appropriate communication medium.

In addition to treatment data, the same method can be used to prepare and transfer PBT session data from the PBT controller to the LED pad. This process is shown in the schematic diagram ofFIG. 33where through a graphical UI351, a user chooses a session352constructed from the library340of encrypted algorithms, in the example shown comprising three encrypted algorithms. Using the system encryption key, the ciphertext is then decrypted in step353, converting ciphertext into plaintext. The three plaintext files are then merged in step354and then in step355re-encrypted, using an encryption key exchanged with the intelligent LED pad client in step356. The resulting ciphertext357comprising the encrypted merged algorithm is then packetized (step358) and the packets359are transmitted to the LED pad using USB or another appropriate communication medium.

As shown inFIG. 34, incoming data packets359received by bus interface338in LED pad337are first processed to remove packet headers extracting payload360. Pad μC339then decompresses the payload360(step361) to extract encrypted merged algorithm362. The ciphertext is then decrypted (step363) using the key exchange to extract plaintext file364comprising the treatment algorithm or in the cases of a session file, the merged algorithm. The algorithm or merged algorithm366comprising executable code365is stored in volatile memory334a. Since the treatment is saved in RAM, any interruption in power will erase the file, making copying of the unencrypted executable code difficult. As shown inFIG. 35, autonomous pad playback of the PBT sequence with post transfer (pre-playback) bulk decryption involves user selection of the session (step300) and transferring (step301) the encrypted file which once received (step302) by the LED pad is decrypted (step390) and loaded into RAM. In step304bthe LightPadOS informs the host PBT controller it is ready to commence the session. Once the user confirms they are ready by selecting the start treatment button (step309) then in step304athe run session instruction is enabled starting in step305awhere the start session command is sent to the LED pad. LightPadOS responds in step305bby commencing treatment by executing the treatment algorithm in file364. As the treatment progresses, the LED pad occasionally reports its status (step306b) to the host PBT controller, including time, temperature, or other relevant status information, and which PBT controller may display in step306a. Should a fault condition occur in the LED pad, then an interrupt service routine is activated in the LED pad and PBT controller (steps307a,307b), allowing their operating systems LightPadOS and LightOS to communicate and possibly negotiate what is to be done about the condition causing the interrupt. Once the fault is corrected the interrupt routine is closed and treatment resumes until in step308bthe LED pad informs the host PBT controller that the treatment program has been completed. In response, in end session step308a, the PBT controller informs the user the session or treatment has been completed.

Even greater security can be achieved by storing the algorithm in the LED pad in its encrypted form. As shown inFIG. 36, incoming packets359received by bus interface338in LED pad337are processed to extract payload360, subsequently decompressed in step361, and then stored as ciphertext368in volatile memory334a. The file is played at the time the user starts the session by decrypting the file during playback as the file is executed, i.e. during autonomous playback. This process, known as “on the fly” decrypted playback, is illustrated in the flow chart ofFIG. 37. The process is identical to that of bulk decrypted process flow shown inFIG. 35except that after LED pad receives the sequence file302the next step is simply to unpack and as needed decompress the file303but not to decompress it. During playback in step391, the ciphertext is read from SRAM volatile memory and executed on the fly, i.e. as playback proceeds.

FIG. 38contrasts bulk discount and on the fly playback methods. In a bulk decryption, the entire playback file368stored in ciphertext is read from volatile memory, decrypted (step363) to extract the plaintext instruction set365, and then executed to play back the entire file (step392). By contrast, in decrypt on the fly playback, a portion368aof the stored playback file is read and decrypted in step363and the resulting plaintext365ais then executed in step392aby appending the new plaintext instructions to the play buffer. In the meantime, another section368aof the stored ciphertext playback file is read from the volatile memory, decrypted in step363to recover the plaintext executable file365b, and then executed in step392bby appending this file onto the end of the playlist.

Distributed PBT System with LED Pad Player

Although JIT or transfer-ahead-and-shift-based data streaming for LED drive control may be used for controlling an LED pad in a distributed PBT system, the delivery of real time data over the communication network connecting the PBT controller and one or more LED pads becomes problematic when more sophisticated algorithms are required. Even when high bandwidth communication is available, the streaming of clock signals or multi-MHz digital data represents a dubious command and control method, particularly in safety-focused applications such as medical devices. An alternative made possible by the disclosed distributed PBT system is to employ a two-step process for driving the LEDs, first to download a “LED player” into the LED pads, then to download a “LED playback file” defining the specific PBT treatment or PBT session to be performed. In this method as disclosed, execution of LED drive is performed autonomously within the intelligent pad based on commands from the PBT controller. Because the LED driver is local within the LED pad, advanced functions such as waveform synthesis and sinusoidal drive can be realized. If more than one treatment or session is performed, only the new “LED playback” file need be downloaded anew. The original LED player can be retained.

The first step in intelligent LED pad playback is to download the LED player from the PBT controller into the LED pad. In a manner similar to the transfer process for streaming files shown inFIG. 36, the download process shown inFIG. 39involves transfer of an encrypted player file480bfrom the PBT controller into the intelligent LED pad. The download process involves encrypted LED player file480abeing decrypted (step363) with a system key and then re-encrypted (step370) with the LED pad (client) key356to create encrypted LED player file480b. The ciphertext LED player file480bis then transmitted to the intelligent LED pad, where the payload is extracted and decompressed in step361and then decrypted in step363and stored into volatile memory482. The content of the downloaded LED player file480bincludes a waveform synthesizer483, a PWM player484, and a LED driver485.

Waveform synthesis is an algorithmic generation of excitation patterns such as sine waves and chords of sine waves but is also able to generate triangle waves, sawtooth waves, and to reproduce audio samples. The operation of waveform synthesizer483, shown inFIG. 40, involves using waveform synthesizer483to convert a waveform synthesizer parametrics file486with system clock Φsysto produce a synth out data table489, i.e. comprising a table showing a function f(t) paired against elapsed time t. A PWM (pulse width modulation) generator555then converts the function shown in data table489into a high frequency PWM pulse train490to produce a synth out file488including a synthesized waveform491embedded within the PWM output490. Depending on the algorithm, waveform synthesizer483may also utilize waveform primitives487. While the synthesizer can be realized in hardware, for waveforms up to 20 kHz, i.e. within the audio range, it can easily be implemented using software. For example, in synth out table489, from 0.5 to 1.0 ms the value of f(t)=0.6545. The process ΨP[f(t)] performed in PWM generator555converts the function f(t) into a PWM pulse train of on time and off time, where the output has a high (on) state 65.45% of the specified interval, i.e. from 0.500 to 0.827 ms, and has a low (off) state from 0.827 to 1.000 ms. So the on time duration ton=0.827 ms−0.500 ms=0.327 ms, and the off time duration toff=0.500 ms−0.327 ms=0.173 ms. In other words, the value f(t) is the duty factor D during the period, where D=ton/TPWMand where TPWM=ton+toff.

Since the duty factor D is an analog value limited between 0% and 100%, for convenience f(t) is limited to any value between 0.0000 and 1.0000. If f(t) is allowed to exceed 1.000 then the value must be scaled by the function's maximum value i.e. f(t)=[f(t)unscaled)/f(t)max] or the waveform will be clipped to the value 1.000 by the process ΨP[f(t)]. The PWM clock frequency called the symbol rate clock Φsymis given by Φsym=1/TPWM. The symbol rate is derived from the system clock Φsysand must exceed the highest frequency waveform f(t) being synthesized, or described mathematically as Φsys>Φsym>f(t). The table below describes the time intervals where tx=(x−1) TPWMbreaking each 500 ms interval into its start time tx(on) and tx(off).

The second process in the LED player is the PWM Player484, shown inFIG. 41, which in response to its input PWM parametrics491and reference clock Φrefprocesses synth out data file488to produce PWM player outputs493aand493b. In operation, PWM player484generates a pulse width modulated (PWM) pulse train492Gpulse(t) comprising the algebraic product Gsynth(t)·Gpulse(t). The waveform of Gpulse(t) comprises a repeating pulse having an on-time ton=DTPWMand and an off-time toff=(1−D) TPWM.

Although the PWM player function can be performed in hardware, it is easily performed in software. Described in logical pseudo-code in terms of a fast counter and x (incremented on each loop), then:

If (t≥xTPWM) AND (t<((x+D) TPWM))Then OUT=Gsynth(t)Else OUT=0
which means that in each cycle of duration TPWMfrom time xTPWM≤t<(xTPWM+DTPWM) the PWM player's output is equal in magnitude to the input (on state), and for an interval (xTPWM+DTPWM)≤t<(x+1) TPWMthe PWM player's output is grounded, a digital “0”. By chopping the input Gsynth(t) with the PWM pulse Gpulse(t), the output493awaveform is digital with an equivalent value of Gsynth(t)·Gpulse(t). The underlying waveform is shown superimposed atop the PWM signal494. Although typically PWM player484outputs only a single digital waveform, it can produce more than one output as needed. In the example shown, although output493aincludes the multiplicative combination of two PWM pulses, output493bis identical to Gpulse(t), meaning Gsynth(t)=1. PWM Player484can also output a constant time-invariant value Gsynth(t)·Gpulse(t)=1.

The third component of the LED player is LED driver485. As shown inFIG. 42, LED driver485is synchronized to reference clock Φrefand combines driver parametrics495with the output of PWM player484to produce an LED drive stream497. Unlike waveform synthesizer483and PWM player484, which outputs digital signals, the output of LED driver485is analog. Using driver parametrics495a programmable reference current496is generated with magnitude αIref(t) and multiplied by the output of PWM player484, specifically Gsynth(t)·Gpulse(t) to produce an LED drive stream497comprising αIref(t)·Gsynth(t)·Gpulse(t). The output waveform LED shown in graph498reveals a time varying waveform, specifically sinusoid, digitally pulsed, and varied in current over time. Although PWM player484may output a single output as an input to LED driver485, it is also possible to provide two or more different outputs if necessary. Such cases could for example be useful in large PBT systems where many zones are required to treat each part of the body uniquely, i.e. with good tissue specificity.

The entire process of LED playback is summarized inFIG. 43sequentially utilizing waveform synthesizer483, PWM player484, and LED driver485to generate LED drive stream497. Unlike in prior-art methods, LED drive in the disclosed distributed PBT system is generated entirely within an LED pad while advantageously maintaining all treatment libraries and PBT system control in a common PBT controller, separate and distinct from the LED pad or pads. The waveform generation process utilizes a system clock of frequency Φsysproduced within the LED to perform its tasks, thereby eliminating the need for distributing high-speed clocks over long lines. To insure synchronization of the PWM player484and the LED driver485with the waveform synthesizer483, system clock Φsysis divided, using software or hardware counters to produce reference clock Φref. As a result, LED playback within a given LED pad is fully synchronous. While both waveform synthesizer493and PWM player484output digital PWM signals comprising repeating transitions between digital 0 and 1 states of varying duration, the output of LED driver485is analog, capable of regulating LED brightness in accordance with any waveform, including without limitation, square waves, sine waves, chords of sine waves, triangle waves, sawtooth waves, audio samples of acoustic or electronic music, audio samples of cymbal crashes and other noise sources and at any frequency within the audio spectrum from 20 Hz to 20 kHz, i.e. from the 0thto the 9thmusical octave. It is also capable of modulating LED conduction in the infrasound range, i.e. in the −1stand −2ndoctaves, e.g. down to 0.1 Hz, or to drive LEDs with direct current (0 Hz), i.e. providing continuous wave (CW) operation.

It should be noted that since each pad independently communicates asynchronously with the PBT controller and since each LED pad generates its own internal time reference for LED playback, strictly speaking the disclosed distributed PBT is an asynchronous system. That said, because of the high clock rates, precision time references, and high-speed communication network, timing mismatch between the LED pads is in the range of microseconds, imperceptible in UI control and UX response and having no impact on PBT efficacy.

Waveform Synthesis in Distributed PBT Systems

In distributed PBT systems, one PBT controller may control many intelligent LED pads, e.g. 3, 6 or more. Because of the number of intelligent LED pads required, economic considerations mandate limiting the complexity of a LED pad, specifically the cost and processing power of pad μP339. Likewise, to manage product costs, the total memory within a LED pad must also be limited. Limited in computing power and memory, synthesis of waveforms within an LED pad in a distributed PBT system requires several criteria be met:The amount of data transferred to or stored in the LED pad should be limited.Calculations performed in LED pad should preferably comprise simple arithmetic calculations such as addition and subtraction, avoiding complex iterative processes such as functions, matrix operations, etc. unless absolutely unavoidable and even then, infrequently.Calculations should be made in real time with minimal power consumption or heating.

Detailed operation of waveform synthesizer483is illustrated inFIG. 44where an input file comprising waveform synthesizer parametrics486, once loaded into waveform synthesizer483, selects a synthesis method550used to calculate a function f(t)553, either utilizing unit function generator551or primitives processor552, all performed synchronous to system clock Φsys. In the case of waveform synthesis, primitives-processor552requires access to detailed waveform descriptions, specifically waveform primitives487. The resulting function f(t)553comprises Cartesian pairs of time t versus f(t) illustrated graphically in function table554. Function table554is then converted into time varying digital data by PWM generator555using the process ΨP[f(t)] to produce synth out file488. Synth out file488comprises a digital PWM file numerically equivalent to synth out table489represented graphically as Gsynth(t) 490.

Waveform Synthesis With Unit Function Generator

The operation of unit function generator551, illustrated inFIG. 45, involves selecting a mathematical function then calculating the value of the function for a series of times to generate a function table554. These functions are referred to as “unit” functions because they have analog values limited to real numbers between 0.0000 and 1.0000. One example of a unit function is the time variant function f(t)=1, or “constant” is shown in the graph of560. Another function, a unit sawtooth shown in graph561is described by equation f(t)=MOD (tf, 1) where (tf) is the argument of the modulus function and 1 is the base, meaning the function is a linear decimal fraction between 0 and 1. For any number over a multiple of 1, the modulus function returns the remainder, for example if (tf)=2.4 then MOD (2.4)=0.4. In a sawtooth, the functions ramps up to one then drops back to zero and repeats. Another function that ramps up to one and ramps back down to zero symmetrically is the triangle wave shown in graph562which is given by the equation f(t)=1−2·ABS[MOD (tf, 1)−0.5].

Synthesis of a single sine wave or a chord of three or more sine waves of frequencies fa, fb, fc, and relative magnitudes Aa, Ab, Ac, respectively can be described by the equation f(t)=Aα (0.5+0.5[Aasin (2πtfa)+Absin (2πtfb)+Acsin (2πtfc)]/[(Aa+Ab+Ac)])+0.5(1−Aα). This mathematical process, shown inFIG. 46, mixes three sine waves564,565, and566with gains580,581, and582respectively, summed in a digital mixer583using a linear summation of digital words.

Digital summation, the arithmetic addition of binary, octal, or hexadecimal numbers, is identical to the addition of decimal numbers except that the numbers comprise binary or binary equivalent representations of numbers, i.e. base two (b2), base eight (b8), or base sixteen (b16), rather than base ten (b10). Although digital summation can be performed using dedicated devices, the arithmetic logic unit (ALU) resident within the LED pad's microcontroller339can easily perform the required tasks in binary mathematics. Converting numbers into another base then adding them in the alternate base and converting them back to base 10 produces identical results. This equivalency principle is shown in the example table below for the addition of three numbers in different bases. In the context of waveform synthesis, the numbers being added represent the instantaneous values of three sine waves at any given moment, added together to produce a digital summation of the three numbers. For illustrative purposes, the values of the sine wave have been magnified by ten times, i.e. where Axfx(t1) and where Ax=10 for x=1 to 3. For example, at a specific time t1, the value of the functions fa(t1))=1, fb(t1))=0.5, and fc(t1))=0.5. In a case where the gain factors are evenly weighted, i.e. where Aa=10, Ab=10, and Ac=10, then the summation 10(Σfx(t1))=20. To convert this number into a unit function, the resulting sum must be scaled to a fractional number between a result between 0.000 and 1.000−a task performed by auto-range function584.

For each time point tx, dividing Ax(Σfx(tx)) by the sum of the gain multipliers (Aa+Ab+Ac) provides an average of the blended chord. In the case of even weighting, i.e. where Ax=10, the sum of these gain factors (Aa+Ab+Ac)=30. Applied to the above summation, auto-range scaling converts the summation of 20 to the auto-range scaled number 20/30=0.666, the same number as found by averaging three numbers having instantaneous values of 1.0, 0.5, and 0.5. The auto-range function also works when the sine waves are blended with non-even weighting, where one or more sine wave frequency components dominate the mix. For example, a blend where Aais 20% of the total, Abis 40%, and where Ac=40% yields the following mix of signals of the

In this case (Aa+Ab+Ac)=100 while g(t)=70, so that the output of the auto-range function is 0.7. The auto-range function employs positive multiplier Aα>0 to scale the signal to compensate for magnitude compression. Because the scalar Aαshifts not only the function but also shifts its average value, the DC offset correction term 0.5 (1−Aα) is added to the sum of sine waves to re-center the function's average back down to 0.5.

FIG. 47illustrates several sine waves and sine wave chords made in accordance with the unit function generator551. In the examples shown, three sine waves each an octave apart (i.e. fc=2fb=4fa) are generated with various gain factors to produce a variety of complex functions. The gain factors [Aa, Ab, Ac] control the mix or “blend” of frequency components. Because the components are averaged, the gain factors can be any positive real number. For convenience sake, however, the three factors can be scaled into percentages. In some cases, the weighting factors are zero, meaning the particular frequency sine wave is absent from the mix. For example, in graph564, [Aa, Ab, Ac]=[1, 0, 0] so that only sinusoid fais present. Similarly, in graph565where [Aa, Ab, Ac]=[0, 1, 0], only the middle octave sinusoid fbis present and in graph566where [Aa, Ab, Ac]=[0, 0, 1], only the highest octave sinusoid is present.

The figure also illustrates a variety of mixed blend chords. Graph567depicts an evenly weighted mix blend of sinusoids of frequencies faand fb, graph568depicts an evenly weighted mix blend of sinusoids of frequencies faand fc, and graph569depicts an evenly weighted mix blend of sinusoids of frequencies fband G. Unevenly mixed blends of two sine waves with a ⅔rd weighting of frequency faand a ⅓rdweighting of frequency fbare shown in graph570. Three sine wave mixes include an evenly weighted chord572and an unevenly weighted chord571, where [Aa, Ab, Ac]=[0.2, 0.4, 0.4]. Algebraic calculation of sin (θ) where θ=fxt for x=a, b, c . . . requires computation of a power series [http://www2.clarku.edu/˜djoyce/trig/compute.html] for each sin (θ) evaluation where

Waveform Synthesis With Primitives Processor

Primitives processor552, shown inFIG. 44, uses an alternative method. This method, far less computationally intensive and better matched to the limited computing capability of LED pad μP339, involves the use of a lookup table to evaluate a function. For periodic functions, the function's value at regular increments of the period, for example at fixed angles or fixed percentages, can be pre-calculated and loaded into lookup tables included in waveform primitives487. For example, the value of a sin (θ) depends on the angle of its argument θ where

sin 15°=(√{square root over (6)}−√{square root over (2)})/4

sin 45°=√{square root over (2)}/2

sin 60°=√{square root over (3)}/2

sin 75°=(√{square root over (6)}+√{square root over (2)})/4

Since the sine function is periodic, there is no reason to recalculate the same values each time evaluation sin (θ) is required. In such a case the use of a lookup table is potentially beneficial. Lookup tables, however, face several fundamental hurdles—for one, the table can only return a value of the function at the same input condition for which it was previously calculated, i.e. with the same argument. Just because the table contains the value of sin(45°) doesn't mean it knows the value of sin (22°). In a subroutine call to a lookup table, ensuring that the input argument matches its available arguments is not likely unless the two are co-developed to insure they employ the same values. Another issue in the use of lookup tables is the stiff equation problem, performing high-resolution waveform synthesis across over many orders-of-magnitudes of frequency. For example, if a 20 kHz sinusoid (9thoctave) is synthesized using PWM methods with 16-bit precision, the required sample rate is (20,000 Hz)(162)=1,310,726,000 Hz or roughly 1.3 GHz. If in the same simulation, an infrasound excitation pattern at 0.1 Hz (−2ndoctave) is added to the chord, the period of the low frequency wave component is T=1/f=1/(0.1 Hz)=10 sec. This means to maintain the required resolution in the ninth octave while synthesizing a single 10 second infrasound wave requires a table of (1.3 GHz)(l0 sec)=13 billion data points. Such a huge data table not only requires too much time for the transfer from PBT controller into the intelligent LED pad, but it also requires too much memory.

To resolve the stiff equation issue while ensuring matching arguments between subroutine calls and lookup tables, an inventive method disclosed herein uses pre-defined periodic waveform primitives such as sin waves or linear (scalar) functions, combined with a series of counters sharing a common numeric base, e.g. base 2. The term “primitives” as used herein means tabular time independent description of a waveform—one where the waveform is described using arguments specified relative to the waveform's period T and to not absolute time. For example, in linear functions such as a sawtooth wave, inputting a rectilinear (Cartesian) argument to the lookup table returns a unique value. In a linear unit sawtooth ramping from 0 to 1 over a period T, the input p is unit-less, where at 25% of T the function “saw (p)” has a value of 0.25, at 78% of T the function saw (p) has a value 0.78, etc. To accommodate repeating cycles, it is beneficial to express the argument input “p” using the modulus function MOD (argument, limit) where MOD (p, 1) for positive inputs returns a value bounded between 0 and 1, i.e. the remainder after division by the largest integer multiple of the limit. For example, MOD (0.78, 1)=0.78, MOD (5.78, 1)=0.78, and MOD (z.78, 1)=0.78 for any value of z. As such only data covering one period T is required to describe any repeating waveform.

The same function applies to polar coordinates. Evaluation of sin (MOD (θ, 360°) produces a repeating sequence of values between sin(0°) and sin (359.99 . . . °). At 360° the entire cycle repeats because sin (MOD (360°, 360°=sin (0°). Note that in actual code or in spreadsheets the angle arguments 0 of sin or any other trigonometric functions are expressed in radians, not in degrees, but the principal of the modulus function and its application remain the same. Using the modulus function in the manner disclosed, the size of a lookup table for any periodic function can be limited to a single period, reducing the size of the table dramatically. The number of data pairs in each lookup table is therefore equal to the principal resolution ξ providing a one-to-one correspondence between an input Φxto a lookup table and its output fxwhere for any octave x, the relation Φxξxfxdescribes the transformation performed by the lookup table subroutine call.

Although these function primitives comprise a collection of time independent states describing a mathematical function, waveform synthesis requires their combination with oscillators comprising either digital or analog clocks to produce a time varying waveform. Specifically for rectilinear functions of period T such as the triangle or sawtooth waves the argument x can be expressed as x=t/T, and for sine waves, sine wave chords, and other trigonometric unit functions θ=tf. In either case a source of time is required to transform a time independent wave form primitive into a time varying function. One such implementation to generate a range of time sources, represented algorithmically inFIG. 48A, combines a series of binary (±2) digital counters590to598generating ten synchronous clock frequencies Φ0to Φ9from a common clock, specifically symbol clock rate Φsymhaving a programmable frequency. The clocks are then used to synthesize periodic functions such as sine waves in the audio spectrum having corresponding frequencies f9in the ninth octave down to f0in octave zero and as desired to mix them in various combinations. The same methods, not shown, can be used for generating infrasound, i.e. oscillating waveforms below 20 Hz, and also (provided a proper transducer is employed) ultrasound comprising frequencies greater than 20 kHz.

During synthesis, each clock is converted to a time varying waveform f(t) using a lookup table of the periodic function, e.g. sine wave, sine wave chords, triangle waves, sawtooth waves, etc. Each clock is paired with the waveform it creates, for example Φ8uses sine wave lookup table618with primitive resolution ξ2to generate sine wave frequency f8, Φ3uses sine wave lookup table613with primitive resolution ξ3to generate sine wave frequency f3, and Φ1uses sine wave lookup table611with primitive resolution ξ1to generate sine wave frequency f1, where
f8=Φ8/ξ8
f3=Φ3/ξ3
f1=Φ1/ξ1
and, in general, fx=Φx/ξx. So, in operation, the 10-octave waveform-summing implementation primitives processor552uses nine binary counters598to590to generate ten clock frequencies comprising input Φ9=Φsymand clocks Φ8to Φ0to drive corresponding sine wave lookup tables619to610to synthesize sine waves f9to f0.

The mixing process involves selecting various combinations of the sine waves using octave selector switches609to600, blending the selected sine wave components in a digital-mixer summing node630where the components are weighted in various percentages by digital gain amplifiers620to629. The blended summation is scaled by auto range function631into the range as 0.000 to 1.000. Although the primitives processor552can be implemented in hardware or with firmware-controlled hardware, the function can be entirely emulated using software, wherein mixer630is executed digitally using binary addition, and the auto range function631can be performed using binary mathematics executing one of several division algorithms (https://en.wikipedia.org/wiki/Division_algorithm). To avoid performing unnecessary operations, primitives-processor552only executes operations on selected octave selector switches600to609.

Using the method shown inFIG. 48Aand described above, the implementation of primitives-processor552performs wide bandwidth waveform synthesis and chord building over three orders of magnitude in frequency, i.e. ten octaves, spanning a frequency range from 20 Hz to 20,000 Hz, using only lookup tables and a series of counters. The disclosed method is computationally efficient, requiring minimal memory or compute power to execute and unlike the unit function generator551ofFIG. 44, does not involve real time evaluation of power series. A key feature of the synthesizer in wide bandwidth algorithmic waveform generation is the role of counter operation. Together counters590to598generate ten octaves of clock frequencies used as inputs feeding corresponding lookup tables610to619. Because each octave is fed by its own dedicated clock frequency, the number of points in the corresponding table and the memory required to realize the table is limited to the required precision of that specific octave and does not involve data used in other frequency bands. In this manner, the disclosed combination of counters and lookup tables overcomes the aforementioned stiff equation problem. To further minimize computational intensity and avoid unnecessary computations, lookup table subroutine calls are limited to only those tables selected by the octave switches.

To avoid aliasing and phase shift distortions, counter cascade598to590is synchronized to a common clock called the symbol rate Φsymoutput from tuner (counter)599. For convenience, symbol rate Φsymis equivalent to the clock signal Φ9for ninth octave waveform synthesis, but this relationship is arbitrary. Any symbol rate higher than the PWM resolution of the highest synthesized frequency, where Φsym≥ξsymfmaxwill suffice. The counter cascade can be realized using hardware or software. Although a ripple counter can be used, a synchronous counter is preferred to prevent clock phase shift. A ripple counter is a counter cascade where each counter stage's output is instantly available at the same time it is input into the next stage. Because of the propagation delay through each counter stage, the outputs of higher frequency clocks change state before the lower frequency clocks do. The state changes therefore “ripples” down the cascade, such that the first clock Φ9changes state, followed a moment later by the clock Φ8and then by the clocks Φ7, Φ6, Φ5, etc., rippling like a wave traversing a pond's surface.

In contrast, a synchronous counter operates synchronously, such that even though the digital count takes time to ripple through the counter chain, the outputs only change contemporaneously with a synchronizing clock pulse. In this manner, the signal ripple through the counter cascade is invisible to the user. More specifically, whether implemented in hardware or in software, a synchronous counter operates like a ripple counter but with D-type flip-flop [https://en.wikipedia.org/wiki/Flip-flop_(electronics)] latched outputs. The D flip-flop retains is prior state until it is enabled by a latch signal with the corresponding truth table, i.e. the data input high or low state is copied to the latch output only when the sync clock goes high, after which the sync clock can return low and the flip flop output will remain latched in what ever state was on the D input at the time of the last sync clock pulse until the next sync pulse occurs. During that interval between clock pulses, the output of each counter stage can change without the transition appearing on the counter's output. To avoid clutter in the schematic, counters599to590may represent a synchronous counter without explicitly depicting the D flip flop latch or any sync clock input. To ensure that the clock transitions ripple completely through the counter cascade before updating the state of clock outputs Φ9through Φ0the sync clock pulse is derived from state transition of the lowest synthesized frequency clock, in this exemplar represented as Φ0.

Sync Clock C inCounter Data D inFlip Flop Q out0XQprev100111

The symbol rate Φsymfeeding the counter cascade is generated from system clock rate Φsysby using a programmable “tuner” counter599. The symbol clock rate Φsymis generated to produce a maximum output frequency fmaxat a resolution ξsym. The value of the primitive resolution ξsymis a programmable input to tuner counter599that can be changed depending on the waveform synthesis being performed. The numerical variable ξsym, referred to herein the “primitive symbol resolution” is defined as the resolution of the highest synthesized frequency where ξsym=Φsym/fmaxhaving a value that may range from 24 to 65,536 depending on the synthesis precision required. For example, selecting ξsym=96 in sine wave synthesis means for the highest pitch sine wave of the synthesizer is related to the symbol clock rate by the relationship Φsym=ξsymfmax=96 fmaxwhere 90° of arc uses 24 points, one point every 3.75°. In operation, setting tuner counter599produces the entire cascade of frequencies derived from and tuned to the symbol clock rate Φsym. The resolution of the ξsymneed not match the resolution of lower octave lookup tables. Different precision levels ξxcan be employed for lookup tables610to619, or alternatively the same precision lookup table may be employed to generate some or all the required frequency components. Alternatively, the same lookup table can be used for every generated sine wave. In such cases every sine wave frequency fxhas an identical resolution ξ9=ξ8=ξ7. . . ξ1=ξ0.

Because the entire counter cascade is driven from a common symbol clock rate Φsymthe exact frequency relationship of the synthesized waveforms is precisely defined by the counter frequency Φxand its corresponding lookup table's resolution ξx. Although this relationship is shown using binary (divide by 2) counters, there is no restriction in what the counter's divisor may be. Dividing by two is convenient because it is equivalent to a halving of frequency, equivalent in musical scales to one octave or twelve half steps. The counters however can utilize any cascade combination of counters each with different divisors. Alternatively, programmable counters, where the count is loaded into the counter, may be employed. Furthermore, since the counters operate at fixed clock rates and complete one complete oscillating period in every data points, i.e. one complete cycle of a lookup table, then the relative timing and phase of any two periodic functions is precisely known. Given, for example, two sine waves having frequencies fxand fy, where
fx=Φx/ξx
fy=Φy/ξy
then the frequency ratio of waveforms is given by

fxfy=Φx⁢ξyΦy⁢ξx
This ratio is illustrative that frequency scaling can be performed by changing the clock Φxor by changing the resolution ξxof the lookup table. For example, if a constant resolution lookup table is used where ξx=ξy=24 then the frequency ratio fx/fyof the synthesized sine waves depends only the ratio of clock rates Φx/Φyor

fxfy=ΦxΦy
In such cases, a clock frequency ratio Φx/Φy=4, results in two sine waves of the same note but two octaves apart, for example the musical note A at 1,760 Hz in the 6thoctave and the musical note A at 440 Hz in the 4thoctave.FIG. 48Billustrates a dual sine wave summing example wherein only the 6thand 4thoctave selector switches606and604are enabled and used to access data in sine wave lookup tables616and614each waveform having a primitive resolution ξ6=ξ4=24. The outputs are amplified by digital gain amps626and624then mixed in digital summing node630to produce a blended waveform output. In operation, tuner (counter)599generates symbol clock Φsymfrom the system clock Φsys. The cascade of ±2 counters598,597, and596divides the symbol clock Φsymto produce 6thoctave clock Φ6and by counters595and594to generate 4thoctave clock Φ4.

Note,OctaveClockResolutionFrequencyRatioA, 9thΦsym= Φ9=ξsym= 24f9= 14,080 HzΦsym/f9= 24337,920 HzA, 6thΦ6= 42,240 Hzξ6= 24f6= 1,760 HzΦsym/f6= 192A, 4thΦ4= 10,560 Hzξ4= 24f4= 440 HzΦsym/f4= 768
The resulting 2 sine-wave chord is given by the summation
g(t)=0.5+0.5[A6sin(f6t)+A4sin(f4t)]=0.5+0.5[A6sin(Φsymt/192)+A4sin(Φsymt/768)]
The multiplier 0.5+0.5[periodic expression] is used to scare the peak magnitude of the sine wave from ±1 to ±0.5 centered on an average value of zero. The adder 0.5 shifts the curve up by +0.5 to span a positive range between 0.000 and 1.000. By enabling octave selector switch601as shown inFIG. 48C, the components of lookup table611driven by clock Φ1are added into the chord. Clock Φ1is generated from Clock Φ4using counters593,592, and591. The added 1stoctave frequency component is given by

Note,OctaveClockResolutionFrequencyRatioA, 1stΦ1= 1,320 Hzξ1= 24f1= 55 HzΦsym/f1= 6,144
and the resulting 3 sine-wave chord is given by the summation
g(t)=0.5+0.5[A6sin(f6t)+A4sin(f4t)]=0.5+0.5[A6sin(Φsymt/192)+A4sin(Φsymt/768)+A1sin](Φsymt/6144)]
As described the above synthesis method utilizes a single waveform primitive to concurrently generate chords consisting of two or three sine waves.

Additional details of the operation of primitives-processor552are illustrated in the single primitive chord synthesis illustrated inFIG. 49. As shown, tuner counter599comprises two counters—a system clock counter640and a symbol clock counter641. System clock counter640is a counter that converts the frequency Φsysof the clock124which drives the μC134in PBT controller131(shown inFIG. 14) to a reference clock frequency Φrefat a convenient fixed frequency (e.g. 5 MHz). Symbol clock counter then converts Φrefto the symbol clock rate Φsymused to define the reference frequency of the counter cascade for sinusoidal synthesis. In the example shown, counters598through593comprise binary ±2 counters, generating multiple sinusoidal frequencies each one octave apart as described in the above table. Further inspection reveals for a binary counter cascade:The clock rate Φxin every octave is a multiple of 2 of the symbol rate Φsym.The frequency fxof every octave is a multiple of 2 of the maximum synthesized frequency fmaxwhich is, without limitation, illustrated as being in the 9thoctave of the musical scale.The relationship between the symbol clock rate Φsymand the maximum synthesized frequency fmaxis determined by ξsym, the resolution of the highest frequency waveform synthesized. The multiplicative product fmaxξsym=Φsymsetting the highest clock rate in the counter cascade.The relationship between the symbol clock rate Φxand the synthesized frequency fxin each octave x is determined by ξx, the primitive resolution of the waveform in that octave.

Since all the relationships between clock rates and frequencies in a single primitive binary counter cascade comprise precise ratios to other frequencies present in the primitives processor552, setting the frequency and resolution of any one synthesized waveform of frequency fxand ξ automatically determines the frequency of every other synthesized frequency and clock in the entire counter cascade including the symbol rate Φsymand the maximum frequency fmax. Frequency scaling of the primitives process is summarized in the following table:

The primitive processor552whose operation is depicted inFIG. 49represents a “tuned” system wherein the entire multi-octave synthesizer is set to a single “key” frequency analogous to tuning a monophonic musical instrument to a single note or key, e.g. an instrument tuned in the key of A. For this reason, operation of symbol clock counter641is set by two parameters, namely fkeykey select642and the lookup table645having primitive resolution ξsym. As shown lookup table645, stored in either volatile memory334aor non-volatile memory334bwithin the LED pad337, is selected by some identifier such as hexadecimal code643, or some binary equivalent code644thereof.

Since the entire synthesizer is tuned to octave multiples, choice of the fkeykey select input642is arbitrary. For convenience, digital tuning can be based in accordance with international frequency standards for pitch. For example, the pitch “A” above middle C in the fourth octave has a frequency 440 Hz. This 440 Hz tone is considered the general tuning standard for musical pitch [https://en.wikipedia.org/wiki/A440_(pitch_standard)]. Referred to as A440, A4, or the Stuttgart pitch, the International Organization for Standardization classifies it as ISO-16. Adapting this standard for the primitive processor, the disclosed synthesizer is tuned to a specific key by selecting a note or frequency in the fourth octave.

Specifically, the input “key select”642sets the note or frequency in the 4thoctave to which the entire synthesizer is tuned. If the maximum synthesized frequency is chosen to be in the ninth octave of the audio spectrum, and arbitrarily we select the 4thoctave as the frequency input range for tuning the synthesizer, then the 9thoctave and the fourth octave differ by 5 octaves. Since 25=32, it means that fmax=f9=32f4and set in accordance key select642the maximum frequency fmax=32 fkey. Given Φsym=ξsymfmaxthen Φsym=ξsym (32fkey). For example, setting “key select” to 440 Hz (standard A above middle C) where f4=440 Hz and where fmax=32 fkey=32(440 Hz)=14,080 Hz automatically scales the entire spectrum of available synthesized frequencies so that f9=14,080 Hz, f8=7,040 Hz, f7=3,520 Hz, f6=1,760 Hz, f5=880 Hz, f4=4400 Hz, f3=220 Hz, f2=110 Hz, f1=55 Hz, f0=22.5 Hz, and f−1=11.25 Hz. Should fkeybe set to middle D then all the synthesized frequencies fxwill also be multiples of D. Or if fkeyis set to middle A#then all the binary synthesized frequencies will also be multiples of A#. The synthesis of sine waves having frequencies other than octave multiples will be discussed later in this disclosure.

Referring again to the primitive processor implementation ofFIG. 49, lookup table645comprises an exemplar primitive description of a sine wave with 24-point resolution. This tabular primitive description of a sine wave is time independent, based only on the argument θ of sin (θ) as its input. After key fkeyof the primitive processor is selected by key select642, e.g. to be 440 Hz, and the resolution ξsymis established by selecting primitives waveform table645to be ξsym=24, then the symbol clock rate Φsymand corresponding period Tsymis given by
Φsym=ξsym(32fkey)=24(32)(440 Hz)=337,920 Hz,
Tsym=1/Φsym=1/(337,920 Hz)=2.96 μs
This symbol rate corresponds to a synthesized maximum frequency fmaxin the ninth octave where fmax=f9=Φsym/ξsym=(337,920 Hz)/24=14,080 Hz with a corresponding period T9=1/f9=71.02 μs which is also equivalent to Tsymξsym=(2.9592 . . . μs)(24)=71.02 μs.

By establishing a time reference used the binary counter cascade, the time-independent sine primitive table645is transformed into a time-based description of the function646a, specifically g (t). The same clock symbol clock Φsymis the time base for generating clocks Φ6and Φ4used to synthesize 6thand 4thoctave sinusoids647aand648a, specifically
Φ6=Φsym/8=(337,920 Hz)/8=42,240 Hz, having a period 1/Ω6=1/(42,240 Hz)=23.67 μs
Φ4=Φsym/32=(337,920 Hz)/32=10,560 Hz having a period 1/Φ4=1/(10,560 Hz)=94.79 μs
These clocks are used to synthesize two synchronous sine waves having frequencies f6and f4with the following frequencies
f6=Φ6/ξ6=(42,240 Hz)/24=1,760 Hz with a corresponding periodT6=1/f6=568 μs
f4=Φ4/ξ4=(10,560 Hz)/24=440 Hz with a corresponding periodT4=1/f4=2,273 μs
In the prescribed manner, the sine waves of equal resolution but of differing frequency can be synthesized with a common clock and a single waveform primitive. In other words, the primitive table sets the shape of the waveform while the resolution ξ and the counter clocks determine the frequencies of the generated sine waves. The exemplary table below shows the relationship between the argument of the sine function θ measured in degrees (or in radians), the normalized unit sine wave function 0.5+0.5 sin (θ), and the times corresponding to the states for sinusoids oscillating at frequencies fmaxin the ninth octave, f6in the sixth octave, and f4in the fourth octave.

Although the table reveals a detailed pattern between 0° and 90°, for brevity's sake detailed 15° descriptions of the other three quadrants are redundant and have been excluded (because the sinusoid is a symmetric function, all four quadrants can be constructed from the data of one quadrant). The time required to complete a sine wave's 360° cycle, i.e. the period T, depends on the sine wave's frequency. For example, consistent with the foregoing calculations, sine waves having frequencies f9, f6, and f4comprise periods of 71 μs, 568 μs, and 2,273 μs respectively. Specifically, the value of the function 0.5+0.5 sin (θ)=1 when the argument θ=90° =π/2. The period of the sine wave T occurs at four times this duration, when 0=360°=2π. For example, a sixth octave sine wave tuned to the key of A requires 142 μs to complete one quarter of its cycle, so its period is T6=4(142.05)=569.2 μs.

FIG. 50illustrates chord synthesis by blending two sine waves using a single waveform primitive, Using clocks generated from a binary cascade counter, the time independent time-based waveform primitive, in this example having a resolution ξsym=ξx=24 (not shown), is transformed into time-based sine wave tables647and648in a key of D comprising frequencies of f6=1,168 Hz and f4=292 Hz respectively. The component sine waves are then increased or decreased in amplitude by digital gain amps626and624having gain multipliers A6and A4performed arithmetically using digital multiply operations. The two sine waves are then mixed by digital summing node630to produce the summation g (t) where . . .

Using a weighted average with a divisor (A6+A4) yields . . .

AVE⁡[g⁡(t)]=⁢1[A6+A4]⁢0.5⁡[A6+A4]+⁢[0.5⁡[A6⁢⁢sin⁡(f6⁢t)+A4⁢⁢sin⁡(f4⁢t)]]=⁢0.5+0.5[A6+A4]⁡[A6⁢⁢sin⁡(f6⁢t)+A4⁢⁢sin⁡(f4⁢t)]
During averaging, the term [A6+A4] does not affect the 0.5 offset because it appears in both the numerator and denominator of the fraction modifying the average value of the function. The second purpose of the Auto Range function, i.e. maximizing the sine component by Aαto full scale, does in fact change the average of the function. To avoid shifting the 0.5 average value the auto range function disclosed herein uses an additive correction factor 0.5 (1−Aα)

Auto⁢⁢Range⁡[g⁡(t)]=⁢0.5+0.5⁢Aα[A6+A4]⁡[A6⁢⁢sin⁡(f6⁢t)+A4⁢⁢sin⁡(f4⁢t)]=⁢Aα[0.5+0.5[A6+A4][A6⁢⁢sin⁡(f6⁢t)+⁢A4⁢⁢sin⁡(f4⁢t)]]+(0.5-0.5⁢Aα)=⁢0.5⁢Aα[A6+A4]⁡[A6⁢⁢sin⁡(f6⁢t)+A4⁢⁢sin⁡(f4⁢t)]+⁢0.5⁢(1-Aα)=⁢Aa⁢g⁡(t)[A6+A4]+0.5⁢(1-Aα)
As described the summation g (t) is scaled by auto-range function631by the scalar [Aα/(A6+A4)] performing a weighted average of the sine wave components along with digital multiplication by the gain factor Aα. The resulting time varying waveform f(t)553, shown in table649, describes a chord655consisting of two sine waves of frequencies f6and f4having an average value of 0.5 and the ability to maximize the amplitude of the periodic function over the range from 0.000 to 1.000 with no signal clipping or distortion. PWM generator555then processes f(t) by the PWM transformation ΨP[f(t)] producing synth out data488comprising a PWM string of pulses 499, referred to as Gsynth(t). Unlike f(t) which is analog, the Gsynth(t) is digital in amplitude, transitioning between a 0 (low) and 1 (high) state as a sequential series of pulses, embedding analog information in its varying pulse widths.

One issue arising from the disclosed synthesis method is quantization noise. Although a single sine wave does not suffer from this issue, when two or more sine waves are added the noise appears in the waveform. This origin of the noise is illustrated inFIG. 51Awhere a cascade of ±2 binary counters596to594is used to produce three clocks Φ6, Φ5, and Φ4, each at half the frequency of its input. Using a fixed primitive resolution of ξ=24, the resulting sine waves of frequencies f6, f5, and f4are shown in tabular form in data table651. Inspection reveals that although the data for frequency f6has a unique one-to-one correspondence to the clock time Φ6, the other frequencies do not change as rapidly. For example, for both t=0.1727 and t=0.1784, the data value of sine wave f5remains constant at 0.7500 even though sine wave f6changes. Similarly, for lower frequency sine wave f4, the data output during the interval from t=0.1427 to 0.2497 remains constant at 0.6294, even though the f6data changes four times.

The impact of using a fixed resolution primitive with different clock rates is shown inFIG. 51B, where for a fixed interval in time a variety of curves are contrasted. For the duration shown, the sine wave of frequency f6shown in graph652exhibits no digitization noise. In contrast, sine wave of frequency f5generated by Φ6/2ξ shown in graph653exhibits a small but noticeable degree of noise. The f4sine wave of graph654two octaves below f6, i.e. where f4=Φ6/4ξ at ξ=24, shows substantial noise. The noise problem is pronounced in the two-sine chord of graph655combining f6and f5and even more exaggerated in graph656illustrating the sinusoidal summation of frequencies f5and f4.

One resolution to this problem is illustrated inFIG. 52Awhere three different frequencies f6, f5, and f4are generated from a common clock frequency Φ6. Rather than scaling the clock frequency, instead the resolution is scaled, using higher resolution primitives to generate lower sinusoidal frequencies. Specifically, in lookup table616, ξ6=24 while in lookup table615the primitive resolution is doubled to ξ5=2ξ6=48 and similarly ξ4=4ξ6=96 in lookup table614. The resulting waveforms have frequencies
f6=Φ6/ξ6
f5=Φ6/ξ5=Φ6/(2ξ6)
f4=Φ6/ξ4=Φ6/(4ξ6)
As indicated, sinusoidal frequencies f6, f5, and f4, generated from a common clock Φ6, are all factors of two from one another, as shown in table661. In this manner, the time steps are constant for all the generated frequencies. The resulting curves, shown inFIG. 52B, including sine waves662,623, and624as well as chords665and666show no signs of quantization errors at this resolution. The frequency ratio of any two sine waves using this method remains precise because the previously defined criteria

fxfy=Φx⁢ξyΦy⁢ξx=ξyξx
is maintained when Φx=Φy.

InFIG. 52Cthis method, referred to as scaled primitive summation (block diagram660) is contrasted to a single primitive summation (block diagram650) for a chord blending three synthesized sine waves. In the block diagram650of single primitive summation, the sine wave lookup tables616,615and614are identical in their resolution ξ=24 but are fed by three different clocks Φ6, Φ5=Φ6/2, and Φ4=Φ6/4, generated from a binary cascade counter. A time graph659of the resulting chord671shows significant digitization noise. In contrast, scaled primitive summation, shown in block diagram660, employs a common clock Φ6to drive three different resolution lookup tables616,615, and614with increasing resolutions ξx=24, 48, and 96 for x=6, 5, and 4 in corresponding order. The resulting waveform, shown in block diagram669, shows no signs of digitization noise at this resolution.

To limit the maximum size of the primitive look up tables, the audio spectrum can be broken up into bands, e.g. upper, middle, and lower scales as well as an infrasound band (i.e. below 20 Hz) for zero and negative octaves. Such an approach is employed in the quad-range scaled-primitive synthesis block diagram shown inFIG. 53. As in the primitive processor shown inFIG. 49, the tuner counter599includes system clock counter640that converts system clock Φsysto a fixed reference frequency Φref, e.g. 5 MHz, and symbol clock counter641that converts the reference frequency Φrefto clock frequency Φsym, where the clock frequency Φsymis defined by the ratio Φsym/Φref=(32 ξkey)/(5 MHz) in accordance with key select input642, a note or key in the fourth octave. In the cascade of counters comprising tuner590, and three divide-by-8 counters672,673and674, four frequencies are cogenerated to produce the clocks Φsym, Φ6=Φsym/8, Φ3=Φsym/64, and Φ0=Φsym/512. Although counters672through674each comprise a three-stage binary cascade counter, for brevity's sake have been represented as single ±8 counters.

The highest frequency clock of the cascade, the symbol clock Φsym, is then used to synthesize sine waves in four bands or scales. In the upper scale Φsymis used to generate sine waves f9, f8and f7in accordance with selector switches609,608, and607respectively. If a selector switch is enabled, the clock pulse for Φsymis passed to the corresponding sine wave lookup table699,698, or697to produce sine waves f9, f8and f7as desired.

Specifically, sine wave lookup table699with resolution ξ=24, if enabled, produces a sine wave f9with a frequency f9=Φsym/ξ9. Sine wave f9has a frequency 32 times the fkeykey select frequency and 1/24thof the symbol frequency Φsym. In the same upper scale, sine wave lookup table698with resolution ξ8=48, if enabled, produces a sine wave f8with a frequency f8=Φsym/ξ8=Φsym/(2 ξ9). Sine wave f8has a frequency 16 times the fkeykey select frequency and 1/48thof the symbol frequency Φsym. Similarly, sine wave lookup table697with resolution ξ7=96, if enabled, produces a sine wave f7with a frequency f7=Φsym/ξ7=Φsym/(4ξ9). Sine wave f7has a frequency 8 times the fkeykey select frequency and 1/96thof the symbol frequency Φsym. Because generation of sinusoids with frequencies f9, f8and f7comes from the same clock frequency Φsym, their waveform synthesis employs the same time increments, thereby avoiding the aforementioned issue of digitization error within the upper scale.

The same clock Φsymis also divided by 8 in counter672to produce a lower frequency rate clock Φ6used for sinusoid synthesis of sine waves f6, f5, and f4in the middle scale. If any selector switch606,605, and604is enabled, the clock pulse comprising Φ6=Φsym/8 is passed to the corresponding sine wave lookup table696,695, or694to produce sine waves f6, f5and f4as desired. Specifically, sine wave lookup table696with resolution ξ6=24, if enabled, produces a sine wave f6with a frequency f6=Φ6=/ξ6=Φsym(86). Sine wave f6has a frequency four times the fkeykey select frequency and 1/192 of the symbol frequency Φsym. In the same middle scale, sine wave lookup table695with resolution ξ=48, if enabled, produces a sine wave f5with a frequency f5=Φ6/ξ5=Φsym/(16 ξ6). Sine wave f5has a frequency 2 times the fkeykey select frequency and 1/384 of the symbol frequency Φsym. Similarly, sine wave lookup table694with resolution ξ=96, if enabled, produces a sine wave f4with a frequency f4=Φ6/ξ4=Φsym/(32 ξ6). Sine wave f4has a frequency equal to the fkeykey select frequency and 1/768 of the symbol frequency Φsym. Because generation of sinusoids with frequencies f6, f5and f4comes from the same clock frequency Φ6=Φsym/8, the waveform synthesis employs the same time increments, thereby within the middle scale avoiding the aforementioned issue of digitization error.

To generate sinusoid f3, f2, and f1in the lower scale, clock Φ6is divided by 8 in counter673to produce a lower frequency rate clock Φ3. If any selector switch603,602, and601is enabled, the clock pulse comprising Φ3=Φsym/64 is passed to the corresponding sine wave lookup table693,692, or691to produce sine waves f3, f2and f1as desired. Specifically, sine wave lookup table693with resolution ξ=24, if enabled, produces a sine wave f3with a frequency f3=Φ3=Φsym/(64ξ3). Sine wave f3has a frequency f3of ½ththe fkeykey select frequency and 1/1,536 of the symbol frequency Φsym. In the same lower scale, sine wave lookup table692with resolution a ξ2=48, if enabled, produces a sine wave f2with a frequency f2=Φ3/ξ2=Φsym/(128 ξ3). Sine wave f2has a frequency ¼ththe fkeykey select frequency and 1/3,072 of the symbol frequency Φsym. Similarly, sine wave lookup table691with resolution ξ1=96, if enabled, produces a sine wave f1with a frequency f1=Φ3/ξ1=Φsym/(256 ξ3). Sine wave f1has a frequency ⅛ththe fkeykey select frequency and 1/6,144 of the symbol frequency Φsym. Because generation of sinusoids with frequencies f3, f2and f1comes from the same clock frequency χ3=Φsym/64 the waveform synthesis employs the same time increments, thereby within the lower scale avoiding the aforementioned issue of digitization error.

The counter cascade can also be used to generate infrasound excitation of the LEDs, i.e. sine waves having frequencies below 20 Hz. As shown, the output of divide-by-8 counter674having a clock frequency Φ0=Φsym/512, if chosen by selector switch600produces a sine wave f0at a resolution ξ0=24 where the generated frequency is given by f0=Φ0/ξ0=Φsym/(514ξ0). Using the above principles, the scaling concept can be extended to produce two lower infrasound frequencies f−1and f−2(as desired) by including two additional sine look-up tables with respective resolutions48and96driven by clock Φ0.

In the foregoing discussion, the use of time increments comprising constant intervals minimizes quantization noise but requires larger higher-resolution look up tables increasing the required memory capacity within a LED pad.

Provided that a lookup table has the required number of data points, a single table can be used to generate multiple octaves of data from a single clock. For example, a table of 24,576 points can be used to synthesize sine waves spanning 11 octaves with an angle precision of 0.0146484375° per data point. Combining a 337,920 Hz clock with an 11 octave universal primitive table, frequencies can be generated, e.g. in the key-of-A ranging from f9=Φsym/ξsym=14,080 Hz in the 9thoctave down to 13.75 Hz in the −1st octave (including A at 440 Hz). This example is illustrated in the 4thcolumn of the table below. Using the same symbol clock rate, i.e. in the same table column, if the number of synthesized frequencies is reduced to only 7 octaves, the size of the universal primitive data table shrinks to 1,536 data points spanning a range from 14,080 Hz in the 9thoctave down to f3=220 Hz.

Alternatively, using the same 7-octave universal primitive table, the frequency band covered can be shifted by employing a lower symbol clock rate. For example, as shown in the 5thcolumn of the table below, with symbol clock rate Φsym=168,960 Hz, a 1,536 data point universal primitive, can cover a range from 7,040 Hz in the 8thoctave down to 110 Hz in the 2ndoctave. By shrinking the table size and lowering the symbol clock, a compromise in sine wave frequency range and data table size is also possible. Referring to the 6thcolumn of the table below, a symbol clock rate of Φsym=42,240 Hz can generate sine waves from 1,760 Hz in the 6thoctave to 55 Hz in the 1stoctave using a look-up table with only 768 data points.

The process of waveform synthesis using universal-primitive synthesis is shown inFIG. 54where tuner counter599generates a programmable symbol clock Φsym=Iref/(32 ξfkey) in accordance with key select642, transforming the clock into one or more sine waves varying in frequency, e.g. from f9to f0, using universal primitive sine wave look up table677. The sine waves are then blended in accordance with digital gain amps678with programmable gains Axand summed in a mixer630to produce g (t). As shown, for each sine wave synthesized, conversion from the clock Φsymto time-based sine table679depends on Resolution Select” input675and the resolution choices available. Table676is shown to, without limitation, demonstrate available table resolutions from a minimum of 12 points to 16-bit resolution having 65,536 data points. The number of data points in sine wave look-up table677determines the maximum resolution available.

In waveform synthesis using a universal primitive table, the same table is employed to generate any sine wave with equal or lower precision than the table's precision. For example, if the table677resolution is 96 points, i.e. increments of 3.75°, the same table can be used to generate sine waves with 48, 24 or 12 points, the higher the resolution, the lower the synthesized frequency.

Various frequency sine waves are synthesized by looking up the data for every angle or by systematically skipping angles. For example, in the table above, using a symbol clock with a frequency Φsym=224,256 Hz with rows 00, 04, 08, 0C, 10 . . . results in a 5,672 Hz sine wave while selecting every row in table produces a 1,168 Hz sine wave.

Key Select and Custom Waveform Synthesis

As described previously, because the periodic waveform generation involves a cascade counter with fixed frequency-multiples, the waveform synthesizer is essentially “tuned” to specific key. The user interface (UI) and resulting operation (UX or user experience) is shown inFIG. 55A, where a user selects the “CHOOSE A KEY” menu701facilitating key selection for various “Musical” scales, “Physiological” (reported medical frequencies) scales, “Custom” scales including manual entry, and “Other” scales. It also includes a provision to return to “default” scales settings. Upon selecting the “musical” setting the “ENTER A KEY” menu702appears. Choosing a note in menu702selects a predefined scale to be loaded into the LED pad into “fkeykey select” input641, ranging from middle C at 261.626 Hz to middle B at 493.883 Hz. as stored in table703. If middle A is selected, then table703will transfer the value of “A” 440 Hz into the symbol clock counter642in accordance with ΦsymΦref=(32 ξfkey)/(5 MHz) generating a symbol rate Φsym=(32 fkey) from whence various frequency sine waves based on this scale are synthesized, e.g. f9=Φsym/ξ9. A table of exemplary frequencies by octave is shown below for a variety of tunings for musical keys of C through F (https://en.wikipedia.org/wiki/Scientific_pitch_notation). The scales shown are referred to as “equal tempered” tuning.

A table of exemplary frequencies by octave is shown below for a variety of tunings for musical keys of F#/G♭through B. The scales shown are referred to as “equal tempered”.

Another option in UI menu701is the selection “Other”, in which case other scales are used to modulate the LEDs. These scales, including Pythagorean, Just Major, Mean-tone, and Werckmeister, shown in the table below, share the frequency for middle C at 261.626 Hz with the even-tempered scale but differ in the relative frequency relationships between the twelve half steps spanning an octave. For example, in an even-tempered scale, the tone of A4above middle C is set to 440 Hz but in other scales varies from 436.05 Hz to 441.49 Hz.

In “Other” mode, the user interface (UI) and resulting operation (UX user experience) is shown inFIG. 55B, where a user selects the “CHOOSE A KEY” menu701and selects “OTHER” opening “CHOOSE A SCALE” menu700. The user then selects an alternative tuning from the menu—either Pythagorean, Just Major, Mean-tone, and Werckmeister, opening submenu702entitled ENTER A KEY. Once the key (note) is selected, the frequency is selected from the tuning table below and loaded into “fkeyKey Select” key register641which is subsequently transferred to the LED pad and ultimately loaded into symbol clock counter642. For example, if the key “A” is selected from the Werckmeister scale, then the value of “A” at 437.05 Hz will be loaded into the symbol clock counter642in accordance with Φsym/Φref=(32 ξfkey)/(5 MHz). Accordingly, the symbol counter generates a symbol rate Φsym=(32 ξfkey) from whence various frequency sine waves based on this scale are synthesized, e.g. f9=Φsym/ξ9. Since the key frequency fkeyis used to generate then Φsymthen the entire nine-octave scale is adjusted accordingly. For example, if fkey=f4is set to 437.05 Hz, then f5=2f4=874.1 Hz, f6=4f4=1,748.2 Hz, etc.

And although the scales vary throughout the octave, they all match one another for the frequency C. For example, as shown for comparative purposes, the fifth octave Cs frequencies shown in the below table all match at f5=525.25 Hz=2f4. The notation used by Pythagorean, Just Major, and Mean-tone, scales differ slightly from the Werckmeister and even-tempered scales in their use of sharps # and flats b. Although the exact effects of tuning on PBT efficacy are not well characterized, scientific studies have confirmed that therapeutic efficacy of PBT treatments is clearly frequency dependent. If on UI menu701, the item “Physio” is selected, frequency scales reported in these medical studies to be therapeutically beneficial are used for the value of fkey. If instead the Custom button in menu701is selected, as shown inFIG. 56, a UX response comprising the custom “ENTER A KEY” menu704will appear. Upon entering a number on the keypad, e.g. 444 Hz as shown, and depressing the DONE button, the fkeykey select register641is loaded with the custom key value 444 Hz and transferred to symbol clock generator642. This value is then used to calculate the symbol clock rate using symbol clock counter642in accordance with the relation Φsym/Φref=(32 ξfkey)/(5 MHz) to produce an output Φsym=(32 ξfkey).

The disclosed PBT system is also capable of generating excitation patterns comprising a chord of three frequencies within the same octave, i.e. a triad, and optionally with an additional frequency as a 7thor one octave higher than the root note of the chord. A block diagram of an algorithmic chord builder is shown inFIG. 57A, where tuner counter599set in accordance with fkeykey select642produces a symbol clock with frequency Φsym=(32 fkey) which is fed into a chord construction algorithm680. The chord builder in turn, uses well-known mathematical relationships to generate the frequency components of various common chord types in accordance with “Octave, Chord & Blend Select” input681selected from chord builder menu688. Triad chords include selection of the octave of the root note in which the chord will be constructed and the type of chord to be implemented, i.e. major, minor, diminished, augmented, or custom. Quad chords include a 7th, a minor 7th, a major 7thor any of the aforementioned triads with an added note one octave above the root. The relative amplitude or “blend” of the component frequencies are also specified in table688comprising the volume of the chord's root note, its third, fifth, and optionally a 7thor a note one octave above the root.

In operation, chord construction algorithm680uses a scaled fraction of symbol clock Φsymto drive four lookup up tables682B,684,683and682A to synthesize four sine waves with a fundamental root at frequency f, a third at a frequency f, a fifth at a frequency fand a top note either a 7thor a note one octave higher than the root (depending on the selection) with a frequency f. The three or four frequencies are then blended in accordance with digital gain amps685A,686,687, and685B with gains A, A, Aand Arespectively, and mixed in summing node630to create g (t).

The exact frequencies of the notes in the chord depend on the value of the selected octave681and by the value of fkeykey select642, i.e. the tuning or key of the binary cascade counters. Together these synthesizer settings determine the frequency or the root note, also referred to as the fundamental of chord. The remaining notes in the chord are calculated as a ratio to the chord's fundamental frequency in accordance with the following table describing the frequency ratio of common musical chords (https://pages.mtu.edu/˜suits/chords.html):

Although the chord builder can be a library element used in predefined treatments and sessions, chords can also be created using a UI menu such as shown in the exemplar ofFIG. 57Bwhere a chord may be selected from CHOOSE A CHORD menu705including major, minor, diminished, augmented, diminished, custom, 7th, minor 7thand major 7thchords. Selecting a custom chord opens the BUILD A CHORD menu706where the user can select the octave of the chord, the root note of the chord, the note of the 3rd, i.e. the next higher note, the note of the 5th, i.e. the third highest note, and optionally whether to include a note one octave above the root. Once the root note is selected, the 3rd, 5th, and +1 octave notes are monotonically arranged in ascending frequency, even if the notes extend into the next higher octave. The second and third inversion of any chord must be entered as a custom chord using the lowest pitch note as the chord's root. The notes are evenly weighted in volume unless otherwise adjusted using the up and down arrows. Once the parameters are entered, after a time-out period or as signaled by other means such as a double screen tap, the parameters are formatted into data table688and eventually transferred to the chord construction algorithm block680within the intelligent LED pads where sine wave look up tables677, digital gain stages678, and mixer630create g (t). In the event that another menu item is selected from the CHOOSE A CHORD menu705, a different submenu (not shown) will open allowing the user to select the octave and the relative amplitude mix of the constituent frequency components. The submenu, however, does not allow a user to change the notes since the relative frequencies present in a minor, major, diminished, etc. chord are precisely defined.

Returning to the synthesizer block diagram ofFIG. 44, regardless of the synthesized waveform or how it was created, the waveform g (t) must be processed to create f(t)553by limiting its range between 0.000 and 1.000 in order for PWM generator555to perform the value-to-PWM-duty-factor transformation ΨP[f(t)] required to create synth out file488. Since the maximum duty factor of a PWM modulated pulse is 100%, i.e. one lasting the full clock cycle, a PWM representation of data over 1.000 is not possible. As such the PWM transformation is limited to 0%≤ΨP[f(t)]≤100%, and therefore 0.000≤f(t)≤1.000. The autorange operation584(shown inFIG. 46) averages the function g (t) while limiting the range of the data and f(t) to that of unit function, i.e. between 0.000 and 1.000.

An example of autorange operation584is illustrated inFIG. 58A, wherein the sum of sine waves662,663, and664results in chord669. Although each of these sine waves extends over the full range from 0.000 to 1.000, the sum of the sine waves in chord669does not span the full extent of a unit function. As shown, the mathematical average of the chord, specifically 0.5, remains constant, but the periodic time-varying function does not extend over the full range of 0.5±0.5. As shown inFIG. 58B, chord669only extends from 0.13 to 0.87, representing 74.4% of the full range. To increase the amplitude of the time varying component the averaging function is amplified by the scalar Aα. By setting Aα=1.344, chord669is increased to full range, as shown by chord689. To prevent a shift in the function's average value, the correction term 0.5(1−α) is included to ensure that the function remains centered on 0.5 and prevent clipping. The result is a unit function f(t) having an average value of 0.5 and having the same dynamic time varying frequency components as the synthesized waveform g (t).

FIG. 59illustrates the process by which PWM generator555converts unit function f(t)553into synth out file488describing PWM waveform Gsynth(t)490. As shown, the function table554contains a description of time to versus the function's value f(t) at each time increment. For example, at tΦ=5 μs the function f(t)=0.5 and remains at that value until at tΦ=10 μs the function's value changes to f(t)=0.8. The output of the transformation ΨP[f(t)] changes this time dependent table into a PWM table489where at time ton=5.00 μs the state goes high, i.e. the LEDs turn on and time tΦ=5.10 μs the LEDs turn off until at time t101=5.20 the LEDs turn on again. Since the LEDs were on from time 5.00 to 5.10 for a duration of 0.10 μs and the period T=1/Φxuntil the LEDs turn on again is from 5.00 to 5.20, or a duration of 0.20 μs, the duty factor of the pulse is D=ΔtΦ/T=10 μs/20 μs=0.50 or 50% and the function f(t)=0.5 during this interval and until time tΦ=10 μs, when the duty factor switches to 0.8 or 80%. The resulting synth out file488is illustrated graphically in PWM pulse string675.

Examples of PWM output490using the transformation ΨP[f(t)] are shown for a variety of non-sinusoidal functions inFIG. 60, including PWM bit stream670for a constant function560where f(t)=1.000, PWM bit stream671for a sawtooth function561, and PWM bit stream672for a triangle function562. The same PWM transformation ΨP[f(t)] can be used to encode audio samples of any audio sample including simple tones like a triangle, strings like a guitar or violin, complex tones such as a cymbal crash, or music.

PWM Player Operation

Revisiting the block diagram ofFIG. 43, the output Gsynth(t)=ΨP[f(t)] of waveform synthesizer483is the input PWM player484. PWM player484then combines Gsynth(t) with waveform Gpulse(t)492to produce pulse string493. The function of PWM player484is twofold:To generate an audio spectrum PWM pulse string Gpulse(t) with a dynamically controlled duty factor DPWM.To perform dynamic “gating”, i.e. to block or pass the content of Gsynth(t) based on the state of Gpulse(t).
The truth table for the above function can be described is logic pseudocode as

If Gpulse=1Then PWM Player OUT=Gsynth(t)Else PWM Player OUT=0
Since Gpulse(t) comprises a PWM string of pulses, the waveform alternates between high and low logic states. Specifically, whenever the function Gpulse(t)=1, i.e. the PWM pulse492is in its high or logic “1” state, the digital state of Gsynth(t) is precisely reproduced at the output of PWM player484. For example, when Gpulse(t)=1 then if Gsynth(t)=1 the output of PWM player484is high and if Gsynth(t)=0 then the output of PWM player484is low. Whenever, however, the function Gpulse(t)=0, i.e. the PWM pulse492is in its low or logic “0” state, the digital state of Gsynth(t) is forced to zero, ignoring the state of the input Gsynth(t). Logically, this function is the same as an AND gate. Mathematically it is equivalent to a digital multiply where the output of PWM player492is given by the product Gsynth(t)·Gpulse(t). Actual implementation of PWM player492may be achieved in hardware, software/firmware, or some combination thereof.

Illustrated schematically inFIG. 61A, PWM player484comprises a PWM clock counter710, a pulse width modulator711, digital inverters712A and712B, and a logical AND gate713. Inputs to PWM player491include reference clock Φref, synth out488, and PWM player parametrics491. In operation, reference clock Φref=5 MHz provides a time reference with period Tref=0.20 μs as an input to PWM counter710, generating PWM clock ΦPWM=20 kHz. With a period TPWM=5 μs, 250 times longer than the reference clock Φrefperiod, pulse width modulator711generates a sequence of PWM pulses492of varying duration ton=DPWMTPWMmade in accordance with a table714defined in PWM player parametrics491. For example, in table714from 0 to 180 seconds, Gpulse(t) is pulsed at a frequency of 2,836 Hz with a duty factor of 60%, after which the pulse frequency changes to 584 Hz. At time t=360 sec, the pulse frequency returns to 2,836 Hz. In terms of pulse string492, during the interval from 0 to 180 seconds the period TPWM=0.43 ms and the on-time, the portion of the period when the pulse is in its high state, is given by ton=DPWMTPWM=(60%)(0.43 ms)=0.26 ms.

The off portion of the pulse is given by toff=TPWM−ton=(0.43 ms)−(0.26 ms)=17 ms. When the pulse frequency changes to 584 Hz, the period increases to 1.712 ms with an on-time of 1.027 ms. Thus, pulse string492is dynamically generated by pulse width modulator711in accordance with the dynamic conditions specified in table491. The output of PWM player484, shown as a gated PWM pulse string493, includes the with embedded waveform494output from the waveform synthesizer483.

Pulse width modulator711essentially comprises two sequential counters, one for counting the on time, the other for counting the off time, where Gpulse(t)=1 during the toninterval and Gpulse(t)=0 during the toffinterval. In logic pseudo-code, operation of pulse width modulator711can be described by defining the following subroutine.

Begin subroutine “Pulse Width Modulator” loop:Load registers Pulse Width Modulator [Δt, TPWM, ton]Clear CountersBegin Count of (1/Φref) pulsesLoop startIf Count (1/ Φref) > Δt, then exit subroutineElseDefine toff= (TPWM− ton)Set Gpulse= 1Count (1/ΦPWM) pulses to tonReset Gpulse= 0Count (1/ΦPWM) pulses to toffLoop end
The above subroutine entitled “Pulse Width Modulator” is a software pseudo-code description performing the same function as block711, i.e. executing a loop for an interval Δt comprising alternating digital pulses in the logic 1 state for duration tonand a logic 0 state for a duration (TPWM−ton) repeatedly until the count of clock Tref=1/Φrefexceeds Δt. The variables [Δt, TPWM, ton] are loaded into the subroutine from the sequence defined in table714in PWM player parametrics491, as illustrated in the following exemplar executable pseudo-code where table look ups are specified by the value in the (row, column) pair, i.e. table (Row, column) where Row is a defined variable:

As described, the above executable pseudo-code repeatedly reads table714, loading data into the subroutine call Pulse Width Modulator with the arguments for its duration Δt, the PWM pulse period TPWM, and the PWM pulse on-time ton, incrementing the row number after each loop is completed. For example, when commencing Row=0 so Δt is calculated by the difference of the time entries in the second row and the first row in the table's first column, i.e. where table (2,1)=180 sec and where table (1,1)=0, therefore Δt=180 sec in the first loop of the code. Similarly, in the first row and fourth column, the data for the PWM period is TPWM=table (1, 4)=0.43 ms, and in the first row and fifth column, the data for the PWM one time is ton=table (1, 5)=0.26 ms. At the end of the loop, the row number is incremented from 1 to 2, so the new data is read from the second row where Δt=[table (3,1)−table (2,1)]=[360 s−180 s]=180 s, TPWM=table (2, 4)=1.712 ms, and ton=table (2, 5)=1.027 ms. This process continues until a null entry for TPWMis encountered, i.e. TPWM=table (Row, 4)=0. At that point, program execution concludes. So as demonstrated, the functions of PWM Player484and pulse width modulator711can be executed using software or hardware, or some combination thereof.

For example, the function of pulse width modulator711is represented schematically inFIG. 61B, comprising a set/reset flip-flop or S/R latch720, tonand toffcounters721and722, AND gates723and724, an inverter725, a startup resistor733, as well as tonand toffregisters726and727. In operation, startup resistor733pulls up on the S input of S/R latch720, which sets the Q output to a logic high or “1” state. The rising edge of this 0 to 1 logic transition triggers the load function of toncounter721. loading the data from tonregister726into the counter721. The logic high state of the Q output also is an input to AND gate723, and its inverse state, the output of inverter725, presents a logic “0” to an input AND gate724.

As a result, clock pulses from clock ΦPWMare routed through AND gate723to toncounter721but blocked by AND gate724from reaching the toffcounter722. Accordingly, toncounter721counts down for a duration ton. During its countdown, the output of toncounter721remains in a logic “0” state and has no effect on S/R latch720. Concurrently, lacking a clock input, the operation of toffcounter722is suspended. Referring to the associated timing diagrams728-731, during the interval from Txto (Tx+ton), PWM clock ΦPWM728continues counting, reset signal729comprising the R input to S/R latch720remains low, set signal730comprising the S input to S/R latch720remains low (except for a startup pulse not shown), and the output Gpulse(t)731remains high.

Once toncounter721completes its countdown of the interval ton, the output of counter721goes high momentarily, as shown by reset pulse734. The rising edge on the R input of S/R latch720resets the output Q to logic “0” and disables PWM clock ΦPWMfrom passing through AND gate723and driving toncounter721. Concurrently, the falling edge of the Q output produces a rising edge on the output of inverter725triggering a load of toffregister727data into toffcounter722. The logic high input to AND gate724enables routing of the ΦPWMclock to toffcounter722. Referring to the associated timing diagrams728-731, during this interval from (Tx+ton) to (Tx+TPWM), PWM clock ΦPWMcontinues counting (diagram728), reset signal comprising the R input to S/R latch720remains low (except for reset pulse734at the beginning of the interval) (diagram729), the set signal at the S input to S/R latch720remains low (diagram730), and the output Gpulse(t) remains low (diagram731). Once toffcounter722counts down to zero after an interval of toff, its output generates a short set pulse732, which toggles the Q output of S/R latch720back to a logic “1” state, loading the current value from tonregister726into toncounter721and restarting the entire process.

As shown in diagram731, the Gpulseoutput toggles between a logic high state for a duration ton=DPWMTPWMto a logic low state for a duration toff=(1−DPWM) TPWM. Each time a set pulse732is triggered, the current value of tonregister726is loaded into the toncounter721. Similarly, each time a reset pulse734is triggered, the current value of toffregister727is loaded into the toffcounter722. In this manner, PWM player parametrics file491is able to dynamically change the PWM player's frequency and duty factor producing a waveform identical to its software equivalent implementation. Note that resistor733used to pull the S input to S/R latch720high during startup has a high resistance, and is unable to overcome the logic low state output from toffcounter722once startup is concluded and power to the circuitry has stabilized.

In conclusion, in the PWM player748the frequency fPWMand a corresponding duty factor DPWMchange over time in accordance with a specific playback file, thereby defining a PWM sequence of pulses of varying durations of tonand toff. Note that the pulse frequency fPWM=1/TPWMof the pulse width modulator711is lower in frequency than the PWM clock ΦPWM=20 kHz used to drive the pulse width modulator711. Moreover, the PWM frequency fPWMis far below the oversampled clock Φsymused by in the PWM generator555ΨP[f(t)] in the waveform synthesizer483, i.e. 1/Φsym>>1/ΦPWM≥fPWM.

LED Driver Operation

The third stage in an LED player of a distributed PBT system is the LED driver circuitry. Referring toFIG. 43, the function if LED driver485is to convert its input Gsynth(t)·Gpulse(t) along with an optional time dependent reference current496into one or more analog control signals, i.e. LED drive stream497The aggregate signal equal to αIref(t)·Gsynth(t)·Gpulse(t) is then used to control the current in numerous LED strings as illustrated by exemplary waveform498.

Greater detail of the operation of LED driver485is shown in the block diagram ofFIG. 62. Although the illustration shows two PWM pulse string inputs IN1493and IN2750and only two outputs for driving LED strings743aand743d, it will be understood to those skilled in the art of PBT that any number of synthesized waveforms, e.g. from 1 to 16 may be required, and that the number of LED strings may vary from n=1 to 36 strings (or even more in large devices) although for smaller LED pads the number of strings will likely range from 8 to 24. It is also understood that the number of series connected LEDs “m” can vary from string-to-string so long that the total number “m” of LEDs in a given LED string does not require a voltage greater than +VLEDto properly operate.

As shown, LED driver485contains, two buffers per input, e.g. IN1is passed through inverters744aand744band IN2is passed through inverters745aand745b, as well as a PWM clock counter710, an LED drive controller747, multiple channels carrying currents exemplified by ILED1and. ILED4, wherein each channel includes an LED string, a controlled current source or sink and optionally a D/A converter and an associated Irefdata register. For example, the channel carrying the current ILED1includes a controlled current sink740adriving LED string743a, a D/A converter741aproducing a reference current Iref1, and an associated Iref1data register742a. Similarly, the channel carrying the current ILED4includes a controlled current sink740ddriving LED string743d, a D/A converter741dproducing a reference current Iref4, and an associated Iref4data register742d. An optional cross point matrix746is used to dynamically allocate, i.e. map, inputs IN1, IN2, etc. to the channels carrying ILED1and ILED4and any other channels, as required. Aside from its PWM waveform inputs Gsynth(t)·Gpulse(t) LED driver485also requires inputs from LED driver parametrics file749and reference clock Φref.

In operation, input waveforms are mapped to the channels dynamically controlling the current for assigned LED strings. For example, waveform493is input to IN1then mapped through cross-point switch746to the digital En1input to current sink740aand to other channels (not shown). As detailed in its accompanying legend, the blackened circle in cross-point switch indicates a closed switch, i.e. a connection, while an open circle indicates no connection, i.e. an open circuit. Similarly, waveform750is input to IN2then mapped through cross-point switch746to the digital EN4input to current sink740dand to other channels (not shown). Concurrently, as synchronized by the clock ΦLEAoutput from PMW clock counter710, the analog signal Iref1is supplied to current sink740aand the analog signal Iref4is supplied to current sink740d. Currents Iref1and Iref4are set by the digital values loaded into Iref1register742aand Iref4register742dand by corresponding D/A converters741aand741d. The resulting waveforms748aand748dare represented in the currents ILED1=αIref1and ILED4=αIref4. The design, implementation, and operation of current sinks (or alternatively current sources) are shown inFIGS. 20A-20C,FIGS. 22A-22CandFIGS. 23A-23C. The LED Driver function can also be specified and executed using software in two steps, first mapping the inputs to the outputs, e.g.

Set “I/O Mapping” whereEn1=IN2En4=IN1En5=IN2
Although it is possible to change this mapping dynamically, the mapping is more likely to be executed only once per treatment and left unchanged throughout the treatment. In many cases only a single input is used. The executable code for current each channel's current can be fixed to constant value

Set “Output Currents” whereILED1=20 mAILED4=20 mAILED5=20 mA
During manufacturing calibration, an error term or curve Icalibis stored in non-volatile memory for each channel, for example Icalib1=1=1.04 mA, Icalib4=−0.10 mA, Icalib4=0.90 mA. The LED pad also stores a value of the mirror ratio α, e.g. α=1/β=1,000, meaning a milliamp channel current ILEDrequires a corresponding microampere reference current Iref. Before commencing playback, the pad μC339calculates and stores the values of Ireffor each channel where
Iref1=[ILED1+Icalib1]/α=[20 mA+(1.04 mA)]/106=21.04 μA
Iref4=[ILED4+Icalib4]/α=[20 mA+(−0.10 mA)]/106=19.99 μA
Iref5=[ILED5+Icalib5]/α=[20 mA+(0.90 mA)]/106=20.90 μA
The Irefvalues are stored in the equivalent digital form in Irefregisters742a,742d,742e, etc. in volatile memory prior to program execution. If the value of the target LED current changes, the register value can be overwritten prior to program execution, or dynamically “on-the-fly” as the treatment progresses. For example, using executable pseudo-code, dynamic LED drive may comprise

RowCol 1, time (s)Col 2: ILED1020 mA218020 mA354023 mA490023 mA5900Terminate
The program can also invoke a function rather than a table, e.g. in Treatment Headache example

Executable code “Treatment Headache”Load table “calib” [LED Calibration]Set α = LED Configuration [row, col]Set fLED= 5.5Begin Count of (1/Φref) pulsesSet t = 0Loop StartSet t = t+(1/(Φref)If t ≥ tendThenSet Iref= 0ElseSet ILED(t) = [20mA] [0.5 +0.5sin (2πfLEDt)]Set “Reference Currents by Channel”Iref1= [ILED(T) + table “calib” (1,1)]/ αIref4= [ILED(T) + table “calib” (4,1)]/ αIref4= [ILED(T) + table “calib” (5,1)]/ αLoop end
In the foregoing example the 20 mA sine wave is generated by a mathematical function for the reference current LED (t) with a defined frequency, e.g. 5.5 Hz, using the Φrefclock (or optionally a multiple thereof). The desired output current LED (t) at each instance is corrected on a channel-by-channel basis by the calibration table data before being converted by mirror ratio α into the corresponding reference current Iref1registers742a,742,742e, etc. According to the instruction “Set t=t+(1/Φref),” each loop at time t is incremented by a duration (1/Φref) and the summation stored back in the variable t, thereby overwriting the prior value. As such the variable t acts as a clock incremented with each loop of the program. The clock continues to count and repeatedly generate the sine wave with a fixed periodicity of TLED=1/fLEDuntil the terminus condition t≥tendis met.

LED Player in Distributed PBT System

In the LED playback operation illustrated inFIG. 43, the sequence of waveform synthesizer483, PWM player484, and LED driver485produces LED drive stream497. Waveform synthesizer483operates at a clock frequency Φsymsignificantly above the audio frequency spectrum, i.e. Φsym>>20 kHz, while the PWM clock ΦPWMused by PWM player484and LED clock ILEA used by LED driver485operate in the audio spectrum, i.e., ΦPWM≤20 kHz and ΦLED≤20 kHz. In summary, the LED playback operation involvesGenerating a time dependent analog unit function f(t) either mathematically using a unit function generator or using an over-sampled look-up-table based primitive processor.Converting unit function f(t) into a PWM pulse stream using transformation Gsynth(t)=ΨP[f(t)].Generating an audio spectrum PWM pulse string Gpulse(t).Gating, i.e. performing a logical AND, of Gsynth(t) with PWM pulse string Gpulse(t) to produce a multiplicative unit function output Gsynth(t)·Gpulse(t).Driving LEDs with a time varying analog current αIref(t) pulsed by unit function output of the LED player whereby the ILED=αIref(t)·Gsynth(t)·Gpulse(t).
FIGS. 63A-63H, 64A-64F and 65illustrate examples demonstrating the versatility of the disclosed LED player for generating a variety of waveforms.

FIG. 63Aillustrates a constant f(t)=unit function761, resulting in a constant time invariant Gsynthwaveform762where ΨP[f(t)]=100%. The constant ΨP[f(t)] is then multiplied by a PWM pulse string773awith D=50% producing a pulse string774aequal to Gsynth(t)·Gpulse(t). Multiplied by a constant reference current781a, αIref=20 mA, the resulting waveform ILED=αIref(t)·Gsynth(t)·Gpulse(t) is a 20 mA peak square wave802awith a 50% duty factor and an average value of 10 mA.

FIG. 63Billustrates again constant f(t)=unit function761resulting in constant time invariant Gsynthwaveform762, where ΨP[f(t)]=100%. The constant ΨP[f(t)] is then multiplied by a PWM pulse string773bwith D=20%, producing a pulse string774bhaving a value Gsynth(t)·Gpulse(t). Multiplied by a constant reference current781b, αIref=50 mA, the resulting waveform ILED=αIref(t)·Gsynth(t)·Gpulse(t) is a 20 mA peak square wave802bwith a 20% duty factor and an average value of 10 mA.

FIG. 63Cillustrates once again constant f(t)=unit function761resulting in constant time invariant Gsynthwaveform762, where ΨP[f(t)]=100%. The constant ΨP[f(t)] is then multiplied by a PWM pulse string773cwith D=95% producing a pulse string774ccomprising Gsynth(t)·Gpulse(t). Multiplied by a constant reference current781c, αIref=10.6 mA, the resulting waveform ILED=αIref(t)·Gsynth(t)·Gpulse(t) is a 10.6 mA peak square wave802cwith a 95% duty factor and an average value of 10 mA.

FIG. 63Dillustrates the constant f(t)=unit function761resulting in constant time invariant Gsynthwaveform762, where ΨP[f(t)]=100%. The constant ΨP[f(t)] is then multiplied by the PWM pulse string773awith D=50% producing the pulse string774awith a value Gsynth(t)·Gpulse(t). Multiplied by a stepped reference current781d, αIref=20 mA and stepping up 25% to 25 mA., the resulting waveform ILED=αIref(t)·Gsynth(t)·Gpulse(t) is a 20 mA peak square wave802cwith a 50% duty factor and an average value of 10 mA, stepping up to a 25 mA peak square wave with a 50% duty factor and an average value of 112.5 mA.

FIG. 63Eillustrates the constant f(t)=unit function761resulting in constant time invariant Gsynthwaveform762where ΨP[f(t)]=100%. The constant ΨP[f(t)] is then multiplied by a constant value771with D=100%, producing constant value772, where Gsynth(t)·Gpulse(t)=100%. Multiplied by a pulsed reference current782, αIrefin the form of a 20 mA square wave, the resulting waveform ILED=αIref(t)·Gsynth(t)·Gpulse(t) is a 20 mA peak square wave802awith a 50% duty factor and an average value of 10 mA.

FIG. 63Fillustrates the constant f(t)=unit function761resulting in constant time invariant Gsynthwaveform762where ΨP[f(t)]=100%. The constant ΨP[f(t)] is then multiplied by constant value771with D=100%, producing constant value772, where Gsynth(t)·Gpulse(t)=100%. Multiplied by a sinusoidal reference current783, αIrefin the form of a 20 mA sine wave, the resulting waveform ILED=αIref(t)·Gsynth(t)·Gpulse(t) is a 20 mA sine wave803awith an average value of 10 mA.

FIG. 63Gillustrates the constant f(t)=unit function761resulting in constant time invariant Gsynthwaveform762, where ΨP[f(t)]=100%. The constant ΨP[f(t)] is then multiplied by constant value771with D=100%, producing constant value772, where Gsynth(t)·Gpulse(t)=100%. Multiplied by a reference current784a, αIref, representing a plucked guitar string with a peak value of 20 mA, the resulting waveform ILED=αIref((t)·Gsynth(t)·Gpulse(t) is a waveform804awith a peak value of 20 mA and an average value of 10 mA.

FIG. 63Hillustrates the constant f(t)=unit function761resulting in constant time invariant Gsynthwaveform762where ΨP[f(t)]=100%. The constant ΨP[f(t)] is then multiplied by constant value771with D=100% producing constant value772where Gsynth(t)·Gpulse(t)=100%. Multiplied by a reference current784b, αIref, representing a cymbal crash with a peak value of 20 mA, the resulting waveform ILED=αIref(t)·Gsynth(t)·Gpulse(t) is a waveform804bwith a peak value of 20 mA and an average value of 10 mA.

FIG. 64Aillustrates a sinusoidal function763off (t)=sin (t) resulting in Gsynth=ΨP[f (t)] as a continuously varying PWM pulse string waveform764with a defined period Tsynth. The PWM string ΨP[f(t)] is then multiplied by constant value771with D=100%, producing Gsynth(t)·Gpulse(t), a PWM representation775of a sine wave. Multiplied by a constant reference current781a, αIref, of 20 mA, the resulting waveform ILED=αIref(t)·Gsynth(t)·Gpulse(t) is a sine wave803awith a peak value of 20 mA and 50% average value of 10 mA.

FIG. 64Billustrates a sinusoidal function763where f(t)=sin (t), resulting in Gsynth=ΨP[f(t)] as the continuously varying PWM pulse string waveform764with a defined period Tsynth. The PWM string ΨP[f(t)] is then multiplied by constant value771with D=100%, producing Gsynth(t)·Gpulse(t), PWM representation775of a sine wave. Multiplied by a stepped reference current781d, αIref, of 20 mA stepping up 25% to 25 mA., the resulting waveform ILED=αIref(t)·Gsynth(t)·Gpulse(t) is a sine wave803bwith a peak value of 20 mA and a 50% average value of 10 mA stepping up to a sine wave with a peak value of 25 mA and a 50% average value of 112.5 mA.

FIG. 64Cillustrates a chord of sine waves763transformed by Gsynth=ΨP[f(t)] into a continuously varying PWM pulse string waveform765with a defined period Tsynth. The PWM string ΨP[f(t)] is then multiplied by constant value771with D=100%, producing Gsynth(t)·Gpulse(t), a PWM representation776of a chord of sine waves. Multiplied by a constant reference current781a, αIref, of 20 mA, the resulting waveform ILED=αIref(t)·Gsynth(t)·Gpulse(t) is a chord of sine waves803cwith a peak value of 20 mA and a 50% average value of 10 mA.

FIG. 64Dillustrates a sawtooth wave763transformed by Gsynth=ΨP[f(t)] into a periodically varying PWM pulse string waveform767with a defined period Tsynth. The PWM string ΨP[f(t)] is then multiplied by constant value771with D=100%, producing Gsynth(t)·Gpulse(t), a PWM representation777of a sawtooth wave. Multiplied by constant reference current781a, αIref, of 20 mA, the resulting waveform ILED=αIref(t)·Gsynth(t)·Gpulse(t) is a sawtooth wave804with a peak value of 20 Ma and a 50% average value of 10 mA.

FIG. 64Eillustrates an audio sample768aof a guitar string transformed by Gsynth=ΨP[f (t)] into a periodically varying PWM pulse string waveform769awith a defined period Tsynth. The PWM string ΨP[f(t)] is then multiplied by constant value771with D=100%, producing Gsynth(t)·Gpulse(t), a PWM representation779aof a audio sample768a. Multiplied by constant reference current781a, αIref, of 20 mA, the resulting waveform ILED=αIref(t)·Gsynth(t)·Gpulse(t) is an audio sample805arepresenting audio sample768awith a peak value of 20 mA and a 50% average value of 10 mA.

FIG. 64Fillustrates an audio sample768bof a cymbal crash transformed by Gsynth=ΨP[f(t)] into a periodically varying PWM pulse string waveform769b. The PWM string ΨP[f(t)] is then multiplied by constant value771with D=100% producing Gsynth(t)·Gpulse(t), a PWM representation779bof a cymbal crash. Multiplied by constant reference current781a, αIref, of 20 mA, the resulting waveform ILED=αIref(t)·Gsynth(t)·Gpulse(t) is an audio sample805brepresenting audio sample768bwith a peak value of 20 mA and a 50% average value of 10 mA.

FIG. 65illustrates a sinusoidal function763where f(t)=sin (t), resulting in Gsynth=ΨP[f(t)] as the continuously varying PWM pulse string waveform764with a defined period Tsynth. The PWM string ΨP[f(t)] is then multiplied by a PWM pulse771dof a fixed period with D=67%, producing a digital pulse string Gsynth(t)·Gpulse(t), a chopped PWM representation778of a sine wave gated by a lower frequency PWM pulse. Multiplied by a constant reference current,781e, αIref, of 30 mA, the resulting waveform ILED=αIref(t)·Gsynth(t)·Gpulse(t) is a chord of sine waves803ewith a peak value of 30 mA and an average value of 10 mA.

In order to execute PBT treatments, first the LED player is downloaded from the PBT controller into the LED pad, followed by the specific LED playback file to be executed. Once the LED player is downloaded, the LED player does not need to be reloaded each time a new treatment is selected. New playback files can be repeatedly loaded and new treatments or sessions executed so long as the LED player remains in the volatile memory of the LED pad. Turning off the PBT system or disconnecting a LED pad from the PBT controller, however, wipes the LED player software from the LED pad's volatile memory and it must be re-installed into the pad before a LED playback file can be executed and treatment or session commence. Although the program wipe issue can be avoided by storing the LED player file in non-volatile memory, for security purposes it is preferable to write the program in volatile memory such as SRAM or DRAM rather than in non-volatile EEPROM or flash. In that way any attempt to reverse engineer the program's contents are lost with a power interruption and a hacker's efforts to extract the program thwarted by the immediate loss of the executable code.

As shown asFIG. 66, an LED playback file830containing payload data831is transferred into a volatile memory832. The payload data831is then uncompressed to extract waveform primitives487and waveform synthesizer parametrics486which are loaded into waveform synthesizer833, PWM player parametrics491are loaded into PWM player834, and LED driver parametrics are749loaded into LED driver835. An example of the contents of payload data831is shown inFIG. 67, including the contents of synthesizer primitives library487, waveform synthesizer parametrics486, PWM player parametrics491, and LED driver parametrics749. The waveform synthesizer parametrics486comprises the information needed to execute a specific treatment or session, i.e. an instruction file. The general instruction file for waveform synthesizer parametrics486includes the following:The waveform synthesis method employed by the file, i.e. either function synthesis or primitive synthesis.The tuning (key) of the program, i.e. the fkeyregister setting for the synthesis. Available keys of PBT synthesis comprise predefined binary multiples of a 4thoctave note, the generated harmonic multiples spanning the audio spectrum from the 9thto the −1stoctaves. Scales include default, musical, physiological, other and custom. While default, and musical scales are even-tempered; the “other” submenu includes alternate tunings such as Werckmeister, Pythagorean, Just-Major and Mean-Tone scales. The physiological scale “physio” is based on empirically derived scales derived from observation. The “custom” UI/UX allows a user to manually set the value of fkeyas a 4thoctave frequency (entered in Hertz rather than by note) and passes this frequency into the fkeyregister.The waveform sequence to be synthesized, including the duration of each waveform “step” in the synthesis. A termination code is included at the program's terminus to signify the treatment or session has completed.If function synthesis is used, the mathematical expression of each function and its frequency f Available periodic waveforms using function synthesis include constant, sawtooth, triangle, and single frequency sine wave.If primitive synthesis is used, each primitive subroutine-call including the frequency fxand resolution ξxof the primitive's playback subroutine. Available primitive based waveform subroutine calls include constant, sawtooth, triangle, or sine waves, or audio samples. Primitives-based synthesis of sinusoidal chords is also available using a “chord builder” subroutine.Chord builder subroutines include specifying the chord construction method and the octaves and notes present. Chord builder algorithms include “octave” synthesis and “tri/quad” chord synthesis.In octave synthesis, any chord can be described by its component octave “Oct” numbers (a number from −1 to 9 describing the frequency fxmade in accordance with the fkeyregister setting) along with each octave's corresponding primitive resolution ξxand blend Ax. In a tri/quad chord builder, three or four fixed-resolution sine wave notes spanning a single octave can be blended using adjustable amplitude set by gain Aα. Available chord triads include major, minor, diminished, augmented, each of which includes an optional fourth note +1 octave above the chord's root note. Alternatively a fourth note can be added to form a 7thchord, specifically a quad note chord having a 7th, major 7th, and minor 7thconstruction. A “custom” chord allows generation of any three note chord spanning one octave, even in dissoanance, with an option for a fourth note +1 octave above the chord's root note.All chord builder outputs may be scaled to increase the chord's periodic amplitude by digital gain Aαwithout shifting the 0.5 Average value of the unit function.All outputs of the waveform synthesizer833represent unit functions, i.e. having analog values between 0.000 and 1.000 converted into PWM pulse strings with a duty factor between 0% and 100%. Any synthesized waveform outside of this range will be truncated.
In operation, only waveform primitives486required by a playback file specified by the synthesizer primitives library487are downloaded into a LED pad. The downloadable synthesizer primitives library487includes a selection of sine wave primitives at various resolutions for example using 24, 46, 96, 198 or 360-point or 16-bit resolution. The exemplary synthesizer primitives library487shown inFIG. 67also includes 24 point descriptions of triangle and sawtooth waveforms, although other resolutions may be included without limitation. Other components of synthesizer primitives library487, for example with ξ=96, involve chords including dual octave chords comprising two sine waves one octave apart (f and 2f) or two octaves apart (f and 4f). Other possibilities (not shown) are chords four octaves apart (f and 16f) or five octaves apart (f and 32f).

PWM player parametrics file 491 includes settings for constant or pulse mode. In pulse mode, the playback file comprises a sequence of PWM frequencies FPWMand a corresponding duty factor DPWMversus playback time, thereby defining a PWM sequence of pulses of varying durations of tonand toff. Note that the pulse frequency fPWMOf the pulse width modulator711is lower in frequency than the PWM clock ΦPWM=20 kHz used to drive the pulse width modulator711. To conclude, in PWM player operation, the PWM frequency fPWMis not fixed but varies with the playback program specified in PWM parametrics file491. Although the frequency fPWMcan be as high as the clock ΦPWMin most cases it is lower so that fPWM≤ΦPWM. Moreover, the frequency fPWMis in the audio spectrum, far below the oversampled clock Ψsymin the supersonic range used by in the PWM generator ΨP[f(t)] in the waveform synthesizer block, i.e. mathematically fPWM≤ΦPWM<<Φsym.

In LED driver parametrics749, the unit function digital PWM inputs INxare mapped against the current sink enable Eny. For example, the input IN1maps to the channel 4 current sink enable En4, the input IN2maps to current sink enables En1and En5(not shown) for channels 1 and 5, etc. LED current control comprises a playback file of αIrefversus time. The value of Ireffor each channel is set by the output of each corresponding D/A converter, which may comprise a constant, a periodic function, or an audio sample. Alternatively, one D/A converter may be used to supply the reference current of all output channels with the same function or constant value.

Commencing Playback in Distributed PBT Systems

After downloading the LED player and LED playback file into an LED pad, playback is enabled by a start signal840in the PBT System timing control, which may be implemented in software or in hardware using the exemplary circuit ofFIG. 68, including a start/stop latch842comprising a set/reset or S/R type flip flop, an interrupts latch843, a PBT system clock counter640, a start-up one shot848, logical AND gates845and846, and logical OR gates846and847. The two-input AND gate845acts as a system clock enable of oscillator Φoscto the LED player, gated by start and pause signals840and841, and by a variety of interrupts, specifically a blink timer timeout844, a watchdog timer timeout845, and an over-temperature flag846.

At startup, one shot848generates a pulse that immediately drives the output of OR gate847to high. Concurrently the pulse from one shot848triggers the set input S of interrupts latch843, setting its output Q to high. When user input “start”840is selected, it generates a positive pulse, setting the output Q of start/stop latch842to high. With the Q outputs of both start/stop latch842and interrupts latch843set high, AND gate846is enabled. As a result, the output of oscillator Φoscis delivered to the PWM player834as clock Φsys, and divided by PBT system clock counter640to produce reference clock Φref.

Selecting “pause”841generates a pulse that resets the output of start/stop latch842to zero and suspends playback. Playback remains latched off until “start”840is selected, cancelling the pause command. As a result, start/stop latch842starts and stops program execution. In the event that an interrupt occurs for any reason, i.e. if any one of the inputs to OR gate647go high, output of OR gate647will also go high, thereby resetting the output Q of interrupts latch843to zero. With the Q output of interrupts latch low, the outputs of AND gates846and845also go low, disconnecting clock Φoscfrom the LED player and suspending treatment. This situation will persist until the cause of the interrupt is remedied, the inputs to OR gate647are reset to low and a system restore pulse is sent to the S input of interrupts latch843. For example, if an over temperature condition occurs, the over temperature flag846will go high846disable LED pad operation until normal temperatures return and the over temperature flag846is reset.

A unique safety feature of the disclosed distributed PBT system is the blink timer. This timer operates within the intelligent LED pad itself and does not rely on the PBT controller. At regular intervals in the pad μC339, e.g. every 20 or 30 seconds, the program counter interrupts operation to execute an interrupt service routine (ISR). During this interval, the blink timer timeout844is set to logic 1 while the LightPadOS software executes a safety check regarding LED pad electrical connections, any priority messages or file updates, file parity checks, etc. Once the safety check routine has been completed, the blink timer timeout844is reset to zero, the watchdog timer845is reset, and program execution is returned to the main routine. After completing the ISR, the pad μC339generates a system restore pulse to interrupts latch843and program operation recommences. If the software has for any reason frozen, the program will not resume operation and the LED strings in the pad will remain off. Otherwise, the LED pad will resume operation after a defined interval, e.g. 2 seconds.

Another failure mode involves frozen software while the LEDs are on and emitting light. If the condition persists the LEDs may overheat and present a burn risk to a patient. To prevent a dangerous condition from arising, watchdog timer845(whose operation is not dependent on software) counts down in parallel to the software program counter. Should the software timer become frozen in an on state, the watchdog timer845will not be reset, and the watchdog timer845will time out, generating an interrupt signal from blink timer timeout844and discontinuing operation of the PBT system until the fault condition is resolved.

In this manner the disclosed distributed PBT system can be used to control LED pad operation remotely. Furthermore, the methods disclosed herein can be adapted to control multiple intelligent LED pads simultaneously from a common PBT controller.

Component Communication Over Distributed PBT Systems

Implementing the required communication among components in a distributed PBT system requires a complex communication network and dedicated protocol designed to accommodate the mix of real time and file-based data transfers, some of which are linked to safety systems. In accordance with FDA regulations, safety is a major design consideration in medical devices. In distributed systems this concern is further exacerbated by autonomous operation of components. In the event that inter-device communication in the distributed PBT fails or is interrupted, the safety systems cannot malfunction. The topic of communication, safety, sensing and biofeedback are discussed in greater detail in related U.S. application Ser. No. 16/377,192, entitled “Distributed Photobiomodulation Therapy Devices, Methods, and Communication Protocols Thereof,” filed contemporaneously with this application.

As described above, the delivery of LightOS data packets in a distributed PBT system can be achieved using a 4-layer communication protocol executed over a wired bus such as USB, I2C, SMBus, FireWire, Lightening and other wired communication mediums. If, however, distributed PBT system communication is performed over Ethernet, WiFi, telephonically over cellular networks (such as 3G/LTE/4G or 5G), or if data is passed through a public router, communication cannot be performed exclusively through the MAC address, i.e., a Layer-1 and Layer-2 communication stack is not sufficient to execute data routing through the network.

For example, as shown inFIG. 69, a PBT controller1000communicates over Ethernet1002with an intelligent LED pad1003using a 7-layer OSI compliant communication stack1005. Specifically, communication stack1005of PBT controller1000includes PHY Layer-1 and Data Link Layer-2, executing the Ethernet communication protocol over Ethernet differential signals1004; Network Layer-3 and Transport Layer-4, executing network communication in accordance with the TCP/IP (transfer communication protocol over Internet protocol network); and LightOS operating system defined applications layers comprising Session Layer-5 for authentication, Presentation Layer-6 for security (encryption/decryption), and Application Layer7for PBT system control and therapy. Communication stack1006of LED light pad1003includes the corresponding Layer-1 and Layer-2 protocols for Ethernet and Layer-3 and Layer-4 for TCP/IP, along with LightPadOS defined layers 5 through 7. In point-to-point communication, i.e. for communication not involving an IP router, Ethernet connection1002operates as a private network over network Layer-3. The operating system LightPadOS of intelligent LED pad1003is a subset of LightOS, and therefore PBT controller1000and intelligent LED pad1003are able to communicate with one another as a single virtual machine (VM) despite being physically separated from one another.

Using the described 7-layer OSI communication stack, network communication in the PBT system can easily be adapted to WiFi wireless communication. In the distributed PBT system shown inFIG. 70, a WiFi enabled PBT controller1010powered by a power supply1011communicates by WiFi signal1012with an intelligent LED pad1013using OFDM radio signals1015in accordance with the IEEE standards for 802.11. WiFi communication protocols may include 802.11a, 802.1b, 802.11g, 8012.11n, or 802.11ac or other related versions depending on the chip sets employed in intelligent LED pad1013. PBT controller1010can support the superset of all standard WiFi protocols. Because WiFi cannot carry power, intelligent LED pad1013must receive power through a USB cable1014b, powered either by AC/DC converter and DC power supply (brick)1014aor a USB storage battery (not shown). WiFi communication occurs over the full 7-layer OSI communication stack1016present in PBT controller1010connected to communication stack1017present in intelligent LED pad1013.

FIG. 71Ais a block diagram of WiFi communication-enabled PBT controller1010. In operation, a WiFi radio converts a wired communication link1025(e.g. PCI, USB, Ethernet) to a microwave radio link1024, translating Ethernet MAC access1020ato Radio Access Point1020busing interface circuitry and related firmware1022. Signals from communication link1025pass through communication stack1021aas PHY signals1119a, whose format is converted by interface1022to PHY signals1119b, which are then sent into WiFi communication stack1021band on to radios1026athrough1026n, operating over various radio frequencies transmitted over multi-band antenna array for microwave radio link1024. Communication1021atransfers data1019ain accordance with the link communication Data Link Layer-2 protocol and interface circuitry and related firmware1022converts the data into WiFi data1019bin accordance with Data Link Layer-2 of communication stack1021b, formatted for radios1026athrough1026n. This WiFi radio in turn connects to PBT controller131through135also connected to Ethernet 2017 ad USB1028.

As shown inFIG. 71B, the microwave radio link1024extends to intelligent LED pad1013and then, via a wired data link1030using PCI, USB or Ethernet protocols, to communication interface338in LED pad1013. Communication interface338also may connect to other devices or sensors via a USB link1033and an Ethernet link1032. An example of a distributed PBT communication network is shown inFIG. 72, wherein a WiFi router1052communicates with intelligent LED pads1053,1054, and1055over WiFi links1012a,1012b, and1012c, and with a central control UI/UX LCD display1050, having a system control window1051aand a patient window1051b, over a WiFi link1012b. The system also includes an inventive component, WiFi PBT remote control1056, which enables a nurse to start a treatment in a patient's room without the need to return to central control UI/UX LCD display1050.

Using wireless connectivity, the PBT controller1010can be replaced an application program running on a mobile device such as a cell phone, tablet, or notebook computer. For example, inFIG. 73a cell phone1100running PBT controller application software (e.g. PBT “Light app”) connects to a cell tower1105over a cellular network1104, e.g. 3G/LTE, 4G, and 5G. Cell tower1105in turn connects to Internet11061706by Ethernet, fiber, or other means. Cell phone1105running the aforementioned Light app also connects to an intelligent LED pad1101using WiFi1102, where intelligent LED pad1101is powered by an AC adapter1103aand a cord1103b. A 7-layer OSI communication stack1107of cell tower1105uses mobile network data packets to connect with a communication stack1109of Light app running on cell phone1100. In turn, the Light app also uses the 7-layer communication stack1109to connect to intelligent LED pad1101comprising communication stack1108. As shown, PBT communication stack1109, mixes two 7-layer communication stacks, one for dialog with communication stack1107of cell tower1105and through a router (not shown) to Internet1106and to a cloud based server (not shown), and another for connecting to intelligent LED pad1101via communication stack1108, wherein only the Light Application Layer-7 bridges the two communication stacks in communication stack1109. In this manner, cell phone1100running the aforementioned Light app operates as a PBT controller communicating separately to a cloud-based computer server (not shown) over Internet1706and to intelligent LED pad1101but without relinquishing local control.

Because PHY Layer-1 and Data Link Layer-2 are within the six data layers not shared in communication stack1109, the cell tower1105communication stack1107is unable to directly access the intelligent LED pad1101communication stack1108. Instead, only Application Layer-7 within communication stack1109bridges the two communication networks. The software in cell phone1100may comprise a dedicated Light app, which like LightPadOS, operates as reduced instruction set version of the LightOS operating system used in the dedicated hardware PBT controllers described previously. In essence, the Light app in cell phone1100emulates the operation of LightOS in facilitating PBT control functionality and its UI/UX touchscreen-based control. The Light app is realized as software designed for operating on the operating system used in the corresponding mobile device. For example, in smart phones and tablets, the Light app is created to run atop Android or iOS while in notebooks, the Light app is created to run on MacOS, Windows, Linux, or UNIX. The conversion of the source code, the basic logic and function of the Light app, into executable code adapted to run atop a specific platform is a conversion process referred to as a “compiler”.

The translation of source code into compiled code is therefore platform-specific, meaning that multiple versions of the software must be distributed each time a software revision, patch, or new release occurs. Operation of a mobile device based distributed PBT system is shown inFIG. 74, where cell phone1100hosts Light app with a control UI/UX interface1130to control intelligent LED pads1119aand1119bover WiFi1102. Cell phone1100is also able to connect to the Internet and cellular networks using cellular network1104, e.g. using 3G/LTE, 4G, and 5G protocols.

An example of a user interface for software control of a PBT system is shown in a screen1120inFIG. 75, where the UI/UX screen entitled “choose a session” includes a treatment menu1121along with a button1122for selecting an “extended session” to increase the time of a PBT treatment. A “Select a LED pad” button1122is used to pair the mobile device to a specific intelligent LED pad. As shown, selecting the De-Stress treatment opens a second “Running” screen1130to monitor an ongoing treatment, with a window1131showing the treatment name, and buttons1132and1133to cancel or pause a treatment. The “Running” screen1130also has a window1134showing the time remaining in the treatment, a step progress bar1135, a treatment progress bar1136and a biofeedback window1137.

Driving Other Distributed Components

The PBT controller of this invention can also be used to control therapy devices other than LED pads. These peripheral components may comprise laser PBT wands and systems, autonomous LED pads programmed over a distributed PBT system, magnetotherapy pads and wands, LED masks, LED caps, LED ear and nose buds, and more. LED facemasks, head caps, and LED beds are simply multi-zone PBT systems using unique LED delivery systems. Electrical control of these other devices is generally similar to control of the intelligent LED pads with the aforementioned PBT system as disclosed herein. Broadly, the aforementioned distributed PBT system is not limited to driving LEDs but may be used to drive any energy emitter positioned adjacent to a patient in order to inject energy into living tissue, including a coherent light from a laser, time-varying magnetic fields (magneto-therapy), micro-electric currents (electrotherapy), ultrasonic energy, infrasound, far infrared electromagnetic radiation, or any combination thereof.

Nonetheless, because these other distributed therapeutic systems, such as laser PBT, thermotherapy, magnetotherapy, and ultrasound therapy, use energy emitters other than LEDs, they require some modifications in order to drive the energy emitters using the disclosed PBT controller. Some examples of adapting the disclosed PBT system for alternate therapies are described below:

Laser PBT Systems—FIG. 76illustrates a handheld PBT “wand”1150useful for laser PBT therapy. As shown, handheld wand1150includes a cylindrical handle1153with a liquid crystal display (LCD)1160and control buttons1161aand1162b. The bottom of the cylindrical handle153includes a USB port1162needed to charge a battery1166. The handle1153connects through a gimbal1152to a PBT head1151with a transparent faceplate1154containing a printed circuit board (PCB)1155on which lasers1156and1157and a temperature sensor1158are mounted. One inventive feature is a circular conductive blade1159used to sense contact to the skin and thereby prevent illumination of the lasers unless the unit is in contact with tissue.

The block diagram ofFIG. 77shows that the handheld PBT wand1150includes a μC1181, a clock1183, a volatile memory1185, a non-volatile memory1184, a communication interface1182and Bluetooth1190. μC1181communicates over a data bus1187to a control UI1177with buttons1161aand1161b, a display driver UX1176with an LCD1160, a laser driver1174, and safety systems1175. As shown, laser driver1174drives laser-diodes1156and1157. Concurrently, contact blade signal1188and temperature sensor signals1189are used by safety systems1175. Laser driver1174is powered by a laser power supply1173which in turn is powered by a Li-Ion battery1172via a battery charger and regulator1171, powered by a USB input1186.

Details of the safety sensors, shown inFIG. 78, include a PN diode1202(terminals A and K) in the temperature sensor1158for sensing heat1200and capacitors1201aand120bconnected to the two parts of conductive blade1159, which form a closed circuit conducting AC current through a patient's tissue across terminals C and C′.FIG. 79illustrates further details of the laser PBT handheld safety system, including an oscillator1220, the contact sensor capacitors1201aand1201b, and a sense resistor1221along with a differential amplifier1222, a low pass filter1223, an eye safety comparator1225and a source1224of a reference voltage Vref. In operation, oscillator1220injects a voltage Voscat a frequency forcinto a voltage divider formed by sense resistor1221and the series connection of capacitors1201aand1201b. At the switching frequency forc, the series connected capacitors1201aand1201bexhibit an equivalent impedance Z and drop a voltage network voltage between nodes C and C′ of VZ=ZC·Iavewhile the voltage drop across resistor1221is VR=R·Iave. Equating the two equations VR=VoscR/(R+ZC). Thus, when the conductive blade1159is not contacting the patient's skin, the value of ZCis large, and VRapproaches zero. In such a case, the output of differential amplifier1222is lower than Vref, which is temperature independent. As such, the output of eye safety comparator1225is at ground, the associated input terminal and the output terminal of logical AND gate1226are at a logic low, and the laser driver1174is inhibited. If the sensor blade contacts the skin, the AC impedance ZCdrops significantly so that, after removing the AC signal in low pass filter1223, the average DC voltage across resistor1221is greater than Vref, whereby the output of eye safety comparator1225switches to a logic high and sending a contact detect enable signal1228to the laser μC1181. Similarly, the voltage across diode1202in temperature sensor1158is processed by temperature protection circuit1231a. If an over-temperature condition occurs, an over temperature flag1232is sent to the laser μC1181and the input to logical AND gate1226goes low, disabling laser driver1174. Conversely, in the absence of an over-temperature condition, and the presence of a contact detect enable signal1228, the logical AND gate1226will pass the digital value of the output of PWM driver493to laser driver1174.

FIG. 80illustrates an exemplary schematic for a dual channel laser driver. As shown laser PBT control1240is similar to the laser controller shown inFIG. 77, comprising laser μC1181, communication interface1182, clock1183, non-volatile memory1184, and volatile memory1185. Protection functions include over-temperature protection1131awith diode1202along with eye protection1131b. The fault signals from over-temperature protection1131aand eye protection1131band the PWM player output from laser μC1181are input into logical and gates1228aand1228b, then buffered by two series inverter pairs1247and1246. The output is fed to the digital inputs of current sinks1256and1257in laser driver1174. A dual output D/A converter1245is used to control the analog value of currents ILaser1and ILaser2when the current sinks1256and1257are conducting.

The controlled current sink1256is used to drive the string of lasers1156athrough1156mwith wavelength ξ1. The controlled current sink1257is used to drive the string of lasers1157athrough1157mwith wavelength ξ2in laser array1242. The laser strings1156a-1156mand1157a-1157mare powered by a supply voltage +VHVoutput from a boost-type switching regulator1241comprising an input capacitor1265, a PWM controller1260, a low-side power DMOSFET1262, an inductor1261, a Schottky rectifier1263, and an output capacitor1264with voltage feedback to PWM controller1260. The input to laser power supply1241is supplied by Li-Ion battery1172and battery charger1171from USB power input. A 2.5-V voltage-regulated output is also delivered from battery charger1171and filter capacitor1266to power the components of the laser PBT control circuit1240. If a higher voltage is required, the +VHVpower supply output used to drive the laser array may also be used to supply the laser PBT control after the boost converter is operating.

Autonomous LED Pads for Photobiomodulation Therapy—Another peripheral compatible with the distributed PBT system is autonomous LED pads to be used in applications when a PBT controller or cell phone is unavailable or inconvenient by which to administer emergency treatments, e.g. in a battle field or in a plane crash in a mountainous location. In operation, a single button located on the autonomous LED pad is used to select the treatment. In general, no UX display is available for information. And although autonomous LED pads operate “autonomously” (i.e. by themselves) during therapy treatments, during manufacturing they are connected to part of a distributed PBT system to load their applicable programs and to confirm their successful operation.

The PBT software programs loaded into the autonomous LED pads are determined by the markets and applications for which they are intended. For example, the treatment programs loaded into the LED pads in a ski resort might comprise treatments for concussion (a common ski injury) while those used by paramedics might focus on treating wounds such as lacerations or burns. In sports facilities and tennis clubs, autonomous LED pads for muscle and join pain may be more common. In military applications, the major field application is to slow or prevent the spread of infection in a bullet or shrapnel wound.

The electrical design of the intelligent LED337ofFIG. 14is equally applicable autonomous LED operation except for the addition of a push button to control on/off and program selection. During programming, the entire PBT system is present including power supply brick132, PBT controller131, USB cable136, and autonomous intelligent LED pad337. In programming, the PBT controller configures the LED pad by loading manufacturing data, and downloading a PBT player and the pre-loading LED playback files as required. A portable programming system may also be used to reprogram pads once sold or deployed into the field, allowing a client to repurpose their inventory to adapt to various types of disasters, e.g. frostbite in the winter, anti-viral treatments in a disease outbreak or pandemic, lung damage from a terrorist's nerve-agent release etc.

The important factor in a autonomous LED pad is the cost should be controlled by utilizing a standard design, i.e. using one common manufacturing flow and product BOM (build of materials) for all applications and markets, then to use software downloads to customize the generic product into an application specific version.FIG. 81Aillustrates a general purpose self contained pre-programmed autonomous LED pad with a top view1281, an underside view1284, and side views, including a single USB socket1198. As shown in the cross-sectional view1280, the autonomous LED pad includes a rigid PCB1288; a flexible PCB1289, LEDs1291and1292, a sensor1290and control switch1293. A polymeric pad cover1281includes openings1295and a cavity1296, a thin portion1282for switch1293and protective clear plastic1287. Polymeric pad cover1281comprises a protrusion1283, and a bottom flexible polymer comprises a protrusion1285.

As described, autonomous LED pads do not utilize a display, a radio link, or a remote control and therefore offer a limited number of preloaded treatment programs, generally from one to five choices as illustrated inFIG. 81B. As shown, an autonomous LED pad is in its off state1297a. It will change to its on state when the button1293is pressed once. After selecting this state, after a short time treatment will commence using the program “Treatment1.” Pressing the button1293a second time will advance the program to state1297C and commence “Treatment2.” In a similar manner, each time the button1293is pressed, the program advances to the next treatment, 3, 4, and5shown as corresponding states1297d,1297e, and1297f. Depressing button1293a sixth time returns the autonomous LED pad back to off state1297a.

Pulsed LED Thermotherapy—In a manner similar to visible and near infrared light in photobiomodulation therapy, thermotherapy is the application of far infrared, typically comprising wavelengths of 1 μm to 100 μm. Thermotherapy includes spas, heating pads, and heater body wraps. According to Wikipedia, the therapeutic effects of heat include “increasing the extensibility of collagen tissues; decreasing joint stiffness; reducing pain; relieving muscle spasms; reducing inflammation, edema, and aids in the post acute phase of healing; and increasing blood flow. The increased blood flow to the affected area provides proteins, nutrients, and oxygen for better healing.” It also expedites the delivery of metabolic waste and carbon dioxide. Heat therapy is also useful for ameliorating muscle spasms, myalgia, fibromyalgia, contracture, bursitis,

While the therapeutic claims overlap those offered by PBT, the physical mechanism of thermotherapy is considerably different. Unlike PBT, which imparts photons absorbed by molecules to stimulate chemical reactions that otherwise would not occur, i.e. photobiomodulation, in thermotherapy heat absorbed by tissue and water accelerates molecular vibration rates to expedite ongoing chemical reactions. Since, however, in accordance with Einstein relation E=h c/ξ, the energy of a photon is inversely proportional to its wavelength, the energy of 3 μm far infrared radiation is only 20% to 20% that of red and NIR PBT. This energy difference is significant, as the lower energy is insufficient to break chemical bonds or transform molecular structure. As a result, thermotherapy is generally considered as symptomatic relief without the associated accelerated healing manifest in PBT. Penetration depths for far infrared sources shorter than 3 μm (i.e. IR type B) exhibit greater penetration depths than longer wavelengths and are therefore preferred over long wavelength sources.

The aforementioned PBT system can be adapted for thermotherapy by replacing the visible light and NIR LEDs with LEDs in the far IR spectrum. LEDs are generally limited to 12 μm wavelengths or shorter as described in “Far infrared radiation (FIR): its biological effects and medical applications”,Photonics Lasers Med., vol.1, no. 4, Nov. 2012, pp. 255-266: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3699878/by F. Vatansever and M. R. Hamblin. By adjusting the crystalline structure of III-V compound superlattice compound semiconductors for smaller bandwidths, LEDs operating in far IR spectrum have been achieved to wavelengths up to 8.6 μm (see “Superlattice InAs/GaSb light-emitting diode with peak emission at a wavelength of 8.6 μm,” IEEE J. Quant. Elect., vol. 47, no. 1, January 2011, pp. 5-54). The PBT system used for driving NIR LEDs disclosed herein can therefore easily be retrofitted to accommodate FIR LEDs simply by swapping the NIR LEDs for their longer wavelength counterparts. The drive circuitry can be used in an identical manner, using pulsed or sinusoidal waveforms. Because of the long wavelengths, drive frequencies below 100-Hz are more suitable to insure uniform delivery far infrared radiation. At even lower frequencies, e.g. below 10 Hz, the FIR LEDs in a pad can be scanned row by row to produce a massage like wave rippling across each pad, successively stimulating vasodilation in a systematic pattern across treated tissue. Optionally, near infrared LEDs for PBT and far infrared LED for thermotherapy can be combined into one intelligent pad, and driven either concurrently or alternating in time.

Magnetotherapy—Magnetotherapy (MT) is an alternative medicine therapy where injured tissue is subjected to magnetic fields. The influence of fixed magnetic fields on tissue is dubious and is generally considered pseudo-medicine, fringe medicine and even quackery. Some studies have concluded medical claims for permanent magnet magnetotherapy are wholly unsupported by the results of scientific and clinical studies, and prohibit marketing any magnet therapy product using medical claims (https://en.wikipedia.org/wiki/Magnet_therapy). Conflicting claims suggest that pulsed magnetic fields exhibit a therapeutic effect because the living tissue contains a large number of free ions and even electrically balanced molecules (such as water), which act as dipoles because of the direction of their charges. When subjected to an oscillating magnetic field, molecules are repelled and attracted according to their electric charge in a manner similar to imaging performed by magneto-resonant imaging (MRI), except that the excitation occurs at lower frequencies. This type of magnetic therapy is commonly referred to as pulsed magnetotherapy or PMT.

Reported effects of PMT are largely analgesic, including muscle relaxation, improved local blood circulation and vasodilation; anti-inflammatory effects; pain relief through the local release of endorphins; and beneficial effects on cellular membrane action potentials. The action mechanism is primarily believed to be electrochemical rather than thermal, in essence acting in a catalytic manner by accelerating ongoing chemical reaction rates. Reported PMT pulse frequencies range across the audio and infrasound spectrum from 20-kHz down to below 1-Hz. From the published literature it is impossible to determine the accuracy of these reported claims or to ascertain treatment efficacy of pulsed magnetotherapy. Moreover, PMT carries certain risks. In particular PMT is contraindicated in the case of tumors and has a safety risk of affecting pacemaker operation.

In accordance with this invention, a pulsed magnetotherapy system can be realized by repurposing the disclosed PBT system by replacing optical components with electromagnets and adapting the drive circuit contained in the intelligent pad or wand. Optionally, LEDs for PBT can be driven in combination with magnetic emitters, either concurrently or alternating in time. In the case of driving an array of electromagnets, the electromagnet array should be mounted on a three dimensionally bendable printed circuit board (or 3D PCB) similar to that described herein for LED arrays and disclosed in U.S. application Ser. No. 14/919,594, now U.S. Pat. No. 10,064,276, entitled “3D Bendable Printed Circuit Board with Redundant Interconnections,” incorporated herein by reference. The rigid-flex PCB is necessary to adjust the orientation of numerous electromagnets to a 90° angle (i.e. a right angle) to the patient's tissue being treated without mechanically damaging the solder joints between the flexing PCB and the rigid electromagnets. The rigid flex PCB provides a perfect solution for achieving reliable 3D bendability.

FIG. 82illustrates a cross-sectional view of a rigid-flex PCB with unprotected copper interconnections. As shown, the flex PCB comprises an insulating layer1303sandwiched between metal layers1301and1302, typically comprising patterned copper. In some portions of the cross section shown and in other portions (not shown inFIG. 82), this flex PCB is sandwiched into the middle of a rigid PCB comprising insulating layers1304and1305and laminated with patterned metal layers1311and1312. In general, flex PCB metal layers1301and1302are thinner than the metal layers1311and1312in the rigid PCB. The cross-sectional view ofFIG. 82is for illustrative purposes. The exact pattern of each layer shown depends on location and the circuit being implemented. As shown, a metal via1307is used to connect metal layers1301and1311and a via1308is used to connect metal layers1302and1312. A fully buried via1306is used to connect flex metal layers1301and1302.

Protective layers comprising a coating of polyimide, silicon, or other scratch protection material is used to seal both the rigid and flex portions of the PCB. As shown, an insulator1304protects metal layer1301and an insulator1305protects metal layer1302, completely sealing the flex PCB from moisture and the risk of mechanically induced scratches. In the rigid portion of the PCB, a patterned insulating layer1313protects a portion of metal layer1311and an un-patterned insulating layer1314entirely protects metal layer1312. Some portions of metal layer1311remain unprotected for the purpose of soldering components onto the rigid PCB.

As shown, the electrical interconnection of the various metal layers within a given rigid PCB, between rigid PCBs, and within flex PCB's can be accomplished without the need for wires, connectors or solder joints, using conductive vias1306,1307, and1308. These conductive vias comprise conductive columns of metal or other low resistance materials formed perpendicular to the various metal layers and may penetrate two or more metal layers to facilitate multilevel connectivity and non-planar electrical topologies, i.e. circuits where conductors must cross one other without becoming electrically shorted.

In PMT pads, the role of the rigid portion of the disclosed rigid-flex PCB may be used in various ways. In one case, discrete electromagnetic, permanent magnets, and permanent magnet/electromagnet stacks can be mounted onto the rigid portion of the rigid-flex PCB. Alternatively, the PCB interconnections can be used to form a toroid that when combined with through-hole magnetic material forms a planar magnetic structure. One exemplary layout of a planar magnetic toroid is illustrated in the exploded diagram ofFIG. 83, wherein metal layers1311,1301,1302, and1312form a circular toroid surrounding a magnetic core1316. Each circular conductor on a given layer is rotated in comparison to the metal layer below it so that metal vias1307,1306, and1308are able to interconnect the layers in a manner where the current flows counterclockwise on every layer located on each plane of the PCB, e.g. on the plane of intersecting rigid PCB1320. This structure is further detailed inFIG. 84, wherein the rigid-flex PCB forms the layers of the toroid surrounding magnetic core1316. To prevent shorts between the conductive layers and the iron magnetic core, magnetic core1316may be insulated from metal layers1311,1301,1302, and1312by an insulator1315.FIG. 85is a cross-sectional view of the structure taken from above through rigid PCB1320and interconnecting flex PCB1321. As illustrated, circular shaped conductor1302surrounds magnetic core1316while connecting to an overlying conductive layer through via1306and also connecting to an underlying conductive layer through via1308.

An exemplary circuit used to drive the PMT, illustrated inFIG. 86, comprises a PMT driver1340; an electromagnet driver1341; an electromagnet power supply1363; and an electromagnet array1350, along with a battery charger1360, a Li-Ion battery1361, and a USB connector connected to battery charger1360. Similar to an intelligent LED pad or a laser wand circuit, PMT driver1340includes a PMT μC1181, a clock1183, a non-volatile memory1184, a volatile memory1185, a communication interface1182and Bluetooth or WiFi radio link1190. Digital pulse outputs of PMT μC1181are gated by logical AND gates1226a,1226b, and optionally others (not shown) to facilitate over-temperature protection1131a. The outputs of the AND gates1226band1226aare then buffered by dual inverter strings1346and1347to drive the digital input of programmable current sinks1342and1343, respectively. Controlled current sinks1342and1343control the magnitude and waveform of electromagnet currents IEM1and IEM2flowing through electromagnets1352and1353in response to their digital inputs from inverters1346and1347and also in response to analog reference currents derived from the outputs of D/A converter1345.

Freewheeling diodes1354and1355are included to prevent high voltage spikes whenever the current sinks1342and1343are rapidly switched off by recirculating inductor current, until either the energy EL=0.5LI2stored in electromagnets1352and1353is consumed or until the current sink once again conducts current. Capacitors1356and1357are used to filter switching noise or optionally to intentionally to form a tank circuit with the inductance represented by the coils with electromagnets1352and1353and oscillate at a resonant frequency of fLC=1/(2πSQRT(LC)). A voltage +VEMfor driving the electromagnets1352and1353is derived from a switching power supply1363, which is shown as a boost converter but may be either a boost converter to step up the voltage or a Buck converter to step it down. Alternatively, since current sinks1343and1343control inductor current anyway the voltage regulator can be eliminated.

Although the operation of a switching power supplies is well known in the art, the circuitry of the boost converter within switching power supply1363is shown inFIG. 86for illustrative purposes. In operation, a PWM controller1365turns on a power MOSFET1366, allowing current in a boost inductor1369to ramp up for a fixed fraction of a switching period, after which power MOSFET1366is switched off. Interrupting conduction in the MOSFET1366instantly causes the voltage at the drain terminal of power MOSFET1366to fly up, forward biasing a Schottky diode1367and charging a capacitor1368to a voltage +VEM. A voltage feedback signal from the capacitor1368is then “fed back” to the PWM controller1365allowing the PWM controller1365to determine if the voltage at capacitor1368is below or above a target voltage.

If the voltage at capacitor1368is below target, the width (on-time) of the pulses generated by PWM controller1365is increased to be a larger percentage D=ton/(ton+toff)=(ton/TPWM) of the next clock period TPWM, i.e. the duty factor D increases, allowing the average current in the inductor1369to increase and driving the output voltage +VEMhigher. If, on the other hand, the voltage at capacitor1368is too high, the duty factor D, i.e. the on-time for MOSFET1366will be reduced, allowing the current in inductor1369to gradually decrease over several switching cycles and thereby allow the output voltage +VEMto decline. By continuously adjusting the pulse width and consequent duty factor D (the on-time of power MOSFET1366) the output voltage +VEMis regulated to a constant value by virtue of voltage feedback. The regulation process of switching power supply1363,r operating at a switch frequency and period TPWM, is therefore referred to a PWM, meaning pulse width modulation. The role of output capacitor1368is to filter the output voltage +VEM, while input capacitor1364is used to prevent back injection of noise into the power source and to stabilize the power network. As shown, the output voltage+VEMof the switching converter and regulator is higher than its input, i.e. +VEM>Vbat, so the converter within switching power supply1363is referred to as a boost converter. If however, the desired output voltage +VEMis lower than the battery voltage, i.e., +VEM<Vbat, then a step-down or Buck converter is required. Topologically, realizing a Buck converter requires only a minor modification to the circuit shown for switching power supply1363inFIG. 86by rearranging the same components by rotating the three components attached to the common node between inductor1369and power MOSFET1366to the right, i.e. replacing Schottky diode1367with inductor1369, replacing power MOSFET1366with Schottky diode1367, and replacing inductor1369with power MOSFET1366.

Alternatively, instead of employing planar magnetics to realize the electromagnet, a pre-assembled or discrete electromagnet module may be employed. As shown inFIG. 87, a discrete surface mount electromagnet1351, including a magnetic core1376and a wire wound coil1375, is attached as a surface mounted component to the rigid portion of a rigid-flex PCB by soldering metal feet1359aand1359bto two separate and electrically isolated conductive segments1311aand1311bof the metal1311. As illustrated isolated conductive segment1311ais connected to bottom conductive layer1312through patterned vias1309a,1306a, and1310a. Metal foot1359ais thus connected to metal layer1312while metal foot1359bis connected to conductive segment1311b. In this manner a separate discrete electromagnet can be positioned atop each rigid PCB to form an array such as shown in the cross section ofFIG. 88A, wherein a discrete electromagnet1351ais mounted to a rigid PCB1348a, which in connected to a rigid PCB1348bthrough a flex PCB portion1349a; a discrete electromagnet1351bis mounted to rigid PCB1348b, which is connected to a rigid PCB1348cthrough a flex PCB portion1349b; and a discrete electromagnet1351cis mounted to a rigid PCB1348c, which is connected to other rigid PCBs (not shown) through a flex PCB portion1349c.

In such a design every magnet1351a,1351b,1351c, etc. in the array is an electromagnet and can be electronically controlled to vary its magnet field in accordance with the PMT circuit shown inFIG. 86in response to drive signals generated by the PMT driver1340. Such drive signals may produce continuous, pulsed or sinusoidal variations in the magnetic field of all the electromagnets in the array or alternatively may involve driving the electromagnets individually and in some sequence to form a special pattern or magnet wave across the PMT pad, e.g. generating an undulating magnet field wave row by row across the pad or along the length of a series of pads. In other cases some electromagnets may be biased on to produce a constant magnetic field while others are modulated to produce a time varying magnetic field.

In an alternative embodiment, some electromagnets may be replaced by permanent magnets to combine a mix of constant and time varying magnetic fields. For example inFIG. 88B, electromagnet1351b(shown inFIG. 88A) is replaced by a permanent magnet1370aattached to rigid PCB1348bwhile electromagnets1351aand1351cremain unchanged. InFIG. 88C, rigid PCB1348bdrives a stack including an electromagnet1351dand an underlying permanent magnet1370bor alternatively inFIG. 88D, rigid PCB1348bdrives a stack including an electromagnet1351eand an overlying permanent magnet1370c. In such cases operation of the electromagnet enhances (or alternatively reduces the magnetic field produced by the stacked permanent magnet.

The PMT apparatus can also be adapted for use as a handheld magnetotherapy device or wand1450as shown inFIG. 89. Wand1450comprises a cylindrical handle1458with a UX display1460, pushbuttons1461bto control operation and program selection, an on/off button1461a, a battery1643, and a USB connector1462. Cylindrical handle1458connects to a magnetic head unit1453through a movable gimbal1452. Magnetic head unit1453includes an electromagnet1455comprising a ferrite core1457and a coil1556mounted onto a PCB1454along with control circuitry. If operated as part of a distributed system, the communication link of handheld magnetotherapy wand1450to a PBT controller may be performed through USB, WiFi, or possibly Bluetooth. If operated as an autonomous device, USB connector1462is used to program the magnetotherapy wand1450during manufacturing by connecting it to a PBT controller.

Periodontal PBT LED Mouthpiece—Although PBT can be performed through the cheeks to treat gum disease, another option is to inject light directly into the patient's mouth using lasers or LEDs in the near-infrared, infrared, and blue spectrum. Such as device must be small and must comfortably fit into the patient's mouth. As an autonomous therapy device, the device must use a lightweight software client capable of executing only a few pre-programmed algorithms. Alternatively, the device may employ data streaming from a user control module using a wired connection, Bluetooth, or low power WiFi 802.11ah. The user control module communicates with a PBT controller in the same manner as the controller of an intelligent LED pad except that its output does not drive LEDs within a pad but instead is streamed to the LED mouthpiece as a passive electrical signal so that no processing is performed within the mouthpiece.

An example of such a periodontal PBT apparatus is shown in the three-dimensional perspective drawing ofFIG. 90. The apparatus comprises a molded mouthpiece1500, including a horseshoe shaped portion1503for covering the teeth and gums, LEDs1504and1505for emitting two different wavelengths of light lining the horseshoe shaped portion1503(where locations1506identify the locations of LEDs not visible in the 3D perspective drawing), an electrical cable1501and a control unit1502including a connector for power or optionally for bus communication.FIG. 90also contains a cross-sectional view of the portion1503showing a U-shaped assembly surrounding a tooth1510, comprising a rigid-flex PCB assembly with a flex PCB1514, a rigid PCB1515, and LEDs1513. The mouthpiece1500is designed to position the LEDs1513near the gums1512adjacent to tooth1511. The LEDs1513may comprise red, infrared, blue or purple LEDs to combat inflammation and periodontal disease. The U-shaped assembly shown in the cross-sectional view is contained within a thin silicone mouthpiece (not shown) that is molded around the rigid-flex PCB.

FIG. 91shows two stages in the manufacture of the U-shaped assembly in mouthpiece1500, designed for covering and treating a single jaw (either the upper or lower jaw but not both). As shown inFIG. 90, the U-shaped assembly comprises rigid PCB1515, which serves as a base, and flex PCB1514, which form “wings” on both sides of rigid PCB1515. As shown, immediately after surface mount technology (SMT) manufacturing, LEDs1513aare mounted on flex PCB1514and optionally an LED1513zis mounted on rigid PCB1515. During SMT assembly, the rigid-flex PCB comprising rigid PCB1515and flex PCB1514is situated so as to accommodate a high-volume automated assembly process, requiring component pick and place and uniform solder temperature profiles during reflow. It is important for the rigid-flex PCB to held firmly flat during the SMT assembly. Although the rigid and flex portions of the rigid-flex PCB are secured in the same plane during pick and place, the rigid-flex PCB need not be linear but instead can be laid-out in a horse-shoe shaped design, so that no unnecessary flexing of the flex PCB1514occurs or adds stress that may later cause breαIrefge. After surface mount assembly, the wings formed by flex PCB1514are bent perpendicular to the base, rigid PCB1515, forming a U-shape, and then molded into a transparent silicone mouthpiece1516covering the rigid-flex PCB.

The same process can be adapted into manufacturing a H-shaped mouthpiece useful in using PBT to treat both upper and lower jaws concurrently. The method shown inFIG. 92Autilizes the same manufacturing process as described for the aforementioned U-shaped mouthpiece except that after PCB assembly, two separate pieces are electrically and physically bonded to produce the H-shaped mouthpiece. As shown, two rigid-flex PCBs, one comprising a rigid PCB1515a, a flex PCB1514a, LEDs1513a, and optional LEDs1513z, and a second one comprising a rigid PCB1515b, a flex PCB1514b, LEDs1513b, and optional LEDs1513y, are bonded together. In the bonding process rigid PCBs1515aand1515bare soldered together to electrically and mechanically form a single multilayer PCB1517, as shown inFIG. 92B. As such, the mouthpiece can treat both the upper and lower gums simultaneously.

The bonding of the rigid PCBs1515aand1515bis shown inFIG. 93. Conductive surfaces1518band1518datop rigid PCB1515bare soldered to corresponding conductive surfaces1518aand1518cbeneath rigid PCB1515ato establish electrical connectivity between the top and bottom PCBs and to provide mechanical support and rigidity to the mouthpiece. Optionally through-hole vias1519aand1519bfilled with silver solder paste can be melted to form a continuous through-hole via extending through both top rigid PCB1515aand bottom rigid PCB1515b.

Voltage supply and control circuitry for the periodontal PBT mouthpiece1523is shown inFIG. 94. Since high voltages are not allowed in a patient's mouth the input voltage +VINshould be stepped down are regulated to a lower voltage +VLEDby low dropout (LDO) linear regulator1520. Filter capacitors1521and1522are included to stabilize the regulator1520and to filter input and output transients respectively. A microcontroller1535, executing programs stored in a volatile memory1536aand a non-volatile memory1536bin accordance with a clock1534and a time reference1531, generates control signals1537aand1537bthat are used to independently drive programmable current sources1524aand1524b.

The control signals1537aand1537bmay be used to digitally strobe the LEDs1504a-1504dand1505a-1505don and off, or alternatively to program the conducted current or synthesize a periodic waveform such as a sine wave. Current from current source1524ais mirrored by NPN bipolar transistor1525ato control the current in NPN bipolar transistor1526aand therefore the current in LEDs1504aand1504band to control the current in NPN bipolar transistor1526band therefore the current in LEDs1504cand1504d, all in accordance with the program executed by microcontroller1535. Similarly, current from current source1524bis mirrored by NPN bipolar transistor1525bto control the current in NPN bipolar transistor1527band therefore the current in LEDs1505aand1505bto control the current in NPN bipolar transistor and therefore the current in LEDs1505cand1505d, also in accordance with the program executed by microcontroller1535. In this manner LED current can be controlled using a minimal number of components to save space. The voltage supply and control circuitry shown inFIG. 94can be housed in the enclosure for the control unit1502shown inFIG. 90.

Ultrasound Therapy—The distributed PBT system disclosed herein is also applicable of driving piezoelectric transducers to produce ultrasound in the frequency range from range from 100 kHz to 4 MHz. The dominant therapeutic action mechanism for ultrasound therapy is vibrational, effective for breaking up scar tissue and causing heating with good depth penetration. Driving algorithms can be similar to those used in sinusoidal drive of LEDs disclosed herein including both digital (pulsed) and sinusoidal drive. The disclosed distributed ultrasound therapy system is capable of performing ultrasonic therapy independently or in combination with PBT. Using the disclosed system, ultrasound transducers can also be combined with LED arrays to break up scar tissue using ultrasound, and to carry it away using PBT accelerated phagocytosis.

One implementation of a combined ultrasound PBT therapy system or USPBT pad is shown inFIG. 95. A microcontroller1557executes programs stored in a volatile memory1558aand a non-volatile memory1558bin accordance with a clock1556and a time reference1553. Signals from the microcontroller1557are used to independently drive an H-bridge comprising low-side N-channel MOSFETs1563aand1563band high-side P-channel MOSFETs1564aand1564b, which in turn drive a piezoelectric ultrasound transducer1562. The H-bridge is powered by a regulated supply voltage +VPZ, generated by a DC/DC converter1550with an input capacitor1551, an output capacitor1552, and optionally an inductor (not shown).

High side MOSFETs1564aand1564bare driven by level shifting driver-circuits1566aand1566b, respectively. Similarly, low-side MOSFETs1563aand1563bare driven by low side buffers1565aand1565b, respectively. In operation, the half-bridge formed by low-side N-channel MOSFET1563aand high-side P-channel1564ais driven out of phase with the half-bridge formed by low-side N-channel MOSFET1563band high-side P-channel1564b. Whenever high-side P-channel MOSFET1564ais on and conducting, then low-side N-channel1563ais off and Vx=+VPZ. Concurrently, high-side P-channel MOSFET1564bis off and low-side N-channel MOSFET1563bis on and conducting whereby Vy=0, causing current to flow through the piezoelectric transducer1562from Vxto Vy. In the next half cycle, current flow through the piezoelectric transducer1562reverses from Vyto Vx. In operation, the two half-bridges are driven out of phase by an inverter1567in response to the output of pad μC1557. The output of the half-bridge is bidirectional, having an absolute magnitude ±VPZ. The output of pad μC1557is also used to drive an LED array1561through an LED driver1560, which is similar to the LED driver335shown inFIGS. 17 and 18.

In an alternative embodiment shown inFIG. 96, a programmable array of current sinks replaces the half bridge in driving multiple piezoelectric transducers. As shown pad μC1557outputs a digital magnitude to a D/A converter1573used to control the current conducted by current sinks1575and1576through corresponding piezoelectric transducers1562aand1562brespectively. The piezoelectric currents IPZ1and PZ2are digitally pulsed by inverters1571and1572to control the generated ultrasound frequency.

A pad for the combined application of ultrasonic and photobiomodulation therapy (referred to herein as USPBT) is shown inFIG. 97, the USPBT pad comprising an intelligent LED pad shown with top view1581, underside view1584, and side-view, including a single USB socket1598. The cross-sectional view1580shows a rigid PCB1588; a flex PCB1589, LEDs1591, a sensor1590and piezoelectric transducers1592aand1592b. A top flexible LED polymeric pad cover1581includes a protrusion1583and a cavity1596. A bottom flexible polymeric cover1584includes openings1595and a protrusion1583. A protective clear plastic1587covers the openings1595.

Optionally, LEDs for PBT can be driven in combination with the ultrasonic piezoelectric emitters, either concurrently or alternating in time. The combined application of ultrasonic and photobiomodulation therapy is useful in breaking up scar tissue using ultrasound and using PBT to accelerate removal of the dead cells.

Infrasound Therapy—Infrasound therapy is analogous to tissue massage except that it occurs at very low frequencies below the audio spectrum, typically from 20-Hz down to 1-Hz or lower. The actuator for creating low frequencies must be relatively large, e.g. 10 cm in diameter and therefore is well suited for inclusion in wand similar to that shown inFIG. 89except that the electromagnet1455is replaced by a voice coil driver similar to a speaker except that the movable portion attaches to a plunger or membrane that pushes on the treated tissue at very lower frequencies. The disclosed PBT system is therefore directly compatible to support ultrasound peripherals. Infrasound provides deep massage to tissue and low frequencies useful for improving range of motion and muscle elasticity. Optionally, LEDs for PBT can be driven in combination with the infrasound voice coil actuator, either concurrently or alternating in time.

PBT LED Buds for Nose/Ears—Although PBT can be performed transcranially, another option is to inject light directly into the nose or ears using lasers or LEDs in the near, infrared, and blue spectrum. Such as device is small. As an autonomous therapy device, the device must use a lightweight software client capable of executing only a few pre-programmed algorithms. Alternatively, the device may employ data streaming from a user control module using a wired connection, Bluetooth, or low power WiFi 802.11ah. The user control module communicates with the PBT controller and operates in the same manner as the controller of an intelligent LED pad except that its output does not drive LEDs within a pad but instead is streamed to the LED buds as a passive electrical signal so that no processing is performed within the buds. The disclosed PBT system is therefore directly compatible to support PBT LED buds for nose and ear treatments. Another benefit of intranasal and intra-aural (i.e. in the ear) PBT is its ability to kill pathogens and bacteria infecting the sinus cavities.

PBT LED Spots for Acupuncture—Another small sized LED source is a small LED or laser “spot”, a coin sized pad attached to the body over acupuncture points. Such as device is small and has no room for battery power. The device may employ data streaming from a user control module using a wired connection, Bluetooth, or low power WiFi 802.11ah. The user control module communicates with the PBT controller and operates in the same manner as the controller of an intelligent LED pad except that its output does not drive LEDs within a pad but instead is streamed to the LED/laser spots as a passive electrical signal so that no processing is performed within the spots. The disclosed PBT system is therefore directly compatible to support PBT LED buds for acupuncture LED spots.

Bluetooth Headphones—Although not medically therapeutic, in relaxation applications music may be broadcast to headphones over Bluetooth synchronized to PBT treatment waveforms. Given the waveform synthesis capability of the disclosed PBT system, it is capable to support synchronized music and PBT treatments.