Data AcQuisition And Real-Time AnalysisScope - Spectrum - Spectrogram - Signal Generator
Software for Windows
Science with your Sound Card!
Contact us about
Memory Curves allow macro scripts to create on-the-fly frequency response corrections or modifications of displayed data. For example, a script could use the Daqarta Generator to produce a signal with a known spectrum that is sent to a speaker, while simultaneously monitoring the Input signal from a microphone. The script could then compute the overall system response (which would include both the frequency response of the speaker and the microphone), and create a complimentary Memory Curve that will yield a flat measured response... effectively a Mirror Curve without a file.
A Memory Curve is created from an array of 512 values, the first half of a specified array Buf0 to Buf7. For example, the command Buf0="<=uV1" uploads elements 0-511 of Buf0 to the "Weighting Curve 1" button and labels it "Memory Curve 1". If there was already a file loaded at that position, it is automatically unloaded first. If there was a Memory Curve there, it is simply replaced.
The array values must be in dB relative to a flat response, one value for each spectrum line. Unlike Curve files, there is no specific frequency value paired with each dB value. The dB value is applied to the spectrum line, not to a specific frequency, making the actual frequency a function of the sample rate.
For example, at a sample rate of 48000 Hz the spectral lines are 48000 / 1024 = 46.875 Hz apart. If the uploaded array contains a value of +12.34 in element 10, then spectral line 10 (representing 10 * 46.875 = 468.75 Hz at this sample rate) will be boosted by 12.34 dB in Y-log Spectrum display or Spectrogram mode. If the sample rate is reduced to 24000 Hz, this same line will represent half the frequency; if the sample rate is increased to 96000 Hz the line will represent twice the frequency.
This behavior is different from Curve files, which are recomputed via interpolation from their raw paired frequency and dB values to maintain the same frequency spectrum when the sample rate changes.
Also unlike Curve files, when Daqarta is closed the Memory Curve is not saved; if you want to use it in a future session you must re-run the macro that created it, or, alternatively, the contents of the original array buffer could be saved to a file that can be reloaded to a buffer by a macro in the future session, and uploaded to create the same Memory Curve.
By contrast, the name of a loaded Curve file will be automatically saved when Daqarta exits, and automatically loaded by that name in the next session.
Questions? Comments? Contact us!We respond to ALL inquiries, typically within 24 hrs.
Over 35 Years of Innovative Instrumentation
© Copyright 2007 - 2023 by Interstellar Research
All rights reserved