The default sample rate is 48Khz. And for most applications of Daisy, the often quoted upper bound of hearing, 20Khz, is probably irrelevant, also.
I do wonder where your 100Mhz noise comes from.
The default sample rate is 48Khz. And for most applications of Daisy, the often quoted upper bound of hearing, 20Khz, is probably irrelevant, also.
I do wonder where your 100Mhz noise comes from.
No kidding? I just figured since the codec can run at 96KHz that would be the default.
Thanks for the heads up.
My plan was to go 96KHz unless the application would run out of memory. Mainly to keep waveform edges as clean as possible, to that end I am using a Bessel filter. Certainly 48KHz is fine for most applications as you point out. But part of this is also just putting Daisy through it’s paces.
I figured the 100MHz was some internal clock of the PCM, but it’s not out of the question that it is something in my environment. I am currently working on a breadboard so noise does tend to creep in.
FYI, here is a quick test of 48KHz vs 96KHz.
I am just doing the pass-though example using a 1KHz squ wave but added a pin test on power up, if high the system will run at 96, otherwise 48. The output LPF is unchanged so it is not exactly apples to apples but close enough. The 96KHz (green) has less overshoot and ripple is double freq of 48KHz.
Nice to see it is as expected.
Here is the code if anyone else wants to play around with sample rate.
#include <string.h>
#include "daisy_seed.h"
using namespace daisy;
using namespace daisy::seed;
DaisySeed hw;
static void Callback(AudioHandle::InterleavingInputBuffer in,
AudioHandle::InterleavingOutputBuffer out,
size_t size)
{
memcpy(out, in, size * sizeof(float));
}
int main(void)
{
//
GPIO srPin;
hw.Init();
srPin.Init(D0, GPIO::Mode::INPUT, GPIO::Pull::PULLDOWN);
if (srPin.Read()){
hw.SetAudioSampleRate(SaiHandle::Config::SampleRate::SAI_96KHZ);
}
hw.SetAudioBlockSize(4);
hw.StartAudio(Callback);
while(1) {}
}
As expected, though for typical applications, not as important as conserving CPU cycles.
good point. although, having scanned some of libDaisy & DaisySP there is room for improvement in that dept.
I just had a similar experience with the Rev 7 Seed, with a large increase in the noise level compared to the Rev 5. I just put a single-pole R/C filter at ~48KHz and it did help dramatically.
Also, I was just reading the datasheet for the PCM3060, and it needs a 5-volt analog supply, so depending on where/how that is being done on the Rev 7, I wonder if using a LDO on the 5-volt supply pin to the Seed would help, and/or supplying it with 5.5 if there’s a 5-volt LDO on the board (though it can be powered as low as 4.5 volts, so perhaps the Seed does that?). It would be nice to have a more complete Rev 7 schematic…
Edit: just measured the voltage and resistances (let’s hear it for big chips with probe-able pins!) and it looks like its’ being powered by a separate 4.5 volt regulator.
As usual, a real schematic would be nice.