Synthesis of time-domain signals using non-overlapping transforms
First Claim
1. A method for synthesizing a time-domain signal comprising:
- partitioning the time-domain signal into a plurality of time-domain frames;
generating a waveform for each of the plurality of time-domain frames, wherein each waveform includes one or more sinusoids, and wherein the generating a waveform includes selecting a sinusoid to synthesize, computing a set of parameter values for the selected sinusoid, determining a frequency-domain template for the selected sinusoid, wherein the frequency-domain template is based on the computed parameter values and a selected window function, and wherein the determined frequency-domain template is such that an amplitude of the selected sinusoid in the time-domain matches, at a time-domain frame boundary, an amplitude of a sinusoid, corresponding to the selected sinusoid, in an adjacent time-domain frame, adding the frequency-domain template to a frequency-domain frame, and transforming the frequency-domain frame to a time-domain frame, wherein the waveform is defined by the time-domain frame; and
generating the time-domain signal using waveforms from the plurality of time-domain frames.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for synthesizing a time-domain signal. The time-domain signal is partitioned into a number of time-domain frames and a waveform in generated for each time-domain frame. Each waveform includes one or more sinusoids. The waveform is generated by selecting a sinusoid for synthesis and computing a set of parameter values (e.g. the start and end amplitude, frequency, and phase values) for the selected sinusoid. A template is determined for the selected sinusoid based on the computed parameter values and a selected window function. The frequency-domain template is such that the amplitude of the selected sinusoid in the time domain matches, at a time-domain frame boundary, the amplitude of a corresponding sinusoid in an adjacent time-domain frame. The template is added to a frequency-domain frame. The process is repeated for each sinusoid in the waveform. After all sinusoids have been processed, the frequency-domain frame is transformed to a time-domain frame. The time-domain frame is re-normalized with a re-normalization function that is generated based on the selected window function. A predetermined number of samples from each end of the time-domain frame can be discarded. The waveform is defined by the non-discarded samples in the time-domain frame. The waveforms from the time-domain frames are concatenated to generate the time-domain signal.
21 Citations
28 Claims
-
1. A method for synthesizing a time-domain signal comprising:
-
partitioning the time-domain signal into a plurality of time-domain frames;
generating a waveform for each of the plurality of time-domain frames, wherein each waveform includes one or more sinusoids, and wherein the generating a waveform includes selecting a sinusoid to synthesize, computing a set of parameter values for the selected sinusoid, determining a frequency-domain template for the selected sinusoid, wherein the frequency-domain template is based on the computed parameter values and a selected window function, and wherein the determined frequency-domain template is such that an amplitude of the selected sinusoid in the time-domain matches, at a time-domain frame boundary, an amplitude of a sinusoid, corresponding to the selected sinusoid, in an adjacent time-domain frame, adding the frequency-domain template to a frequency-domain frame, and transforming the frequency-domain frame to a time-domain frame, wherein the waveform is defined by the time-domain frame; and
generating the time-domain signal using waveforms from the plurality of time-domain frames. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer program product for synthesizing a time-domain signal comprising:
-
an electronic storage unit encoded with code configured to partition the time-domain signal into a plurality of time-domain frames;
code configured to generate a waveform for each of the plurality of time-domain frames, wherein each waveform includes one or more sinusoids, and wherein the code configured to generate a waveform select a sinusoid to synthesize, compute a set of parameter values for the selected sinusoid, determine a frequency-domain template for the selected sinusoid, wherein the frequency-domain template is based on the computed parameter values and a selected window function, and wherein the determined frequency-domain template is such that an amplitude of the selected sinusoid in the time-domain matches, at a time-domain frame boundary, an amplitude of a sinusoid, corresponding to the selected sinusoid, in an adjacent time-domain frame, add the frequency-domain template to a frequency-domain frame, and transform the frequency-domain frame to a time-domain frame, wherein the waveform is defined by the time-domain frame; and
code configured to generate the time-domain signal using waveforms from the plurality of time-domain frames. - View Dependent Claims (24, 25, 26, 27)
-
-
28. A signal synthesizer comprising:
-
an electronic storage unit configured to store values of a spectral pattern corresponding to a sinusoid;
a processor coupled to the electronic storage unit, the processor configured to generate a sequence of waveforms, each waveform corresponding to a time-domain frame and including one or more sinusoids, wherein each time-domain frame is synthesized by;
determining a frequency-domain template for each of the one or more sinusoids, wherein each determined frequency-domain template is such that an amplitude of the sinusoid in the time-domain matches, at a time-domain frame boundary, an amplitude of a corresponding sinusoid in an adjacent time-domain frame, adding the frequency-domain templates to generate a frequency-domain frame, and transforming the frequency-domain frame to the time-domain.
-
Specification