Analog computing system and method of performing analog computing

EP4747714A1Pending Publication Date: 2026-05-27LUMAI LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
LUMAI LTD
Filing Date
2024-07-18
Publication Date
2026-05-27

AI Technical Summary

Technical Problem

Current analog computing systems face challenges in achieving high performance at low cost, particularly due to the need for digital-to-analog converters (DACs) which increase system complexity and cost.

Method used

The proposed analog computing system eliminates the need for DACs by using an analog computing core that generates output data streams with encoding waveforms that decay over time, allowing for digital data input and output without the requirement for DACs.

Benefits of technology

This approach enables fast, cheap, and scalable analog computing by simplifying the system architecture and reducing the need for high-resolution optical sources and external modulators.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure GB2024051866_23012025_PF_FP_ABST
    Figure GB2024051866_23012025_PF_FP_ABST
Patent Text Reader

Abstract

The disclosure provides systems and methods for performing analog computing. In one arrangement, an input data stream comprises a plurality of input data units. An analog computational operation is performed on the input data stream to generate an output data stream comprising output data units. Each output data unit comprises a sequence of computed values corresponding to a sequence of symbols of an input data unit corresponding to the output data unit. An output value corresponding to each output data unit is generated by applying encoding functions to the computed values to generate respective encoding waveforms that decay. The output value is generated by sampling a combination of the encoding waveforms at a sampling time. Positions of the encoding waveforms in the sequence represent significances of the symbols of the corresponding input data unit.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] ANALOG COMPUTING SYSTEM AND METHOD OF PERFORMING ANALOG COMPUTING

[0002] The present disclosure relates to analog computing systems and methods, particularly but not exclusively analog computing systems and methods that are configured to operate and perform computations optically, for example to perform linear computational operations optically.

[0003] State-of-the-art artificial intelligence (Al) architectures such as large-scale machine learning (ML), deep learning (DL) and generative pre-trained transformer (GPT) models contain billions of trainable parameters, enabling their complex functionality.

[0004] At the time of writing, Al, ML, and DL models play important roles in various sections of society, from medical diagnosis and drug discovery to the handling of financial projections, personalised e-commerce and autonomous transport. Undoubtedly, the importance and scale of their roles will increase rapidly in the coming decade. Many existing learning models rely on the processing and evaluation of large matrix operations for both training (parameter optimization) and inference (application in the field). Standard central processing units (CPUs) on electronic computers are unsuited to certain types of arithmetic operations, particularly those involving large matrix sizes. As an example, matrix inversion is a multi-step process that involves multiplication with each matrix element and memory manipulation to rotate the matrix. This is costly in terms of time, and hardware resources. The multip ly-and-accumulate process used in many algorithms may iterate over the same data several hundreds of times thereby increasing the time complexity of operations (O(n)). This is costly both in terms of read-modify-write operations as well as multiply-and-accumulate logic usage. As matrix dimensions exceed CPU cache size, data is passed out to much slower bulk memory components which further limits computation speed. Graphical and tensor processing units (GPUs and TPUs) are the current state-of-the-art technologies supporting the Al revolution, with designs bespoke for highly parallelised handling of large matrix operations. Massively parallel processing is extremely desirable to decrease the training times of large-scale Al networks, such as the latest transformer models which contain several billions of parameters. However, with increasing reliance on Al in society, computational hardware must continue evolving to provide even greater computing speed, capacity and parallelisation, at reduced strain on monetary and energy resources.

[0005] Analog optical processing offers an alternative technological approach to the computation and transfer of information, with data encoded in optical rather than electronic signals. Optical signals have the intrinsic benefits of low latency and low transmission losses, and can be naturally combined and segmented via simple optical components such as lenses, mirrors and beamsplitters. Optical computation can also exploit added degrees of freedom such as photon wavelength and polarisation, and can unlock higher bandwidth data transmission. The complexity and dimensionality of first-generation fully optical neural networks (which are currently emerging) will not compete with the multi-billion- parameter learning models that exist in silica; however, optical processing can already be utilised to significantly accelerate existing Al models. Arrays of free-space optical and photonic components have been developed to carry out both linear and nonlinear transformations on optical data at high speeds and promise to further reduce energy consumption per computation.

[0006] The speed and efficiency metrics of optical processors hinge on optimisation of their constituent components, which normally comprise an optical source (diode laser, LED), intensity and / or phase modulators (electro-optic / absorption, thermo-optical, liquid crystal), signal processors (trans-impedence amplifiers, digital-to-analog / analog-to-digital converters (DAC / ADC)), and photodetectors. Optical analog signals are generally sourced from incoming digital data, given that modern electronics platforms are primarily digital. Data relaying could be handled by a digital-to-analog converter (DAC) coupled with an optical source capable of (e.g., 8-bit) analog intensity modulation; however, this is a slow and expensive combination. DACs that combine GHz modulation with high bit resolution are a bottleneck for system costs. More importantly, the limitation on the chosen optical source is a significant drawback of this approach given that very few are designed for highspeed analog modulation. Even applying external modulation to a continuous optical source is both challenging and monetarily expensive with current off-the-shelf components. GHz modulators based on the electro-optic effect retain a high price point (£1-1 Ok GBP), while cheaper alternatives such as electro-absorption modulators and acousto-optic modulators cannot reach such high bandwidths. Moreover, the most affordable of these components are still challenging to deploy in number, limiting system scalability. Photonic integrated modulators have reduced spatial footprint and promise future scalability but their mainstream availability remains restricted.

[0007] To realise the potential of optical computing, a cheap, low-power, scalable approach is required for analog processing.

[0008] Moazeni, S. et al. A 40-Gb / s PAM -4 Transmitter Based on a Ring -Resonator Optical DAC in 45-nm SOI CMOS. IEEE J. Solid-State Circuits 52, 3503-3516 (2017) discloses an optical digital-to-analog (ODAC) converter that has been developed based on a segmented silicon photonic micro-ring resonator, which directly encodes information from binary electronic signals into an incident optical signal. A high / low voltage level is applied to 16 p-n junctions surrounding segments of the micro-ring, offering 4-bit intensity resolution. Inherently this design requires the spatial separation of the incoming binary datastream to neighbouring segments. Moreover, the physical size of the micro-ring and its design rules limit the encoded bit depth achievable.

[0009] Sobu, Y., Tanaka, S., Tanaka, Y., Akiyama, Y. & Hoshida, T. High-Speed- Operation of Compact All-Silicon Segmented Mach-Zehnder Modulator Integrated with Passive RC Equalizer for Optical DAC Transmitter in 2020 Optical Fiber Communications Conference and Exhibition (OFC) 1-3 (2020) discloses another ODAC using a binary driven segmented modulator architecture demonstrated on a silicon platform using the Mach-Zender modulator (MZM) architecture.

[0010] Silicon-based optical modulators are a promising solution for integrated photonic processors despite the remaining challenges and scale limitations of photonic platforms. Alternative modulator platforms are also increasing in relevance - including lithium niobate-on-insulator, barium titanate and indium phosphide - although accessibility of fabrication facilities is comparatively problematic.

[0011] Temporally-encoded ODACs converting binary serial data to analog signals have been demonstrated recently, but crucially these require wavelength multiplexed inputs which are intensity weighted prior to signal encoding by a high-speed modulator. Amplitude modulated optical signals are also the focus of researchers for improving data transmission systems. Generation of a 6-bit optical signal (64QAM) has been demonstrated with a data transfer rate of 112.8Gb / s, using a single modulator driven by multiple 8-level electrical signals and acting on 8 separate wavelength multiplexed channels. In this scheme, the generation of the 8-level electrical signals actually employs 3 individual laser diodes and photodiodes, which is incompatible with reducing system cost, size and complexity. A similar DAC-free optical transmitter replaces these optical binary transmitters with electronic resistive components which are simpler but subject to parasitic energy losses.

