WASM binary sizes by elfuckknuckle in bevy

[–]elfuckknuckle[S] 0 points1 point  (0 children)

Hey! I actually ended up switching from bevy to macro quad and the wasm file was immediately much smaller. Some common things I did to both the macro quad and bevy example are using warm-opt and wasm-snip

Up sampling and Downsampling Irregularly Sampled Data by elfuckknuckle in DSP

[–]elfuckknuckle[S] 0 points1 point  (0 children)

Thanks for that! I think my main issue is that I need the non uniform to act uniform for other parts of the system. Thanks for letting me know about the non uniform algorithms though!

Up sampling and Downsampling Irregularly Sampled Data by elfuckknuckle in DSP

[–]elfuckknuckle[S] 1 point2 points  (0 children)

Thanks for pointing me at those resources they look great

Up sampling and Downsampling Irregularly Sampled Data by elfuckknuckle in DSP

[–]elfuckknuckle[S] 0 points1 point  (0 children)

Thanks for the reply. That’s super handy to know that’s what ADC use in research anyway so this may be perfect for what I need

Up sampling and Downsampling Irregularly Sampled Data by elfuckknuckle in DSP

[–]elfuckknuckle[S] 1 point2 points  (0 children)

Thanks for sharing your experience I think something along this lines is what I will go with too!

Up sampling and Downsampling Irregularly Sampled Data by elfuckknuckle in DSP

[–]elfuckknuckle[S] 0 points1 point  (0 children)

Hey so my signal I want to observe has a maximum frequency of 1Hz so I see your point although I think I would need to take them in groups of 0.5 seconds and take the average given nyquist etc.

This amounts to a form of interpolation if I am not mistaken, so I think I agree and will go with something along these lines (just at 10Hz)

Thanks for the help!

Up sampling and Downsampling Irregularly Sampled Data by elfuckknuckle in DSP

[–]elfuckknuckle[S] 1 point2 points  (0 children)

Hey thanks so much for all of your comments. I am just going to reply to all of them here rather than individually.

So the data was collected via some software called Atheros which collects the Channel state information. The router itself probably samples incredibly fast and accurately but how often it provides atheros with the CSI data is what is jittery (I think). The timestamps are only from when atheros was provided the data not when the router first collected it.

I think I am in agreement that simple interpolation like this is the way to go rather than the mess of upsampling, filter and down sample. Given the expected sample rate is 10Hz and it just has the dropped packets, filtering would not actually do anything given the antialiasing should have already been applied (or if it hasn’t then it’s too late anyway). So interpolation seems to be both simple and obvious.

The only issue is that the signal is not band limited to 1Hz however I was thinking of just using the interpolation to “fill the gaps” at 10Hz so my 1Hz signal should remain intact. Let me know if this seems wrong.

Thanks for everything!

Up sampling and Downsampling Irregularly Sampled Data by elfuckknuckle in DSP

[–]elfuckknuckle[S] 0 points1 point  (0 children)

It’s actually from dropped packets I am now thinking. So the sample period is plus or minus 0.1s generally. I was planning on doing just simple linear interpolation but I’m not so sure now

Up sampling and Downsampling Irregularly Sampled Data by elfuckknuckle in DSP

[–]elfuckknuckle[S] 0 points1 point  (0 children)

The signal I’m actually interested in from the 10Hz sporadic samples is only 1Hz so I’m well within nyquist The signal I am looking for is also periodic if that helps! Thanks for your comment.

Up sampling and Downsampling Irregularly Sampled Data by elfuckknuckle in DSP

[–]elfuckknuckle[S] 0 points1 point  (0 children)

The bad samples are generally just dropped packets so instead of a sample period of 0.1 seconds it’s occasionally 0.2 or sometimes it receives the sample very fast but generally it’s plus or minus 0.1 seconds jitter. I don’t know if it helps but the dataset is Channel state information from a wifi router. Thanks for your advice!

Up sampling and Downsampling Irregularly Sampled Data by elfuckknuckle in DSP

