Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
COMMUNICATION OF SPIKING DATA OVER A WIRELESS COMMUNICATION NETWORK
Document Type and Number:
WIPO Patent Application WO/2023/158352
Kind Code:
A1
Abstract:
Embodiments of the present disclosure provide a method (300) for communication of spiking data in a wireless communication network (100). The method (300) is performed by a neuromorphic transmitter node (102). The method (300) comprises obtaining (301) the spiking data representing one or more spikes generated by a neuromorphic application. The method (300) comprises generating (304) one or more spiking protocol data units, PDUs, for the obtained spiking data based on one or more of: requirements of the neuromorphic application, transmission properties associated with each spike and an encoding type of the spiking data. The method (300) comprises transmitting (310) data packets comprising the one or more spiking PDUs over a communication channel to a receiver node (104). Corresponding transmitter node, receiver node and computer program products are also disclosed.

Inventors:
BALDEMAIR ROBERT (SE)
BORSOS TAMAS (HU)
PARKVALL STEFAN (SE)
RÁCZ ANDRÁS (HU)
VERES ANDRÁS (HU)
Application Number:
PCT/SE2022/050187
Publication Date:
August 24, 2023
Filing Date:
February 21, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ERICSSON TELEFON AB L M (SE)
International Classes:
H04W28/06; G06N3/063; H03M13/00; H04L1/00; H04L61/00
Domestic Patent References:
WO2021033797A12021-02-25
Foreign References:
US20210160109A12021-05-27
US20170229117A12017-08-10
US20200143229A12020-05-07
Other References:
BORSOS TAMAS; CONDOLUCI MASSIMO; DAOUTIS MARIOS; HAGA PETER; VERES ANDRAS: "Resilience Analysis of Distributed Wireless Spiking Neural Networks", 2022 IEEE WIRELESS COMMUNICATIONS AND NETWORKING CONFERENCE (WCNC), IEEE, 10 April 2022 (2022-04-10), pages 2375 - 2380, XP034123644, DOI: 10.1109/WCNC51071.2022.9771543
BANERJEE DIGHANCHAL, DEY SOUNAK, GEORGE ARUN M, MUKHERJEE ARIJIT: "Efficient Optimized Spike Encoding for Spiking Neural Networks", OPT2020: 12TH ANNUAL WORKSHOP ON OPTIMIZATION FOR MACHINE LEARNING EFFICIENT OPTIMIZED SPIKE ENCODING FOR SPIKING NEURAL NETWORKS, 11 DECEMBER 2020, 11 December 2020 (2020-12-11), pages 1 - 11, XP055833805, Retrieved from the Internet [retrieved on 20210823]
YOUNG AARON R.; DEAN MARK; PLANK JAMES S.; S. ROSE GARRETT: "A Review of Spiking Neuromorphic Hardware Communication Systems", IEEE ACCESS, IEEE, USA, vol. 7, 1 January 1900 (1900-01-01), USA , pages 135606 - 135620, XP011747983, DOI: 10.1109/ACCESS.2019.2941772
HIRAOKA RYUYA, MATSUMOTO KAZUKI, NGUYEN KIEN, TORIKAI HIROYUKI, SEKIYA HIROO: "Implementation of Spiking Neural Network with Wireless Communications", NEURAL INFORMATION PROCESSING : 26TH INTERNATIONAL CONFERENCE, ICONIP 2019, SYDNEY, NSW, AUSTRALIA, DECEMBER 12-15, 2019, SPRINGER NATURE, vol. 26, 5 December 2019 (2019-12-05) - 15 December 2019 (2019-12-15), pages 619 - 626, XP009546741, ISBN: 978-3-030-36801-2, DOI: 10.1007/978-3-030-36802-9_66
Attorney, Agent or Firm:
BOU FAICAL, Roger (SE)
Download PDF:
Claims:
CLAIMS

1. A method (300) for communication of spiking data, the method being performed by a neuromorphic transmitter node (102), in a wireless communication network (100), the method (300) comprising:

- obtaining (301) the spiking data representing one or more spikes generated by a neuromorphic application;

- generating (304) one or more spiking protocol data units, PDUs, for the obtained spiking data based on one or more of: requirements of the neuromorphic application, transmission properties associated with each spike and an encoding type of the spiking data; and

- transmitting (310) data packets comprising the one or more spiking PDUs over a communication channel (110) to a receiver node (104).

2. The method (300) according to claim 1, further comprising:

- converting (302) the spiking data into a digital representation comprising an address of each neuron emitting the spike.

3. The method according to any of the claims 1 or 2, further comprising:

- encoding (303) the one or more spikes prior to generating the one or more spiking PDUs; and

- selecting (308) one or more modulation and coding schemes, MCSs, to be used for transmission of data packets based on one or more of: the encoding type of the spiking data and requirements of the neuromorphic application.

4. The method according to claim 3, wherein the step (303) of encoding the one or more spikes comprises:

- determining to encode the one or more spikes emitted from a neuron;

- determining an address associated with the neuron; and

- encoding the address of the neuron. The method according to any of the claims 3 or4, wherein the step (303) of encoding the one or more spikes comprises:

- grouping a plurality of neurons emitting one or more spikes;

- assigning a group address to each group comprising the plurality of neurons and an intra-group address to each of the neurons in the group that emits at least one spike;

- determining a group address associated with the neurons emitting the spikes, an intra-group address of each neuron in a group that emits at least one spike; and

- encoding the group address and the intra-group address. The method according to any of the preceding claims, wherein the step (304) of generating one or more spiking PDUs comprises:

- determining a size of a spiking PDU based on one or more of: delay sensitivity associated with each spike, encoding type of one or more spikes, decoding tolerance of the neuromorphic application, transmission properties associated with each spike, and a size of a radio frame;

- determining a number of spikes to be included in one spiking PDU based on the size of the spiking PDU; and

- generating one spiking PDU with the determined number of spikes. The method according to any of the preceding claims, wherein the step (304) of generating (304) one or more spiking PDUs for the obtained spiking data further comprising:

- determining to generate multiple spiking PDUs for the one or more spikes;

- determining a size of each spiking PDU based on one or more of: delay sensitivity associated with each spike, encoding type of one or more spikes, decoding tolerance of the neuromorphic application, the transmission properties associated with each of the one or more spikes and a size of a radio frame; determining a number of spikes to be included in each of the multiple spiking

PDUs based on the determined size of each spiking PDU; and generating multiple spiking PDUs with the determined number of spikes.

8. The method according to any of the preceding claims, wherein the step (304) of generating one or more spiking PDUs further comprises:

- registering an arrival time of each of the spikes or a group of spikes;

- buffering the number of spikes in one spiking PDU or multiple spiking PDUs up to a pre-determined time interval based on one or more buffering characteristics of the spikes according to size of each spiking PDU, wherein each spike is buffered in one spiking PDU or multiple spiking PDUs up to the pre-determined time interval; and

- generating one spiking PDU or multiple spiking PDUs with the buffered number of spikes.

9. The method according to claim 8, wherein the pre-determined time interval is determined based on delay requirements of the neuromorphic application and encoding type of the one or more spikes.

