Having got my Wolfson Audio card working happily with a Raspberry Pi 2, I decided to try and check the frequency response.
As this card is described as a 'audio card' and the only figures I've seen relate to the audible range, I didn't have high expectations regarding its use in my Bat Call Logger.
Anyway, to find the answer, it was just a question of setting up some test gear and running a few checks.
Ideally, in this application the Wolfson card should have a fairly flat frequency response up to (say) 100kHz. I thought this unlikely, as the analogue circuitry was probably limited to the range 20Hz-20kHz, figures which were mentioned in the user documentation.
My initial tests seemed to confirm this, but then I noticed I hadn't changed the sample rate on Audacity.
To test the response I ran the system without the Bat Detector, and used my FG-100 as a signal source connected to the Wolfson 'left' channel line-in.
The scope was used to ensure I had a 1.2V pk-pk input to the sound card at each test frequency. With Audacity sampling rate set to 192kHz, I pressed the 'pause' and 'record' buttons to activate the VU meters.
I then used alsamixer to adjust the Line-in input level. Each channel has both an analogue and a digital gain. I adjusted the analogue gain to about 30-35 to avoid clipping the sine wave, and brought the digital gain up to about 20 so that the Audacity VU meter indicated -6dB with a 10kHz input frequency.
Increasing the frequency up to 40kHz resulted in a small reduction in output. It is difficult to be precise, but I'd say the reduction was no more than 1 or 2dB.
- up to 40kHz, output change < 2dB
- up to 65kHz, output dropped by 6dB
- up to 80kHz, output dropped by 12dB
- up to 95kHz, output dropped by 18dB
According to happy Harry Nyquist, the sampling rate must be greater than twice the highest frequency of interest. Therefore 95kHz is about as high as we can go (i.e. 2 x 95kHz = 190kHz, and sampling rate is 192kHz).
I did a similar frequency response check with the Audacity sample rate set to 44100kHz and found the response was flat all the way up to 22kHz. So I suspect this poor response at a sampling rate of 192kHz is due to basic circuit design.
Just to put these frequency response figures in perspective, if we had a 30kHz bat shouting as loud as a 95kHz bat, the 30kHz bat would be recorded as being 8 times louder!
No wait! Its much worse than that. Taking the frequency response figures for my bat detector amplifier from an earlier post, I see that at 95kHz the output was 9dB below the 30kHz level. That makes the 30kHz bat over 22 times louder than the 95kHz bat!
...and if I could measure the response of my microphone, I'd probably be even more horrified.
Incidentally, there are a few very expensive ultrasonic microphone modules available from Pettersson Elektronik which would probably out perform my crude lashup. They quote a frequency response of 10kHz to 210kHz, but these figures are meaningless because they are not qualified by an amplitude range (e.g. within x dB from y kHz to z kHz).
I carried out a check at 75kHz on the captured waveform. First, this is what the input to the Wolfson looked like;
I captured the output using Audacity with the sample rate set to 192kHz;
I then did a second capture with Audacity set to 384kHz;
So what the hell is going on here? The Wolfson only supports sample rates up to 192kHz. So how is Audacity able to produce an apparently better capture with an invalid sample rate of 384kHz?
I may have to ask this question on the Audacity forum.
With the Wolfson, the other variable/option available is the sample format: either 16 bit, 24 bit or 32 bit.
Given the ugly look of the waveform at 75kHz, I can't see much point in using anything higher than the minimum setting: 16 bit. The higher the bit value, the better the amplitude resolution, but the larger the file size.
However, I expect I'll try a few bat call captures with a higher rate at some point.