Welcome to the Parallax Discussion Forums, sign-up to participate.

- 101.6K All Categories
- 812 Announcements
- 59 Propeller Code
- 24 PASM2/Spin2 (P2)
- 9 PASM/Spin (P1)
- 15 BASIC (for Propeller)
- 61 Forth
- 10 C/C++
- 2.8K Propeller 2
- 27.6K Propeller 1
- 18.9K BASIC Stamp
- 10 micro:bit
- 21.1K General Discussion
- 2K Learn with BlocklyProp
- 8.2K Robotics
- 124 Customer Projects
- 3.3K Accessories

## Comments

13,690You're saying, also, that Sinc3 is a fiction. It's even way better than a Tukey window. It's real. All real. Not fake.

23,1852-bit window are ones, and that information cannot exceed^{n}nbits, no matter how you massage it.Sinc3 and Tukey are certainly legitimate for filtering, if they're applied to ADC-converted numerical data in FIR filter fashion. But you can't expect them to have any legitimacy when applied to a bitstream if you're trying to squeeze more resolution out of it than the original stream supports.

Now, I will agree that if you're trying to smooth data in a 64-bit shift register using one of these filters, it's fine if you output a 6-bit result. But more resolution than that? No way.

-Phil

14,882Yes, real enough, that TI includes 8 Sinc3 filters inside every high end DSP they make...