10. The method according to any of the claims 8 or 9, wherein the buffering characteristics comprises one or more of: latency of each spike, a priority level of each spike, a priority level for a group of spikes, a time interval of each spike in the buffer since arrival of each spike and a maximum PDU size.

11. The method according to any of the preceding claims 8-10, further comprising:

- determining a priority level associated with each of the spikes or a group of spikes;

- assigning multiple spiking PDUs based on determined priority level;

- assigning a priority for each spiking PDU among the multiple spiking PDUs in accordance with the determined priority level.

12. The method according to claim 11, further comprising: - transmitting the multiple spiking PDUs based on the assigned priority for each of the spiking PDU; and

- determining to ignore transmission of a spiking PDU based on the assigned priority. The method according to any of the preceding claims, wherein the step (310) of transmitting data packets comprising the one or more spiking PDUs comprises:

- obtaining the transmission capability associated with the transmitter node; and

- forming one or more data packets based on the transmission capability; The method according to claim 13, wherein the step of forming one or more data packets based on transmission capability comprises:

- obtaining one or more spiking PDUs;

- determining that size of the spiking PDUs is less than or equal to a size of transport block associated with the transmitter node; and

- concatenating multiple spiking PDUs to form a data packet when the size of the spiking PDUs is less than or equal to a size of a transport block associated with the neuromorphic transmitter node. The method according to any of the claims 13 or 14, further comprising:

- encoding multiple data packets by applying a forward error correction, FEC coding. The method according to any of the preceding claims, wherein the transmission capability associated with the neuromorphic transmitter node (102) comprises one or more of: latency capability, reliability capability, minimum transport block size and maximum transport block size. The method according to any of the preceding claims, wherein the transmission properties associated with each spike comprises one or more of: an arrival time, an allowed spiking delay, a spiking loss associated with each spike, spiking latency for a group of spikes, a delivery time determined for each spike and a priority level of each spike. A method (500) for reception of spiking data, the method being performed by a neuromorphic receiver node (104), in a wireless communication network (100), the method (500) comprising:

- receiving (502) data packets comprising one or more spiking PDUs from a neuromorphic transmitter node (102),

- demultiplexing (506) the data packets to obtain the one or more spiking PDUs from the data packets;

- generating one or more spikes from the one or more spiking PDUs. The method according to claim 18, wherein the step of demultiplexing the data packets for obtaining one or more spiking PDUs comprises:

- receiving (504) an indication about the one or more selected MCSs used for transmitting the data packets from the neuromorphic transmitter node (102). The method according to claim 18, wherein the step of generating one or more spikes from the one or more spiking PDUs comprising:

- reordering the one or more spiking PDUs; and

- decoding the one or more spikes encoded in the one or more spiking PDUs. An apparatus of a neuromorphic transmitter node (102) configured to operate in a wireless communication network (100) for communication of spiking data, the apparatus (102) comprising a controlling circuitry configured to cause:

- obtaining the spiking data representing one or more spikes generated by a neuromorphic application; - generating one or more spiking protocol data units, PDUs, for the obtained spiking data based on one or more of: requirements of the neuromorphic application, transmission properties associated with each spike and an encoding type of the spiking data ; and

- transmitting data packets comprising the one or more spiking PDUs over a communication channel (110) to a receiver node (104).

22. The apparatus according to claim 21, wherein the controlling circuitry is configured to cause:

- converting (302) of the spiking data into a digital representation comprising an address of each neuron emitting the spike.

23. The apparatus according to any of the claims 21 or 22, wherein the controlling circuitry is configured to cause:

- encoding of the one or more spikes prior to generating the one or more spiking PDUs; and

- selection of one or more modulation and coding schemes, MCSs, to be used for transmission of data packets based on one or more of the encoding type of the spiking data and requirements of the neuromorphic application.

24. The apparatus according to claim 23, wherein the controlling circuitry is configured to cause the step of encoding the one or more spikes in the one or more spiking PDUs by causing:

- determination to encode the one or more spikes emitted from a neuron;

- determination of an address associated with the neuron; and

- encoding of the address of the neuron.

25. The apparatus according to any of the claims 23 or 24, wherein the controlling circuitry is configured to cause the step of encoding the one or more spikes in the one or more spiking PDUs by causing:

- grouping of a plurality of neurons emitting one or more spikes; - assigning of a group address to each group comprising the plurality of neurons and an intra-group address to each of the neurons in the group that emits at least one spike;

- determination of a group address associated the neurons emitting the spikes, an intra-group address of each neuron in a group that emits at least one spike; and

- encoding of the group address and the intra-group address. The apparatus according to claims 21-25, wherein the controlling circuitry is configured to cause the step of generating one or more spiking PDUs by causing:

- determination of a size of a spiking PDU based on one or more of: delay sensitivity associated with each spike, encoding type of one or more spikes, decoding tolerance of the neuromorphic application, transmission properties associated with each spike, and a size of a radio frame;

- determination of a number of spikes to be included in one spiking PDU based on the size of the spiking PDU; and

- generation of one spiking PDU with the determined number of spikes. The apparatus according to claims 21-26, wherein the controlling circuitry is configured to cause the step of generation of one or more spiking PDUs for the obtained spiking data by causing:

- determination to generate multiple spiking PDUs for the one or more spikes;

- determination of a size of each spiking PDU based on one or more of: delay sensitivity associated with each spike, encoding type of one or more spikes, decoding tolerance of the neuromorphic application, the transmission properties associated with each of the one or more spikes and a size of a radio frame;

- determination of a number of spikes to be included in each of the multiple spiking PDUs based on the determined size of each spiking PDU; and

- generation of multiple spiking PDUs with the determined number of spikes. The apparatus according to any of the claims 21-27, wherein the controlling circuitry is configured to cause the step of generating one or more spiking PDUs by causing:

- registration of an arrival time of each of the spikes or a group of spikes;

- buffering of the number of spikes in one spiking PDU or multiple spiking PDUs up to a pre-determined time interval based on one or more buffering characteristics of the spikes according to size of each spiking PDU, wherein each spike is buffered in one spiking PDU or multiple spiking PDUs up to the pre-determined time interval; and

- generation of the one spiking PDU or multiple spiking PDUs with the buffered number of spikes. The apparatus according to claim 28, wherein the pre-determined time interval is determined based on delay requirements of the neuromorphic application and encoding type of the one or more spikes. The apparatus according to claim 28 or 29, wherein the buffering characteristics comprises one or more of: latency of each spike, a priority level of each spike, a priority level for a group of spikes, a time interval of each spike in the buffer since arrival of each spike and a maximum PDU size. The apparatus according to claims 28-30, wherein the controlling circuitry is configured to cause:

- determination of a priority level associated with each of the spikes or a group of spikes;

- assigning of multiple spiking PDUs based on determined priority level; and

- assigning of a priority for each spiking PDU among the multiple spiking PDUs in accordance with the determined priority level. The apparatus according to claim 31, wherein the controlling circuitry is configured to cause: - transmission of the multiple spiking PDUs based on the assigned priority for each of the spiking PDU; and

