Thus similar input patterns (ones that have a significant number of active bits in common) will map to a relatively stable set of active columns." If only a few input bits change, some columns will receive a few more or a few less inputs in the “on” state, but the set of active columns will not likely change much. In the Numenta CLA whitepaper page 21 it says "Imagine now that the input pattern changes. There is no obvious visible patterns across these Morse characters, all values look quite different. Web interface: Based on OpenWebRX from Andrs.
#Online sdr based morse decoder code
for SDR visualization of these characters. He uses SDR-Console V3 and the Morse code decoder CwGet.SDR: Covers the 10 kHz to 30 MHz (VLF-HF) spectrum.
These consequent letters and numbers differ from each other only by one "dit" or one "dah". To see better the relationships between SDR and Morse character set I created another SDR map with letters 'EISH5' and 'TMO0' next to each other. The respective character is shown on the right most column. I plotted all active cells (value = 1) per columns 0.4096 for each letters and numbers as displayed in Fig 1. As you calculate the SDR random bits get active on this vector. The Spatial Pooler uses 64 x 64 vector giving SDR of size 4096. This preserves the semantic structure of Morse code that is important from sequence learning perspective. to accomodate 1:3 timing ratio between "dit" and "dah". I created a function that packs "dits" and "dahs" into 36x1 vector, see two examples below. NuPIC requires input vector to be a binary representation of the input signal. Figure 1 below shows the Morse alphabet and numbers 0.9 converted to SDRs.įig 1. I created a Python script that uses Morse code book and calculates Sparse Distributed Representation (SDR) for each character. To learn more how CLA works I decided to start with a very simple experiment. SDR has many advantages over traditional ways of storing memories, such as ability to associate and retrieve information using noisy data.ĭetailed description on how CLA works can be found from this whitepaper. CLA uses Sparse Distributed Representation (SDR) in similar fashion as neocortex in human brain stores information. As the underlying patterns in the data change the CLA adjusts accordingly.
#Online sdr based morse decoder software
This software provides an online learning system that learns from every data point fed into the system. The CLA is constantly making predictions which are continually verified as more data arrives. has developed technology called Cortical Learning Algorithm (CLA) that was recently made available as open source project NuPIC. Morse decoding at the best human performance level would be a good target to test these new algorithms. For example understanding spoken language in noisy environment, walking down a path in complex terrain or winning in CQWW WPX CW contest are tasks currently not feasible for computers (and might be difficult for humans, too).ĭespite decades of machine learning & artificial intelligence research, we have few viable algorithms for achieving human-like performance on a computer. Humans can perform many tasks that computers currently cannot do.