Does the data processing inequality imply determinism?

The data processing inequality states that you cannot extract more information from a signal by processing the data, as compared to when the signal is left intact. This is because every subsequent state of data undergoing transformations can be uniquely determined from the previous state. Conversely, introducing real randomness in the manipulation of data would … Continue reading Does the data processing inequality imply determinism?

A tutorial on non-separable 2D convolutions in Vivado HLS

Operation of the line buffer and window for 2D filtering of an image

While working on my current Master's thesis involving FPGA development, I found that it was hard to find readable examples of intrinsically two-dimensional filters that cannot be simply decomposed into a horizontal and a vertical convolution, in a way that e.g. a Gaussian filter or a Sobel filter can. Non-separable convolutions or filters require you … Continue reading A tutorial on non-separable 2D convolutions in Vivado HLS

Simulating a 7-sided die from a 5-sided die

A.S.: Yep, apparently the singular of 'dice' is 'die'. 😉 A tricky programming task has been floating around the Internet which, as you might have guessed from my attempt at a pragmatic title, can be formalized as follows: Given a function that returns a uniformly random number between 1 and 5 (inclusive), design a function … Continue reading Simulating a 7-sided die from a 5-sided die