Digital signal processing method and apparatus

Abstract: Digital signal processing apparatus comprises means (40) for generating a plurality of intermediate digital signals (I₁, I₂, I₃, I₄) from a plurality of input digital signals (A, B), each intermediate digital signal comprising a respective additive combination of the input digital signals, and a signal selector (45, 50) for selecting one of the intermediate digital signals, an output digital signal (P, Q) being dependent on the selected intermediate digital signal.

Description: This invention relates to digital signal processing. Digital signal processing (DSP) functions, such as the mixing of digital audio signals, make use of additive crosspoint matrices to generate output signals by adding selected groups of input signals. A simple example of a previously proposed digital additive crosspoint matrix, in which two output digital signals "P" and "Q" each comprise selected additive combinations of two input digital signals "A" and "B", is shown schematically in the accompanying Figure 1. In the present context an "additive combination" of the signals A and B is a linear summation of zero or more of the signals, and so encompasses the following possibilities: A, B, A+B and 0 (zero). In the circuit of Figure 1, the input signals A and B are supplied in parallel to two pairs of selectors (or gates) 10, 15 and 20, 25. Each of the selectors may be switched on or off by means of a respective selection signal. When a selector is switched on, the signal at the selector's input is passed to its output. A selector which is switched off has a constant output of logical zero. The outputs of the two pairs of selectors are passed to two adders 30, 35, the outputs of which form the signals P and Q. The group of input signals used to generate a particular output signal can be varied under the control of the selection signals. For example, if the selector 10 is switched on and the selector 15 is switched off, the output of the adder 30 (i.e. the output signal P) is (A + 0) = A. Similarly, if both of the selectors 20 and 25 are switched on, the output of the adder 35 (i.e. the output signal Q) is (A + B). The example shown in Figure 1 requires two adders to generate two output signals from two input signals. In general, if the matrix circuit of Figure 1 is extended so that m output signals are generated from n input signals, m(n-1) adders are required. This means that for 8 input signals and 8 output signals the matrix would require 56 adders; for 64 input signals and 64 output signals the number of adders required would be 4032. Because adder circuits are generally more difficult to fabricate (and correspondingly more expensive) than, for example, selector circuits, it is desirable to reduce the number of adders required in implementing a DSP circuit of the type described above. US-A-3 751 650 discloses an arithmetic unit in which a plurality of logical and arithmetical combinations of input signals are generated, with a required output being selected from the plurality of combinations. This invention provides digital signal processing apparatus for generating a plurality of output digital signals each representing a summation of zero or more of a plurality of input digital signals, the apparatus comprising: means for providing at least two discrete pluralities of intermediate digital signals from respective discrete subsets of the input digital signals; and, for each of the output digital signals: (i) a plurality of signal selectors for selecting respective intermediate digital signals from each of the pluralities of intermediate digital signals; and (ii) means for summing the selected intermediate digital signals to generate the respective output digital signal. In a digital signal processing apparatus according to the invention, intermediate digital signals representing various additive combinations of the input digital signals are generated first, with a selection then being made from the intermediate digital signals. In many cases this can reduce the number of adders required to implement a circuit such as a digital additive crosspoint matrix which, as described above, can reduce the fabrication costs of such a circuit. It is envisaged that the output digital signal could simply be identical to the selected intermediate digital signal. Alternatively, some further signal processing could be applied to the selected intermediate digital signal to generate the output digital signal. It is also envisaged that a plurality of signal selectors could be employed, with a corresponding plurality of output signals being generated. Viewed from a second aspect this invention provides a method of generating a plurality of output digital signals each representing a summation of zero or more of a plurality of input digital signals, the method comprising the steps of: providing at least two discrete pluralities of intermediate digital signals from respective discrete subsets of the input digital signals; and, for each of the output digital signals: (i) selecting respective intermediate digital signals from each of the pluralities of intermediate digital signals; and (ii) summing the selected intermediate digital signals to generate the respective output digital signal. The invention will now be described by way of example with reference to the accompanying drawings, throughout which like parts are referred to by like references, and in which: Figure 1 is a schematic diagram of a previously proposed digital additive crosspoint matrix; Figure 2 is a schematic diagram of a digital additive crosspoint matrix; and Figure 3 is a schematic diagram of a multi-stage digital additive crosspoint matrix. Referring now to Figure 2, an example of a digital additive crosspoint matrix circuit is shown in which two input digital signals "A" and "B" are combined to form four intermediate digital signals I 1 , I 2 , I 3 , and I 4 . The four intermediate digital signals represent the four possible additive combinations of the two input signals A and B. In particular, I 1 is generated by an adder 40 and represents the sum of the input signals A and B; I 2 is equal to the input signal A; I 3 is equal to the input signal B; and I 4 is maintained at logical zero. Two signal selectors 45, 50 are each supplied with the four intermediate digital signals I 1 to I 4 . Each of the signal selectors is controllable to select one of the four intermediate signals for output. In the circuit shown in Figure 2, an output signal "P" is selected by the signal selector 45 and an output signal "Q" is selected by the signal selector 50. In Figure 2, addition operations (e.g. the adder 40) are performed first, to generate intermediate signals representing the possible additive combinations of the input signals, before signal selection is performed by the signal selectors 45, 50. This contrasts with the arrangement shown in Figure 1, in which signal selection is performed (by the signal selectors 10, 15, 20, 25) to determine, for each output signal, which of the input signals should be added to generate that output signal. It will be seen that in Figure 2 only one adder 40 is required, whereas in Figure 1 two adders 30, 35 are needed. The signal selectors 45 and 50 in Figure 2 select from a plurality of intermediate signals including the signal I 4 (logical zero). However, if signal selectors having a default output of logical zero were used, the intermediate signal I 4 would not be required. Furthermore, if the apparatus of Figure 2 is connected to subsequent signal processing apparatus, the signal selectors 45 and 50 may form part of the input circuitry of that subsequent signal processing apparatus. Figure 3 is a schematic illustration of a multi stage digital additive crosspoint matrix according to the present invention, in which four input digital signals A, B, C and D are selectively combined to form four output digital signals P, Q, R and S. In Figure 3, not all of the possible additive combinations of the four input signals are generated as intermediate signals in the first instance. Instead, the four input signals are arranged in two groups of two: the signals A and B, and the signals C and D. A set of intermediate signals is generated for each of the two groups, representing all the possible additive combinations of that group. In particular, an adder 55 generates the sum of the input signals A and B. Four intermediate signals representing A, B, A + B and 0 (logical zero) are supplied in parallel to four signal selectors 70. In a similar way, an adder 60 generates a signal representing the sum of the input signals C + D. A second group of four intermediate signals, representing C, D, C + D and 0 are supplied in parallel to four further signal selectors 65. The signal selectors 65, 70 are grouped into pairs, each pair being connected to a respective adder 80. This means that each of the output digital signals P, Q, R and S is generated by a summation of the outputs of one of the signal selectors 65 and one of the signal selectors 70. The signal selectors 65 are individually controllable to select any possible additive combination of the two input signals C and D (including a zero signal) and the signal selectors 70 are individually controllable to select any possible additive combination of the input signals A and B. In this way, a summation of the output of one of these signal selectors 65 and one of the signal selectors 70 can be controlled to comprise any required additive combination of the four input signals A, B, C and D. For example, if an output signal representing a summation of the input signals A, B and D is required, the appropriate signal selector 70 is controlled to select the intermediate signal representing the sum of A and B, and the appropriate signal selector 65 is controlled to select the intermediate signal representing the input signal D. When the outputs of the two signal selectors are combined by the appropriate adder 80, the resulting output signal represents A + B + D. The circuit of Figure 3 requires only six adders 55, 60, 80. This may be contrasted with a circuit of the type shown in Figure 1 for generating four output signals from four input signals, in which case m(n-1) = 4.(4-1) = 12 adders would be required. Furthermore, if a circuit of the type shown in Figure 2 were used, eleven adders would be required. In general, a set of input signals can be divided into k sub-groups, with each output signal being a summation of a selected one of the intermediate signals generated from each sub-group. If the subgroups are denoted by an index i, the number of input signals in each sub-group by w i , and the number of output signals by m, the required number of adders is given by the formula: As an example, the various sub-group arrangements in a circuit for combining four input signals to generate four output signals are listed in the following table: Sub-group 1 Sub-group 2 Sub-group 3 Sub-group 4 No.of adders 2 2 - - 6 3 1 - - 8 2 1 1 - 9 4 - - - 11 1 1 1 1 12 The first row of entries in the table corresponds to the circuit shown in Figure 3, in which the four input signals are arranged in two sub-groups of two signals each. In this case, six adders are required. The fourth row of entries corresponds to a circuit of the type shown in Figure 2, in which intermediate signals corresponding to all possible additive combinations of the input signals are generated in the first instance. In the terminology used above, this would correspond to a single sub-group of four signals. The last row of entries in the table corresponds to a circuit of the type shown in Figure 1, in which selectors are used to select which signals should be added to generate each output signal and in which intermediate digital signals are not used. In this case, the above formula reduces to m(n - 1) = 12, as described with reference to Figure 1 above. The relative merits of various sub-group arrangements can be tested using the above equation, and the most beneficial arrangement selected for use in a particular circuit. Generally the arrangement requiring the fewest adders will be the most beneficial, but in some cases a sub-grouping arrangement requiring more than the minimum possible number of adders may be desirable for ease or symmetry of implementation. Although the embodiments described above employ discrete adders and signal selectors, it will be clear to the skilled man that the invention could equally be embodied using, for example, a programmable logic device or a general purpose computer under suitable software control.