- determination to ignore transmission of a spiking PDU based on the assigned priority. The apparatus according to any of the claims 21-32, wherein the controlling circuitry is configured to cause the step of transmitting data packets comprising the one or more spiking PDUs by causing:

- obtaining of the transmission capability associated with the transmitter node; and

- formation of one or more data packets based on the transmission capability. The apparatus according to claim 33, wherein the controlling circuitry is configured to cause the step of forming one or more data packets based on transmission capability by causing:

- obtaining of one or more spiking PDUs;

- determination that size of the spiking PDUs is less than or equal to a size of transport block associated with the transmitter node; and

- concatenation of multiple spiking PDUs to form a data packet when the size of the spiking PDUs is less than or equal to a size of transport block associated with the transmitter node, wherein the size of the data packet is equal to size of the transport block. The apparatus according to claims 33 or 34, wherein the controlling circuitry is configured to cause:

- encoding of the multiple data packets by applying a forward error correction, FEC coding. The apparatus according to claims 21-35, wherein the transmission capability comprises one or more of: latency capability, reliability capability, minimum transport block size and maximum transport block size. The apparatus according to claims 21-36, wherein the transmission properties comprises one or more of: an arrival time, an allowed spiking delay, a spiking loss associated with each spike, spiking latency for a group of spikes, a delivery time determined for each spike and a priority level of each spike. A transmitter node comprising the apparatus of any of the claims 21 through 37. An apparatus of a neuromorphic receiver node (104) configured to operate in a wireless communication network (100) for reception of spiking data, the apparatus (104) comprising controlling circuitry configured to cause:

- reception of data packets comprising one or more spiking PDUs from a neuromorphic transmitter node (102); and

- demultiplexing of the data packets to obtain the one or more spiking PDUs from the data packets; and

- generation of one or more spikes from the one or more spiking PDUs. The apparatus according to claim 39, wherein the controlling circuitry is configured to cause the step of demultiplexing of the data packets for obtaining one or more spiking PDUs by causing:

- reception of an indication about the one or more selected MCSs used for transmitting the data packets from the neuromorphic transmitter node (102). The apparatus according to claim 39, wherein the controlling circuitry is configured to cause the step of generation of one or more spikes from the one or more spiking PDUs by causing: reordering of the one or more spiking PDUs; and decoding of the one or more spikes encoded in the one or more spiking PDUs. A neuromorphic receiver node comprising the apparatus of any of the claims 39 through 41. A computer program product comprising a non-transitory computer readable medium, having thereon a computer program comprising program instructions, the computer program is loadable into a data processing unit and configured to cause execution of the method according to any of claims 1 through 20 when the computer program is run by the data processing unit.

Description:
COMMUNICATION OF SPIKING DATA OVER A WIRELESS COMMUNICATION NETWORK

TECHNICAL FIELD

The present disclosure relates generally to the field of spiking neural networks. More particularly, it relates to methods, transmitter node, receiver node, and computer program products for communication of spiking data.

BACKGROUND

In general, spiking neural neworks, SNNs are artificial neural networks which closely mimic natural neural networks. A SNN is a collection of many hundreds or thousands of such neurons, which are inter-connected via synapses. In SNNs, all the information carried between neurons are represented by spikes. A spike is considered as a binary data, where the presence of a spike implicitly carries the information. A spike is generated by a change in intensity level detected at the neurons. Some of the examples of devices generating the spikes are neuromorphic or event cameras, neuromorphic control system, skin or touch sensors, robotic arms, or the like. Other types of sensors, such as artificial cochlea, skin or touch sensors are directly generating spikes as output signal, or actuators, like robotic arms, which can be controlled via spike signals. There are also chips executing neuromorphic computing as opposed to traditional arithmetic compute, suitable to process e.g. the outputs of neuromorphic sensors.

Figure 1 shows a neuron model having a plurality of inter-connected neurons. As explained above, the SNN is a collection of multiple neurons which are inter-connected via synapses. Each spike received on any of the input synapses 10a - lOd of the neuron 12 (weighted with the synapse weight) (wi - w n ), increases the voltage potential of the neuron. When the increased voltage potential reaches a threshold voltage, the neuron 12 emits an output spike 14.

With the increased usage of SNNs, communication of spiking data over a wireless link is gaining importance. There are multiple scenarios where the communication of spiking data over a communication network becomes necessary. SUMMARY

In wireless communication networks, due to the nature of spike-based communication and its communication features, mechanisms for communication of spiking data need to be designed to effectively support distributed neuromorphic-based applications. The unique properties altogether create a special situation regarding the communication requirements of spiking data, which none of the existing access and resource sharing scheme can fulfil in an optimal way.

Consequently, there is a need for an improved method and arrangement for communication of spiking data generated from the SNN that alleviates at least some of the above cited problems.

It is therefore an object of the present disclosure to provide a method, a transmitter node, a receiver node and a computer program product for communication of the spiking data to mitigate, alleviate, or eliminate all or at least some of the above-discussed drawbacks of presently known solutions.

This and other objects are achieved by means of a method, a transmitter node, a receiver node and a computer program product as defined in the appended claims. The term exemplary is in the present context to be understood as serving as an instance, example or illustration.

According to a first aspect of the present disclosure, a method for communication of spiking data in a wireless communication network is provided. The method is performed by a neuromorphic transmitter node. The method comprises obtaining the spiking data representing one or more spikes generated by a neuromorphic application. The method comprises generating one or more spiking protocol data units, PDUs, for the obtained spiking data based on one or more of: requirements of the neuromorphic application, transmission properties associated with each spike and an encoding type of the spiking data. The method further comprises transmitting data packets comprising the one or more spiking PDUs over a communication channel to a receiver node.

In some embodiments, the method further comprises converting the spiking data into a digital representation comprising an address of each neuron emitting the spike. In some embodiments, the method further comprises encoding the one or more spikes prior to generating the one or more spiking PDUs. The method further comprises selecting one or more modulation and coding schemes, MCSs, to be used for transmission of data packets based on one or more of the encoding type of the spiking data and requirements of the neuromorphic application.

In some embodiments, the step of encoding the one or more spikes comprises determining to encode the one or more spikes emitted from a neuron and determining an address associated with the neuron encoding the address of the neuron.

In some embodiments, the step of encoding the one or more spikes comprises grouping a plurality of neurons emitting one or more spikes and assigning a group address to each group comprising the plurality of neurons and an intra-group address to each of the neurons in the group. The method further comprises determining a group address associated with the neurons emitting the spikes, an intra-group address of each neuron in a group that emits at least one spike and encoding the group address and the intra-group address.

In some embodiments, the step of generating one or more spiking PDUs comprises determining a size of a spiking PDU based on one or more of: delay sensitivity associated with each spike, encoding type of one or more spikes, decoding tolerance of the neuromorphic application, transmission properties associated with each spike, and a size of a radio frame. The method comprises determining a number of spikes to be included in one spiking PDU based on the size of the spiking PDU and generating one spiking PDU with the determined number of spikes.

