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!

PM Mod Source

Macros: ModSrc, PMsrcDlg

The default modulator is an internal Sine wave, whose frequency and phase you can control. When you click on the Mod Source button, it opens a standard Modulation Source dialog that allows you to select Sine (default) or any lower-numbered stream or combination of streams for Stream Modulation.

The number in parentheses next to each Stream option is its overall stream number. This is a single digit (0-6) that can be used to toggle it via hot-key instead of a mouse click. To select Sine, toggle all Streams off.

On Left Stream 0, Sine is the only option. On Stream 1, you also have the option of selecting Stream 0 as the source. Higher-numbered streams allow all lower-numbered streams, plus all combinations. The Right channel streams are all numbered higher than the Left, so any Right stream can use any and all Left streams.

When more than one stream is selected as the source for a particular modulator, the selected streams are summed together to get the overall modulation. In this case, you should insure that the total of the respective stream Levels does not exceed 100%.

When you select one of the other streams as the Source, the Mod Freq and Mod Phase controls are removed from the current stream. Instead, you would use the main Freq and Phase on the selected modulator stream. The Depth control works normally.

When using Stream Modulation with Multi-Channel Outputs, unlike normal stereo, the modulator stream itself can be used as an output. This can be used to supply a modulation sync signal to an external device.

One not-so-obvious use for phase modulation is in conjunction with an Arb file. For example, the Expnote.DAT file holds, instead of the usual wavetable, several separate tables of values representing various musical note frequencies: The set of all notes on a piano keyboard, the set of just the white keys, just the black keys, etc. The tables are simply arranged one after another in the file, but Arb treats the file as a single circular list; every table thus represents some range of phases around this circle.

If you want to cycle through just one set of these values, or randomly select values from just one set, what you really need is to select values over that particular range of phases. That's a job for phase modulation. You first set the main Frequency to zero, so the output will stay stationary at one particular value. Then set the main Phase to select the desired range. If you now modulate that phase, the output will change under modulator control.

If you use a noise stream as the modulator, you will get random values from within the selected range. Adjusting the Level of noise and the Depth of the phase modulation will control the extent of the selected values within the range. You can set the Arb wave to Round to the nearest table value if you want to avoid interpolated values. That approach is used in the Composer.GEN setup to select only discrete values from the 'black keys' set; if you use Interpolate you will get non-musical notes, as though playing a keyboard "in the cracks".

This same approach can be used to set up various test schedules, for example, which use random selection from within a predetermined set of values.

Macro Notes:

Use the PM. prefix in addition to channel and stream prefixes to specify the modulator for the ModSrc command. The value you supply is a bit map of the streams to be used, where each bit in the value specifies a specific stream. The bit numbers are the same as the overall stream numbers (0-6) shown in parentheses next to each stream in the dialog, as mentioned above.

You can use binary, hexadecimal, or decimal notation. You can specify more than one stream by setting the appropriate bits.

    Sine (default)     b00000000   h00    0
    L.0 Stream  (0)    b00000001   h01    1
    L.1 Stream  (1)    b00000010   h02    2
    L.2 Stream  (2)    b00000100   h04    4
    L.3 Stream  (3)    b00001000   h08    8
    R.0 Stream  (4)    b00010000   h10   16
    R.1 Stream  (5)    b00100000   h20   32
    R.2 Stream  (6)    b01000000   h40   64

For example, L.3.PM.ModSrc=1 will set Left Stream 3 PM/Slope/PWM modulation to use the output of Left Stream 0 (bit 1) as the modulation source. L.3.PM.ModSrc=b11 will set it to use the sum of Left Stream 0 and Left Stream 1, since b11 (decimal 3) is the sum of bit 0 (decimal 1) and bit 1 (decimal 2).

Note that the chosen modulator must be available for the given stream, or else the macro will set Sine. Sine is always available, but only streams lower than the current stream may be used as modulators.

If the PM dialog is open, PMsrcDlg=1 opens its Modulation Source dialog, PMsrcDlg=0 closes it, and PMsrcDlg=x toggles between open and closed. Note, however, that you do not need to open the Modulation Source dialog to set its controls directly, as above.

See also Stream Modulation, Phase / Slope / Width Modulation, PM / Slope / PWM 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