Claims: Digital signal processing apparatus for generating a plurality of output digital signals (P, Q, R, S) each representing a summation of zero or more of a plurality of input digital signals (A, B, C, D), the apparatus comprising: means (55, 60) for providing at least two discrete pluralities of intermediate digital signals (0, A, B, A+B; 0, C, D, C+D) from respective discrete subsets (A, B; C, D) of the input digital signals; and, for each of the output digital signals: (i) a plurality of signal selectors (65, 70) for selecting respective intermediate digital signals from each of the pluralities of intermediate digital signals (0, A, B, A+B; 0, C, D, C+D); and (ii) means (80) for summing the selected intermediate digital signals to generate the respective output digital signal (P, Q, R, S). A method of generating a plurality of output digital signals (P, Q, R, S) each representing a summation of zero or more of a plurality of input digital signals (A, B, C, D), the method comprising the steps of: providing at least two discrete pluralities of intermediate digital signals (0, A, B, A+B; 0, C, D, C+D) from respective discrete subsets (A, B; C, D) of the input digital signals; and, for each of the output digital signals: (i) selecting respective intermediate digital signals from each of the pluralities of intermediate digital signals (0, A, B, A+B; 0, C, D, C+D); and (ii) summing the selected intermediate digital signals to generate the respective output digital signal (P, Q, R, S).

Inventors: KENTISH WILLIAM, KENTISH, WILLIAM
Applicants: SONY CORP, SONY CORPORATION
Application year: 1993
Main classification: G06F7
IPC codes: G06F17, G06F7