Data AcQuisition And Real-Time Analysis
Scope - Spectrum - Spectrogram - Signal Generator
Software for Windows
Science with your Sound Card!
The following is from the Daqarta Help system:



Spectrum Analyzer

Signal Generator

(Absolutely FREE!)


Pitch Tracker


DaqMusiq Generator
(Free Music... Forever!)

Engine Simulator

LCR Meter

Remote Operation

DC Measurements

True RMS Voltmeter

Sound Level Meter

Frequency Counter
    Spectral Event

    MHz Frequencies

Data Logger

Waveform Averager


Post-Stimulus Time
Histogram (PSTH)

THD Meter

IMD Meter

Precision Phase Meter

Pulse Meter

Macro System

Multi-Trace Arrays

Trigger Controls


Spectral Peak Track

Spectrum Limit Testing

Direct-to-Disk Recording



Frequency response

Distortion measurement

Speech and music

Microphone calibration

Loudspeaker test

Auditory phenomena

Musical instrument tuning

Animal sound

Evoked potentials

Rotating machinery


Product test

Contact us about
your application!

Timing Shift

Controls: Gen Dlg >> Stream >> Smooth TC >> Shift
Macros: TmShift, TmShiftMod

Note: See the Shifted Binaural Noise ("Revolving Noise") and Shifted Monaural Noise ("Jet Sounds") subtopics of the Monaural and Binaural Beats mini-app for audio demonstrations of Timing Shift in action.

This control shifts the current random generator forward or backward in time. This only has significance if it is a copy of another generator, since it then allows you to time-shift one source relative to another. This is identical to what you would get with a single random generator whose output was fed through a time delay; the output of the delay is a time-shifted version of the input.

Why might you want to do this? One reason might be to obtain "comb-filtered" noise, which results when you add a delayed version of a noise to itself. With white noise, for example, the sum sounds very much like normal white noise. But when you scroll the Shift value (or modulate it; see below) you hear an effect that sounds like a jet plane taking off. The Comb Filtering topic includes a discussion of this "jet sounds" effect.

You will need to set each source's Level to 50%, so that their sum will never exceed the full-scale output limits.

Instead of adding the two streams, you can get the same comb-filtered phenomenon if you set one of the Levels to -50%. (You still need to observe the 50% Level limits.) Now when the Shift delay is 0, you will be subtracting one identical random noise from the other, and the output will be 0. Even a single sample shift either way from this point and the output jumps back up to cover the full-scale range.

Shift works in both directions; you can set negative delays just as easily as positive. And you can change Shift on either or both noise sources... it's only the relative delay that makes a difference.

Of course, another obvious use for shifted noise is to simply give a delayed version of a random stimulus signal, perhaps to simulate an echo. For example, if the two random sources are used as stream modulation sources for AM modulators, the two will track each other with the selected delay.

The Shift value can be given in samples or seconds, depending on the Samples/Seconds button setting. When Timing uses Slow or Step mode, the time per shift step is multipled by the Slow Factor or Step Size. This reflects the fact that there are no new random samples created between the original data points... just interpolated or repeated data.

Also, note some Noise Waves use more random values than others. The White and Band sources only take one value per data sample, whereas Pink takes two. Gauss takes two most of the time, but may occasionally take three for very infrequent output values. This means that you can have White and Band sources that track, or two different Pinks, but you can't have tracking White and Pink, for example, or Band and Pink. And you can't expect Gauss to track with anything but another Gauss that uses a copy of the same random generator.

Shift only applies to the source, not the Band filter, so two different bands of noise can still track perfectly using Shift.

Shift Modulation

The Shift label appears on a pushbutton to the left of the control. The button opens a Timing Modulator dialog that allows the Shift parameter to be modulated, either by a sine wave source with adjustable frequency and phase, or by some other Stream source. You can set the base Shift parameter from that dialog, as well as the modulation depth.

When modulation is applied, the effective Shift value is equal to the sum of the base Shift value plus the modulator scaled by the modulator depth. For example, if the depth is 500 samples and the base Shift is 300 samples, the effective Shift will range from -200 to +800 samples.

Using modulation, you can produce the "jet sounds" of a sweeping comb filter as described above. Set the modulation rate fairly slow, say 0.1 Hz, to allow you to hear the sweep in detail.

The modulator can only change the Shift in integer sample time steps, so when it is changing very slowly you may notice discrete steps.

Macro Notes:

L.1.TmShift=-10 sets the Left Stream 1 Shift to -10 samples. L.1.TmShift=>1 increments the current Shift value by 1 sample, and L.1.TmShift=>-1 decrements it by 1 sample. Only +/-1 steps are allowed.

Note that the value you provide must reflect the current Smpl/sec state. If you use -10 in sec mode it will be interpreted as -10 seconds; if you use -10m in Smpl mode it will be interpreted as -0.010 sample and rounded to zero. To be safe, use a SmplSec command to set the desired mode before using this command.

If the Timing Dialog is open, TmShiftMod=1 opens the Shift Timing Modulation dialog, TmShiftMod=0 closes it, and TmShiftMod=x toggles between open and closed. Note, however, that you do not need to open the dialog to set its controls directly.

See also Random / Step Timing Dialog, Waveform Stream Controls.


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