# More about designing with Embedded DSPs

For your convenience, collected here is an archive of Design and Product How-To articles that have been posted on line at EET/Embedded.com about designing with Digital Signal Processors (DSPs). For broader issues relating to algorithm development and implementation in
hardware or software, you should also check out the__ __*EET/Signal
Processing DesignLine.* I am constantly updating this list, so check back occasionally to see what's new: **2010**

DSP Tricks: Computing inverse FFTs using the forward FFT

Two neat ways to compute inverse Fast Fourier Transforms using the forward FFT algorithm.

DSP Tricks: Approximate envelope detection

Some useful tricks for computing approximate envelope detection, useful in estimating signal magnitudes in automatic gain control.

DSP options to accelerate your DSP+FPGA design

Before embarking on a high-performance DSP system design, it would pay to evaluate the DSP solutions portfolio offered by the different silicon vendors. This article explores some typical DSP solutions.

How to achieve 1 trillion floating-point operations-per-second in an FPGA

ed on recent technological developments, high-performance floating-point signal processing can, for the very first time, be easily achieved using FPGAs.

The basics of DSP for use in intelligent sensor applications

In this three part series, the basic framework is described for using digital signal processing in analyzing and processing analog data gathered by intelligent sensors. Part 1: Foundational DSP concepts.

Digital Lowpass: A filter by any other name is still a filter

Understand the realization of an analog filter in digital domain, using an FPGA

The Need for Variable Precision DSP Architecture

FPGAs with variable-precision DSP block architecture are the only programmable devices that can efficiently support many different precision levels including floating-point implementations. This DSP architecture enables the next-generation of high-precision and high-performance signal processing applications.

Increasing bandwidth in industrial applications with FPGA co-processors

This article discusses the general issues of moving part, or all, of a DSP industrial application onto an FPGA using system software design tools. Using an FPGA and automated design software, design engineers have the ability to optimize system performance in ways not possible with a traditional DSP. **2009**

Using a scheduled cache model to reduce memory latencies in multicore DSP designs

Freescale engineers describe a new software mechanism " the scheduled cache model " and the supporting hardware that reduce the need for DMA programming and synchronization to achieve high core utilization, relying on hardware mechanisms (some controlled by software) to increase cache efficiency.

Analysis of Microchip's PIC32 library

With the 32-bit MIPS 4K core, Microchip is now competing with the ARM juggernaut so offering optimized DSP libraries for the PIC32 is a good strategy. BDTI's Jeff Bier examines the library, in particular he looks at how it stacks up against ST Micro's ARM Cortex-M3-based STM32 library offering.

Floating a new (DSP) idea

Floating point (FP) DSP architectures have been around for a long time and are notable for their raw performance versus fixed point. However, TI Principal Fellow Gene Frantz 'floats' the possibility of a new architecture that could quadruple a floating pointer's performance. What do you think?

PRODUCT HOW-TO: Complex matrix inversion on the StarCore SC3850 DSP

Complex matrix inversion is used in LTE, WiMAX, and other communication applications. Here's how to do efficient 4x4 complex matrix inversion on the StarCore SC3850. Source code and a MATLAB reference model are included.

PRODUCT HOW-TO: DSP/FPGA platform for video surveillance

Avnet's video surveillance platform pairs a TI DM6437 DaVinci DSP with a Xilinx Spartan-3A DSP FPGA. here's how the platform works, and how to get the most out of it.

Analysis: ST's low-cost MCU gets DSP software

BDTI examines ST's new library of DSP software for its low-cost ARM microcontroller, the STM32. The library includes a speech codec, FIR and IIR filters, a PID controller, and an FFT.

2008

DSP Tricks: Frequency translation using decimation

Here is a tip on how to do freguency translation using decimation.

Analyzing DSP networks with Mason's Rule

Here is an easy way to obtain the z-domain transfer function of a DSP network (DSP block diagram)

The math of DSP: Part 5 - Orthogonality

Explained is the concept of orthogonality and the concept of quadrature signals is introduced.

The math of DSP: Part 4 - Convolution, Fourier and Nyquist

Explained are the details of convolution and Fourier series calculations and the Nyquist sampling theorem

The math of DSP: Part 3 - Filters

The basics of low-pass and high-pass filsters and an explanation of the concept of causeality.

DSP Tricks: DC removal

Some tips on block data DC removal, real time DC removal and real time DC removal with quantization.

The math of DSP: Part 2 - Complex numbers

Topics covered are real and imaginary numbers, periodic signals, digital frequencies and discret arithmetic.

The math of DSP: Part 1 - Series, integration and frequency

The basic math for DSP, including polynomials, transcendentals, series, limits, integration, polar notation and frequency.

DSP Tricks: Efficient polynomial evaluation

Here are some tips on on efficial polynomial evaluation

Analysis: Freescale's six-core DSP

BDTI examines Freescale's new six-core DSP chip, the MSC8156, which targets wireless base stations.

Combining DSP and MCU operations in computationally complex time-critical apps

A Product How-To on using the Fujitsu 91470 MCU/DSP combo for digital filter apps that evaluate systems states and carry out fast loops

What's your sine?