In some embodiments, the method comprises determining to generate multiple spiking PDUs for the one or more spikes and determining a size of each spiking PDU based on one or more of: delay sensitivity associated with each spike, encoding type of one or more spikes, decoding tolerance of the neuromorphic application, the transmission properties associated with each of the one or more spikes and a size of a radio frame. The method further comprises determining a number of spikes to be included in each of the multiple spiking PDUs based on the determined size of the each spiking PDU and generating multiple spiking PDUs with the determined number of spikes. In some embodiments, the step of generating one or more spiking PDUs further comprises registering an arrival time of each of the spikes or a group of spikes and buffering the number of spikes in one spiking PDU or multiple spiking PDUs up to a pre-determined time interval based on one or more buffering characteristics of the spikes according to size of each spiking PDU, wherein each spike is buffered in one spiking PDU or multiple spiking PDUs up to the pre-determined time interval. The method further comprises generating one spiking PDU or multiple spiking PDUs with the buffered number of spikes.

In some embodiments, the pre-determined time interval is determined based on delay requirements of the neuromorphic application and encoding type of the one or more spikes.

In some embodiments, the buffering characteristics comprises one or more of: latency of each spike, a priority level of each spike, a priority level for a group of spikes, a time interval of each spike in the buffer since arrival of each spike and a maximum PDU size.

In some embodiments, the method further comprises determining a priority level associated with each of the spikes or a group of spikes and assigning multiple spiking PDUs based on determined priority level. The method comprise assigning a priority for each spiking PDU among the multiple spiking PDUs in accordance with the determined priority level.

In some embodiments, the method further comprises transmitting the multiple spiking PDUs based on the assigned priority for each of the spiking PDU. The method comprises determining to ignore transmission of a spiking PDU based on the assigned priority.

In some embodiments, the step of transmitting data packets comprising the one or more spiking PDUs comprises obtaining the transmission capability associated with the transmitter node. The method comprises forming one or more data packets based on the transmission capability.

In some embodiments, the step of forming one or more data packets based on transmission capability comprises obtaining one or more spiking PDUs and determining that size of the spiking PDUs is less than or equal to a size of transport block associated with the transmitter node. The method comprises concatenating multiple spiking PDUs to form a data packet when the size of the spiking PDUs is less than or equal to a size of transport block associated with the neuromorphic transmitter node, wherein the size of the data packet is equal to size of the transport block.

In some embodiments, the method further comprises encoding the multiple data packets by applying a forward error correction, FEC coding.

In some embodiments, the transmission capability associated with the neuromorphic transmitter node comprises one or more of: latency capability, reliability capability, minimum transport block size and maximum transport block size.

In some embodiments, the transmission properties associated with each spike comprises one or more of: an arrival time, an allowed spiking delay, a spiking loss associated with each spike, spiking latency for a group of spikes, a delivery time determined for each spike and a priority level of each spike.

According to a second aspect of the present disclosure, a method for reception of spiking data in a wireless communication network is provided. The method is performed by a neuromorphic receiver node. The method comprises receiving data packets comprising one or more spiking PDUs from a neuromorphic transmitter node. The method comprises demultiplexing the data packets to obtain the one or more spiking PDUs from the data packets. Further, the method comprises generating one or more spikes from the spiking PDUs.

In some embodiments, the step of demultiplexing the data packets for obtaining one or more spiking PDUs comprises receiving an indication about the one or more selected MCSs used for transmitting the data packets from the neuromorphic transmitter node.

In some embodiments, the step of generating one or more spikes from the one or more spiking PDUs comprising reordering the one or more spiking PDUs and decoding the one or more spikes encoded in the one or more spiking PDUs.

According to a third aspect of the present disclosure, an apparatus of a neuromorphic transmitter node configured to operate in a wireless communication network for communication of spiking data is provided. The apparatus comprising a controlling circuitry configured to cause obtaining the spiking data representing one or more spikes generated by a neuromorphic application. The controlling circuitry is configured to cause generation of one or more spiking protocol data units, PDUs, for the obtained spiking data based on one or more of: requirements of the neuromorphic application, transmission properties associated with each spike and an encoding type of the spiking data. Further, the controlling circuitry is configured to cause transmission of data packets comprising the one or more spiking PDUs over a communication channel to a receiver node.

A fourth aspect is a transmitter node comprising the apparatus of the third aspect.

According to a fifth aspect of the present disclosure, an apparatus for a neuromorphic receiver node configured to operate in a wireless communication network for reception of spiking data is provided. The apparatus comprising a controlling circuitry being configured to cause reception of data packets comprising one or more spiking PDUs from a neuromorphic transmitter node. Further, the controlling circuitry is configured to cause demultiplexing of the data packets to obtain the one or more spiking PDUs from the data packets and generation of one or more spikes from the one or more spiking PDUs.

A sixth aspect is receiver node comprising the apparatus of the fourth aspect.

According to a seventh aspect of the present disclosure, there is provided a computer program product comprising a non-transitory computer readable medium, having thereon a computer program comprising program instructions, the computer program is loadable into a data processing unit and configured to cause execution of the method according to any of the first and second aspects when the computer program is run by the data processing unit.

In some embodiments, any of the above aspects may additionally have features identical with or corresponding to any of the various features as explained above for any of the other aspects.

An advantage of some embodiments is to provide a method for communication of spiking data using a wireless communication network.

An advantage of some embodiments is that properties of spikes are considered in the communication of spiking data over a wireless link. Thus, the spiking data can be communicated in the wireless communication network more efficiently. An advantage of some embodiments is that spiking PDUs are generated by considering capabilities of transport layer and also various parameters related to MAC/PHY layers such that a better transmission scheme can be provided for the communication of the spiking data over the wireless communication network.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing will be apparent from the following more particular description of the example embodiments, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the example embodiments.

Figure 1 shows an example neuron model;

Figure 2A shows an example wireless communication network according to some embodiments;

Figure 2B shows a protocol stack of a neuromorphic transmitter node according to some embodiments;

Figure 3 is a flowchart illustrating example method steps according to some embodiments;

Figure 4 is a block diagram of a data packet according to some embodiments;

Figure 5 is a flowchart illustrating example method steps according to some embodiments;

Figure 6 is a schematic block diagram illustrating an example apparatus according to some embodiments;

Figure 7 is a schematic block diagram illustrating an example apparatus according to some embodiments;

Figure 8 is graph illustrating accuracy to spike loss rate according to some embodiments; and

Figure 9 discloses an example computing environment according to some embodiments. DETAILED DESCRIPTION

Aspects of the present disclosure will be described more fully hereinafter with reference to the accompanying drawings. The apparatus and methods disclosed herein can, however, be realized in many different forms and should not be construed as being limited to the aspects set forth herein. Like numbers in the drawings refer to like elements throughout.

The terminology used herein is for the purpose of describing particular aspects of the disclosure only and is not intended to limit the invention. It should be emphasized that the term "comprises/comprising" when used in this specification is taken to specify the presence of stated features, integers, steps, or components, but does not preclude the presence or addition of one or more other features, integers, steps, components, or groups thereof. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.

