Re: [music-dsp] Sampling theory "best" explanation
I second Sampo about giving some more hints about Hilbert spaces, shift-invariance, Riesz representation theorem... etc Correct me if you said it somewhere and I didn't saw it, but an important /implicit/ assumption in your explanation is that you are talking about "uniform bandlimited sampling". Personnally, my biggest enlighting moment regarding sampling where when I read these 2 articles: "Sampling—50 Years After Shannon" http://bigwww.epfl.ch/publications/unser0001.pdf and "Sampling Moments and Reconstructing Signals of Finite Rate of Innovation: Shannon Meets Strang–Fix" https://infoscience.epfl.ch/record/104246/files/DragottiVB07.pdf I wish I had discovered them much earlier during my signal processing classes. Talking about generalized sampling, may seem abstract and beyond what you are trying to explain. However, in my personal experience, sampling seen through the lense of approximation theory as 'just a projection' onto a signal subspace made everything clearer by giving more perspective: * The choice of basis functions and norms is wide. The sinc function being just one of them and not a causal realizable one (infinite temporal support). * Analysis and synthesis functions don't have to be the same (cf wavelets bi-orthogonal filterbanks) * Perfect reconstruction is possible without requiring bandlimitedness! * The key concept is 'consistent sampling': /one seeks a signal approximation that is such that it would yield exactly the same measurements if it was reinjected into the system/. * All that is required is a "finite rate of innovation" (in the statistical sense). * Finite support kernels are easier to deal with in real-life because they can be realized (FIR) (reminder: time-limited <=> non-bandlimited) * Using the L2 norm is convenient because we can reason about best approximations in the least-squares sense and solve the projection problem using Linear Algebra using the standard L2 inner product. * Shift-invariance is even nicer since it enables /efficient/ signal processing. * Using sparser norms like the L1 norm enables sparse sampling and the whole field of compressed sensing. But it comes at a price: we have to use iterative projections to get there. All of this is beyond your original purpose, but from a pedagocial viewpoint, I wish these 2 articles were systematically cited in a "Further Reading" section at the end of any explanation regarding the sampling theorem(s). At least the wikipedia page cites the first article and has a section about non-uniform and sub-nyquist sampling but it's easy to miss the big picture for a newcomer. Here's a condensed presentation by Michael Unser for those who would like to have a quick historical overview: http://bigwww.epfl.ch/tutorials/unser0906.pdf On 27/08/17 08:20, Sampo Syreeni wrote: On 2017-08-25, Nigel Redmon wrote: http://www.earlevel.com/main/tag/sampling-theory-series/?order=asc Personally I'd make it much simpler at the top. Just tell them sampling is what it is: taking an instantaneous value of a signal at regular intervals. Then tell them that is all it takes to reconstruct the waveform under the assumption of bandlimitation -- a high-falutin term for "doesn't change too fast between your samples". Even a simpleton can grasp that idea. Then if somebody wants to go into the nitty-gritty of it, start talking about shift-invariant spaces, eigenfunctions, harmonical analysis, and the rest of the cool stuff. ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] advice regarding USB oscilloscope
hi, AudioPrecision looks nice but it's way over my budget considering that it won't be used on a daily basis. Looking at the specs, the QuantAsylum audio card only seems to have AC coupling (down to 1.6Hz) and their oscillosccope page is a bit short on details. Hacking a soundcard as an oscilloscope could be very convenient since it benefits from all the standard audio softwares and can easily get beyong the 2/4 channels, but it's limited to AC coupling, unless there are soundcards that have DC coupled inputs? AFAIK most only provide DC outputs. Furthermore having to do homemade matched probes and attenuators is not very 'plug and play'. Since bitscope seems to only provide 8-bit ADC, Picoscope is thus very high on my list, in particular the 5000 series. I'm wondering whether their Arbitrary Waveform Generator option is really worth it though. @Andrew I just found a python wrapper based on ctypes https://github.com/colinoflynn/pico-python Thanks for all the feedback! On 08/03/17 12:16, Roshan Wijetunge wrote: Depending on how cheap and improvised you want to go, and how handy you are with basic electronics, you can easily adapt your soundcard to work as an oscilloscope. There are a number of guides on the internet on how to do this, such as: http://makezine.com/projects/sound-card-oscilloscope/ I have used the following variation with good results: - Probe via resistor to mic input of mixer - Mixer line out to line of USB soundcard - Schwa Schope <http://www.stillwellaudio.com/plugins/schope/> plugin running in any DAW host (e.g. Reaper) I used this setup as it utilised components I already had available, and it has proved very useful for debugging audio hardware, being able to trace signals through a circuit as well as biasing amplifier stages in pre-amps. Using the mixer gave me control over input signal range though clearly you have to be careful with gain staging so as not to introduce distortion to the signal. I also improvised a signal generator using a Electro Harmonix Tube Zipper guitar effects pedal. It's an auto-wah type pedal, but you can set the resonance to maximum, sensitivity to zero and it generates a nice clean stable sine wave. Best Regards Roshan On 8 March 2017 at 09:57, Andrew Simper <a...@cytomic.com <mailto:a...@cytomic.com>> wrote: Picoscope make the cheapest 16-bit scopes around (USD 1000), the 16-bit stuff from Tektronix is a lot more expensive (USD 31000 - that's right I didn't accidentally add an extra zero, it's x30 the price). I would recommend using the Picoscope and use Python's easy c bindings to call the Picoscope library functions to do what you want. Cheers, Andy On 7 March 2017 at 22:59, Remy Muller <muller.r...@gmail.com <mailto:muller.r...@gmail.com>> wrote: > Hi, > > I'd like to invest into an USB oscilloscope. > > The main purpose is in analog data acquisition and instrumentation. Since > the main purpose is audio, bandwidth is not really an issue, most models > seem to provide 20MHz or much more and I'm mostly interested in analog > inputs, not logical ones. > > Ideally I'd like to have > > - Mac, Windows and Linux support > > - 4 channels or more > > - 16-bit ADC > > - up to 20V > > - general purpose output generator* > > - a scripting API (python preferred) > > * I have been told that most oscilloscopes have either no or limited output, > and that I'd rather use a soundcard for generating dedicated test audio > signals, synchronizing the oscilloscope acquisition using the soundcard's > word-clock. However not having to deal with multiple drivers and clock > synchronization would be more than welcome. > > A friend of mine recommended using Picoscope which seems well supported, has > a strong user community but no official support for python AFAIK. > > https://www.picotech.com/oscilloscope/5000/flexible-resolution-oscilloscope <https://www.picotech.com/oscilloscope/5000/flexible-resolution-oscilloscope> > > I also found about bitscope http://www.bitscope.com which looks more > oriented toward the casual hacker/maker, seems more open-ended and has > python support, much cheaper too. > > What about the traditional oscilloscope companies like Tektronix, Rigol ? > > Has anyone experience with any of those? or any other reference to > recommend? > > > ___ > dupswapdrop: music-dsp mailing list > music-dsp@music.columbia.edu <mailto:music-dsp@music.columbia.edu> > https://lists.columbia.edu/mailman/listinfo/music-dsp
[music-dsp] advice regarding USB oscilloscope
Hi, I'd like to invest into an USB oscilloscope. The main purpose is in analog data acquisition and instrumentation. Since the main purpose is audio, bandwidth is not really an issue, most models seem to provide 20MHz or much more and I'm mostly interested in analog inputs, not logical ones. Ideally I'd like to have - Mac, Windows and Linux support - 4 channels or more - 16-bit ADC - up to 20V - general purpose output generator* - a scripting API (python preferred) * I have been told that most oscilloscopes have either no or limited output, and that I'd rather use a soundcard for generating dedicated test audio signals, synchronizing the oscilloscope acquisition using the soundcard's word-clock. However not having to deal with multiple drivers and clock synchronization would be more than welcome. A friend of mine recommended using Picoscope which seems well supported, has a strong user community but no official support for python AFAIK. https://www.picotech.com/oscilloscope/5000/flexible-resolution-oscilloscope I also found about bitscope http://www.bitscope.com which looks more oriented toward the casual hacker/maker, seems more open-ended and has python support, much cheaper too. What about the traditional oscilloscope companies like Tektronix, Rigol ? Has anyone experience with any of those? or any other reference to recommend? ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] Allpass filter
sounds like a good candidate for Wiener deconvolution: https://en.wikipedia.org/wiki/Wiener_deconvolution On 07/12/16 13:10, Uli Brueggemann wrote: Hi, I'm searching a solution for an allpass filter calculation with following conditions: There is a given pulse response p with a transfer function H. It is possible to derive a linear phase pulse response lp from the magnitude of H. Now there is an equation p * ap = lp (* = convolution, ap = allpass) Thus ap = lp * p^-1 ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp