Memo: TO: DSS task force: Kochhar, Rosing, Olson, Yee From: Rhode 4/17/96
Varieties of DSSs.
There is no one best design for this latest implementation of the stimulus generator. One of the concerns is whether to have a single clock. This is based on our desire to have all timing in the lab be synchronized to a single clock crystal in order to avoid some sticky problems that arise when there are several clocks in the lab.
Some of the above devices may have to use there own clock and be synchronized through the timing system.
However, it is desirable to have all sampling timelocked that is related to the signal being generated. This prevents skew that could develop over long sampling periods. It also keeps the analysis clean.
While our initial objective is to have two signal channel synthesizers we should be open to possible new configurations. Is there any reason to consider N channels of stimulation?
Should the sinewaves be generated as we do now? That is through table lookup or should all stimuli be computed and loaded into a buffer? When we generate complex stimuli we will want to correct for the acoustic calibration. This implies that the individual components have to be scaled and the signal synthesized even if it had only two components.
OTHER: Another possibility is to have a very low cost synthesizer with the complete system on a single low cost card. That is be able to handle the basic set of stimuli including all timing, D/A and attenuation on a single card (two channels). The reason I include this is we would like to be able to have low cost psychoacoustic workstations that could be used by students to conduct simple experiments. This implies the ability to use feedback (a mouse?) to input responses.
An example was the first A/D system that we built. This system had a couple of unique features: the rate generator was not only driven be the same crystal as the DSS but we had a 3 decade counter on the rate generator that let us easily select 2**N samples in proper time intervals, e.g. 1024 samples in 100ms or a sec. This meant we could perform an FFT on the data and have ‘nice’ frequency resolution (1Hz, 10Hz, etc.). Another feature was that we could specify what channels were to be sampled and they did not have to be consecutive. There was a fast scanner that determined what the next channel to be sampled and the A/D ran as fast as it could to minimize time skew between channels. An alternative is to have a separate sample and hold on each channel to effectively have 0 skew.
One area that we came up short on in the last DSS is the user interface. While we had overkill in the first DSS, all times/counts/frequency was displayed for all the DSSs, we have none on the present system. We need to rethink this so that there is more feedback: e.g. elapsed time (it the time is long), the current repetition count, ... We did plan to use a CRT to display DSS status but never got around to it.
An essential part of the new DSS will be antialiasing and reconstruction filters. We have already put together one version for the RM 81 setup using Frequency Devices 8- pole filters. They make a difference.
We never included reconstruction filters because we felt they would likely degrade the performance of the system. We also went for a 524kHz synthesis rate so that the harmonics would be "out of sight" of any animal/device that we were working with. However, in the new system we are likely to want to synthesis speech sounds at a much lower rate (20-80kHz ) and this implies that we would want to switch in a filter. The filter could be programmable for cutoff.
Given this we need to consider the effects of a filter on system performance. Certainly it will degrade from 25bits, but how far? It will also be likely that in certain experiments that some degradation can be tolerated.
Another search of the filter market may be in order.
Another issue concerns the need to drive a speaker. This means some amplification. Is the Crown still the best solution? Are there high power op amps that could do the job? S/N considerations?
If we have the time and energy should we build C. Cherry's zero-distortion amplifier?
Another old issue is whether we could come up with a design for fast/electronic attenuators. There was an old design from Siliconix that claimed that they had a way of using a balanced drive to eliminate distortion. We have the switches buried some where.
Dan Yee tried a power FET approach recently-- his conclusion was that it wasn’t feasible due to the present design of these switches. This should be reviewed an documented so as not to revisit it unless there is a change in the switch design.
We should plan for a phone monitor both in and outside of the sound-proof room. Inside/outside let's plan on a control box that could be used to send commands so that we could vary frequency/level remotely. One could run experiments using the controls.
4/23/96 wsr
One feature of the fast DSP approach should be realtime generation of a core set of signals. One of the motivating factors, though by no means the only one, is that the use of a 25-bit DAC precludes simple table lookup of a sinewave. We need to know what the possibilities are with the floating-point DSP. Are there efficient algorithms in some library that compute sinewaves, AM, FM, noise, etc.? If not what approach do we use to test out the realtime feasibility? A partial lookup table of a sinewave with the old trignometric identities could be used as in DSS ver1.
Keep in mind that we do not have to sustain a 500kHz for all signals, there may be instances when 100kHz or even 40kHz may be adequate. This would allow more complex signals to be generated realtime.
An alternative method of signal synthesis is to use the inverse FFT. What we need to know about this process on the DSP card is 1) speed and 2) are there any limits imposed by the algorithm on the size of the signal that can be synthesized? We would like to be able to handle 64K to 128K at a time.