Category Archives: Math

Mathematical problems and implementation of math constructs.

Mixing LFSRs

This was a topic of minor importance that came up recently with a college.  LFSR’s have been discussed here in the past.  One of the interesting aspects of LFSR’s is that the XOR of any two (or more) bits within … Continue reading

Posted in Math | Comments Off on Mixing LFSRs

Affine Feedback Shift Register

Several previous articles have focused on linear feedback shift registers.  These are very simple circuits which are very often used for generating “maximal” length sequences, which are sequences of all non-zero values of N bits.  “Maximal” does not include the … Continue reading

Posted in Math | Comments Off on Affine Feedback Shift Register

Linear Regression

Previously, I had written an article about how to use non-orthogonal basis vectors for the modeling of sampled data.  Here I show the same idea, but reformulated as a linear regression problem.

Posted in Math | Comments Off on Linear Regression

Non-Orthogonal Basis Vectors

Transforms and projections are often very useful in gaining useful information about a signal.  The Fourier transform is a very common transform that give some information about the frequency content of a signal.  it is not the only possible transform … Continue reading

Posted in Math | Comments Off on Non-Orthogonal Basis Vectors

Deceptive DDS Tables, Part 2

Generating DDS tables was the topic of a previous post. I decided to go a bit further with my analysis.  I decided to compare the two quarter-table generating methods to see which one had better properties in terms of robustness … Continue reading

Posted in Math | Comments Off on Deceptive DDS Tables, Part 2

Deceptive DDS Tables

The direct digital synthesizer has become a fundamental block in many FPGA based designs.  It is an interesting project to work on, but realistically there isn’t much need to re-write a DDS if you have access to IP from an … Continue reading

Posted in FPGA, Math | Comments Off on Deceptive DDS Tables

Better Pipelined Accumulator

As mentioned in a previous article, there is a better was to perform a pipelined addition or accumulation.  This method works on the ability of an addition to be efficiently broken up across multiple cycles.

Posted in FPGA, Math | Tagged | 1 Comment

Pipelined Accumulators

In digital design, the ultimate bandwidth is determined by a feedback path.  There are a few tricks that can be used to help the situation, but it quickly becomes a losing battle.  This article shows one way to allow pipelining … Continue reading

Posted in FPGA, Math | Comments Off on Pipelined Accumulators

Variable Length Reed-Solomon

Recently, someone had mentioned to me that the thing they liked most about convolutional codes was the ability to just send data in any amount.  With convolutional codes, an internal state determines what encoded bits to send.  This gives close … Continue reading

Posted in Math | Tagged | Comments Off on Variable Length Reed-Solomon

Updated Reed-Solomon Encoder

When I originally wrote my Reed-Solomon encoder, I used the basic polynomial long division method directly.  This made a lot of sense at the time.  It turns out that there is actually a slightly better method.

Posted in FPGA, Math | Tagged , | Comments Off on Updated Reed-Solomon Encoder