[0012] Digital signal transmission involves encoding analog information into discrete digital signals for efficient and reliable communication over various mediums. Digital optical signals can be driven directly from digital electronic circuitry, eliminating the need for power-intensive digital-to-analog or analog-to-digital conversion (DAC or ADC). These digital signals can be modulated most simply using the on-off keying (OOK) technique which involves the amplitude of the carrier signal being switched between two predefined levels to represent binary data. Alternative modulation techniques like Pulse Amplitude Modulation (PAM), Pulse Width Modulation (PWM), or Phase Shift Keying (PSK) can be used to transmit optical signals while optimising some aspects of the process. At the receiving end, demodulation and DACs / ADCs may be employed to construct analog signals from the received digital data.

[0013] PAM is commonly used to enable higher data rates within the same bandwidth compared to traditional binary OOK. PAM-4 comprises the amplitude of the carrier signal being switched between four pre-defined levels, such that each PAM -4 symbol represents 2 -bit encoding. In general, PAM-N schemes enable data rates to increase by a factor M, where M = Log2(N) and N is an integer. PAM is a commonly used technique in high-speed communications, where maximising data throughput is desired.

[0014] PWM is a special example of pulse density modulation (PDM) and is used to encode analog information into a digital signal by varying the width of pulses while keeping the data rate or pulse frequency constant. In PWM, the amplitude of the digital signal remains constant. The bit-depth of PWM is dependent on the number of discrete pulse widths that can be formed and therefore can be limited by clock speed at high frequencies.

[0015] It is an object of the invention to provide an analog computing system having high performance and that can be implemented at low cost. According to an aspect of the invention, there is provided an analog computing system, comprising: an analog computing core configured to: receive an input data stream comprising a plurality of input data units, each input data unit comprising a sequence of m symbols, where m is an integer, and process the input data stream by performing an analog computational operation on symbols of the input data stream to generate an output data stream, the output data stream comprising a plurality of output data units corresponding to the plurality of input data units, each output data unit comprising a sequence of computed values corresponding to the sequence of m symbols of the input data unit corresponding to the output data unit, each computed value being generated by performing the analog computational operation on a respective symbol of the input data unit corresponding to the output data unit; and a receiver system configured to: receive the output data stream; generate an output value corresponding to each output data unit by: applying encoding functions to the sequence of computed values of the output data unit to generate a respective sequence of encoding waveforms, each encoding waveform decaying as a function of time; and generating the output value by sampling a combination of the encoding waveforms at a sampling time, wherein: the analog computing core is configured to generate the output data stream such that the encoding waveforms begin at respective times prior to the sampling time with the position of each encoding waveform in the sequence of encoding waveforms representing the significance of a respective symbol of the corresponding input data unit, encoding waveforms corresponding to lower significance symbols being earlier in the sequence than encoding waveforms corresponding to higher significance symbols.

[0016] There are various advantages associated with performing analog rather than digital calculations, particularly where the analog calculations are performed optically. However, it is still necessary to get digital data in and out of the analog computing core. The generation of the encoding waveforms that decay as a function of time allows this functionality to be achieved without requiring DACs (even where PAM modulation is used because it has been shown to be possible to drive PAM modulation without a DAC), which can increase system complexity and / or cost, as described above. This is particularly the case where parallel calculations are needed, where a separate DAC might otherwise be needed for each channel. Analog computing systems according to the present disclosure can thus provide fast, cheap and / or scalable analog computing. The approach of the present disclosure is also simpler than alternative techniques for avoiding or reducing the need for DACs, which may for example require splitting of an optical signal into different wavelengths and modulating of the different wavelengths to encode information. Analog computing systems of the present disclosure can be implemented without high-resolution optical sources, external modulators, wavelength multiplexing, and / or photonic integration.

[0017] In an embodiment, the receiver system comprises a low-pass filter configured to apply the encoding functions. A low-pass filter can be implemented particularly efficiently and using cheap and / or readily available components.

[0018] In an embodiment, the receiver system comprises an RC circuit configured to apply the encoding functions, the RC circuit optionally being connected to an operational amplifier to provide an active low pass filter. An RC circuit can be implemented using cheap components and can be easily tuned to provide suitable filter characteristics (e.g., time constant T). Use of an operational amplifier can improve signal-to-noise and performance and may also be present in electronics provided in the overall system for other purposes, such as for analog-to-digital conversion (ADC), such as built into an ADC preamplification stage, thereby requiring little to no extra parts to implement.

[0019] In an embodiment, the receiver system comprises an optical resonator configured to apply the encoding functions, the optical resonator optionally configured to have a temporal impulse response that generates an exponentially decaying encoding waveform that encodes the bit depth over time. Optical resonators operate in the optical domain, which may provide intrinsic advantages relative to alternative digital approaches, such as lower noise. Also, the optical output from the optical resonators is of lower bandwidth than the optical input, so demands on the receiving photodiodes are lower in comparison to when the encoding functions and sampling are applied to the output from photodiodes.

[0020] In an embodiment, the receiver system comprises an optically excitable system configured to generate an encoding waveform, optionally an exponentially decaying encoding waveform, based on a rate of decay of photoexcited electrons from a higher energy level in the optically excitable system to a lower energy level in the optically excitable system. Implementations of this type also operate in the optical domain and can achieve similar advantages to the optical resonator in this respect, while typically being easier to manufacture than an optical resonator. The characteristics of the optical excitation system will be determined by choice of materials and / or doping characteristics, rather than precise manufacturing of structures. Also, the exponential decay may be more exact in form than can be achieved easily using an optical resonator.

[0021] According to an aspect of the invention, there is provided a method of performing analog computing, comprising: receiving an input data stream comprising a plurality of input data units, each input data unit comprising a sequence of m symbols, where m is an integer, and processing the input data stream by performing an analog computational operation on symbols of the input data stream to generate an output data stream, the output data stream comprising a plurality of output data units corresponding to the plurality of input data units, each output data unit comprising a sequence of computed values corresponding to the sequence of m symbols of the input data unit corresponding to the output data unit, each computed value being generated by performing the analog computational operation on a respective symbol of the input data unit corresponding to the output data unit; and generating an output value corresponding to each output data unit by: applying encoding functions to the sequence of computed values of the output data unit to generate a respective sequence of encoding waveforms, each encoding waveform decaying as a function of time; and generating the output value by sampling a combination of the encoding waveforms at a sampling time, wherein: the output data stream is such that the encoding waveforms begin at respective times prior to the sampling time with the position of each encoding waveform in the sequence of encoding waveforms representing the significance of a respective symbol of the corresponding input data unit, encoding waveforms corresponding to lower significance symbols being earlier in the sequence than encoding waveforms corresponding to higher significance symbols.

[0022] Embodiments of the disclosure will be further described by way of example only with reference to the accompanying drawings.

[0023] Figure 1(a) depicts an example architecture for a single-channel analog computing system.

[0024] Figure 1(b) depicts an example architecture for a multi-channel analog computing system.

[0025] Figure 2 depicts a portion of an example digital signal to be processed by the analog computing system.

[0026] Figure 3 depicts example n-bit representations of values of samples of the digital signal of Figure 2.

[0027] Figure 4 depicts the values of Figure 3 in a serialized bitstream.

[0028] Figure 5 depicts example input processing for an analog computing core of a multichannel implementation of an analog computing system.

[0029] Figure 6 depicts example output processing for the analog computing core of Figure 5.

[0030] Figure 7 depicts an example of the result of applying an exponential bit-encoding function to an example computed value for encoding bit depths over time.

[0031] Figure 8 depicts how contributions to a combined signal derived from overlapping bit-encoding waveforms evolves over time.

[0032] Figure 9 depicts a sequence of bit-encoding waveforms in two example output data units and generation of respective output values by sampling at respective sampling times.

[0033] Figure 10 depicts an example RC circuit (upper figure) and corresponding impulse responses (lower figure).

[0034] Figure 11 depicts an example RC circuit connected to an op-amp (upper figure) and corresponding impulse response (lower figure).

[0035] Figure 12 depicts an example of an optical resonator in the form of a Fabry-Perot cavity.

[0036] Figure 13 depicts an example of an optical resonator in the form of a micro-ring resonator.

[0037] Figure 14(a) depicts photoexcitation of a two-level optically excitable system.

[0038] Figure 14(b) depicts exponential decay of electron density of photoexcited electrons from a conduction band to a valence band in an optically excitable system.

[0039] Figure 15 depicts an example optical matrix -vector-multiplication (MVM) system configured to use the analog computing system of the present disclosure.

[0040] Figure 16 shows top and side views of selected elements of the MVM system of Figure 15.

[0041] Figure 17 is a flow chart depicting a framework of a method of performing analog computing. Figure 18 is a graph of intensity (vertical axis) against time step (horizontal axis) depicting PAM-2, PAM-4 and PAM-8 representations of an example 12-bit data stream.

[0042] Figures 19 and 20 are graphs showing how an example PAM -4 representation of an 8-bit integer (Figure 19) can be processed by encoding functions to recover an analog data signal (Figure 20).

[0043] Figure 21 shows examples of an 8-bit integer value represented with PWM-2, with two possible pulse widths, one of which is zero, and PWM-4, with 4 possible pulse widths. Embodiments of the present disclosure described below provide low-cost analog computing functionality without using DACs.

[0044] Figures 1(a) and 1(b) depict example single- and multi-channel architectures for an analog computing system 2 according to the disclosure. The examples represent values in binary form, such that each symbol represents only a single bit of data, but this is not essential; the approach can also be used where values are represented by symbols that each encode more than one bit of data. The system 2 comprises a transmitter system 4, an analog computing core 6, and a receiver system 8. For the single-channel example, the system 2 is configured to receive a digital input signal consisting of one channel of n-bit data, process the data, and generate a digital output signal consisting of one channel of n- bit data. For the multi-channel example, the system 2 is configured to receive a digital input signal consisting of P channels of n-bit data, process the data, and generate a digital output signal consisting of Q channels of n-bit data.

[0045] Figure 2 depicts a portion of an example digital input signal 5 to be processed by the system 2. The digital input signal 5 may be an m-symbol digital input signal, where m is an integer, optionally greater than 1. As depicted in Figure 3, the digital input signal 5 can be represented by a set of samples sy, s2, ... etc. representing values (vertical axis) of the digital input signal 5 at respective time points (horizontal axis). The transmitter system 4 may be configured to receive such a digital input signal 5 and generate an input data stream (which may be referred to as an input bitstream 10 in cases where each symbol represents a single bit) to be input to the analog computing core 6. The transmitter system 4 may for example represent the values in binary form and serialize the data to provide an input bitstream 10 in the form shown in Figure 4. The input data stream (e.g., input bitstream 10) may thus comprise a plurality of input data units 12. Each input data unit 12 comprises a sequence of m symbols. If the input data unit 12 is an n-bit data unit 12, m = n when the input data stream is an input bitstream and m < n otherwise. Each input data unit 12 corresponds to a respective one of the values of the samples sy, s2, ... etc. In the case of a bitstream, each symbol (i.e., bit) can have one of two possible values (e.g., 0 or 1 in the example shown). A value x of each sample may, for example, be represented as x = k=1 / c / 2kwhere xkrepresents the sequence of n bits of the input data unit. In other examples, each symbol may represent plural bits. Thus, the transmitter may be configured to generate the input data stream by multi -bit symbol encoding, optionally by pulse amplitude modulation, pulse width modulation or pulse density modulation.

[0046] The transmitter system 4 may comprise a transmitter (e.g., binary transmitter) configured to generate the input data stream (e.g., input bitstream) from a received digital input signal 5 and transmit the input data stream to the analog computing core 6. The transmitter can be optical or electronic, depending on the nature of the analog computing core 6. Suitable optical transmitters may include LEDs and laser diodes that may be directly modulated by a binary digital signal, or externally modulated by electro-optical modulators, acoustic-optical modulators, optical-MEMS modulators and so on. Electronic transmitters may operate in either current mode or voltage mode with different standards. Further details of example transmitters (e.g., binary transmitters) are given below in the sections headed “Optical transmitter” and “Electronic transmitter”.

[0047] Figures 5 and 6 depict an example analog computing system and data flow.

[0048] As depicted in Figure 5, a digital input signal 5 is provided that comprises four channels of n-bit data X^\ X^2X^3X^4Three example samples sy, s2, s3are depicted for each channel. The transmitter system 4 represents the values using symbols, e.g., in binary form, and serializes the data to provide an input data stream (e.g., input bitstream 10) comprising a sequence of input data units 12.

[0049] The analog computing core 6 is configured to process the input data stream (e.g., input bitstream 10) by performing an analog computational operation on symbols (e.g., bits) of the input data stream (e.g., input bitstream 10) to generate an output data stream 20, as depicted in Figure 6. For example, the analog computing core 6 may perform a linear computation yk= f(Xk). A linear computation may comprise a linear mapping of linear subspaces. The linear computation may be performed at n time steps. The bandwidth of the analog computing core 6 should typically be larger than the incoming data rate to avoid any mixing and crosstalk of neighbouring data pulses. Examples of linear computations which may be carried out using the architecture include Fourier transform, matrix inversion, matrix convolution, differentiation (including the Grad and Laplace operators) and integration. Fourier optics form a fundamental component of diffractive neural networks and Fourier transforms have recently been used to improve transformers for natural language processing. The Fourier transform function can be implemented by introducing diffractive elements within the analog computing core 6. Matrix inversion and convolution can be realised by the addition of digital light processing devices.

[0050] The output data stream 20 comprises a plurality of output data units 22. The plurality of output data units 22 correspond to the plurality of input data units 12 (e.g., there is a one-to-one correspondence between the output data units 22 and the input data units 12). Each output data unit 22 comprises a sequence of computed values corresponding to the sequence of m symbols (e.g., m = n bits in the case of an input bitstream) of the input data unit 12 that corresponds to the output data unit 22. Each computed value is generated by performing the analog computational operation on a respective symbol (e.g., bit) of the input data unit 12 corresponding to the output data unit 22.

[0051] The receiver system 8 is configured to receive the output data stream 20. The receiver system 8 processes the output data stream 20 to generate an output value corresponding to each output data unit 22. In the example shown in Figure 6, the receiver system 8 comprises photodetectors 28. The photodetectors 28 convert light representing the output data stream 20 to an electronic signal. The electronic signal is processed to generate the output values. In the example of Figure 6, the sequence of generated output values provides four channels of n-bit data Y^\ Y^2Y^3Y^4As depicted in Figures 7- 9, each output value is generated by applying encoding functions (which may be referred to as bit-encoding functions in cases where the input data stream is an input bitstream) to the computed values of the output data unit 22 to generate respective encoding waveforms (which may be referred to as bit-encoding waveforms 24 in cases where the input data stream is an input bitstream) and sampling a combination of the encoding functions (e.g., bit-encoding functions) at a sampling time 26. Each encoding waveform (e.g., bit- encoding waveform) decays as a function of time, for example decaying in amplitude from the temporally earliest part of the encoding waveform. Values of the encoding functions at the sampling time 26 may, for example, be summed to provide the corresponding output value.

