Method for removing aliasing in wave table based synthesizers
AssigneeTelefonaktiebolaget LM Ericsson (publ)
InventorsUlf Lindgren, Alberto Jimenez Feltström, Thomas Jacobsson
Life of this patent
Estimating the term…
Abstract
A method and apparatus are provided for changing the pitch of a tabulated waveform in wavetable based synthesizers. Harmonics that normally would be aliased before a transposition process are removed by a discrete time low pass filter at the same time that the tabulated waveform is reconstruction and resampling.
Claims23
A method of processing a first discrete time signal, x[n], to generate a second discrete time signal, y[m], wherein the signal x[n] comprises a sequence of values that corresponds to a set of sample points obtained by sampling a continuous time signal x(t) at successive time intervals Ts, the method comprising the steps of:
- storing a windowed function in a look-up table;
- sampling said windowed function to generate a filter function representing a discrete low pass filter having a length based on a predetermined window length parameter L;
- and
- generating a sequence of values, each of the values corresponding to a respective m of the second discrete time signal y[m], wherein each of the generated values is based on a value obtained by computing a convolution sum of values of the first discrete time signal x[n] with said filter function, the convolution sum being computed at one of successively incremented phase increment values multiplied by the sampling interval Ts and corresponding to a respective m value and being centered around a product of the phase increment value and the respective m value.
An apparatus for processing a first discrete time signal, x[n], to generate a second discrete time signal, y[m], wherein the signal x[n] comprises a sequence of values that corresponds to a set of sample points obtained by sampling a continuous time signal x(t) at successive time intervals Ts, the apparatus comprising:
- a look-up table for storing a windowed function;
- logic that samples said windowed function to generate a filter function a sequence representing a discrete time low pass filter havin a length based on a predetermined window length parameter L;
- logic that generates a sequence of values, each of the values corresponding to a respective m of the second discrete time signal y[m], wherein each of the generated values is based on a value obtained by said logic computing a convolution sum of values of the first discrete time signal x[n] with said filter function, the convolution sum being computed at one of successively incremented phase increment values multiplied by the sampling interval Ts and corresponding to a respective m value and being centered around a product of the phase increment value and the respective m value.
A computer-readable medium having stored thereon a plurality of instructions which, when executed by a processor in a computer system, cause the processor to perform acts to process a first discrete time signal, x[n], to generate a second discrete time signal, y[m], wherein the signal x[n] comprises a sequence of values that corresponds to a set of sample points obtained by sampling a continuous time signal x(t) at successive time intervals Ts, the acts comprising the steps of:
- storing a windowed function in a look-up table;
- sampling said windowed function to generate a filter function representing a discrete low pass filter having a length based on a predetermined window length parameter L;
- and
- generating a sequence of values, each of the values corresponding to a respective m of the second discrete time signal y[m], wherein each of the generated values is based on a value obtained by computing a convolution sum of values of the first discrete time signal x[n] with said filter function, the convolution sum being computed at one of successively incremented phase increment values multiplied by the sampling interval Ts and corresponding to a respective m value and being centered around a product of the phase increment value and the respective m value.
Dependencies are inferred from the claim text.