Designed to talk to external 16(+) bit ADCs, that TI and others make. ( eg http://www.ti.com/lit/gpn/amc1035 )

See http://www.ti.com/lit/ds/symlink/tms320f28378d.pdf

Notice tho, that these filters do have the settling time effects, so they do not multiplex well, which is why TI includes more than 1 (and more than 6 covers 3 phase + supply sense)

It will be good to see the results of an AMC1035 connected to a P2 (FPGA), as that should prove the end to end operation.

2,995I have been wondering about the same thing.

Chip,

Instead of using sine waves and whatnot, why not use some audio recording, some music, and see what it sounds like after the filter. My guess is awful.

23,185Chip, remember the data compression experiment you tried as a kid? What you're trying to do here isn't that much different.

-Phil

13,690It's real.

37423,185In a one-bit deep, 64-bit wide shift register, there are 2

^{64}possible states. But because of the way the data in those 64 bits are generated, any state with, say, 47 one bits is equivalent to any other state with 47 one bits. So there are really only 2^{6}computationally distinct states. But by artificially weighting the individual bits differently, you seem to be allowing for more than 2^{6}distinct states. But this is a fiction introduced by the weighting factors and does not increase the number of real states possible in the data. No matter how you toss it, 2^{6}distinct states will give you 64 distinctly meaningful data values and no more than that.-Phil

14,882Take a look at the AMC1035 data.

With a 21MHz CLK, ....

When used with a digital filter (such as integrated in the TMS320F28004x, TMS320F2807x or TMS320F2837x microcontroller families) to decimate the outputbitstream, the device can achieve ~16 bits of resolution with a dynamic range of 87 dB at a data rate of 82 kSPS.

( an ideal 16b is -96dB )

21M/256 = 82031.25, & TI's curves and data, show ~16b results, from what appears at first glance to be 256 bits, but note it does not get the final result in one 256 pass.

23,185-Phil

12,230You are totally correct that all that is being done is scaling the bit sizes. If looking at just the centre bit-time of the window, it would look like an output of 0 or 256. Nothing in between.

1,441708Are the quantity of ones increasing right now? -that's additional information.

Is it the case that not only the ones are increasing, but in addition right now they are increasing at an increasing rate? -that's yet more information.

13,69012,230I suspect Sinc3 has those properties. And as such also exhibits a faster impulse response.

I don't think the other filters are doing anything more than scaling a window though. For them it all comes down to shape, width, and move distance.

1,441Can somebody do a frequency sweep of the thing and make a plot of ENOB vs. frequency? It should be great at low frequencies and not so great at higher frequencies.

EDIT: Sorry, SaucySoliton has been posting such plots of each filter. Maybe I should stop pretending I know what I'm talking about now and start paying more attention (and not post at 2am).

2,567All the Audio SigmaDelta ADCs and DACS work with a 64 x fs bitclock, so they should only be good for 6 bit resolution. But they can do 16..24 bit depending on the internal digital processing.

I expect a good audio quality from the P2 ADCs, thanks to the Sinc3 filter mode.

Andy

13,690Ariba, how can DACs exploit these concepts. Seems to me that a DAC goes to a value and sits there, or maybe toggles between two adjacent values, in order to get more resolution.

We've got 8-bit DACs. What can we do with them to really boost their resolution in short order? This must be a matter of dithering, but in what way, exactly?

With the right filter, we should be able to get a 1-bit DAC to be CD-quality. But how would it work?

2,567Edit: Because we have already an 8bit DAC, you can do that deltamodulation only for the lowest bit of the DAC and need then only an 8bit comparator and filter.

1,672So: the filter we apply wants to separate a signal from noise. That only makes sense, it we decide in advance what is the signal and what is noise. This knowledge allows us to improve the measurement, so the bits do not come from witchcraft.

On the other hand: we have an incoming bitstream. If we integrate over a given time the result is independent of the order of the single bits, so we lose information. The filters we tested take care of that information by counting in an overlapping way the number of bits in smaller segments, so the information is kept, But it makes no sense to "create" more information than actually exists.

As an result: if you understand the problem, you can find the optimal solution. If you see a signal with a gaussian distributed noise, the best idea is: the noise is created by the signal source to 50% and by the detector to 50%, both of those are gaussian to with a smaller standard deviation (1/sqrt(2))

2,567https://github.com/YosysHQ/yosys-bench/tree/master/verilog/benchmarks_large/sddac

Andy

12,230But this is frequency capped at the trade-off of dither period vs depth extension. The analogue filter is case dependant.

2,99513,690That would be a good test. The accessory boards for the P2 Eval board will cover this. One of them has stereo line-in and line-out RCA jacks, as well as headphone amp and jack, and microphone jack. The RCA's can be used for video, too.

1,235if I repeat myself (but maybe I am totally wrong? - this is how I understand it right now)

All/Most? of the Sigma-Delta-ADC chips you can buy using those Sinc3 filters

are based on

higher orderMODULATORS.The WORK is really done there in the MODULATOR called

.noise-shapingAnd it is not about any noise in the signal, but to reduce the noise introduced by the quantization process itself. The SincN filter is usually? chosen one order higher than the modulator. As a low pass to remove the quantization noise that has been moved to the higher frequencies. But this also means the signal before the filter is inherently noisy, which is not what we see as the assumption below.

What helps smooth out the signal Chip is showing, is the WINDOWING effect

which gives the few first and last bits less value, thus reducing the

created when the 'noise free' signal moves through the shift register.additional noise'noise free' here means your signal is e.g. 8 bits '01111111' continuously repeated. This introduces a 1 bit noise when moving through a shift register which is not a multiple of 8 long. Btw: '01111111' as a sequence is not an 8 bit signal - it is a 3 bit signal ;-).

The weighting of the bits in the windowing filter and then only using the upper bits results in the smoothing effect that Chips scope is showing.

So you are not actually getting a better signal - you are just not adding so much additional noise to it.

my 1 cent

12,230The "noise-shaping" is inherent to any sigma-delta modulator, a key feature is shifting the Nyquist point way up the spectrum to keep it well away from operating frequencies. So, pushing hard for maximum output sample rate on the filters, closing in on the bitstream rate, is also closing the gap to the Nyquist point.

23,185-Phil

13,690You know a sample comes in every clock. The side lobes are symmetrical. The filtering happens as the bits ramp up and ramp down on either side of the plateau. You can look at the scope picture and see that it works. I don't know what greater proof there could be.

12,371The scope picture appears to be several overlapping waveforms.

That's similar to averaging several samples, so not entirely clear.

Looks to be at least one bit of uncertainty there, right?

Be interesting to see a single shot capture.

Maybe it's really 2-bits of uncertainly? Then, 70 bits makes sense...

23,185-Phil