[0052] Figure 7 depicts an example of the result of applying an encoding function (e.g., bit-encoding function) to an example computed value U . The encoding function (e.g., bitencoding function) may be configured to generate exponentially decaying encoding waveforms (e.g., bit-encoding waveforms 24). Each encoding waveform may decay by a factor of 2Mover a time period equal to a difference in positions of encoding waveforms corresponding to temporally adjacent computed values of an output data unit, where is the number of bits of data encoded in each symbol of the input data unit. In cases where the encoding waveform is a bit-encoding waveform (M = 1), each bit-encoding waveform may decay by a factor of two, for example, for each time step in the output data stream (e.g., each time step being the time difference between temporally adjacent computed values in the output data stream). This is illustrated in Figure 7, where eight time steps 41- 48 are depicted. At time step 41, which is the temporally earliest part of bit-encoding waveform, the bit-encoding waveform has an amplitude equal to the computed value U1and decreases by a factor of two for each subsequent time step 42-48, reaching a lowest value of t / i / 27at time step 48.

[0053] The analog computing core 6 is configured to generate the output data stream in such a way that the encoding waveforms (e.g., bit-encoding waveforms 24) begin (e.g., at time step 41 for the example shown in Figure 7) sequentially at respective times prior to the final sampling time 26. The sequence of computed values may, for example, be provided to the receiver system 8 in a regularly spaced sequence (exemplified by the sequence 51-57 shown in Figure 9). The position of each encoding waveform (e.g., bitencoding waveform) in the sequence represents the significance of a respective symbol (e.g., bit) of the corresponding input data unit 12. Differences in (temporal) positions of encoding waveforms thus represent differences in significance of the corresponding symbols (e.g., bits) of the input data unit 12. Encoding waveforms corresponding to lower significance bits begin at earlier times, and are thus positioned earlier in the sequence than encoding waveforms corresponding to higher significance bits. Figure 9 depicts such a sequence of encoding waveforms for two example pulses (labelled “1stInput Pulse” and “2ndInput Pulse”). Each pulse contains encoding waveforms corresponding to eight computed values U1to U8of one output data unit. The eight computed values U1to U8are derived by performing the analog computational operation on eight respective symbols (e.g., bits) of an input data unit. Computed value U1is derived from the least significant symbol (e.g., bit) and computed value U8is derived from the most significant. As depicted in Figure 9, the offset amount 51 of the encoding waveform corresponding to the computed value U1(representing a separation in time between a beginning of that encoding waveform and the sampling time 26) is the largest. At the sampling time 26, the encoding waveform corresponding to computed value U1has thus decayed more than any other of the encoding waveforms. The offset amount 52 of the encoding waveform corresponding to the computed value U2is smaller than the offset amount 51 to account for the fact that the corresponding symbol (e.g., bit) in the input data unit 12 has higher significance. At the sampling time 26, the encoding waveform corresponding to computed value U2will thus have decayed less than the encoding waveform corresponding to computed value U4. The same principle applies for each of encoding waveforms corresponding to computed values U3to U8where the corresponding encoding waveforms will have decayed progressively less and less at the sampling time 26, with the encoding waveform of U8not having time to decay at all.

[0054] Figure 8 schematically shows how contributions to a combined signal derived from overlapping bit-encoding waveforms evolves over time for one of the pulses. The lightest bars on the graph represent contributions from the bit-encoding waveform corresponding to computed value U1(top row of values beneath the graph). Progressively darker bars represent bit-encoding waveforms corresponding to computed values U2, U3, t / 4,etc. derived from bits having progressively higher significance (progressively lower rows of values beneath the graph). In each column of values underneath the graph it can be seen that the computed values U1to U4contribute in proportion to the significance of the bits from which the computed values are derived. Each bit-encoding waveform decays by a factor of two over a time period equal to a difference in the offset amount for bit-encoding waveforms corresponding to temporally adjacent computed values of an output data unit.

[0055] Each output value generated by the receiver system 8 by the sampling of the combination of the bit-encoding waveforms at the sampling time 26 may be represented as the sum of the vector y = Sk=iy / c / 2k, where the ykare the computed values U2, etc. discussed above. As long as the analog computing function (•) is linear, then due to the additivity and homogeneity properties of linear transform, it is possible to rewrite each output value as y = Sfc=i f (Xk) / ^k= 7(S / c=i fc / 2k). This way, the system 2 completes an analog computation using n-bit digital input data without using any digital-to-analog converter (DAC) in the system 2. The same principles apply when using symbols representing more than one bit, such that an analog computation using m-symbol digital input data, where each symbol represents more than one bit, can also be completed without using any digital-to-analog converter (DAC) in the system 2.

[0056] In the case of multiple input and output channels, output values generated by the receiver system 8 over multiple channels can be written as Y = F(X), where X = (X^, . . . , X^) is N-dimensional n-bit input taking N transmitter channels, Y = (T(1), . . . , Y^M^) is M-dimensional n-bit output taking M receiver channels, and F(-) is a N- dimension to M-dimension linear transform. N and M need not be the same. The methodology works in this case because:

[0057] At the last step, only binary inputs are inside F(-), and n outputs are summed up and weighted exponentially to yield the final result.

[0058] As depicted in Figure 6, the output values Y generated by sampling at the sampling times 26 may be provided as input to analog-to-digital converters (ADCs) 62. The ADCs convert the output values Y to binary bitstreams 64, which may subsequently be converted to n-bit digital output data 66 for output.

[0059] As depicted schematically in Figure 6, in some arrangements the receiver system 8 comprises a low-pass filter 60 configured to apply encoding functions (e.g., bit-encoding functions) of an appropriate form.

[0060] In some arrangements, the low-pass filter 60 is implemented using a resistor- capacitor (RC) circuit, which can be implemented using simple circuit components and is easily configured to have the required properties (e.g., appropriate time constant). An example configuration is shown in Figure 10 (upper figure), with example impulse responses shown in Figure 10 (lower figure). The time constant, T, quantifying the encoding function is given by T = RC, where R is the resistor value and C the capacitor value. In the time domain, the impulse response is exp^—t / RC). Therefore, successive input pulses with equal time separation (dt) will be attenuated such that the pulse train is multiplied by an exponential encoding function (which may be referred to as a decay envelope). In arrangements of the present disclosure that require factor of 2 differences in weighting between adjacent bits, dt can be arranged to satisfy dt = RC In 2, which results in pulses being precisely multiplied with the desired bit weights. For an 8-bit ADC sampling rate of 1 Gigasamples / s (i.e. 8Gb / s), a filter with 50 l and 3.6 pF would be suitable for example. When the receiver system 8 is used in an optical computing system, the photodetectors consisting of photodiodes and Transimpedance Amplifiers (TIAs) will have intrinsic junction and parasitic capacitance; embodiments of the present disclosure can make use of this and only a resistor need be added to obtain the desired RC constant.

[0061] In some arrangements, the RC circuit may be connected to an operational amplifier. For example, the op-amp may be configured as a voltage follower, with the input signal connected to the inverting input and the output connected to the non-inverting input. An example configuration is shown in Figure 11 (upper figure), with an example impulse response shown in Figure 11 (lower figure). Such operational amplifier-based filters may provide similar advantages to the basic RC circuit discussed above, with improved signal- to-noise ratio and / or performance, for minimal extra cost and additional components. The functionality could even be built into an ADC pre-amplification stage, therefore requiring little to no extra parts at all.

[0062] In some arrangements, the receiver system 8 comprises an optical resonator, for example an optical cavity, configured to have a temporal impulse response that generates an exponentially decaying encoding waveform (e.g., bit-encoding waveform). An optical resonator can provide low pass filter characteristics similar to an RC circuit. The characteristic frequency response of the transmission intensity of an optical cavity may be represented by the Airy function. In the limit of the bandwidth being small (requiring a high mirror reflectivity) relative to the free spectral range (requiring a small cavity length), this frequency response approximates a Lorentzian peak about the central frequency. The corresponding temporal response curve (Fourier transform) of the transmitted intensity 7(t) is the exponential encoding function:

[0063] ~c7 7(t) = Ioe 2L where c is the speed of light, T is the round-trip loss, and L is the cavity length. By tuning the parameters T and L, the appropriate time constant can be selected for the desired pulse rate, r. Taking again the example of r = 8 GHz, an optical cavity with T = 0.01 and L = 0.3 mm would be suitable.

[0064] Other suitable optical resonators include micro-ring resonators and micro-disk resonators. These micro resonators are usually fabricated on photonic integrated circuits, and they possess high Q factor with small mode volume.

[0065] Figure 12 depicts an example of the optical resonator in the form of a Fabry-Perot (FP) cavity having two parallel mirrors separated by a distance d. The mirrors have a high reflectivity, typically greater than 99%, and are aligned so that the reflected light from each mirror interferes constructively with the light from the other mirror. The output decays exponentially as shown in the top figure. To obtain a single exponentially decaying ray, the FP cavity has to operate via an ‘on-axis propagation’ method as shown. Figure 13 depicts a further example of the optical resonator in the form of a ring resonator. The ring resonator creates a circular path for light to circulate, leading to enhanced optical interactions and enabling applications in photonics and sensing.

[0066] In some arrangements, the receiver system 8 comprises an optically excitable system configured to generate an exponentially decaying encoding waveform (e.g., bitencoding waveform) based on a rate of decay of photoexcited electrons from a higher energy level in the optical excitation system to a lower energy level in the optically excitable system. An electron within a material can be placed in an excited energy state upon absorption of a photon. The mean time spent by the electron in this excited state is known as the lifetime (T), and is a characteristic of the material - the system lifetime is the time taken for an ensemble excited state population to decrease by a factor e. An incoming pulse of light creates a large excited state population which will decay exponentially with the time constant T, thereby providing a mechanism for implementing an encoding function of the desired form. The absorber atom / molecule can be chosen to have a suitable natural linewidth. Figure 14(a) schematically depicts photoexcitation of a two-level system via a pulse, which results in an electron in a ground state Eobeing promoted to an excited state E if the energy of the pulse matches the energy difference between the excited state and the ground state. The system initially contains excess energy that it needs to release to return to its ground state. The system can release this excess energy by emitting a photon or by transferring the excess energy to another system, such as a phonon or another electron. Figure 14(b) depicts an example situation involving molecules, where electrons may be promoted from the valence band into the conduction band upon photoexcitation. In many cases, the rate of energy decay follows an exponential decay curve as indicated by the curve 80 depicting the time-varying electron density of photoexcited electrons in the conduction band, with the energy decreasing rapidly at first and then levelling off over time.

[0067] Performing optical integration in this way provides various advantages, including the option of coherent operation, the passive nature of the optical components (reduced power consumption and losses of electronics), and reduced strain on photodiode response time.

[0068] Arrangements of the present disclosure may be provided as methods. These methods include any of the methods described above as functionality that an analog computing system can provide. Thus, as depicted in Fig. 17, a method of performing analog computing may be provided.

[0069] The method comprises receiving an input data stream (e.g., input bitstream 10) (step SI). The input data stream (e.g., input bitstream 10) comprises a plurality of input data units 12. Each input data unit 12 comprises a sequence of m symbols, where m is an integer. The input data units 12 may take any of the forms described above, for example with reference to Figure 4.

[0070] The method comprises processing the input data stream (e.g., input bitstream 10) by performing an analog computational operation on symbols (e.g., bits) of the input data stream to generate an output data stream 20 (step S2). The output data stream 20 comprises a plurality of output data units 22 corresponding to the plurality of input data units 12. The output data units 22 may take any of the forms described above, for example with reference to Figure 6. Each output data unit 22 comprises a sequence of computed values corresponding to the sequence of m symbols of the input data unit 12 corresponding to the output data unit 22. Each computed value is generated by performing the analog computational operation on a respective symbol (e.g., bit) of the input data unit 12 corresponding to the output data unit 22.

[0071] The method comprises generating an output value corresponding to each output data unit. The method comprises (step S3) applying encoding functions (e.g., bit-encoding functions) to the computed values of the output data unit 22 to generate respective encoding waveforms (e.g., bit-encoding waveforms 24). Each encoding waveform (e.g., bit-encoding waveform 24) decays as a function of time.

[0072] The output value is generated (step S4) by sampling a combination of the encoding waveforms (e.g., bit-encoding waveforms 24) at a sampling time 26. The output data stream is such that the encoding waveforms (e.g., bit-encoding waveforms 24) begin at respective times (prior to the sampling time 26) that are offset relative to the sampling time 26 by different offset amounts. The position of each encoding waveform in the sequence of encoding waveforms represents the significance of a respective symbol (e.g., bit) of the corresponding input data unit. Thus, the different offset amounts represent differences in significance of the symbols (e.g., bits) of the corresponding input data unit 12. Encoding waveforms corresponding to lower significance bits are earlier in the sequence (i.e., begin at times that are offset by larger offset amounts) than encoding waveforms corresponding to higher significance bits.

[0073] Application Example - Matrix Vector Multiplication (MVM)

[0074] Figures 15 and 16 depict an example of an analog computing core 6 useable as part of an analog computing system according to the present disclosure. In the example shown, the computing core 6 comprises an optical matrix-vector-multiplication (MVM) system. Figure 15 is a perspective view; Figure 16 (upper figure) is a top view (showing selected elements whose functionality can be illustrated best in that view); Figure 16 (bottom figure) is a side view (showing selected elements whose functionality can be illustrated best in that view). The MVM system may use 1” optics, and be configured to perform matrix -vector- multiplication using a digital micromirror device (DMD) in the optical domain. The optical system may be a free-space optical system. The architecture can be adapted to perform a range of analog computing operations that is wider than MVM. One or more of the optical components can be swapped or removed and / or additional elements may be added based on the need of the user. The optical system can also be made more compact or expanded by respectively using shorter or longer focal length lenses. The compactness of the system can be increased by using 1 ” optics and resizing the images (e.g., using beam expanders or imaging optics).

[0075] The optical MVM system may perform optical MVM by employing a series of optical components such as cylindrical lenses and dielectric mirrors coupled with lasers as well as a digital light processing (DLP) device to control the reflectivity of the incident wavefront. Two example types of DLPs include: (1) Liquid crystal on silicon (LCoS) spatial light modulator (SLM), and (2) Digital micromirror device (DMD) based on micro- electromechanical systems (MEMS). Although the LCoS-SLM is widely used in holography and projectors, its low refresh rate and phase flicker limit its application for high speed optical computing. In applications where ultra-fast light field manipulation is desirable, the binary DMD has may be more suitable due to its extremely high refresh rate (10s of kHz), precision, polarisation insensitivity, and high space-bandwidth product expansion capability. Given the binary nature of the DMD, controlled intensity levels can be achieved through a pulse width modulation approach or a percentage of ON / OFF pixels approach. Moreover, DMDs are significantly cheaper.

[0076] The first step in the computing process performed by the optical MVM system shown may be termed “temporal encoding of bits”, where a series of 8-bit pulse trains are encoded in time and subsequently transmitted to a series of emitters - VCSELs or transceivers amongst others - via a programming interface. These are then fed into single-mode fibres, assembled in a laser fibre array 71 as shown on the left-most side of Figure 15. Sequentially, going from left to right, the beam waist at the exit of the fibre array 71 diverges along both the horizontal and vertical directions. The first pair of horizontal cylindrical lenses 72, 74 acts as a 4f-imaging system, whilst the vertical cylindrical lens 73, effective focal length of 2f, placed at the Fourier plane collimates the laser channels giving an extended Gaussian beam along the vertical axis. Each elongated fibre output at the weight matrix plane 75 corresponds to an input vector of light. Thus, n fibre arrays would produce n input vectors.

