22

These caps are used as "decoupling" capacitors. Even though they appear like they're all next to each other, they will be located (often in pairs) on the circuit board next to power pins of digital IC's. Unlike analog circuitry, a digital circuit uses power in short, fast bursts. All traces or wires have some inductance, which prevents the current from ...


18

I guess it depends on several factors, among others the order of the filter, but you have a few possibilities: Find a signal generator that gets there. These are rather inexpensive nowadays. Trust the math. This is a digital filter and as such it scales with sampling rate. If you can increase the sampling rate by two orders of magnitude you would have a ...


13

Caps are located close to each digital IC, or small set of such ICs, to act as local reservoirs to smooth out the rapidly fluctuating current demands of such ICs. This prevents those rapidly fluctuating currents from causing fluctuating voltages on longer supply wires (PCB traces) and possibly disrupting other chips connected to those supply wires. In some ...


13

I assume for "high speed" you mean a small delay from data collection to the resultant FFT. With a low sample rate, your computational ability isn't the limiting factor, given modern computers. The delay problem lies in having enough data for analysis. If you want your 1Hz bin to be different from DC/0Hz, you have to accumulate enough signal data to capture ...


10

I'm not sure what you're looking at, but you need to understand the exmples you link. None of them use the truth-value within the actual filtering. It's there so you have something to compare to with regard to the filter output. Here is the simple script: import random # intial parameters iteration_count = 500 actual_values = [-0.37727 + j * j * 0.00001 ...


10

One usually needs to acquire multiple samples per waveform period to get good results from an FFT. The Nyquist limit of 2 samples per period is a lower bound but usually 10 samples per period or more is what is practically used. So to analyze a 64Hz signal you probably want to acquire samples at a rate of 640Hz or more. Also (up to a point) you will get ...


10

I would use my Agilent function generator, which goes down to 1\$\mu\$Hz, a fairly unremarkable (and obsolete) Model 33522A. My Rigol DG4102, I think, similarly has 1\$\mu\$Hz resolution and cost less. Unfortunately, you can't get that low with cheap DDS (eg. AD9850) modules because the tuning word is only 32 bits and the clock is typically 125MHz, so that'...


10

Feed forward refers to the direction of the signal flow. For feed forward, the direction is, well, forward :-) I think it is easier to show an example. I know that many "sigma-delta" ADCs (analog to digital converters) use a combination of feedback and feed forward. I found an example of a block diagram of such an ADC here in this article, about Higher-...


9

The main reason that frequency-domain processing isn't done directly is the latency involved. In order to do, say, an FFT on a signal, you have to first record the entire time-domain signal, beginning to end, before you can convert it to frequency domain. Then you can do your processing, convert it back to time domain and play the result. Even if the two ...


8

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 infinite impulse response (e.g. \$h[n] = sinc(n/3)\$, which cannot be expressed as a recursion). And you can have a recursive construction for a FIR filter. But,...


7

This FPGA’s covers a broad range of frequencies at the range of 500KHz to 500MHz. So to keep flat the power supply impedance from msec to nsec, a parallel combination of capacitors of different values in a proper mix is used. The value it is not very critical and usually it is at the range of 0.001μF to 4.7μF, but the combination of values helps to keep ...


7

The word "order" is used two ways in your quotation from wikipaedia: - The alternate Direct Form II only needs N delay units, where N is the order of the filter and This structure is obtained by reversing the order of the numerator and denominator sections of Direct Form I In the first quote "order" refers to the "order" of the filter i.e. 1st ...


6

Your moving average filter is rather inefficient; there's no need to shift the data, nor to calculate the total each time again. Instead of a FIFO implement it as a round robin: *i points to the oldest sample in the list* total -= samples[i] total += new_sample samples[i] = new_sample i = (i+1) mod 8 average = total >> 3 So you replace the ...


6

