Jump to content
IGNORED

Time resolution of digital sampling


Don Hills

Recommended Posts

On 9/27/2020 at 5:08 PM, PeterSt said:

 

Although my filtering is named Arc Prediction, it doesn't need to predict the placement of the (new) samples because remember, it genuinely interpolates. All what happens is that around the original sample (in our case the Dirac Pulse) a predicted path towards the sample emerges as well as a  predicted path after the sample. The original sample can be seen as sitting in the middle.

 

image.png.4e88c46356865317bb923946150ace20.png

 

Is it cubic Hermite spline interpolation ?

Sunday programmer since 1985

Developer of PlayPcmWin

Link to comment
  • 1 month later...


From the observation of zero-crossing timings between two adjacent sample point, when bit depth is increased by 1, number of possible zero crossing positions is increased more than 2x because distant sample point affects zero-crossing timing. And interval of possible zero crossing timings is not regular and it is somewhat unpredictable.

 

When bit depth becomes ₀א, time resolution becomes ₁א ?🤔

 

Sunday programmer since 1985

Developer of PlayPcmWin

Link to comment
34 minutes ago, Speedskater said:

Remember to low pass filter your square wave.

 

It is properly low-pass filtered. Square wave generator does not generate ≧ Nyquist frequency component. Analog wave form reconstruction uses brick wall low pass filter

Sunday programmer since 1985

Developer of PlayPcmWin

Link to comment

Thank you, now I understand a bit more about the following phrase you wrote in OP

 

On 2/21/2020 at 4:56 AM, Don Hills said:

Shannon and Nyquist showed that as long as you keep all components of the input signal below half the sampling frequency, you can reconstruct the original signal perfectly - not just in terms of amplitude, but in terms of temporal relationships too. They only addressed sampling, and assumed infinite resolution in amplitude.

 

 

 

 

 

Sunday programmer since 1985

Developer of PlayPcmWin

Link to comment
  • 1 year later...
On 11/5/2020 at 6:56 AM, Don Hills said:

 

Yes. See the equation in the OP... ☺️

 

It seems the same idea is appeared on Lebesgue integration, fitted simple function series of countable cardinality to be a continuous function because 2^{ℵ0} = ℵ1 of vertical axis cardinality.

Sunday programmer since 1985

Developer of PlayPcmWin

Link to comment
  • 2 months later...
7 hours ago, Hifi Bob said:

There’s a demo here https://github.com/plext/cdtr that’s easy to reproduce.  They take a square-wave sampled at 1GHz, convert to Redbook then back again, and with saturation, the result is identical to the original.

 

I tried it on an Ubuntu machine and it works. So 1 nano-second rather than 55 pico-seconds but impressive nevertheless.

 

Thank you for sharing. Interesting experiment.

 

I tested 1GHz signal test (1.0ns temporal resolution with 44.1kHz 16bit PCM) and it worked. 0.9GHz (1.11ns) and 1.1GHz (0.91ns) succeeded, while 1.2GHz (0.83ns) failed. This is rather the software test of sox than testing actual temporal resolution limit of PCM

 

Also tried 2GHz (0.5ns) and sox crashed (as mentioned on Further Testing of the demo page), it seems lsx_save_samples function tried to read memory address 0 and got SEGV. It seems there are other problems to be fixed to run it correctly.

Program terminated with signal SIGSEGV, Segmentation fault.
#0  lrint32 (input=<error reading variable: Cannot access memory at address 0x0>) at effects_i_dsp.c:607
607         _ _ _ _ _ _ _ _ 0;
(gdb) bt
#0  lrint32 (input=<error reading variable: Cannot access memory at address 0x0>) at effects_i_dsp.c:607
#1  lsx_save_samples (dest=0x55cf341b2e70, src=0x0, n=n@entry=8192, clips=0x55cf34188948) at effects_i_dsp.c:607
#2  0x0000152389781c5b in flow (effp=<optimized out>, ibuf=0x55cf341aae60, obuf=<optimized out>, isamp=0x7ffe2f66fd10, osamp=0x7ffe2f66fd18)
    at rate.c:660
#3  0x000015238976bee1 in flow_effect (n=1, chain=0x55cf34187aa0) at effects.c:257
#4  sox_flow_effects (chain=<optimized out>, callback=0x55cf32c51760 <update_status>, client_data=0x0) at effects.c:449
#5  0x000055cf32c54462 in process () at sox.c:1780
#6  0x000055cf32c4f695 in main (argc=10, argv=0x7ffe2f6700c8) at sox.c:2988
(gdb) quit

 

Sunday programmer since 1985

Developer of PlayPcmWin

Link to comment
  • 3 months later...
On 5/8/2022 at 7:42 AM, danadam said:

 

Yeah, Nyquist-Shannon says the waveform peak timing can be positioned at any real value (any rational values and any irrational values with mathematically exact accuracy) when bit-depth is countable-infinite bit integer, time resolution of digital sampling can be increased up to cardinality of the continuum.

Sunday programmer since 1985

Developer of PlayPcmWin

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...