When signals are transmitted wirelessly, over a conductor, or through an optical fiber, gaps in the signal data can often occur when the signal drops out or is briefly lost for various reasons, causing distortion and loss of information in the received signal. Various techniques can be employed to estimate and fill-in relatively short gaps in the signal. For example, if the signal includes gaps of a few milliseconds (ms), conventional interpolation techniques, such as the approach developed by R. Veldhuis, can be used to estimate the signal content to fill-in the short term gaps. However, these techniques fail to provide acceptable results when the duration of the gaps is too great, e.g., more than about 100 ms. The type of information being conveyed by the signal can also impact on the ability to fill in a longer gap in a signal. For example, gaps in a signal conveying music can more readily be interpolated than gaps in human voice transmissions, due to the greater variability of human speech.
It is difficult to fill-in longer duration gaps because a full bandwidth signal can vary so much more during the longer interval. One approach developed by Drori et al. for filling in longer gaps is to map the signal into the time-frequency space using the short-time Fourier transform and to divide the overall frequency of the time-frequency signal into separate overlapping frequency bands that are partitioned in time. Each frequency band is filled in by matching fragments of the signal, and a synthesized result is reconstructed. Gap filling proceeds by matching patterns of complex time-frequency fragments to the overlapping regions of existing data from the input and synthesized signal based on magnitude and phase and is performed separately in each frequency band, while maintaining coherence between overlapping bands. An overlap-addition method is used to blend together fragment boundaries to form a coherent output signal from which the gap is removed. The dependence of this algorithm on pattern matching can limit its effectiveness and accuracy.
Accordingly, it would be desirable to provide a better approach for filling gaps in signals, such as digital audio signals, where the gaps are more than 100 ms in duration. The approach should provide a reasonably accurate estimate of the missing signal information and should, for some uses, be sufficiently efficient to implement in real time.
A method has thus been developed for filling in a gap in an input signal, wherein the gap corresponds to missing information that was originally included with the input signal. The method includes the step of dividing the input signal into a plurality of subbands. Each subband includes a subband signal with a different range of frequencies than other subbands and has a bandwidth substantially less than that of the input signal. Each of the plurality of subband signals is demodulated to produce a pair of signals, including a carrier signal and a modulator signal. The carrier signal and the modulator signal comprising each pair of signals are then separately interpolated to fill in the gap in each carrier signal and in each modulator signal comprising each subband signal, forming interpolated subband signals. The interpolated subband signals are then remodulated to combine the interpolated signals for each pair, producing modified subband signals. Finally, the modified subband signals are recombined to produce an interpolated output signal in which the gap is filled-in.
The gap in the input signal can be up to about 250 milliseconds in duration. This approach also fills in shorter gaps, but much of its value lies in its ability to fill-in the longer gaps in an input signal.
In at least one exemplary embodiment, the step of dividing the input signal into the plurality of subbands includes the step of processing the input signal with a filterbank that implements short-time Fourier transforms. Appropriate windows are chosen for analysis and synthesis to produce the plurality of subbands. The bandwidth and location of each subband is selected so that no more than one carrier is included within the subband signal.
The step of recombining the modified subband signals can include the step of applying an inverse short-time Fourier transform to the modified subband signals to produce the interpolated output signal.
When demodulating each of the plurality of subband signals, the carrier signal is detected in a subband signal. The subband signal is then divided by the carrier signal to determine the modulator signal for the subband. The step of dividing the subband signal can include the step of multiplying a complex conjugate of the carrier signal for the subband by the subband signal to determine the modulator signal for the subband signal. In one exemplary technique, the step of detecting the carrier signal includes using a sliding M-point window to obtain sequential short-time segments of the subband signal. A length of the sliding M-point window corresponds to an interval of time during which an instantaneous frequency of the subband is expected to remain constant. A spectral center-of-gravity for the sliding M-point window is then determined, and a phase of the carrier signal for the subband is determined.
The step of interpolating the modulator signal for a subband can include down sampling the modulator signal for the subband. A gap interpolator is then applied to the modulator signal that was down sampled to provide an interpolated down sampled modulator signal, and the interpolated down sampled modulator signal is up sampled to produce an interpolated modulator signal.
There are two exemplary approaches that can be employed for interpolating the carrier signal. In one approach, a relatively long instantaneous frequency detection window is selected during the step of demodulating, so that the instantaneous frequency detection window is longer than the gap. As a result, the instantaneous frequency detection window implicitly interpolates the carrier signal by averaging the instantaneous frequency detection window over the gap. In the other exemplary approach, the carrier signal is interpolated by interpolating an instantaneous frequency signal of the carrier signal, instead of directly interpolating the carrier signal. This step produces an interpolated instantaneous frequency signal, and an interpolated carrier signal can then be determined from the interpolated instantaneous frequency signal.
Another aspect of this novel approach is directed to a memory medium on which machine readable and executable instructions are stored. These machine instructions enable functions that are generally consistent with the steps of the method discussed above to be implemented.
Yet another aspect of this technology is directed to a system for filling in a gap in an input signal, wherein the gap corresponds to missing information that was originally included with the input signal. The system includes a memory in which are stored machine executable instructions, an interface that accesses the input signal in which the gap has occurred, and a processor that is coupled to the memory and to the interface. The processor executes the machine executable instructions to carry out a plurality of functions that are also generally consistent with the steps of the method discussed above.
This Summary has been provided to introduce a few concepts in a simplified form that are further described in detail below in the Description. However, this Summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Various aspects and attendant advantages of one or more exemplary embodiments and modifications thereto will become more readily appreciated as the same becomes better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:
Exemplary embodiments are illustrated in referenced Figures of the drawings. It is intended that the embodiments and Figures disclosed herein are to be considered illustrative rather than restrictive. No limitation on the scope of the technology and of the claims that follow is to be imputed to the examples shown in the drawings and discussed herein.
There are three main components of an interpolation technique used in an exemplary embodiment that is employed to fill-in gaps in data of a signal, even when the gaps are longer than 100 ms in duration. These three components are a perfect-reconstruction filterbank; a coherent demodulator; and a signal interpolator. Each of these components is described in detail below.
The first step in the interpolation process is to separate the input signal x[n] that includes the gaps with missing data into subbands xk[n], as indicated in a functional block diagram 10 in
A block 14 labeled “Modification” in
Given a subband xk[n], the demodulation of the subband signal proceeds as follows. First, a carrier detector 30 carries out the carrier detection portion of the process and determines a time-varying instantaneous frequency (IF) estimate from which it computes the carrier signal ck[n]. Then, division of xk[n] by the carrier yields the modulator mk[n]. The process is illustrated in
As shown in
For each window, a spectral center-of-gravity 44 is obtained from the following relationship:
where Sk,n(ω) is a power spectral density estimate 42 of the windowed segment centered on time n. The above formula uses the theoretical discrete time Fourier transform (DTFT) for illustrative purposes only. In practice, the spectral center-of-gravity is determined using discrete summations determined by taking a cumulative sum 46 of the DTFT of xk[n].
Once the IF has been determined, the phase of the carrier signal is defined as follows:
where Δt is the sampling interval of x[n]. Then, the carrier signal becomes:
ck[n]=ejΦ[n], (3)
which is unimodular as required. Also, ck[n] is band limited, since the spectral-center-of-gravity computation constrains
Referring back to
m
k
[n]=x
k
[n]·c
k
*[n], (4)
where * denotes the complex conjugate in regard to the carrier. Owing to the nature of ck[n] as a unimodular complex exponential (as indicated by a block 48 in
Thus, the remodulation step performed by remodulator 24 in
y
k
[n]={tilde over (m)}
k
[n]·{tilde over (c)}
k
[n]. (5)
As indicated in
Interpolation of missing data has been studied extensively in the literature. The exemplary approach used for interpolation uses a well-known technique, which poses the interpolation problem in terms of optimal least-squares filters derived from the second-order statistics of the known signal samples. The difference between the previously known technique and the present approach used in this exemplary embodiment is that the present approach applies this technique to modulators and carriers rather than to a full-band signal, as is conventionally done when interpolators have previously been used.
A modulator mk[n] is band limited and low pass in frequency, so it can be down sampled considerably without aliasing. This technique reduces the redundancy in the signal as well as the computation required to interpolate across the gap to provide fill-in data.
Carrier interpolation is handled in one of two ways. The simplest approach is to choose a long IF-detection window in the coherent demodulation stage. Setting the window to be longer than the gap implicitly interpolates the IF by averaging it over the gap. In this case, no further interpolation is required beyond the basic carrier detection stage.
The second interpolation method for the carrier is essentially the same as depicted in
The preceding process is summarized by the exemplary logical steps illustrated in a flowchart 60 in
Although the concepts disclosed herein have been described in connection with the preferred form of practicing them and modifications thereto, those of ordinary skill in the art will understand that many other modifications can be made thereto within the scope of the claims that follow. Accordingly, it is not intended that the scope of these concepts in any way be limited by the above description, but instead be determined entirely by reference to the claims that follow.