To answer the question why are Direct Form I and Direct Form II equivalent we need to do a little math. For the Direct Form I Filter \$ y_n = b_0 \cdot x_n + b_1 \cdot x_{n-1} + b_2 \cdot x_{n-2} - a_1 \cdot y_{n-1} - a_2 \cdot y_{n-2} \$ And its transfer function would be written \$ H = \dfrac{b_0 + b_1 \cdot z^{-1} + b_2 \cdot z^{-2}}{1 - a_1 \...


6

You don't need to 'remove the spikes' so much as 'give the right reading'. There are at least two good possibilities for what's happening, and they require different software filters. Then there are bad possibilities, that may require a rethink of the mechanical arrangement. The difference between the two that can be handled in software depends on the ...


6

Option 1: Test on the PC. If your DSP code is written in C, then you can set up a test harness in GCC or Visual Studio. You know the sample rate for your DSP code, so use Excel to generate a test input CSV file, and have your test harness dump a CSV file output which you can check. Option 2: Test on the DSP with a PC interface. If your DSP code has to ...


5

My confusion is arising from coming to know that the window function has its origins in the time domain This is correct. Normally when we talk about a window function we're talking about something that's applied in the time domain. and not the frequency domain and the window function is convolved in time with our main signal to filter it! This is ...


5

You basically squared the signal. If you were sampling properly fast, then the small shift due to multiplying by the next sample instead of the same sample only had minor effect on high frequencies. Squaring a signal is a non-linear operation. The reason it appears to give lower signal to noise ratio is only because your noise was already lower than the ...


5

If you have a D/A converter as well in your DSP system, you could generate this extremely low frequency signal in software an feed it back to your A/D input. Alternatively you could use a D/A Card or USB Adapter to generate the signal. One example of such devices would be LabJack but there are many more with varying price/capabilites out there. Another ...


4

The steep response you want will require a multistage filter. The most commonly used active filter configuration is Sallen–Key topology, which provides two stages per amp using just 2 resistors and 2 capacitors. Various filter responses can be created by varying the component values. Here is an LTSpice simulation of a 4 stage Butterworth high-pass filter ...


4

Rescale it. The filter coefficients should be picked so that they all add up to the 16 bit max value. This should make the max value after the multipliers fit in to 32 bits. Then just truncate the 16 LSBs. In other words, use output[31:16] as the output and pick the filter coefficients do this does not overflow.


3

However you do it — analog domain or digital domain — reducing the bandwdith of the system by a factor of N reduces the noise by a factor of N. Note that we're talking about noise power here, which means that the noise voltage is reduced by a factor of \$\sqrt{N}\$. But you can't reduce the bandwidth to the same value twice; there's no ...


3

No, you can't double-dip like that. While it is true that a lowpass integrating stage that reduces noise bandwidth by a factor of \$N\$ does improve linear SNR by \$\sqrt{N}\$, you cannot simply cascade two stages to get an SNR improvement of \$N\$. Here's why: The SNR improvement from averaging \$N\$ consecutive samples is conditional on the ...


3

Your second "FSM" code has many problems, primarily in the last process — process (current_s, input). Just a few examples to start with: This is an asynchronous process, so you must list all of the signals used inside of it in the sensitivity list. Failing to do this means that the simulation will not match the behavior of the actual hardware. Since ...


3

I'm not sure what you mean by the "midpoint" of a rolloff slope, but it probably isn't relevant anyway. What you generally want is to make the -3 dB points of two adjacent filters (one low-pass and one high-pass) have the same frequency. This means that if you feed that frequency into both filters and then combine the results again, the output will be the ...


3

Such products definitely exist, but it will be difficult for you to find a product which will fit into your project requirements precisely. For an audio frequency digital filters you can check out QuickFilterTech. For higher radio frequencies (>1GHz) Hittite comes to mind. However, if you need to operate in the smaller 10s of MHz range, you will probably ...


3

The graph is clearly showing you separate samples in the time domain, not frequency domain. The X axis is time, and the Y axis is voltage (probably, other parameters, like current could be low pass filtered too, but such signals are overwhelmingly voltage). The vertical bars below each sample are mostly pointless. That's just how they decided to draw the ...


3

Not sure when you say "microchip" if you mean Microchip the company who make PICs, or micro chips (I.E. semiconductors, E.G. microcontrollers). Assuming you mean microcontrollers in general, one nice and easy to create a band pass filter in a microcontroller is to use a PSoC. PSoC stands for Programmable System on Chip, and it consists of: a microcontroller,...


3

A delta-sigma modulator, used in both ADCs and DACs, comprises a difference (delta) circuit that measures the error between the input signal and the feedback signal, followed by an integrator (sigma), a quantizer (often just a comparator that yields one bit of information) and a time-domain sampler. The output of the sampler is fed back to the difference ...


3

The rate of decay of the impulse response only depends on the distance of the poles of the transfer function to the imaginary axis in the \$s\$-plane, i.e. on the real part of the (generally complex) poles. Remember that for a causal and stable system all poles of the transfer function must be in the left half plane (i.e. the real parts of the poles must be ...


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