Embodiments of the present disclosure will be described and exemplified more fully hereinafter with reference to the accompanying drawings. The solutions disclosed herein can, however, be realized in many different forms and should not be construed as being limited to the embodiments set forth herein.

It will be appreciated that when the present disclosure is described in terms of a method, it may also be embodied in one or more processors and one or more memories coupled to the one or more processors, wherein the one or more memories store one or more programs that perform the steps, services and functions disclosed herein when executed by the one or more processors.

In the present disclosure, receiver nodes, also known as mobile terminals, user equipment (UE) and/or wireless terminals, are enabled to communicate wirelessly with a transmitter node in a wireless communication network.

In the present disclosure, it is assumed that connection establishment has already been completed between the receiver node(s) and the transmitter node.

In the following description of exemplary embodiments, the same reference numerals denote the same or similar components. FIG. 2A discloses an example communication network in the form of a wireless communication network 100. As depicted in FIG. 2A, the wireless communication network 100 includes a transmitter node 102 and a receiver node 104. For example, the transmitter node 102 is a neuromorphic transmitter node being capable of executing a neuromorphic application. In some examples, the neuromorphic transmitter node is a neuromorphic event camera, a robotic arm, skin or touch sensor, neuromorphic device, etc.

The receiver node 104 communicates with the transmitter node 102 serving the receiver node 104.

Although not shown in FIG. 2A, there may be a plurality of receiver nodes 104a - 104n in the coverage of the transmitter node 102.

To facilitate communications, different communication channels are established between the transmitter node 102 and the receiver node 104. When the transmitter node 102 has spiking data to be transmitted to the receiver node 104, the transmitter node 102 transmits the data packets using access and resource sharing scheme.

In SNNs, the spiking data represents one or more spikes generated by a neuromorphic application. In some examples, the neuromorphic application can be executed in the transmitter node 102. The neuromorphic application is an application which outputs spikes based on a change in intensity detected at the neuron. In some examples, the neuromorphic application can be a neuromorphic camera application executed in a neuromorphic camera, which can also be referred to as event camera, where each pixel is associated with one or more neurons that emit spikes when the light intensity detected at pixel is changing. For example, there can be two neurons per pixel, where one neuron is spiking in response to an increase in light intensity, while the other spikes to decrease in light intensity. When there are no changes in a scene or there is nothing happening in a scene, no events are generated. These neuromorphic cameras have a large dynamic range and a large temporal resolution, on the microsecond scale.

Another example of a neuromorphic application is a neuromorphic robotic arm in a factory environment with human robot collaboration where neuromorphic cameras, neuromorphic skins on a person and sensors on the robot provide input to the processing and control logic or maybe even neural sensors in the human body or brain activity sensors provide neural input to the control logic. Based on this information an industrial controller may command the robotic arm such that it cooperates with the human, avoids hazardous human-machine collisions, etc. The timely sensing and processing is particularly important in such a robot-human collaboration and this motivates the use of high temporal resolution neuromorphic sensors.

In another example scenario, scenarios where communication will be needed is when a spiking neural network or a neuromorphic system, in general is distributed at multiple locations and they need to act together as one spiking NN or spiking system. The reasons for distribution may be manyfold and are similar to reasons of distributing a conventional neural network. One example is when the data is distributed with different type of data pieces located at different places and some central logic wants to make a global decision. Instead of transmitting the raw data to the central place and running a big NN there, one can run the lower layers of the NN at the place where the data is located and transfer only the output of these lower NN layers, which is expected to be reduced in size as compared to the raw data.

In scenarios, where components in SNN are wirelessly communicating to each other, the radio technology needs to have some unique capability. The unique capability may comprise low delay and low jitter to preserve the time sensitive aspect of spike information encoding, medium access and resource allocation methods must support unpredictable and bursty traffic patterns, both uni-cast and group-east communication will be needed to effectively support dense, local inter-neuron connectivity, usual loss and Block Error Rate, BLER, mitigation algorithms, like radio retransmission or large transmission buffer sizes may be applied only with significant limitations.

Due to the nature of spike-based communication and its communication features, mechanisms for communication of spiking data need to be designed to effectively support distributed neuromorphic-based applications. As a result, when the data packets to be transmitted by the neuromorphic transmitter node 102 comprises the spiking data, the existing access and resource sharing scheme may not be optimal to transmit the data packets having the spiking data. Therefore, according to some embodiments of the present disclosure, the neuromorphic transmitter node 102 implements a method for communication of the spiking data to the receiver node 104. Furthermore, the receiver node 104 may implement a method for reception of the spiking data from the neuromorphic transmitter node 102.

In at least some implementations, the neuromorphic transmitter node 102 obtains the spiking data representing one or more spikes generated by the neuromorphic application. The neuromorphic application is an application which outputs spikes based on a change in intensity detected at the neuron. In some examples, the spiking data can be generated by neuromorphic sensors for example, neuromorphic cameras, touch sensors, or in general any device or a neuromorphic application that makes some computation or sensing in a neuromorphic way. For example, each spike is associated with an address of a neuron emitting the spike. The address of the neuron is used to identify the neuron which emits the spike.

Further, the transmitter node 102 generates one or more spiking protocol data units, PDUs, for the obtained spiking data based on one or more of: requirements of the neuromorphic application, transmission properties associated with each spike and an encoding type of the spiking data.

Some examples of the requirements of the neuromorphic application include accuracy, errors, latency requirements of the spikes etc. Some examples of transmission properties associated with each spike comprises an arrival time, an allowed spiking delay, a spiking loss associated with each spike, spiking latency for a group of spikes, a delivery time determined for each spike and a priority level of each spike.

Further, some examples of encoding type of the spikes include rate based encoding and delay based encoding or the like. The one or more spikes of the obtained spiking data is encoded in the one or more spiking PDUs by using the address of the neuron emitting the spike.

Furthermore, the transmitter node 102 transmits data packets comprising the one or more spiking PDUs over a communication channel to the receiver node 104. For example, the one or more spiking PDUs may be concatenated to form the data packets to be transmitted. Various embodiments for transmission of the data packets to the receiver node 104 are explained in conjunction with figures in the later parts of the description.

FIG. 2B discloses the protocol stack of the neuromorphic transmitter node 102. As depicted in FIG. 2B, the neuromorphic transmitter node 102 comprises a stack of layers for transmission of the spiking data. The stack of layers include an application layer 204, a transport layer 206, a User Datagram Protocol (UDP)/lnternet Protocol (IP) layer 208, a Media Access Control (MAC) layer 210, and a Physical (PHY) layer 212. The plurality of layers are arranged from top to bottom in layered architecture such that the application layer 204 is on the top and the PHY layer 212 is at the bottom.

