10MSPS ADC needs a separate (presumably parallel) ADC chip and you need a datapath for it too, this is high speed acquisition.
FPGA's are often used once you get to these kinds of speeds as the hardware needed can be...
All pn junctions are photodiodes and LEDs, if the material is transparent at the relevant wavelength, since photons generate
electron-hole pairs and recombination can emit a photon (although the probability for this...
I think you'll need to do some low-pass filtering then. Try an RCRC to start with, that might have enough roll-off and
is very simple. For differential RC filter you have two resistors and one capacitor per stage,...
The logic doesn't look good in linearInterpolation... First you are not dealing with any edge cases, such as when X_old == pTS.x.
Second you are overwriting wave1Values the first time round the loop - you should only...
The default volume is 0.3 and 4 x 0.3 > 1.0 so your mixer output is clipping I think. Try 0.25.
Ah, but I think your oscillators are at 0.3 already so that won't be it....
Ah, looked again, you are setting the...
I'd say should use, not must use :)
For low voltage circuitry many old style opamps are bad news as they require dual rail supplies - a modern
true rail-to-rail audio spec'd opamp is a better choice as only a 5V...
Absolutely not, you'll be driving them into slew-rating limiting which is massively distorting (the feedback loop
completely loses lock). Also the step change in input may destroy the front-end of an audio opamp,...
Inductance is measured in henries, not farads... 33µH perhaps?
If you drive audio amp from a switch-mode supply (not recommended), then make sure its one with an
ultrasonic switching frequency (and beware the sort...
Ah, xyproblem again.
You can't process the output of a class D amplifier in the analog domain as its a digital signal.
First you need to low-pass filter the signal.
The MCP6002 won't do audio, far too slow(*). Its an ultra low power opamp, so the bandwidth and slew-rate are woeful.
Your virtual ground reference network, the two 47k resistors, lacks decoupling, so there'll be...
The PCM1808 datasheet clearly shows the analog supply is 5V and digital 3.3V. If a module doesn't have a separate regulator
on it then both voltages need to be brought into the module.
Its always worth checking the...
The FFT output is always equally spaced frequency bins, nothing you can do to change that, you simply want
to present that information recscaled logarithmically. For each x position map to an actual frequency...
Then you'll need to map your x coord to frequency through an exponential function, and use that to decide which FFT bin corresponds
to that frequency. And you'll probably want to interpolate between bins at the low...
I'm just trying to correct the common misconception about noise-floor measurements using the FFT - its very
rarely appreciated that noise isn't measured the same as a single tone. Noise is measured per hertz, and thus...
Noise floor is measured as power spectral density, that plot is showing the power spectrum w.r.t. the loudest tone, so the
-78dB isn't meaningful as a measure of noise, since changing the FFT number of points will...
These are CMOS isolators, not opto-isolators, so standard CMOS input and output behaviour. Outputs good to 4mA from
what I can tell, fine for any logic input. The WS2812 input is just CMOS logic signal.
Each side...
Well if you don't need well defined phase response IIR filters are probably more straight-forward, and if you need several their coefficient
arrays are _much_ more compact.
For simple frequency analysis an FFT is...
If you followed the forum rule, we might have solved this already. One thing to watch out for is correct block handling
in the update() method, always checking for NULL blocks and releasing each (non-NULL) block after...
Ah, I wasn't expecting a +/-15V preamp and +15V phantom, +48V is standard for phantom power, and a 5V rail to rail preamp would be
more usual in a microcontroller context these days :)
Make them both a few k.
Your phantom power circuit will destroy the mike preamp, you don't have diode clamps to protect it from the 48V phantom-power switch transients.
See the diodes here for instance:...
The way to protect any CMOS chip from overvoltage inputs is the standard resistor + 2 schottky clamps to the power/ground rails.
However the audio shield doesn't include this on the line inputs - and they need to be...
If you use an array of uint8_t for the top 8 bits, and pack the remaining bits into a subsiduary array you allow
faster operations on the 8 MSBs of the data, which might sometimes be useful.
Often for sampled data...
You'd have to edit filter_fir.h to change the #define FIR_MAX_COEFFS to be more than 200.
Note the number of taps needs to be even and 4 or more to work with the ARM fir primitive used in filter_fir.cpp (for T4 at...
Go to the Audio design tool and drag one of the sgtl5000's into the frame, you get all the docs displayed.
(It shows AUDIO_INPUT_LINEIN as the value to use)
You should be using a library that handles speed-ramping (acceleration) for steppers - this is essential to smooth operation
of a stepper. The classic library is AccelStepper but there's the TeensyStep library...
A bleeder resistor to ground on the outputs will ensure the output capacitors get charged up properly and avoid the loud crack/thump
on plugging them into some external amplifier. Something like 10k ought to do it.
...
Both the low-pass and band-pass work perfectly for me on T4.0 + audio adapter. You are using the left channel for the low pass?
Shouldn't make any difference
I'd suggest using sampling and auto-correlation if you can't rely on well-timed edges since auto-correlation is powerful at extracting
signal from noise and doesn't care about phase distortion.
DXF file format is typically used for 2D CAD, such as laser cutters and the like, so that's a candidate.
The open source InkScape tool does SVG and can export to DXF and various other file formats.
I've just been...
If use use Eagle then Sparkfun have a useful gerber-generator CAM script for it, https://github.com/sparkfun/SparkFun_Eagle_Settings/tree/master/cam
Some fab houses will accept Eagle .brd files direct (I think...
What bandwidth do you actually need for this - the nRF24L01 only supports 250k/1M/2Mbaud, so its sensitivity is correspondingly poor.
Sensitivity increases with narrower bandwidth, so if you only need 25kbaud (for...
The speaker driver has to match the speaker enclosure, as they are both resonant systems and couple to each other.
The surroundings are another thing entirely - typical rooms trap lower frequencies so there is a rise...
My approach to this problem is to use photo diode in reverse-biased configuration (the fastest), and use a modified transimpedance
amp configuration using multiple pn-diodes to produce a logarithmic response to the...
There's a rule of thumb for speakers - you can't have all three of these qualities, but at most two of them:
1) small speaker enclosure
2) high power efficiency
3) good bass entension
So the usual answer is...
The standard biquad will do upto 8 poles of arbitrary filtering, don't think there's anything to stop you creating an unstable filter using it, but
offhand I've no idea if it behaves well when clipping (ie whether it...
240mAh is a capacity rating, not a current rating. To figure out if the battery can source enough current
you need to know the current rating.
For many batteries you'll see a C value, indicating the ratio between...
Here's one approach:
First a filter layer to generate extra noteOff and noteOn messages/calls to ensure the live note count is <= 5.
Secondly a standard mapping from notes to oscillators which never has to deal...
no idea where you got that from. FFTs always generate entire spectra.
What frequency resolution do you want? The audio lib 1024-point FFT at 44100 samples/second has a bin size of 43Hz (44100/1024).
For...
That 8 pole bandpass will be very peaky as all the poles are coincident, leaving gaps between the
centre frequencies. It might be an idea to derive standard Butterworth poles if you want a flat-topped
bandpass...
Is this simply a consequence of 16 bit intermediate results in the freeverb object? 16 bits is enough for a signal, but not usually
sufficient for complex processing of signals as quantization/rounding errors...
The FFTs in the audio lib are 256 and 1024 point, locked to the sample rate.
One FFT can do the full frequency analysis, then you would apply different frequency windows on
the results to sum power for each target...
General use, NE5532, great all-round performance, very cheap, although its not the best for a low impedance source. For
low voltage rail-to-rail the situation changes all the time, but anything designed for audio...
That's noisy for a studio mic, 10--15dB is more reasonable. At 1m distance you are in studio conditions, and not being a mobile phone mic - there's
perhaps 20 to 30dB path-loss from moving the mic back that far for...
The voltage levels for the chip's I2C bus look to be for 5V logic, not necessarily reliable at 3.3V, note - this
must be an old design...
Don't forget the input bleeder resistors. I'd add RF filtering on the...
Its possible to sum two PM/FM signals to get SSB (or any QAM modulation)
The average phase of the two phase modulators is selected to match the wanted instantaneous
phase, the cosine of half the phase difference...
the code in AudioPlaySDWav seems to do the right thing on stopping, so should be sending zeroes when not playing,
so the clicks are likely to be the actual samples in the files being offset? Have you looked at them in...
Slightly more advanced you can add a bleed resistor and RF filtering:
The 100pF caps would be ceramic and as close to the input socket/connector as possible - if you have severe
problems with RF break-through the...
It vital to prevent out-of-range voltages hitting any pin - this can instantly destroy the chip, or if lucky just that pin.
And for an ac signal you must level-shift it to midrail to see the whole waveform.
...
Need to see all the changes, not just the highlights. Is there a git branch for this? The declaration of
the variable ph64 is crucial to understanding this code.
BTW you should move the switch outside the loop,...
The MAX4466 is _incredibly_ noisy(*) at 80nV/√Hz, completely not a microphone preamp, but sold as such.
This is the problem with using a micro-power device, the other specifications are usually woeful to reduce
power...
The SGTL5000 is designed for use in a cheap mobile phone - the inputs in particular are lowish quality, and the headphone
amp is a high current circuit that is probably imposing ground currents internally to the chip,...
Two points about modulating volume: firstly the modulation value should be ranging between 0 and 1, ie not going negative,
so using a simple sinusoid centred on 0 isn't right.
Secondly the modulation is ideally...
The audio library is interrupt driven in units of blocks, not individual samples. Out of the box its 128 sample
blocks at 44100 SPS, so about 3ms between interrupts. The library auto-configures one of the DACs or...
Pendulum time keeping is mainly about choosing a material that doesn't expand with temperature for the pendulum so
its length doesn't vary with the seasons and time of day.
Having a good escapement helps too,...
The modulated waveform gets its modulation from a stream, so cannot be set by a call - you can connect a DC object to the stream to do
this however, AudioSynthWaveformDc class has some amplitude methods to set the...
Touch sensors work on stray capacitance (at the pF kind of scale), which is affected by switching as small amounts of
charge get transfered everytime a switch closes. The problem is the stray capacitances are similar...
They are completely unrelated things, so why wouldn't they be completely independent? Every interface on a
microcontroller that's hardware supported is typically independent (other than competing for processor
time...
DC offsets damage speakers - both by overheating and by battering the coil former against the endstop (DC + AC as
in a clipped waveform does this - the DC holds it against the stop, the AC smashes it repeatedly against...
Use Python SoundFile package, python has libraries for almost everything too so exporting as csv is again
just use the right library.
Resampling can be done of course, ie with the scipy.signal library.
For something like this I'd always check with a multimeter and 1k resistor whether the LED already has current limiting
resistor and double check the pin out and polarity (I usually do this for any such component as a...
You might want some RF filtering on the input and a resistor on the opamp output so it can drive long cables without
the risk of oscillation. 1k series 470pF shunt for the input perhaps, and 100 ohms on the output is...
They are just alternative waveforms you select. I'll look at index.html
The issues that hold me back are:
1) is it rock solid and tested
2) does it have too much overhead (memory) to go into standard waveform class...
Whoops! I had a look through the other effects/synth classes for other mistakes like this and couldn't find any
(I didn't do the inputs and outputs as they are quite complex with DMA and have no reason to overwrite...
100k is rather high for a pot, which increases sensitivity to noise pickup and may allow some crosstalk in
the ADC. 10k linear is the go-to value for control pots, and often less than this for critical controls (most...
A couple of things -
adding a resistor of a few k between the opamp output and Teensy pin will protect the teensy pin should it
not be powered up when the opamp is.
The virtual ground circuit places a heavy...
I suggest testing the pull request branch and then feeback here and to the pull request comments. The changes are only on the teensy4 tree
anyway, I don't know what the procedure is for merging across multiple trees...
No, certainly don't use the headphone jack. Its not ground-referenced and the sound quality is lower than the line-outs.
The line-out pads are what you use to send to an amplifier.
I'd advise building the system up bit by bit, so that its easier to diagnose the problems - or adding a debug mixer on
the output that you can temporarily route a node in the graph to to check its working - for...
This typically applies when the power amplifier itself is clipping - in this case the DC offset can be
substantial due to non-symmetric nature of the clipping (very much depends on the amp's internals),
and DC offsets...
I think this is because otherwise you've got an audio stream component that's never been connected, so the program
crashes on a null pointer when its update() is called on it - could be wrong, its been a while since I...