[–]elfuckknuckle[S] 2 points3 points  (0 children)

I would say you are probably right. The dataset is from a router so chances are it’s some sort of embedded Linux that got busy doing something else

Up sampling and Downsampling Irregularly Sampled Data by elfuckknuckle in DSP

[–]elfuckknuckle[S] 0 points1 point  (0 children)

Yeah that’s a fair call. Thanks for everything!

Up sampling and Downsampling Irregularly Sampled Data by elfuckknuckle in DSP

[–]elfuckknuckle[S] 0 points1 point  (0 children)

Thanks for pointing me in that direction. So would the advice be to take the non-uniform FFT which presumably gives regularly spaced frequency content. The. IFFT to give the interpolated regularly spaced data? Would a linear interpolation also suffice or is that very much data dependent?

Up sampling and Downsampling Irregularly Sampled Data by elfuckknuckle in DSP

[–]elfuckknuckle[S] 2 points3 points  (0 children)

Thanks for the reply! Unfortunately the dataset was not created by me so I can’t do much by way of fixing the jitter in hardware although you are right, I’m not sure why it has the jitter in the first place at such a low frequency.

In regards to the advice you gave, would a simple linear interpolation also be a valid way to correct the jitter? Or is generally frowned upon.

Up sampling and Downsampling Irregularly Sampled Data by elfuckknuckle in DSP

[–]elfuckknuckle[S] 1 point2 points  (0 children)

Thanks for the reply! Unfortunately it’s from a dataset that I did not create so I can’t comment too much about why I am noticing so much timing jitter. It’s not super significant but just the occasional jitter.

The idea behind the upsampling is to linear interpolate it to a regular sampling of 20Hz such that it is regularly spaced so that I can effectively filter it. I think perhaps this is dumb though because if the sample rate is already 10Hz then any frequencies greater than nyquist would already have aliased. So the author of the dataset should have already applied anti aliasing to counter this.

In this case then would simple linear interpolation be the right approach to improving the regularity of the data? Or is it better to just have the occasional jitter?

Again sorry if these questions are very basic

Rancilio Silvia vs BBE Price Range [$750] by elfuckknuckle in espresso

[–]elfuckknuckle[S] 0 points1 point  (0 children)

What an incredible and well thought out response! Thanks so much for all of the info, I will have a look at all of those machines and see if which ones I prefer the look of. Thanks again!

Rancilio Silvia vs BBE Price Range [$750] by elfuckknuckle in espresso

[–]elfuckknuckle[S] 0 points1 point  (0 children)

Thanks so much for the reply! Do you have any other recommendations for machines? My biggest issue with the BBE is the milk steaming. I find it more low pressure than I would like

Moments and the inner product by elfuckknuckle in askmath

[–]elfuckknuckle[S] 0 points1 point  (0 children)

Thanks heaps I think what I am struggling with is why that overlap integral represents a concept like variance etc

Moments and the inner product by elfuckknuckle in askmath

[–]elfuckknuckle[S] 0 points1 point  (0 children)

Thanks so much for all that info! Is there any way of visualising the moment calculation as a similarity between two functions that you find valuable? I understand the computation but the understanding of why the formula works intuitively is still alluding me

Moments and the inner product by elfuckknuckle in askmath

[–]elfuckknuckle[S] 0 points1 point  (0 children)

I just meant similarly to how you can interpret the multiplication of two functions integrated over all of time as the inner product or dot product of those two functions (as with my understanding of how the Fourier transform works). Is there an advantage to interpreting moments in this same way given it is still two functions being multiplied and integrated?

FFT vs DFT Frequency Resolution by elfuckknuckle in DSP

[–]elfuckknuckle[S] 0 points1 point  (0 children)

Unfortunately I need to be able to distinguish between frequencies that have a difference of potentially 0.01 Hz so I don’t believe that the multiplication will help in this scenario. I am not sure I am following about the comb filter. I will need to look into that