[0077] The DMD screen, positioned at the weight matrix plane 75, optionally operating in 2 states: on and off, is controlled so as to project a weight matrix. Given the binary nature of the device, the implementation of a gradation in weights (0 - 1) is done as thus described: the gradation would be proportional to the number of pixels switched on in the occupied area of the input vector. For example, let us assume that one single input vector of light (from one single-mode fibre) occupies (m x n) pixels. A full intensity reflection, corresponding to a weight of 1 , is achieved by switching on all (m x n) pixels whilst a zero-intensity reflection, corresponding to a weight of 0, is achieved by switching off all (m x n) pixels. Any values in between 0 and 1 would then be achieved by switching on a portion of the (m x n) pixels. The single input vector can be further broken down into multiple entries (z) - corresponding to a column vector of size (z x 1) - by dividing the (m x n) pixels into ((m / z - p) x n) pixels where p is the off-state pixel-gap size between the inputs to achieve a clear separation between each entry of the input light vector. To maximise the input vector array, p would ideally be 0.

[0078] Once the weight matrix has been applied, the first step of the multiply-and- accumulate operation has been achieved simultaneously for all the columns. The optical beam is then fed through a second series of cylindrical lenses 76-78 in the reverse configuration of the first set of lenses 72-74. The vertical pair of cylindrical lenses 76, 78 performs a 4f-imaging while the horizontal cylindrical lens 77 at the Fourier plane performs the second step of the multiply-and-accumulate operation, i.e. row summation of all the input vectors. A single column vector (z x 1) is thereby provided at the output. This is then fed into a detection system such as an array of photodiodes capable of achieving GHz modulation speeds.

[0079] Variations over time of the input vector defined by the fibre array 71 thus provides input bitstreams to the analog computing core 6 exemplified in Figures 15 and 16. The output vectors 79 are examples of corresponding output data streams from the analog computing core 6 exemplified in Figures 15 and 16, which may be processed by a receiver system 8 according to any arrangement of the present disclosure, thereby implementing an analog computing system without requiring any DACs. The detailed examples above primarily address DAC-free analog data transmission using only the binary modulation scheme, on-off keying (OOK). However, the approach of the present disclosure can be used in conjunction with other signal modulation schemes to perform analog computing. For example, the analog computing core may be configured to receive an input data stream comprising a plurality of input data units, each of which is not limited to being a sequence of individual bits in a bitstream, but may comprise a sequence of symbols that each represent multiple bits. The receiver system should be adapted accordingly to process the output data stream and generate a value according to the output data unit by applying the correct encoding functions.

[0080] As an example, the following describes the use of pulse amplitude modulation (PAM) within the analog computing scheme. In PAM-N digital modulation schemes, M-bit data is encoded on N discrete amplitude levels of the input signal, where M = Log2(N). Figure 18 shows the PAM-2 (binary), PAM -4 and PAM-8 representations of some 12-bit data stream corresponding to the integer value ‘4019’. The higher bit-depth PAM representations allow increased input data rate to the computing system by a factor of M. As before with binary input data, PAM signals can be processed by encoding functions at the receiver to recover analog output data (see Figure 19). Advantageously, multiple signals transmitted on parallel channels with a common PAM format can undergo linear computation, enabling the adoption of any PAM format for the optical computing core concept discussed herein.

[0081] In the discussion above, it is stated that in the PAM -2 format, an n-bit value could be deconstructed into binary components and represented as: where xkcan take values 0 or 1. This can be generalised to PAM-N formats, where an n-bit value can be represented as: where xkis an integer value from 0 to IV — 1. Assuming the optical computing core performs only linear transforms on the input data, the output data for some general PAM-N input data can be described by: which still enables completion of the analog computation with digital input data and without the necessary inclusion of a DAC within the system.

[0082] The implementation of PAM-N digital modulation schemes at the transmitter of the system of the present disclosure requires adjustment of the waveform encoding functions at the receiver, to correctly scale and sum the received data. This can still be achieved generally with a low pass filter (LPF) applying an exponential decay function to the received data. For PAM-N modulation, the time constant for the corresponding first order LPF is described as:

[0083] At T=hOV

[0084] Where At is the pulse period of the input data. Figures 19 and 20 display the implementation of this LPF function on PAM-4 data, for sampling at some time after the arrival of the final pulse in the data stream.

[0085] Another implementation of the analog computing system uses the pulse width modulation (PWM) format for the input data stream. Figure 21 shows an example of an 8- bit integer value represented with PWM -2, with two possible pulse widths, one of which is zero. This is identical to the PAM-2 or OOK described previously. The PWM -4 data stream represents the 8-bit value in half as many pulse periods since each symbol has a bit-depth of 2, like PAM-4. The difference here is that the 2 -bit encoding occurs within each pulse width which has a possible value of 0 to 3 arbitrary time units. Finally, the LPF time constant required to encode PWM-N data streams obeys the same dependence onN as PAM-N above.

[0086] PWM implemented within the optical computing scheme of the present disclosure may have more limitations than PAM. The achievable bit resolution may be limited by the relative size of the maximum pulse width compared with the pulse period. Additionally, significantly higher clock frequencies may be required to generate small pulse widths compared to the OOK case (as in Figure 21). PWM is a special case example of a more general digital modulation scheme known as pulse density modulation (PDM) which is used to encode analog information into a digital signal by varying the density or frequency of pulses. Thus, in some embodiments, our analog computing scheme can also be implemented with a PDM input data stream.

[0087] Further example implementation details

[0088] Optical transmitter

[0089] Transmitters (which may be binary transmitters or otherwise) suitable for use in arrangements of the present disclosure may include a range of emitters that are applicable for the fast transformation of (serial) electrical signals into optical output signals (e.g., binary optical output signals) by way of either direct current modulation or external modulation. Their designs are desirably optimised to minimise energy consumption, whilst maximising the bandwidth of the system and without compromising their extinction ratio. Classes of suitable emitters may include:

[0090] Light-Emitting Diodes (LEDs): a cheap and widely available source of switchable light; easily driven by any electrical system using a MOSFET (small scale) or dedicated LED driver integrated circuits (large scale).

[0091] Laser Diodes: preferable design for coupling into optical fibres but typically higher in cost. Also compatible with integrated circuit designs, in the form of verticalcavity surface-emitting lasers. Common types of laser diodes include:

[0092] • Edge-emitting laser diodes: These laser diodes emit light perpendicular to the p-n junction and have a narrow output beam. They are commonly used in optical communication systems and laser printers.

[0093] • Vertical-cavity surface-emitting laser diodes (VCSELs): These laser diodes emit light parallel to the p-n junction and have a circular output beam. They are commonly used in computer mice, laser pointers, and fiber-optic communication systems.

[0094] • Distributed feedback (DFB) laser diodes: These laser diodes have a periodic grating structure that provides feedback to the laser cavity, resulting in a narrow linewidth and a stable output wavelength. They are commonly used in optical communication systems, such as dense wavelength division multiplexing (DWDM) systems.

[0095] • Quantum cascade laser diodes: These laser diodes use quantum mechanics to generate laser light and can emit in the mid-infrared range. They are commonly used in gas sensing, spectroscopy, and medical applications.

[0096] • External cavity laser diodes: These laser diodes are coupled to an external cavity, such as a diffraction grating or a Fabry-Perot cavity, to improve the spectral purity and the output power. They are commonly used in scientific and industrial applications that require high-quality laser light.

