Hot answers tagged

66 votes

How can the GPS position update rate be 10 Hz?

50 bps is indeed the bitrate at which the almanacs and ephemerides are transmitted. Given the size of this data as well as framing and other overhead, it takes far more than 0.1 seconds (and more than ...
nanofarad's user avatar
  • 18.1k
23 votes

Writing DSP algorithms directly in C or assembly?

If the compiler writers put some effort into optimizing it for that target, it will at least make some use of the special DSP instructions / architecture. But for ultimate performance it will never ...
pericynthion's user avatar
  • 6,164
21 votes

Writing DSP algorithms directly in C or assembly?

Premature optimization is the root of all evil. - Donald Knuth When you find that you don't get enough performance from your code, profile your program first, find the bottlenecks, analyze your ...
Nick Alexeev's user avatar
  • 37.8k
21 votes
Accepted

Writing DSP algorithms directly in C or assembly?

It's always better to have your algorithm implemented in a higher-level language (which C is compared to assembly), even if you plan to implement everything in assembly in the end. chances are, you ...
Dmitry Grigoryev's user avatar
18 votes

Writing DSP algorithms directly in C or assembly?

Your DSP will be advertised with a maximum sustained MACs, assuming all the pipes are filled. That is obviously an upper limit to what can be achieved. You know how many MACs your filters and other ...
Neil_UK's user avatar
  • 159k
18 votes
Accepted

What is the "Nyquist" rate for sampling the derivative of a signal?

Taking a derivative (or an integral) is a linear operation — it doesn't create any frequencies that weren't in the original signal (or remove any), it just changes their relative levels. So the ...
Dave Tweed's user avatar
  • 169k
14 votes

Why is a signal that is finite in time domain, infinite in its frequency domain?

Many texts prove that a signal cannot be both time limited and bandlimited. It is quite a deep result and depends on complex analysis, but the shortest proof I know starts with a bandlimited signal \$...
Tesla23's user avatar
  • 3,083
11 votes
Accepted

what really are: Microcontroller (uC), System on Chip (SoC), and Digital Signal Processor (DSP)?

uC = a stand-alone processing chip: CPU, RAM, ROM, some peripherals. DSP = processor chip (can be a separate CPU, nowadays mostly a uC) that is optimized for signal processing. Often has fast MAC (...
Wouter van Ooijen's user avatar
11 votes

Were mask ROMs with stock contents ever sold? or why not?

Character generator ROMs with 5x7 ASCII codes were certainly sold. One example was the Signetics 2513, a rather nasty and sluggish P-MOS chip requiring three supply rails. OTP and UV-erasable ...
Spehro Pefhany's user avatar
10 votes
Accepted

Uniform Linear Array (ULA) beamwidth and angular resolution using FFT

Theoretical Derivation The antenna electric field pattern of array antenna consists of isotropic radiator can be given by where N is the number of antenna elements d is the spacing between antenna ...
Zeeshan's user avatar
  • 293
9 votes
Accepted

FSK demodulation using DSP

A very simple but elegant approach to demodulate FSK is a delay and multiply. (Followed by a simple low pass filter). This is a non-coherent FM detector using the principal that the output of a ...
Dan Boschen's user avatar
8 votes
Accepted

Distinguishing between FIR and IIR filters from transform function

First, note that FIR/IIR is not the same as non-recurrent/recurrent (where recurrent means that the output depends on previous inputs and previous outputs). You can have a non-recurrent filter with ...
Juancho's user avatar
  • 917
8 votes

Is there an efficient way for synchronising audio events real-time with LEDs using an MCU?

I am not fond of encoding command data as an analog signal in a digital file. I think I would try something like encoding the lighting commands as text blocks in the lyrics block of the ID3 ...
JRE's user avatar
  • 67.8k
8 votes
Accepted

Trying to implement a digital IIR filter why is this happening?

It looks you already found the first bug: https://arm-software.github.io/CMSIS_5/DSP/html/arm__biquad__cascade__df1__f32_8c.html the function needs float arrays not int arrays By fixing this you just ...
Hilmar's user avatar
  • 2,015
8 votes

What's importance of finite state machines (FSM) with respect to embedded systems implementation?

A FSM is a structured method of constructing a sequential machine. The machine can only exist in a fixed number of discrete states - ie ‘finite state’. FSMs can be formally proven for correctness. ...
Kartman's user avatar
  • 5,950
7 votes

Writing DSP algorithms directly in C or assembly?

Even though I answered this question already, I will add another answer to illustrate a different viewpoint: Write in C, read in assembly! So, instead of writing in assembly, you will write the ...
juhist's user avatar
  • 1,563
6 votes
Accepted

On what condition does Harmonic components of power generated in 50/60 Hz Grid Generators depend on?

It could be the generator, but it's more likely to be the type of loads being driven. A simple rectifier/capacitor DC supply draws current only around the peaks of the supply voltage waveform, ...
Neil_UK's user avatar
  • 159k
6 votes

Very big matrix multiplication in FPGA

This looks like a case of premature optimization. Start by implementing your algorithm iteratively, and see how fast it performs. Then you'll know exactly how much faster you need to make it, and ...
Dmitry Grigoryev's user avatar
6 votes

Running DSPIC33FJ64GP802 at high temperature

Thanks for everyone's good suggestions. It turns out that there are two versions of silicon for this chip, and the earlier version is only rated to 140 Celsius. Sheesh. This is noted in the "errata ...
John Birckhead's user avatar
6 votes
Accepted

Is there an efficient way for synchronising audio events real-time with LEDs using an MCU?

Using an auxiliary DSP for decompression may make this difficult unless you limit yourself to constant bitrate files - if you need high time accuracy of the light events you may need to account for ...
Chris Stratton's user avatar
6 votes

Is there an efficient way for synchronising audio events real-time with LEDs using an MCU?

I once developed an application in which arbitrary events could be triggered by audio watermarks embedded in the sound. You could play the sound through tinny unamplified computer speakers at one end ...
Dave Tweed's user avatar
  • 169k
6 votes

Guitar to MIDI conversion

There isn’t enough information in 10 mS of sampled audio to reliably tell the difference in frequency between a low E and a low F or D# notes. 10 mS is barely more than 1 full pitch cycle at those ...
hotpaw2's user avatar
  • 4,731
6 votes
Accepted

Difference CPU, ASIP, DSP

"ASIP" is not a term the industry bothers to use. The similar-sounding "ASIC" (application specific integrated circuit) basically means any piece of specialized IC design that isn't a general purpose ...
pjc50's user avatar
  • 46.6k
6 votes

Digital signal processing vs. analog signal processing for a 100kHz DAQ project

ADCs usually need an anti-aliasing filter, otherwise frequencies above Fs/2 will alias to frequencies below Fs/2. For example if your sampling frequency is 48kHz and there is no anti-alias filter, a ...
bobflux's user avatar
  • 70.8k
6 votes

Noise power v.s noise amplitude

When adding uncorrelated signals, it is the average power rather than the average amplitude that adds up as a statistic measure, even though the momentary value at any point of time is added non-...
user107063's user avatar
  • 2,664
6 votes

Noise power v.s noise amplitude

Why is amplitude not important? It is important but, when incoherent noise sources come together (i.e. add in the time domain), the only thing that can be said is that their individual powers add ...
Andy aka's user avatar
  • 436k
5 votes

What is the meaning of my fourier transform results?

The first entry [1] in the FFT is your fundamental, but the zeroth entry [0] is DC! A standard FFT will have the same number of output samples as input samples, and they will all be complex. The ...
Neil_UK's user avatar
  • 159k
5 votes

Are TI TMS320C6x and TI TMS320C2x compatible?

There is a big difference between C6000 and C2000. Mainly, C6000 is a DSP (very high speed, starting from 456 MHz) and, as it is a DSP, it's more focused on signal processing. C2000 is more like a ...
Andrejs Gasilovs's user avatar
5 votes

256-point FFT, but only need 5-6 frequencies, is there a better way?

If you wanted 1 or 2 frequencies, the Goertzel algorithm would be a clear winner. If you wanted several dozen, then the FFT would be a clear winner, even after throwing away most of the resultant ...
Neil_UK's user avatar
  • 159k
5 votes

When can FPGA's be used and Microcontrollers/DSPs not?

One answer that isn't here is Data Acquisition. If you would like to use a ADC to sample a signal (for example, a RF signal) at 200Mhz and process it, a microcontroller is simply not going to be able ...
stanri's user avatar
  • 5,352

Only top scored, non community-wiki answers of a minimum length are eligible