89 research outputs found
Hardware Design of Real-Time Neural Signal Generator
Brain Machine Interface (BMI) denominates a collection of systems which interface with the Central Nervous System (CNS). Implementation of a BMI involves the detection, extraction, processing, and translation of the signals from the Central Nervous System. A simulator to generate extracellular recordings is proposed by P.T.Thorbergsson, H. Jorntell, F.Bengtsson, M.Garwicz, J. Schouenborg, A.J Johansson in [1]. The described simulator is available as a script implemented in the numerical computing software "Matlab". To measure the performance of the BMI systems, the Matlab script is needed to be implemented on a Field Programmable Gate Array (FPGA) providing real-time signals. The first stage of the implementation on the FGPA requires a hardware design of the simulator. This report presents the hardware design of the Real-Time Neural Simulator. The Real-Time Neural Simulator the original Matlab script was to be adapted for the hardware design. The adaptation process involved replacing the Matlab closed source signal processing and mathematical functions with hardware implementable algorithms. The performances of these algorithms are successfully verified against the Matlab functions. The Neural Simulator Matlab script is converted from floating point to fixed point implementation and the performance is verified for different word lengths. One of the quantitative measurements for comparison of the output between original script and final fixed point script was the percent of energy difference of the output signal. For a word length of 13-bits with 1 sign, 6 decimal, and 6 fractional bits, the calculated difference is less than 5 percent depicting the strong resemblance between the outputs. Finally the hardware design of the simulator constitutes of interconnected hardware units. At the highest level a "Data Processing Unit" generates the target and the noise recordings, "Controller" enables, disables the processing modules and routes the data between them, and finally the RAM and ROM form the memory units to store the input and processed data
Customisable arithmetic hardware designs
Imperial Users onl
Design Exploration of an FPGA-Based Multivariate Gaussian Random Number Generator
Monte Carlo simulation is one of the most widely used techniques for computationally
intensive simulations in a variety of applications including mathematical
analysis and modeling and statistical physics. A multivariate Gaussian
random number generator (MVGRNG) is one of the main building blocks of
such a system. Field Programmable Gate Arrays (FPGAs) are gaining increased
popularity as an alternative means to the traditional general purpose
processors targeting the acceleration of the computationally expensive random
number generator block due to their fine grain parallelism and reconfigurability
properties and lower power consumption.
As well as the ability to achieve hardware designs with high throughput it
is also desirable to produce designs with the flexibility to control the resource
usage in order to meet given resource constraints. This work proposes a novel
approach for mapping a MVGRNG onto an FPGA by optimizing the computational
path in terms of hardware resource usage subject to an acceptable
error in the approximation of the distribution of interest. An analysis on the
impact of the error due to truncation/rounding operation along the computational path is performed and an analytical expression of the error inserted into
the system is presented.
Extra dimensionality is added to the feature of the proposed algorithm by
introducing a novel methodology to map many multivariate Gaussian random
number generators onto a single FPGA. The effective resource sharing techniques
introduced in this thesis allows further reduction in hardware resource
usage.
The use of MVGNRG can be found in a wide range of application, especially
in financial applications which involve many correlated assets. In this
work it is demonstrated that the choice of the objective function employed
for the hardware optimization of the MVRNG core has a considerable impact
on the final performance of the application of interest. Two of the most important
financial applications, Value-at-Risk estimation and option pricing are
considered in this work
QonFusion -- Quantum Approaches to Gaussian Random Variables: Applications in Stable Diffusion and Brownian Motion
In the present study, we delineate a strategy focused on non-parametric
quantum circuits for the generation of Gaussian random variables (GRVs). This
quantum-centric approach serves as a substitute for conventional pseudorandom
number generators (PRNGs), such as the \textbf{torch.rand} function in PyTorch.
The principal theme of our research is the incorporation of Quantum Random
Number Generators (QRNGs) into classical models of diffusion. Notably, our
Quantum Gaussian Random Variable Generator fulfills dual roles, facilitating
simulations in both Stable Diffusion (SD) and Brownian Motion (BM). This
diverges markedly from prevailing methods that utilize parametric quantum
circuits (PQCs), often in conjunction with variational quantum eigensolvers
(VQEs). Although conventional techniques can accurately approximate ground
states in complex systems or model elaborate probability distributions, they
require a computationally demanding optimization process to tune parameters.
Our non-parametric strategy obviates this necessity. To facilitate assimilating
our methodology into existing computational frameworks, we put forward
QonFusion, a Python library congruent with both PyTorch and PennyLane,
functioning as a bridge between classical and quantum computational paradigms.
We validate QonFusion through extensive statistical testing, including tests
which confirm the statistical equivalence of the Gaussian samples from our
quantum approach to classical counterparts within defined significance limits.
QonFusion is available at
\url{https://boltzmannentropy.github.io/qonfusion.github.io/} to reproduce all
findings here
- …