646 research outputs found

    Generating and Searching Families of FFT Algorithms

    Full text link
    A fundamental question of longstanding theoretical interest is to prove the lowest exact count of real additions and multiplications required to compute a power-of-two discrete Fourier transform (DFT). For 35 years the split-radix algorithm held the record by requiring just 4n log n - 6n + 8 arithmetic operations on real numbers for a size-n DFT, and was widely believed to be the best possible. Recent work by Van Buskirk et al. demonstrated improvements to the split-radix operation count by using multiplier coefficients or "twiddle factors" that are not n-th roots of unity for a size-n DFT. This paper presents a Boolean Satisfiability-based proof of the lowest operation count for certain classes of DFT algorithms. First, we present a novel way to choose new yet valid twiddle factors for the nodes in flowgraphs generated by common power-of-two fast Fourier transform algorithms, FFTs. With this new technique, we can generate a large family of FFTs realizable by a fixed flowgraph. This solution space of FFTs is cast as a Boolean Satisfiability problem, and a modern Satisfiability Modulo Theory solver is applied to search for FFTs requiring the fewest arithmetic operations. Surprisingly, we find that there are FFTs requiring fewer operations than the split-radix even when all twiddle factors are n-th roots of unity.Comment: Preprint submitted on March 28, 2011, to the Journal on Satisfiability, Boolean Modeling and Computatio

    Ten Quick Tips for Using a Raspberry Pi

    Full text link
    Much of biology (and, indeed, all of science) is becoming increasingly computational. We tend to think of this in regards to algorithmic approaches and software tools, as well as increased computing power. There has also been a shift towards slicker, packaged solutions--which mirrors everyday life, from smart phones to smart homes. As a result, it's all too easy to be detached from the fundamental elements that power these changes, and to see solutions as "black boxes". The major goal of this piece is to use the example of the Raspberry Pi--a small, general-purpose computer--as the central component in a highly developed ecosystem that brings together elements like external hardware, sensors and controllers, state-of-the-art programming practices, and basic electronics and physics, all in an approachable and useful way. External devices and inputs are easily connected to the Pi, and it can, in turn, control attached devices very simply. So whether you want to use it to manage laboratory equipment, sample the environment, teach bioinformatics, control your home security or make a model lunar lander, it's all built from the same basic principles. To quote Richard Feynman, "What I cannot create, I do not understand".Comment: 12 pages, 2 figure

    Transforming numerical feature models into propositional formulas and the universal variability language

    Get PDF
    Real-world Software Product Lines (SPLs) need Numerical Feature Models (NFMs) whose features have not only boolean values that satisfy boolean constraints but also have numeric attributes that satisfy arithmetic constraints. An essential operation on NFMs finds near-optimal performing products, which requires counting the number of SPL products. Typical constraint satisfaction solvers perform poorly on counting and sampling. Nemo (Numbers, features, models) is a tool that supports NFMs by bit-blasting, the technique that encodes arithmetic expressions as boolean clauses. The newest version, Nemo2, translates NFMs to propositional formulas and the Universal Variability Language (UVL). By doing so, products can be counted efficiently by #SAT and Binary Decision Tree solvers, enabling finding near-optimal products. This article evaluates Nemo2 with a large set of synthetic and colossal real-world NFMs, including complex arithmetic constraints and counting and sampling experiments. We empirically demonstrate the viability of Nemo2 when counting and sampling large and complex SPLs.Munoz, Pinto and Fuentes work is supported by the European Union’s H2020 research and innovation programme under grant agreement DAEMON 101017109, by the projects co-financed by FEDER, Spain funds LEIA UMA18-FEDERJA-15, IRIS PID2021- 122812OB-I00 (MCI/AEI), and the PRE2019-087496 grant from the Ministerio de Ciencia e Innovación. Funding for open access charge: Universidad de Málaga / CBUA

    Development of a control system for teleoperated robots using UML nd Ada 95

    Get PDF
    In this paper, a control system in the domain of teleoperated service robots is presented. A reference architecture - ACROSET - has been analyzed and designed following a concurrent object modeling and architectural design methodology (COMET) that uses UML as describing language. The architecture of the whole system has been implemented in a ship’s hull blasting robot - GOYA –using Ada 95 and GLADE. Our previous experience in developing teleoperated service robots using Ada is also presente

    Uniform Random Sampling Product Configurations of Feature Models That Have Numerical Features

    Get PDF
    Analyses of Software Product Lines (SPLs) rely on automated solvers to navigate complex dependencies among features and find legal configurations. Often these analyses do not support numerical features with constraints because propositional formulas use only Boolean variables. Some automated solvers can represent numerical features natively, but are limited in their ability to count and Uniform Random Sample (URS) conigurations, which are key operations to derive unbiased statistics on configuration spaces. Bit-blasting is a technique to encode numerical constraints as propositional formulas. We use bit-blasting to encode Boolean and numerical constraints so that we can exploit existing #SAT solvers to count and URS conigurations. Compared to state-of-art Satisfiability Modulo Theory and Constraint Programming solvers, our approach has two advantages: 1) faster and more scalable coniguration counting and 2) reliable URS of SPL configurations. We also show that our work can be used to extend prior SAT-based SPL analyses to support numerical features and constraints.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech

    Arduino-based low-cost device for the measurement of detonation times in blasting caps

    Get PDF
    The use of equipment such as oscilloscopes, high-speed cameras or acoustic sensors is quite common to measure detonation times from surface connectors and detonators. However, these solutions are expensive and, sometimes, not adequate to use in field conditions, such as mining or civil works. In this regard, a low-cost portable device is designed and tested using the Arduino platform, achieving a simple, robust and precise system to carry out field measurements. This study describes the characteristics and working principles of the designed device, as well as the verifications carried out to check the accuracy of the Arduino ceramic oscillator. Additionally, a field test was carried out using 100 actual detonators and surface connectors to verify the correct operation of the designed equipment. We have designed a device, and a methodology, to measure detonation instants with a minimum accuracy of 0.1 ms, being sufficient to carry out subsequent studies of detonation time dispersion for non-electric detonators.Peer ReviewedObjectius de Desenvolupament Sostenible::9 - Indústria, Innovació i InfraestructuraPostprint (published version

    Current Comparative Table (CCT) automates customized searches of dynamic biological databases

    Get PDF
    The Current Comparative Table (CCT) software program enables working biologists to automate customized bioinformatics searches, typically of remote sequence or HMM (hidden Markov model) databases. CCT currently supports BLAST, hmmpfam and other programs useful for gene and ortholog identification. The software is web based, has a BioPerl core and can be used remotely via a browser or locally on Mac OS X or Linux machines. CCT is particularly useful to scientists who study large sets of molecules in today's evolving information landscape because it color-codes all result files by age and highlights even tiny changes in sequence or annotation. By empowering non-bioinformaticians to automate custom searches and examine current results in context at a glance, CCT allows a remote database submission in the evening to influence the next morning's bench experiment. A demonstration of CCT is available at and the open source software is freely available from

    Behavioural analysis of an I2C Linux driver

    Get PDF
    We present an analysis of the behaviour of an I2C Linuxdriver, by means of model checking with the mCRL2 toolset and static analysis with UNO.We have reverse engineered the source code to obtain the structure and interactions of the driver. Based on these results, we have semi-automatically created an mCRL2 model of the behaviour of the driver, on which we have checked mutual exclusion properties. This revealed non-trivial potential errors, like unprotected usage of shared memory variables due to inconsistent locking and disabling/enabling of interrupts. We also applied UNO on the instrumented source code and were able to find the same errors. These defects were confirmed by the developers
    corecore