22.09.2015 Views

of Microprocessors

Musical-Applications-of-Microprocessors-2ed-Chamberlin-H-1987

Musical-Applications-of-Microprocessors-2ed-Chamberlin-H-1987

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

466 MUSICAL ApPLICATIONS OF MICROPROCESSORS<br />

CARRIER<br />

FREQUENCY<br />

CONTROL<br />

r<br />

INCREMENT<br />

ADDRESS<br />

I TABLE I SINE<br />

ADD POINTER TABLE -.<br />

I<br />

LOOKUP<br />

OUTPUT<br />

SAMPLES<br />

INCREMENT<br />

ADDRESS<br />

MODULATION 2 TABLE 2 SINE<br />

FREQUENCY .. POINTER TABLE ~ MULTIPLY ,----<br />

CONTROL<br />

2 LOOKUP<br />

DEVIATION<br />

CONTROL<br />

Fig. 13-25. FM synthesis calculations<br />

power relative to table lookup and Fourier synthesis techniques. In its pure<br />

form, only one table, which contains a sine wave, is required. For each<br />

sample, as few as three additions, two table lookups, and one multiplication<br />

are required. This remains true even when the modulation index is changed<br />

for dynamic timbre variation.<br />

Figure 13-25 is a "block diagram" <strong>of</strong> these calculations, which can<br />

easily be translated into a program or dedicated hardware. Note that, unlike<br />

the analog case, controls for the three variables (carrier frequency, modulation<br />

frequency, and deviation amount) are kept separate rather than combined to<br />

provide the more useful pitch frequency, ratio, and modulation index<br />

controls. Otherwise, the combination calculations would be done for every<br />

output sample, which substantially increases computing effort. Typically,<br />

the more useful "source" controls would be translated into these "object"<br />

controls at a slower control sample rate, which may be one-tenth <strong>of</strong> the audio<br />

rate or less. Flexibility is also increased because the same synthesis routine<br />

could serve for constant deviation or constant modulation index synthesis as<br />

the pitch frequency is varied.<br />

Note that if the carrier frequency is relatively low and the deviation<br />

amount is large, it is possible for table pointer 1 to have a negative increment<br />

specified, i.e., a negative frequency. This is no problem for digital synthesis,<br />

provided signed arithmetic is being used, and simply results in the sine table<br />

being scanned backward. In actual use, it has been found that interpolation<br />

noise in the sine table lookups is much more detrimental in FM synthesis<br />

than in direct table-scanning synthesis. This is because errors in lookup <strong>of</strong>the<br />

modulating wave are compounded when they modulate the carrier wave.<br />

Therefore, either the sine table must be large or linear interpolation in a<br />

smaller table used. One should shoot for at least 16-bit accuracy in the table<br />

lookup results, which means effective table sizes <strong>of</strong> 64K points for no<br />

interpolation or 0.5 to lK for linear interpolation. Since the table content is<br />

fixed as 1 cycle <strong>of</strong> a sine wave, symmetry can be used to reduce table size by a

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!