The one or more applications are executed in the application layer 204. In some examples, the one or more applications are related to neuromorphic applications. The neuromorphic application generates the spikes 202 using the neurons (compare with FIG. 1). Some examples of the neuromorphic application comprises an application executed in a neuromorphic or event camera, a neuromorphic control system, skin or touch sensors, robotic arms, or the like. Whenever a voltage generated by a change in intensity reaches the threshold voltage, the neuromorphic application generates a spike. The one or more generated spikes are represented by the spiking data. It should be noted that the spikes generated by the neuromorphic application are the native spike signals. These native spike signals are converted into digital representation which includes an address of each neuron emitting the spike. For example, the native spike signals generated by the neuromorphic application are transcoded to convert the spike native signal into a digital data representation, e.g. the address of the neuron. This transcoding may be performed by some "middleware" entity. In some embodiments, the radio protocol stack may perform the transcoding of the native spike signals to the digital representation that includes the address of the neuron.

Further, the spike(s) are encoded. For example, the transcoded spike(s) which include the address of the neuron are encoded. The spike(s) are encoded using an address of the neuron emitting the spike. The encoding of the one or more spikes may be performed by using one or more methods used for the encoding the spike. For example, the one or more methods used for encoding the spike(s) may include binary representation, rate coding, latency encoding, full temporal encoding or the like. In binary representation, the spiking pattern of a neuron is considered in a time interval. For example, if the neuron fires during a time interval then this time interval is represented by one binary value and if the neuron is not active then this time interval is represented by zero binary value. In rate coding, a number of spikes emitted by the neuron in a certain time interval is determined and coded. In latency encoding, the latency between events until a first spike is encoded. Full temporal encoding encodes the timing information i.e., latency encoding of all spikes.

In some embodiments, encoding of the spike(s) comprises grouping a plurality of neurons emitting one or more spikes. A group address is assigned to each group comprising the plurality of neurons and an intra-group address is assigned to each of the neurons in the group that emits at least one spike. When a neuron emits one or more spikes, a group address associated with the neurons emitting the spikes is determined and also an intragroup address of each neuron in a group that emits at least one spike is determined. Further, the group address, the intra-group address for the neurons emitting the spikes and optionally property of each spike are encoded.

When transmitting a spike, two parts related to the spike are included. The source and/or destination address of a spike and optionally a spike property. Typically, the source neuron address is used and the 'property' part can be empty. This corresponds to a scenario when only the presence of spike matters along with the neuron that emitted the spike. For ratebased encoding the 'property' can be the firing rate, which indicates the number of pikes that are emitted by a neuron in a certain time interval. For latency or full temporal encoding, the property can be time information.

The transport layer 206 receives the generated spiking data which includes the address of each neuron, from the application layer 204. In some examples, the transport layer 206 acts as spiking data aware transport layer. In some embodiments, the transport layer 206 acquires transmission capability and preferences of the lower layers (e.g. MAC layer 210 and PHY layer 212). For example, the transmission capability of the lower layers comprise latency capability, reliability capability, minimum transport block size, maximum transport block size, or the like. The transport layer generates spiking protocol data units, PDUs, for the obtained spiking data. In some embodiments, the spiking-aware transport layer may generate one spiking PDU to include the spiking data. In other embodiments, the spike transport layer may generate multiple spiking PDUs to include the spiking data, for example, based on the transmission capability and preferences of the lower layers. Since, the spiking-aware transport layer is aware of the transmission capability and preferences of MAC transport block and accordingly generates the spiking PDUs, the transport layer avoids creating spiking PDUs which are too large to fit into one MAC transport block. In addition, details on scheduling, link adaption, and possible PHY layer optimizations are provided to MAC transport block.

The IP layer 208 receives the generated one or more spiking PDUs from the transport layer 206. The IP layer 208 may create spiking payload from the one or more spiking PDUs. The MAC layer 210 creates one or more data packets for the one or more spiking PDUs. These data packets are modulated using one or more selected modulation and coding schemes, MCSs. The PHY layer 212 further transmits the one or more data packets to a neuromorphic receiver node.

Figure 3 is a flowchart illustrating example method steps of a method 300 performed by the neuromorphic transmitter node in the wireless communication network for communication of the spiking data representing one or more spikes to the receiver node.

At step 301 the method 300 comprises obtaining the spiking data representing one or more spikes generated by a neuromorphic application. Each spike is associated with an address of a neuron emitting the spike. For example, the neuromorphic application executed at the application layer (Compare with FIG. 2B) generates the spikes using the neurons in the SNN. The neuromorphic transmitter node obtains the spiking data representing one or more spikes generated by a neuromorphic application.

At step 302, the method 300 comprises converting the spiking data into the digital representation comprising an address of each neuron emitting the spike. It should be noted that the spikes generated by the neuromorphic application are the native spike signals. These native spike signals are converted into digital representation which includes an address of each neuron emitting the spike. For example, the native spike signals generated by the neuromorphic application are transcoded to convert the native spike signals into a digital data representation, i.e., into the address of the neuron. This transcoding may be performed by some "middleware" entity. In some embodiments, the radio protocol stack may perform the transcoding of the native spike signals to the digital representation that includes the address of the neuron.

Further, the spike(s) are encoded. For example, the transcoded spike(s) which include the address of the neuron are encoded.

At step 303, the method 300 comprises encoding the one or more spikes in one or more spiking PDUs. The one or more spikes are encoded prior to generating the one or more spiking PDUs. The encoding of the one or more spikes may be performed by using one or more methods used for the encoding the spike. For example, the one or more methods used for encoding the spike(s) may include binary representation, rate coding, latency encoding, full temporal encoding or the like. In binary representation, the spiking pattern of a neuron is considered in a time interval. For example, if the neuron fires during a time interval then this time interval is represented by one binary value and if the neuron is not active then this time interval is represented by zero binary value. In rate coding, a number of spikes emitted by the neuron in a certain time interval is determined and coded. In latency encoding, the latency between events until a first spike is encoded. Full temporal encoding encodes the timing information i.e., latency encoding of all spikes.

In some embodiments, when a plurality of neurons emitting one or more spikes, the plurality of neurons are grouped together. In some examples, the grouping of the neurons may be performed using Address Event Representations, AER, technique. The neuromorphic transmitter node is configured to assign a group address to each group comprising the plurality of neurons and an intra-group address to each of the neuron in the plurality of neurons. For example, each spike may be represented by a combination of the group address and the intra-group address. The group address indicates the address of a group which includes the corresponding spike and the intra-group address indicates the address of individual spike in a group. In order to encode the one or more spikes, a plurality of neurons emitting the one or more spikes are grouped. A group address is assigned to each group comprising the plurality of neurons and an intra-group address is assigned to each of the neurons in the group.

Further, the transmitter node determines a group address associated with the neurons emitting the spikes, an intra-group address of each neuron in a group that emits the spike and optionally a property of each spike emitted from the neuron. For example, the group address, the intra-group address and the property of each spike may be determined. Furthermore, the extracted group address, intra-group address and optionally the property of each spike are encoded.