A new approach to direct digital frequency uses a combination of lookup tables and trig identities that lends itself to more efficient implementation on DSPs.

DSP Tricks: Smoothing impulsive noise

Some tips on smoothing impulsive noise by using a technique originally used to detect microampere changes in milliampere signals.

Optimizing video analytics on a DSP

Here's how to implement both video compression and analytics on a single DSP. Topics covered include algorithm, memory and code optimization.

Speeding up the CORDIC algprothm with a DSP

When a CORDIC algorithm is implemented on a DSP, can the multipliers improve CORDIC performance?

DSP Tricks: Interpolating a bandpass filter

Some tips on interpolating a bandpass signal

Architecture oriented C optimization techniques: Part 2 - Memory and more

How to optimize C for memory alignment, cache features, endianness and application specific instructions.

Architecture oriented C optimization techniques: Part 1 - DSP features

Here is how C optimizations can take advantage of zero overhead loop mechanisms, hardware saturation, modulo registers and more.

Implement dual OS signal processing with Linux and the DSP/BIOS RTOS

In mixed signal DSP/GPU environents use a system virtual machine to run both Linux and the DSP/BIOS RTOS concurrently on the same DSP processor.

DSP Tricks: Interpolating a bandpass signal

Some tips on the interpolation of a bandpass signal.

DSP Tricks: Spectral leak location algorithm

A useful way to estimate the frequency of a sinusoid or the center frequency of a very narrowband signal..

Using programmable logic for efficient and effective DSP design

With an FPGA front-end that allow access to the latest I/O technology, as well as IP blocks for the latest standards, designers have flexibility to choose the right interfaces without making changes to the DSP software.

Asynchonous DSPs: Low power, high performance

An acynchronous DSP offers better power, performance and reliability than one based on standard synchronous logic, enabling simpler and less expensive PCB and power supply design.

DSP system design: Part 2 - Critical design choices

How to choose hardware and software architectures, how to choose an RTOS and how algorith and I/O libraries impact the development process.

DSP system design: Part 1 - The basic laws

Ten laws that yout can use to guide DSP system developing including such topics as economies of scale and experience effect, DSPs vs. FPGAs, fixed- vs. floating-point and RTOSes and algorithm libraries.

Signal processing on the MIPS 74K

BDTI evaluates the signal processing features of MIPS high performance superscalar core, the 74k.

DSPs versus FPGAs for multiprocessing

Here's whats available for high performance multiprocessor systems and how to make the best choice between DSP, FPGA or a hybrid of the two.

Avoiding noise and EMI problems in DSP systems

Noise and EMI can disrupt the operation of a DSP system or cause the design to fail FCC certificqtion. Here is how to avoid these problems with PCB layou and return path coupling.

Modulation roundup: error rates, noise and capacity

A comparison of various digital signal modulation schemes such as BPSK, QPSK, PAM, 16PSK, 32PSK, 16QAM and 64QAM using a variety of metrics.

DSP Tricks: Computing FFT twidle factors

Some useful tricks for computing Fast Fourier Transform twiddle factors.

DSP Tricks: Building a practical spectrum analyzer

Some tricks for implementing a spectrum analyzer by modifying the time-domain data before applying a radix-2 FFT algorithm.

Frequency domain toutorial: Part 2 - Complex signals and spectral diagrams

Building on the basics introduced in Part 1, this article introduces the concept of quadrature (complex) signals and explains the nature and notation of the spectral diagrams used in DSP.

Freguency domain tutorial: Part 1 - Dealing with ambiguity

What you need to know about the mathematics and notation of FFTs and the discrete frequency domain, starting with how to deal with discrete signal ambiguities.

Speaker equalization using FIR filters

Pros and cons of using FIR filters for speaker equalization versus DSP-, MCU- and FPGA-based approaches.

DSP Tricks: A/D conveter testing techniques and finding missing codes in ADCs

Some tricks for using DSP techniques to test A/D converters and some tips on how to detect missing codes in ADCs.

Symbol error rate for M-QAM modulation

Krishna Pillai shows how to calculate the error rate for modulation schemes such as QPSK, 16-QAM, 64-WAM and provides a MATLAB/Octave scripts for computing symbol error rate.

Making design choices between DSPs and FPGAs

Design guidelines on how to choose between DSPs and FPGAs or a combination of the two taking into account device cost, performance, NRE and availability of application-specific features.

Multirate DSP: Part 3 - ADC oversampling

The principles of oversampling in analog to digital converters and how to apply these to a signal-delta ADC.

Multirate DSP: Part 2 - Noninteger sampling facors

How to change the sampling rate by a noninteger factor as well as multistate decimation and polyphase filters as will as application of up/down sampling to a CD player application.

DSP Tricks: Reducing A/D converter quantization noise

How to use oversampling and dithering to reduce analog to digital conversion quantization noise.

Multirate DSP: Part 1 - Upsampling and downsampling

Part 1 introduces the concepts of multirate signal processing, explaining how to upsample and downsample by an integer factor. MATLAB code included.

How to implement DSP algorithms using the Spartan-3E FPGA starter board

This "How-to" is an excerpt from "Embedded Design using Programmable Gate Arrays"

## Loading comments... Write a comment