[0097] • Tapered laser diodes: These laser diodes have a tapered shape that allows for the efficient coupling of laser light into a single-mode fiber. They are commonly used in fiber-optic communication systems and high-power laser applications. Solid-state lasers: more expensive still, but capable of higher power applications.

[0098] With suitably low optical losses and sensitive detection circuitry, such high optical powers should not be required by arrangements of the present disclosure. Common types of solid- state lasers:

[0099] • Nd:YAG lasers: Nd:YAG (neodymium-doped yttrium aluminium garnet) lasers are among the most common solid-state lasers. They emit at a wavelength of 1064 nm and are used in a wide range of applications, such as material processing, laser cutting, and medical surgery.

[0100] • Er:YAG lasers: Er:YAG (erbium-doped yttrium aluminium garnet) lasers emit at a wavelength of 2940 nm, which is strongly absorbed by water. They are commonly used in dermatology and dentistry for skin resurfacing and cavity preparation.

[0101] • Ti:sapphire lasers: Ti:sapphire (titanium-doped sapphire) lasers emit in the visible and near-infrared range and have a wide tuning range. They are commonly used in scientific research, such as spectroscopy and microscopy.

[0102] • Ruby lasers: Ruby lasers were the first practical solid-state lasers and emit at a wavelength of 694 nm. They are commonly used in scientific research, such as fluorescence spectroscopy.

[0103] • Alexandrite lasers: Alexandrite lasers emit at a wavelength of 755 nm and have a wide tuning range. They are commonly used in medical applications, such as tattoo removal and hair removal.

[0104] • Cr:LiSAF lasers: Cr:LiSAF (chromium-doped lithium strontium aluminium fluoride) lasers emit at a wavelength of 850 nm and have a wide tuning range. They are commonly used in scientific research, such as nonlinear optics and time- resolved spectroscopy.

[0105] Instead of being directly modulated, these light emitters can also be externally modulated by modulators such as the following.

[0106] Electro-optical modulator: An electro-optic modulator (EOM) is a device that can modulate the intensity, phase, or polarisation of a light wave by applying an electric field to a material with electro-optic properties. The most common type of EOM is a Pockels cell, which consists of a crystal, typically made of lithium niobate, that exhibits the electrooptic effect. The electro-optic effect refers to the change in the refractive index of a material when an electric field is applied to it. This change in refractive index can be used to modulate the phase of a light wave passing through the material. By applying an alternating electric field to the Pockels cell, the phase of the light can be modulated at the same frequency as the electric field.

[0107] Acousto-optical modulator: An acousto-optic modulator (AOM) is a device that can modulate the intensity, frequency, or phase of a laser beam by using sound waves. The most common type of AOM is a crystal that is designed to interact with both acoustic and light waves. The basic principle of operation of an AOM is as follows: a high-frequency sound wave is introduced into the crystal which causes the crystal to deform, creating a grating structure. When a laser beam passes through the crystal, it interacts with the grating structure and is diffracted resulting in modulation of the beam. The degree of modulation depends on the frequency and amplitude of the sound wave applied to the crystal. By changing the frequency and amplitude of the sound wave, the AOM can be used to modulate the intensity or frequency of the laser beam. Acousto-optic modulators are widely used in the field of optics and photonics due to their ability to modulate laser beams quickly and precisely.

[0108] MEMS-optical modulator: MEMS (Micro-electromechanical Systems) optical modulators are devices that use microfabrication technology to modulate light. These devices are typically made of a silicon substrate and consist of a movable component that can be moved by electrostatic or electromagnetic forces. The most common type of MEMS optical modulator is the MEMS-based Fabry-Perot interferometer (FPI). This device consists of two parallel mirrors separated by a small gap. By changing the distance between the mirrors, the interference pattern of the light that is reflected from the mirrors changes, which results in modulation of the light. The movement of the movable mirror is controlled by electrostatic or electromagnetic forces. By applying a voltage to the electrodes located near the movable mirror, an electrostatic force is generated, which causes the mirror to move. Alternatively, an electromagnetic force can be used to move the mirror by applying a current to a coil located near the mirror. They offer advantages over other types of modulators such as high speed, low power consumption, and compact size.

[0109] Some of these transmitters are already included in optical transceivers widely used in fibre communications. These optical transceivers can therefore be directly used for optical computing following the arrangements of the present disclosure.

[0110] When these transmitters are used for analog computing, it is desirable to consider the following practical issues.

[0111] Extinction ratio - optical emitters have final extinction ratios, meaning that under working conditions they cannot be completely switched off with ‘0’ input. This adds a background to the analog computation result. To mitigate this, it is possible to send a n-bit zero bitstream to the system after the n-bit signal bitstream, and subtract the background obtained during the zero bitstream time window in post-processing.

[0112] Power stability - during the computation, signal power needs to be stable and maintained at at least n-bit precision level.

[0113] Electronic transmitter

[0114] There are many different types of electrical transmitter. Almost all are compatible with the proposed method, so long as the signal can be passed through a suitable low-pass filter. Any current mode signalling scheme, like Current Mode Logic (CML) or Low Voltage Differential Signal (LVDS) will need to be transformed into a Voltage mode signal to be filtered but this is a common conversion in electronics. The Transistor Transistor Logic (TTL) and Complementary Metal Oxide Semiconductor (CMOS) type outputs from most modern devices can be coupled directly into the RC filter circuit. This includes TTL, Low Voltage Complementary Metal Oxide Semiconductor (LVCMOS), Positive Emitter Coupled Logic (PECL) and many other digital IO standards.

[0115] High drive strength line drivers would also be acceptable for this application and would provide a higher power input signal if required to resolve the more decayed bits after the filter.

[0116] The following numbered clauses define embodiments of the disclosure.

[0117] 1. An analog computing system, comprising: an analog computing core configured to: receive an input bitstream comprising a plurality of input data units, each input data unit comprising a sequence of n bits, where n is an integer, and process the input bitstream by performing an analog computational operation on bits of the input bitstream to generate an output data stream, the output data stream comprising a plurality of output data units corresponding to the plurality of input data units, each output data unit comprising a sequence of computed values corresponding to the sequence of n bits of the input data unit corresponding to the output data unit, each computed value being generated by performing the analog computational operation on a respective bit of the input data unit corresponding to the output data unit; and a receiver system configured to: receive the output data stream; generate an output value corresponding to each output data unit by: applying bit-encoding functions to the sequence of computed values of the output data unit to generate a respective sequence of bit-encoding waveforms, each bit-encoding waveform decaying as a function of time; and generating the output value by sampling a combination of the bitencoding waveforms at a sampling time, wherein: the analog computing core is configured to generate the output data stream such that the bit-encoding waveforms begin at respective times prior to the sampling time with the position of each bit-encoding waveform in the sequence of bit-encoding waveforms representing the significance of a respective bit of the corresponding input data unit, bit-encoding waveforms corresponding to lower significance bits being earlier in the sequence than bit-encoding waveforms corresponding to higher significance bits.

[0118] 2. The system of clause 1, where the bit-encoding functions are configured to generate exponentially decaying bit-encoding waveforms.

[0119] 3. The system of clause 1 or 2, wherein each bit-encoding waveform decays by a factor of two over a time period equal to a difference in positions of bit-encoding waveforms corresponding to temporally adjacent computed values of an output data unit.

[0120] 4. The system of any preceding clause, wherein the sampling the combination of the bit-encoding waveforms at the sampling time comprises summing values of the bitencoding waveforms at the sampling time.

[0121] 5. The system of any preceding clause, wherein the receiver system comprises a low- pass filter configured to apply the bit-encoding functions.

[0122] 6. The system of any preceding clause, wherein the receiver system comprises an RC circuit configured to apply the bit-encoding functions, the RC circuit optionally being connected to an operational amplifier to provide an active low pass filter.