At step 304, the method 300 comprises generating one or more spiking PDUs, for the obtained spiking data based on one or more of: requirements of the neuromorphic application, transmission properties associated with each spike and an encoding type of the spiking data. The transmission properties comprises one or more of: an arrival time, an allowed spiking delay, a spiking loss associated with each spike, spiking latency for a group of spikes, a delivery time determined for each spike and a priority level of each spike. An advantage with generating the spiking PDUs based on the transmission properties and the requirements of the neuromorphic application is that the spike-based communication is more efficient due to unique and special requirements of the spiking data.

In some embodiments, when it is determined that the one or more spikes can be included in one spiking PDU, the spiking PDU is generated at the transport layer. For example, a size of the spiking PDU is determined based on one or more of: transmission properties associated with the each of the one or more spikes and configured transmission capability associated with the transmitter node. The configured transmission capability is extracted from the lower layers and the size of the spiking PDU is determined based on the transmission capability.

The transmitter node receives the spikes from the application layer via the transport layer and registers an arrival time of the individual spike or a group of spikes. At the transport layer, the number of spikes are buffered up to a pre-determined time interval in the spiking

PDU. In some embodiments, the pre-determined time interval is determined based on delay requirements of the neuromorphic application and encoding type of the one or more spikes. Thus, the spikes are buffered in the spiking PDU up to the pre-determined time interval determined based on the above considered requirements.

The spikes are continued to buffer in the spiking PDU until the spiking PDU is full. The number of spikes to be buffered in the spiking PDU is determined based on one or more buffering characteristics of the spikes and the determined size of each spiking PDU. For example, the buffering characteristics may include but not limited latency of each spike, a priority level of each spike, a priority level for a group of spikes, a time interval of each spike in the buffer since arrival of each spike and a maximum PDU size. In some examples, spikes having low latency requirement may be buffered together in the spiking PDU and spikes having high latency requirement may not be buffered and the spikes having high latency requirement may be transmitted to the receiver node directly without buffering.

In some other examples, the spike or a group of spikes having lower priority may be buffered together and the spike or the group of spikes having higher priority may not be buffered and can be transmitted to the receiver node directly. Thus, the neuromorphic transmitter node is further configured to generate one spiking PDU or multiple spiking PDUs with the determined number of spikes based on the determined size of the one spiking PDU and the one or more buffering characteristics of the spikes.

In some embodiments, when it is determined that the one or more spikes cannot be included in one spiking PDU, the transport layer may generate multiple spiking PDUs. For example, the transport layer determines to generate multiple spiking PDUs when one spiking PDU is not able to accommodate the obtained spikes. Further, at the transport layer, a size of each of the multiple spiking PDUs is determined based on one or more of: delay sensitivity associated with each spike, encoding type of one or more spikes, decoding tolerance of the neuromorphic application, the transmission properties associated with each of the one or more spikes and a size of a radio frame.

At the transport layer, the number of spikes are buffered for a pre-determined time interval in each spiking PDU. The spikes are buffered in each spiking PDU until the spiking PDU is full. The number of spikes to be buffered in each spiking PDU is determined based on one or more buffering characteristics of the spikes and the determined size of each spiking PDU. In some examples, spikes having low latency requirement may be buffered together in one spiking PDU and spikes having high latency requirement may be buffered in another spiking PDU. The spiking PDU which includes the spikes having high latency requirement are to be transmitted before the spiking PDU which includes the spikes having low latency requirement. In some other examples, the spike or a group of spikes having lower priority may be buffered together in one spiking PDU and the spike or the group of spikes having higher priority may be buffered together in another spiking PDU. The spiking PDU which includes the spikes having higher priority is to be transmitted before the spiking PDU which includes the spikes having lower priority. Thus, the transport layer is configured to generate the multiple spiking PDUs with the determined number of spikes.

Further, the transmitter node selects one or more modulation and coding schemes, MCSs, to be used for transmission of data packets as illustrated in the optional step 308 For example, the one or more MCSs may be selected based on one or more of: the encoding type of the spiking data and requirements of the neuromorphic application.

At step 310, the method 300 comprises transmitting data packets comprising the one or more spiking PDUs over a communication channel to a receiver node. The transmission of the data packets is performed at PHY layer of the transmitter node.

The transmitter node obtains one or more spiking PDUs from upper layers to the PHY layer. Further, a size of transport block for the transmission of the one or more spiking PDUs as one or more packets is determined.

There is a trade-off between large transport blocks with many spikes and small transport blocks with few spikes. The large transport block reduces higher layer overhead such as MAC headers but also has higher requirements on successful transmission since in case of an erroneous/lost transport block many spikes get lost. In some examples, instead of using a single large code block that contains all spikes, the transport block is split and encoded into multiple small transport blocks as indicated in FIG. 4. As depicted in FIG. 4, a large transport block 402 may be split and encoded into multiple small transport blocks 406a -

406n. The transmitter node further determine that the size of the one or more spiking PDUs are within the size of the transport block. For example, the size of the one or more spiking PDUs is compared with the size of the transport block.

In some embodiments, when the size of the one or more spiking PDUs is within the size of the transport block associated with the transmitter node, multiple spiking PDUs are concatenated to form a data packet. The data packet is formed in such a way that a size of the data packet does not exceed a size of the transport block.

In another embodiments, when the size of the one or more spiking PDUs exceeds the size of the transport block associated with the transmitter node, each of the spiking PDU is segmented to form multiple data packets. The data packet is formed in such a way that a size of the data packet does not exceed the size of the transport block. Further, the transmitter node encodes the multiple data packets by applying a forward error correction, FEC, coding.

In some examples, the unique properties of spikes are considered in the communication of spiking data in the wireless transmission scheme. Thus, the spiking data can be communicated in the wireless communication network more efficiently.

Further, a transport layer of the transmitter node can control MAC/PHY parameters such that a better transmission scheme can be provided for the communication of the spiking data over the radio resources.

Figure 5 is a flowchart illustrating example method steps of a method 500 performed by a receiver node in the wireless communication network for reception of the spiking data from a neuromorphic transmitter node.

At step 502, the method 500 comprises receiving data packets comprising one or more spiking PDUs from a neuromorphic transmitter node. For example, a PHY layer in the receiver node receives the data packets comprising one or more spiking PDUs from the neuromorphic transmitter node.

At step 504, optionally, the method 500 comprises receiving an indication about the one or more selected MCSs used for transmitting the one or more data packets from the neuromorphic transmitter node. For example, the indication may be received in downlink control information, DCL The indication indicates one or more selected MCSs used for transmitting the one or more data packets. Further, the receiver node identifies the one or more selected MCSs used for transmitting the one or more data packets using the received indication.

At step 506, the method 500 comprises demultiplexing the data packets to obtain the one or more spiking PDUs from the data packets. The data packets are demultiplexed for obtaining the spiking PDUs. The demultiplexing of the data packets is performed using the indication about the one or more selected MCSs received from the neuromorphic transmitter node.

At step 508, the method 500 comprises generating one or more spikes from the one or more spiking PDUs. For example, the receiver node reorders the one or more spiking PDUs and decodes the one or more spikes encoded in the one or more spiking PDUs. When the one or more spikes are decoded from the spiking PDUs, native spike signals are generated and these native spike signals represent the spikes. These spikes are transmitted to the application layer.

Figure 6 is an example schematic diagram showing an apparatus 102. The apparatus 102 may e.g. be comprised in a transmitter node. The apparatus 102 is capable of transmission of the spiking data over the wireless communication network and may be configured to cause performance of the method 300 for communication of the spiking data to a receiver node.

According to at least some embodiments of the present invention, the apparatus 102 in FIG. 6 comprises one or more modules. These modules may e.g. be an obtainer 602, an allocator 604, a controlling circuitry 606, a processor 608, and a transceiver 610. The controlling circuitry 606, may in some embodiments be adapted to control the above mentioned modules.

The obtainer 602, the allocator 604, the processor 608, the transceiver 610 as well as the controlling circuitry 606, may be operatively connected to each other.

It can be mentioned that the allocator 604 may be merged into the processor 608, which may be called a data processor, potentially also covering the controlling circuitry 606. Optionally, the obtainer 602 may be adapted to obtain the spiking data generated by a neuromorphic application. The controlling circuitry 606 may be adapted to generate one or more spiking protocol data units, PDUs, for the obtained spiking data. The allocator 604 may be adapted to select one or more modulation and coding schemes, MCSs, to be used for transmission of data packets. The transceiver 610 may be adapted to transmit one or more data packets comprising the one or more spiking PDUs over a communication channel to a receiver node.

The controlling circuitry 606 may be adapted to control the steps as executed by the transmitter node 102. For example, the controlling circuitry 606 may be adapted to encode the one or more spikes in the one or more spiking PDUs, grouping a plurality of neurons emitting one or more spikes, assigning a group address to each group comprising the plurality of neurons and an intra-group address to each of the neurons in the group that emits at least one spike, determining a group address associated with the neurons emitting the spikes, an intra group address of each neuron in a group that emits at least one spike and optionally a property of each spike emitted from the neuron, determining a size of a spiking PDU, determining a number of spikes to be included in one spiking PDU, generating one spiking PDU and generating multiple spiking PDUs. Thus, the controlling circuitry 606 may be adapted to communicate the spiking data with the receiver node (as described above in conjunction with the method 300 and FIG. 3).

Figure 7 is an example schematic diagram showing an apparatus 104. The apparatus 104 may e.g. be comprised in a receiver node. The apparatus 104 is capable of receiving the data packets and may be configured to cause performance of the method 500 for reception of the spiking data.

According to at least some embodiments of the present invention, the apparatus 104 in FIG. 7 comprises one or more modules. These modules may e.g. be a transceiver 702, an extractor 704, a decoder 706, a controlling circuitry 708, and a processor 710. The controlling circuitry 708, may in some embodiments be adapted to control the above mentioned modules.

The transceiver 702, the extractor 704, the decoder 706, the processor 710 as well as the controlling circuitry 708, may be operatively connected to each other. Optionally, the transceiver 702 may be adapted to receive one or more data packets comprising spiking data representing one or more spikes, from the neuromorphic transmitter node and an indication about the one or more selected MCSs used for transmitting the one or more data packets from the transmitter node.

The extractor 704 may be adapted to extract the spiking PDUs from the one or more data packets.

The controlling circuitry 708 may be adapted to reorder the extracted spiking PDUs.

Further, the decoder 706 may be adapted to decode one or more spikes encoded in the one or more spiking PDUs (as described above in conjunction with the method 500 and FIG. 5).

Figure 8, is graph illustrating accuracy to spike loss rate. The graph shows the digit recognition accuracy vs. spike loss rate for different size SNNs. It can be observed that the accuracy remains high (especially for SNNs with larger neuron numbers) even at very high loss rate (e.g. 50%).

Any appropriate steps, methods, features, functions, or benefits disclosed herein may be performed through one or more functional units or modules of one or more virtual apparatuses. Each virtual apparatus may comprise a number of these functional units. These functional units may be implemented via processing circuitry, which may include one or more microprocessor or microcontrollers, as well as other digital hardware, which may include digital signal processors, DSPs, special-purpose digital logic, and the like. The processing circuitry may be configured to execute program code stored in memory, which may include one or several types of memory such as read-only memory (ROM), randomaccess memory, RAM, cache memory, flash memory devices, optical storage devices, etc. Program code stored in memory includes program instructions for executing one or more telecommunications and/or data communications protocols as well as instructions for carrying out one or more of the techniques described herein. In some implementations, the processing circuitry may be used to cause the respective functional unit to perform corresponding functions according one or more embodiments of the present disclosure.

The foregoing description of the specific embodiments will so fully reveal the general nature of the embodiments herein that others can, by applying current knowledge, readily modify and/or adapt for various applications such specific embodiments without departing from the generic concept, and, therefore, such adaptations and modifications should and are intended to be comprehended within the meaning and range of equivalents of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and not of limitation. Therefore, while the embodiments herein have been described in terms of preferred embodiments, those skilled in the art will recognize that the embodiments herein can be practiced with modification within the scope of the disclosure.

Figure 9 illustrates an example computing environment 900 implementing the method as described in FIG. 3 and FIG. 5. As depicted in FIG. 9, the computing environment 900 comprises at least one processing unit 906 that is equipped with a control unit 902 and an Arithmetic Logic Unit, ALU 904, a plurality of networking devices 908 and a plurality Input output, I/O devices 910, a memory 912, a storage 914. The processing unit 906 may be responsible for implementing the method described in FIG. 3 and FIG. 5. For example, the processing unit 906 may in some embodiments be equivalent to the processor of the neuromorphic transmitter node and neuromorphic receiver node described above in conjunction with the FIGS. 1-8. The processing unit 906 is capable of executing software instructions stored in memory 912. The processing unit 906 receives commands from the control unit 902 in order to perform its processing. Further, any logical and arithmetic operations involved in the execution of the instructions are computed with the help of the ALU 904.

The computer program is loadable into the processing unit 906, which may, for example, be comprised in an electronic apparatus (such as a neuromorphic transmitter node or a neuromorphic receiver node). When loaded into the processing unit906, the computer program may be stored in the memory 912 associated with or comprised in the processing unit 906. According to some embodiments, the computer program may, when loaded into and run by the processing unit 906, cause execution of method steps according to, for example, any of the methods illustrated in FIGS. 3 and 5 or otherwise described herein.

The overall computing environment 900 may be composed of multiple homogeneous and/or heterogeneous cores, multiple CPUs of different kinds, special media and other accelerators. Further, the plurality of processing units 906 may be located on a single chip or over multiple chips.

The algorithm comprising of instructions and codes required for the implementation are stored in either the memory 912 or the storage 914 or both. At the time of execution, the instructions may be fetched from the corresponding memory 912 and/or storage 914, and executed by the processing unit 906.

In case of any hardware implementations various networking devices 908 or external I/O devices 910 may be connected to the computing environment to support the implementation through the networking devices 908 and the I/O devices 910. The embodiments disclosed herein can be implemented through at least one software program running on at least one hardware device and performing network management functions to control the elements. The elements shown in FIG. 9 include blocks which can be at least one of a hardware device, or a combination of hardware device and software module.