[0123] 7. The system of any preceding clause, wherein the receiver system comprises an optical resonator configured to apply the bit-encoding functions, the optical resonator optionally configured to have a temporal impulse response that generates an exponentially decaying bit-encoding waveform.

[0124] 8. The system of any preceding clause, wherein the receiver system comprises an optically excitable system configured to generate a bit-encoding waveform, optionally an exponentially decaying bit-encoding waveform, based on a rate of decay of photoexcited electrons from a higher energy level in the optically excitable system to a lower energy level in the optically excitable system.

[0125] 9. The system of any preceding clause, wherein the analog computational operation is a linear computation. 10. The system of any preceding clause, wherein the system is configured to perform the analog computational operation optically.

[0126] 11. The system of clause 10, wherein the receiver system comprises a photodetector configured to convert light representing the output data stream, or the generated output values, to an electronic signal, optionally a photo-diode.

[0127] 12. The system of any preceding clause, further comprising a transmitter system comprising a binary transmitter configured to generate the input bitstream from a received digital input signal and transmit the input bitstream to the analog computing core, the binary transmitter optionally being an optical binary transmitter configured to generate a binary optical output or an electronic binary transmitter configured to generate an electronic output.

[0128] 13. The system of any preceding clause, further comprising an analog-to-digital converter, ADC, configured to convert the output values generated by the receiver system to a digital output signal.

[0129] 14. The system of any preceding clause, configured to operate in a multi-channel mode, the analog computing core being configured to receive and process in parallel a plurality of input bitstreams corresponding to a plurality of respective channels, and to generate a corresponding plurality of output data streams; and the receiver system being configured to generate the output values for each channel.

[0130] 15. A method of performing analog computing, comprising: receiving an input bitstream comprising a plurality of input data units, each input data unit comprising a sequence of n bits, where n is an integer, and processing the input bitstream by performing an analog computational operation on bits of the input bitstream to generate an output data stream, the output data stream comprising a plurality of output data units corresponding to the plurality of input data units, each output data unit comprising a sequence of computed values corresponding to the sequence of n bits of the input data unit corresponding to the output data unit, each computed value being generated by performing the analog computational operation on a respective bit of the input data unit corresponding to the output data unit; and generating an output value corresponding to each output data unit by: applying bit-encoding functions to the sequence of computed values of the output data unit to generate a respective sequence of bit-encoding waveforms, each bit-encoding waveform decaying as a function of time; and generating the output value by sampling a combination of the bit-encoding waveforms at a sampling time, wherein: the output data stream is such that the bit-encoding waveforms begin at respective times prior to the sampling time with the position of each bit-encoding waveform in the sequence of bit-encoding waveforms representing the significance of a respective bit of the corresponding input data unit, bit-encoding waveforms corresponding to lower significance bits being earlier in the sequence than bitencoding waveforms corresponding to higher significance bits.

Claims

CLAIMS1. An analog computing system, comprising: an analog computing core configured to: receive an input data stream comprising a plurality of input data units, each input data unit comprising a sequence of m symbols, where m is an integer, and process the input data stream by performing an analog computational operation on symbols of the input data stream to generate an output data stream, the output data stream comprising a plurality of output data units corresponding to the plurality of input data units, each output data unit comprising a sequence of computed values corresponding to the sequence of m symbols of the input data unit corresponding to the output data unit, each computed value being generated by performing the analog computational operation on a respective symbol of the input data unit corresponding to the output data unit; and a receiver system configured to: receive the output data stream; generate an output value corresponding to each output data unit by: applying encoding functions to the sequence of computed values of the output data unit to generate a respective sequence of encoding waveforms, each encoding waveform decaying as a function of time; and generating the output value by sampling a combination of the encoding waveforms at a sampling time, wherein: the analog computing core is configured to generate the output data stream such that the encoding waveforms begin at respective times prior to the sampling time with the position of each encoding waveform in the sequence of encoding waveforms representing the significance of a respective symbol of the corresponding input data unit, encoding waveforms corresponding to lower significance symbols being earlier in the sequence thanencoding waveforms corresponding to higher significance symbols.

2. The system of claim 1, where the encoding functions are configured to generate exponentially decaying encoding waveforms.

3. The system of claim 1 or 2, wherein each encoding waveform decays by a factor of 2Mover a time period equal to a difference in positions of encoding waveforms corresponding to temporally adjacent computed values of an output data unit, where is the number of bits of data encoded in each symbol of the input data unit.

4. The system of claim 3, wherein M = 1, such that each encoding waveform decays by a factor of two over a time period equal to a difference in positions of encoding waveforms corresponding to temporally adjacent computed values of an output data unit.

5. The system of any preceding claim, wherein the sampling the combination of the encoding waveforms at the sampling time comprises summing values of the encoding waveforms at the sampling time.

6. The system of any preceding claim, wherein the receiver system comprises a low- pass filter configured to apply the encoding functions.

7. The system of any preceding claim, wherein the receiver system comprises an RC circuit configured to apply the encoding functions, the RC circuit optionally being connected to an operational amplifier to provide an active low pass filter.

8. The system of any preceding claim, wherein the receiver system comprises an optical resonator configured to apply the encoding functions, the optical resonator optionally configured to have a temporal impulse response that generates an exponentially decaying encoding waveform.

9. The system of any preceding claim, wherein the receiver system comprises anoptically excitable system configured to generate a encoding waveform, optionally an exponentially decaying encoding waveform, based on a rate of decay of photoexcited electrons from a higher energy level in the optically excitable system to a lower energy level in the optically excitable system.

10. The system of any preceding claim, wherein the analog computational operation is a linear computation.

11. The system of any preceding claim, wherein the system is configured to perform the analog computational operation optically.

12. The system of claim 11, wherein the receiver system comprises a photodetector configured to convert light representing the output data stream, or the generated output values, to an electronic signal, optionally a photo-diode.

13. The system of any preceding claim, further comprising a transmitter system comprising a transmitter configured to generate the input data stream from a received digital input signal and transmit the input data stream to the analog computing core, the transmitter optionally being an optical transmitter configured to generate an optical output or an electronic transmitter configured to generate an electronic output.

14. The system of claim 13, wherein the transmitter is configured to generate the input data stream by multi -bit symbol encoding, optionally by pulse amplitude modulation, pulse width modulation or pulse density modulation.

15. The system of any preceding claim, further comprising an analog-to-digital converter, ADC, configured to convert the output values generated by the receiver system to a digital output signal.

16. The system of any preceding claim, configured to operate in a multi-channel mode, the analog computing core being configured to receive and process in parallel aplurality of input data streams corresponding to a plurality of respective channels, and to generate a corresponding plurality of output data streams; and the receiver system being configured to generate the output values for each channel.

17. A method of performing analog computing, comprising: receiving an input data stream comprising a plurality of input data units, each input data unit comprising a sequence of m symbols, where m is an integer, and processing the input data stream by performing an analog computational operation on symbols of the input data stream to generate an output data stream, the output data stream comprising a plurality of output data units corresponding to the plurality of input data units, each output data unit comprising a sequence of computed values corresponding to the sequence of m symbols of the input data unit corresponding to the output data unit, each computed value being generated by performing the analog computational operation on a respective symbol of the input data unit corresponding to the output data unit; and generating an output value corresponding to each output data unit by: applying encoding functions to the sequence of computed values of the output data unit to generate a respective sequence of encoding waveforms, each encoding waveform decaying as a function of time; and generating the output value by sampling a combination of the encoding waveforms at a sampling time, wherein: the output data stream is such that the encoding waveforms begin at respective times prior to the sampling time with the position of each encoding waveform in the sequence of encoding waveforms representing the significance of a respective symbol of the corresponding input data unit, encoding waveforms corresponding to lower significance symbols being earlier in the sequence than encoding waveforms corresponding to higher significance symbols.