Digital radios receive a digital radio spectrum that provides improved fidelity, as well as additional features. Currently in the United States, digital radio is available over-the-air using sidebands to an analog carrier signal. The current system as commercialized in the United States is referred to as so-called HD™ radio. By way of these sidebands, a broadcaster can provide one or more additional complementary channels to an analog carrier signal.
Accordingly, digital or HD™ radios can receive these signals and digitally demodulate them to provide a higher quality audio signal that includes the same content as an analog radio signal, or to provide additional content to the analog radio signal such as supplementary broadcasting available on one or more supplemental digital channels. Typically, a digital radio tuner is incorporated in a radio solution that also includes a conventional analog spectrum receiver for handling demodulation of the analog carrier signal.
In some situations such as depending on received quality of one or more of these differently modulated signals, a radio may be configured to combine or blend information from the different signals. However, this often leads to processing complexity and possibly leads to audible artifacts that are undesired by a listener.
In one aspect, an apparatus such as a radio includes: a first demodulator to demodulate a digital signal into a first demodulated audio signal; a second demodulator to demodulate an analog signal into a second demodulated audio signal, where the first and second demodulated audio signals include common content; and a delay determination circuit to determine a delay value between the common content of the two demodulated audio signals based at least in part on a first delay estimate having a first resolution and a second delay estimate having a second resolution.
In an example, the delay determination circuit is to output the first demodulated audio signal and the second demodulated audio signal such that the common content is at least substantially synchronized. The delay determination circuit may include: a first estimator to generate the first delay estimate based on a first plurality of samples of the first demodulated audio signal obtained at a first sample rate and a first plurality of samples of the second demodulated audio signal obtained at the first sample rate, during a first time window; and a second estimator to generate the second delay estimate based on a second plurality of samples of the first demodulated audio signal obtained at a second sample rate and a second plurality of samples of the second demodulated audio signal obtained at the second sample rate, during a second time window.
In an example, the first estimator may be configured to calculate cross-correlations between the first plurality of samples of the first demodulated audio signal and the first plurality of samples of the second demodulated audio signal, and the second estimator may be configured to calculate cross-correlations between the second plurality of samples of the first demodulated audio signal and the second plurality of samples of the second demodulated audio signal.
In an example, a monitor circuit may be configured to: associate a first confidence value with the first delay estimate based at least in part on a value of a maximum cross-correlation between the first plurality of samples of the first demodulated audio signal and the first plurality of samples of the second demodulated audio signal; and associate a second confidence value with the second delay estimate based at least in part on a value of a maximum cross-correlation between the second plurality of samples of the first demodulated audio signal and the second plurality of samples of the second demodulated audio signal.
In an example, a storage may be configured to store, for a first radio channel, the delay value and a confidence level based at least in part on the first confidence value and the second confidence value.
The delay determination circuit may include: an encoder to encode a selected one of the first demodulated audio signal and the second demodulated audio signal; and a first buffer to store an amount of the encoded selected one of the first demodulated audio signal and the second demodulated audio signal, where the first buffer is to be read based on the first delay estimate. The delay determination circuit may further include: a decoder to decode the encoded selected first or second demodulated audio signal output from the first buffer; and a second buffer to store the decoded selected first or second demodulated audio signal, where the second buffer is to be read based at least in part on the second delay estimate.
In an example, a blender circuit may be configured to blend the first demodulated audio signal and the second demodulated audio signal, where the blender circuit coupled to an output of the delay determination circuit. In an example, the delay determination circuit comprises a control circuit to control an output rate for the first demodulator and the second demodulator at a common rate, and the first demodulator comprises a first sample rate converter to convert the first demodulated audio signal from a native rate to the common rate and to output the first demodulated audio signal to the delay determination circuit at the common rate, the common rate slower than the native rate.
In another aspect, an apparatus comprises: a first digital demodulator to demodulate a first digital signal into a first demodulated audio signal; an analog demodulator to demodulate an analog signal into a second demodulated audio signal; a second digital demodulator to demodulate a second digital signal into a third demodulated audio signal; and a linker circuit coupled to the first digital demodulator, the analog demodulator, and the second digital demodulator. The linker circuit may be configured to identify a delay between common content of at least the first and second demodulated audio signals according to a multi-resolution delay estimate. This multi-resolution delay estimate may be based at least in part on a first resolution delay estimate and a second resolution delay estimate.
In an example, the linker circuit comprises: a first estimator to generate the first resolution delay estimate based on a first plurality of samples of the first demodulated audio signal obtained at a first sample rate and a first plurality of samples of the second demodulated audio signal obtained at the first sample rate, during a first time window; and a second estimator to generate the second resolution delay estimate based on a second plurality of samples of the first demodulated audio signal obtained at a second sample rate and a second plurality of samples of the second demodulated audio signal obtained at the second sample rate, during a second time window.
In an example, the linker circuit further comprises a third estimator to generate a third resolution delay estimate based on a third plurality of samples of the first demodulated audio signal and a third plurality of samples of the second demodulated audio signal, during a third time window. The linker circuit may further comprise a control circuit to receive the first resolution delay estimate, the second resolution delay estimate and the third resolution delay estimate and to generate the multi-resolution delay estimate therefrom.
In an example, the control circuit is configured to generate the multi-resolution delay estimate from less than all of the first, second and third resolution delay estimates, based on a confidence level associated with one or more of the delay estimates.
In an example, the linker circuit comprises: an encoder to encode a selected one of the first and second demodulated audio signals; and a first buffer to store an amount of the encoded selected one of the first and second demodulated audio signals, where the first buffer is to be read based on the first resolution delay estimate.
The linker circuit may further comprise: a decoder to decode the encoded selected first or second demodulated audio signal output from the first buffer; and a second buffer to store the decoded selected first or second demodulated audio signal, where the second buffer is to be read based at least in part on the multi-resolution delay estimate.
In yet another aspect, a method includes: determining in a first time window, in a linker circuit of a receiver, a first delay estimate between common content of a first demodulated audio signal and a second demodulated audio signal; storing an undelayed one of the first and second demodulated audio signals in a first buffer; outputting the undelayed demodulated audio signal from the first buffer according to the first delay estimate; and providing, at least substantially synchronously, common content of the undelayed demodulated audio signal output from the first buffer and a delayed one of the first demodulated audio signal and the second demodulated audio signal to a blender circuit.
In an example, the method further comprises storing the undelayed demodulated audio signal in the first buffer according to a first encoding, decoding the undelayed demodulated audio signal output from the first buffer, and storing the undelayed demodulated audio signal in a second buffer. The method may further include outputting the undelayed demodulated audio signal from the second buffer according to a final delay estimate based on at least one of the first delay estimate, a second delay estimate, and a third delay estimate.
In a still further aspect, a non-transitory storage medium may store instructions to enable a system including a radio to perform the above methods.
In many receiver systems, incoming content is received via multiple tuners. As examples, analog and digitally modulated signals can be received and processed. In some situations, embodiments provide techniques to seamlessly link audio content received from different broadcast signals that carry the same audio content. More specifically, embodiments provide techniques to time align the audio content, as each broadcast may be received with significant and different audio processing delays. Such techniques may be used to switch seamlessly from one broadcast means to another in order to avoid service disruption, in the face of limited geographic coverage of radio signals.
Referring to
In addition to digital encoding and transmission, analog encoding and transmission of the same content may occur via an analog audio processor 40 and an FM modulator 45, to be output via an antenna 50. Note that in some cases a single antenna may be used to output the modulated signals of both signal paths. Furthermore, understand while shown with two signal paths, one or more additional signal paths may be present in other examples. Understand also while described herein in the context of FM signals, where the digitally modulated signals may be provided in one or more sidebands to a main channel, other types of modulation schemes are possible.
Still with reference to
In the example shown, multiple signal processing paths are provided. A first signal processing path includes an antenna 1100 that provides received signals to a tuner 1200. Antenna 1100 may be configured to receive various types of incoming radio frequency (RF) signals including, for example, digital broadcast signals such as FM broadcast signal as sidebands to analog broadcast signals that may include the same or different content, e.g., modulated according to a digital modulation scheme, other terrestrial signals, satellite signals, or so forth. In general, tuner 1200, which in an embodiment may be implemented as a given IC, may include analog front end circuitry, downconversion circuitry, analog-to-digital conversion (ADC) circuitry and possibly additional processing circuitry such as a digital front end to perform at least some digital processing on the digitized signals. The digitized signals are provided to a demodulator 1300 which may demodulate signals for the given type of modulation performed by transmission system 10. In turn, the demodulated signals are provided to one or more audio decoders 1400 for decoding the encoded demodulated signals to obtain a resulting digital audio signal (Ds(n)).
A second signal processing path includes an antenna 110n that provides received signals to a tuner 120n. Antenna 110n may be configured to receive various types of incoming RF signals including, for example, analog broadcast signals. In general, tuner 120n also may include analog front end circuitry, downconversion circuitry, ADC circuitry and possibly additional processing circuitry. The digitized signals are provided to a demodulator 130n which in the embodiment shown is an FM demodulator. In turn, the demodulated signals are provided to analog audio processor 140n for decoding the encoded demodulated signals to obtain a resulting analog audio signal (As(n)).
In the specific example shown, the second RF signal corresponds to an analog signal of a conventional broadcast radio station and the first RF signal corresponds to a digital signal of that same radio broadcast. However, these two RF signals, which are in a relatively close bandwidth with respect to each other, may include substantially the same content or information, but modulated according to different modulation schemes (e.g., the analog signal modulated according to an FM scheme, while the digital signal is modulated according to, e.g., an orthogonal frequency division multiplexing (OFDM) scheme). As used herein, the terms “digital radio” and “HD™ radio” are used interchangeably and are intended to correspond to radio communication that occurs digitally, e.g., as one or more sideband channels to a main analog signal channel. Such communications may be in accordance with various standards such as a National Radio System Committee (NRSC-5C), Digital Audio Broadcasting, Digital Radio Mondiale or other standard. This digital communication is also known as in-band on-channel (IBOC) broadcasting.
Currently, many broadcasters transmit a bundled signal including both analog and digital information. The analog information is a conventional radio channel and may have a single sided bandwidth of approximately 100 kilohertz (kHz), centered around a carrier frequency at a midpoint of a channel spectrum that is approximately 200 kHz wide. In addition, one or more digital channels can be encoded into sidebands to this main signal channel. Because this information is in digital form various other information in addition to audio information, such as textual data, e.g., song titles, station information, news and so forth can be present. Also, the digital radio channels may have higher quality sound than the analog channel.
As seen, the audio signals of the processing paths are provided to a seamless linker circuit 150. As described herein, linker circuit 150 may be configured to determine a delay between the signals communicated via the different signal processing paths, to enable smooth blending and/or switching of an output of linker circuit 150. That is, by way of blending and/or selection of an appropriate output from linker circuit 150, a user cannot perceive any delay between the signal paths, and blending and/or switching operations occur in a manner seamlessly to a listener.
Note that due to design considerations and/or signal impairments, signals processed can suffer from various deleterious effects. For example, analog audio processor 40 may output signals at a level with compressed audio having a reduced dynamic range. As another example, digital demodulators 1300 may suffer from weak signals, synchronization loss, or high bit error rate. FM demodulator 130n may perform dynamic channel bandwidth control to deal with blocker channels, and hence analog audio processor 140n may receive weak signals and perform various processing to deal with noise, such as hi-cut and/or mute processing. Note that embodiments may take into account such impairments and other effects in determining a delay between common content of different signal processing paths.
Referring now to
To enable delay determinations and blending to be performed as described herein, linker circuit 150 may be configured to act as a master to cause the demodulated output of demodulators 130 to be provided at a single, common sampling rate. To this end, in the embodiment shown in
Referring now to
The multi-resolution delay estimator circuit may be configured to determine a similarity between two or more audio streams. While different measures of determining similarity of content are possible, in one embodiment a cross-correlation may be used to measure similarity between two audio streams. For example, given two audio signals {x(n)} and {y(n)} having a number of samples n= . . . 0, 1, 2, 3, . . . :
The multi-resolution delay estimator circuit may operate to obtain sufficient data (e.g., buffering audio samples from the multiple signal processing paths), calculate a cross-correlation between the samples of the different paths, and search for a global peak value of the multiple cross-correlations. In turn, the delay associated with the global peak value may be selected as the optimal delay estimate. However, calculating cross-correlations for a large number of samples can be computationally and memory intensive. Accordingly, embodiments provide a multi-resolution delay estimation process using a limited number of samples within multiple different time windows.
In general, the multi-resolution delay estimator may operate to coarsely determine a first delay estimate, which thus identifies which of the signal paths is delayed with respect to the other(s), provide buffering means for the undelayed signal path, and control the output of such buffering means to enable common content of the multiple signal paths to be provided synchronously to a blender circuit. Still further, the multi-resolution delay estimator circuit may perform such delay determination and processing at very low complexity and computation expense, reducing power consumption and also reducing the amount of processing resources and storage to be used for determining an appropriate delay.
In
Coarse delay estimator 220 is configured to coarsely determine a delay between these two signals. In an embodiment, estimator 220 may perform a cross-correlation on the two signals to determine which signal is delayed and further to determine a first estimate (e.g., a coarse estimate) of such delay. Coarse delay estimator 220 may generate the coarse delay globally at a large time scale. In one example, blocks of one audio stream (e.g., approximately a 1 second block) may be used to run a pattern search, e.g., a cross-correlation, against the other audio stream. In an embodiment, coarse delay estimator 220 may be configured to perform this delay estimation based on a global search within a time frame of approximately 20 seconds. Estimator 220 also may be configured to determine a delay estimate to a resolution of between approximately 2-3 milliseconds (ms), in an embodiment.
Based on the determination by estimator 220 as to which signal path is delayed, multiplexer 225 provides the undelayed audio signal to a processing path including an audio encoder 230, a first audio buffer 235, an audio decoder 240, and an second audio buffer 245, an output of which is provided to blender circuit 250. In turn, the delayed audio signal is provided directly from multiplexer 225 to blender circuit 250. Furthermore, the coarse delay determined by delay estimator 220 may be provided to buffer 235, which as discussed below may be controlled to output audio samples based on this coarse delay estimate.
In an embodiment, audio encoder 230 may encode the incoming audio samples by compressing them according to a given compression format, to reduce storage requirements. In one embodiment, an MPEG-4 compression format may be used. These compressed audio signals may then be stored in audio buffer 235.
Still with reference to
From audio decoder 240, the audio samples are provided to another selector 2551 to select corresponding L/R or L+R signals to be provided to a decimator 2601. In an embodiment, decimator 2601 may be a decimate-by-16 to reduce sample rate. These reduced sample rate audio samples are provided to a refined delay estimator 265, along with corresponding sampled versions of the delayed signal, via selector 2552 and decimator 2602.
In an embodiment, refined delay estimator 265 may be configured to perform this delay estimate at a finer resolution (than coarse delay estimator 220). As such, refined delay estimator 265 may be configured to determine a delay estimate at a smaller time scale. For example, in one embodiment this finer resolution may be within approximately 1-2 seconds of audio samples to realize a refined delay estimate having a greater resolution, e.g., to a resolution of approximately 0.33 ms, in an embodiment. The delay estimate generated by refined delay estimator 265 is provided to a monitor circuit 270, including control circuitry and a combiner logic. Although not shown in
Further as shown, a fine delay estimate generated by a fine delay estimator 280 is also provided to monitor circuit 270. In an embodiment, fine delay estimator 280 may be configured to generate a fine delay estimate, which may be done locally at a sample level (namely without decimation of the samples). In one example embodiment, this fine delay estimate may have a resolution of approximately 0.02 ms, based on local samples within 1-2 seconds of audio. As further shown in
Based on all of these delay estimates, monitor circuit 270 may generate a confidence value associated with the given delay estimate. This confidence value may be provided to various control logic of the receiver to indicate a relative reliability of the delay estimate. In one embodiment, monitor circuit 270 may generate a confidence value for a corresponding delay estimate based on the maximum peak value of cross-correlation determined by the corresponding estimator. As discussed above, a maximum cross-correlation value of 1 is determined when samples match exactly, i.e., have the same content. As such, monitor circuit 270 may be configured to generate a confidence value based on the value of the peak cross-correlation associated with a given delay estimate, such that as the peak cross-correlation approaches 1, the confidence value approaches its maximum value (which in an embodiment also may be 1).
Note that in some embodiments, monitor circuit 270 may be configured to determine a confidence value for each individual delay estimate (coarse, refined, and fine). In one such embodiment, if all confidence levels are above a threshold value, a combined delay estimate of the multiple estimates may be used as the output of monitor circuit 270 as the read control signal to audio buffer 245. Instead if one or more of the delay estimates are associated with a confidence value below the given threshold, such delay estimate may not be used in determining the final delay estimate output by monitor circuit 270. This control signal may act as a read pointer to output audio samples such that the samples of this undelayed sample path are output by audio buffer 245 are received in blender circuit 250 synchronously (or at least substantially synchronously) with the same content of the delayed signal path. Understand also that monitor circuit 270 may store in a given storage, e.g., a non-volatile storage, an entry for each associated radio channel that includes a delay estimate (e.g., the final delay estimate) and associated confidence value. In an embodiment, monitor circuit 270 and one or more other controllers may be implemented as a microcontroller, digital state machine, or other control circuit, which may be configured to execute instructions stored in a non-transitory storage medium. Understand while shown at this high level in the illustration of
Referring now to
More specifically with regard to the digital processing path, note the presence of a hi-cut circuit 252, which may perform a hi-cut operation responsive to a hi-cut control signal. In an embodiment, hi-cut circuit 252 varies the audio frequency bandwidth according to varying signal quality metrics using a frequency bandwidth control relationship. In turn a generator circuit 254 generates L+R and L−R signals from the incoming L/R signals and provides them to a stereo blender circuit 255, which may generate a stereo output responsive to a blend control signal. More specifically, the separate L+R and L-R signals are blended together between full stereo and full mono FM audio output by stereo blender circuit 255 according to varying signal quality metrics received using a stereo blending relationship. Although not shown in
Note that combiners 256 and 258 are configured as multipliers to multiply the incoming audio signal with a coefficient value. More specifically, multiplier 256 multiplies the incoming audio signal with a weight coefficient W and in turn multiplier 258 multiplies its audio signal input with another coefficient value, 1−W. In an embodiment, W is a weighting factor (having a value between 0 and 1, in an embodiment) to control the blending between the two signal paths.
The multiplied outputs from combiners 256 and 258 are provided to a combiner circuit 259 to thus perform the final blending such that the output of combiner circuit 259 is a blended audio signal. Note that this blended audio signal may be directly output from a given output means such as a speaker, or there can be additional audio processing done, e.g., within the same linker circuit or one or more separate ICs, such as a separate audio processor. By appropriate control of combiners 256 and 258, blending circuit 250 may be controlled to pass the HD™ audio signal when it is available and when not available, to pass the analog audio signal. Furthermore, during a transition between the two domains, blending circuit 250 acts to blend the two signals to provide for a smooth transition between the two domains, enabling continuous radio reception so that the transition between the two domains is unnoticed by a user.
Note that depending upon signal quality metrics and available signals, there may be no blending performed, in that the output of blender circuit 250 is a selected one of an analog FM signal received via an analog signal processing path or a digital audio signal received via a digital processing path. Such control can be affected by appropriate control of weighting factor W (e.g., a weighting factor W of 1 causes the analog audio signal to be output and in turn a weighting factor W of 0 causes the digital audio signal to be output). Of course understand that other examples and other configurations of the blending circuit are possible.
Referring now to
As seen, method 300 begins by receiving demodulated audio signals of multiple audio streams (e.g. first and second demodulated audio signals) (block 310). Next, at block 320 a first delay estimate can be determined. More specifically, this first delay estimate may be a coarse delay estimate of a first resolution based on a first number of samples of the two demodulated audio signals in a first time window. As discussed above this first time window may be a global time window, which as one example may be approximately 20 seconds.
At block 330, undelayed demodulated audio signals of the undelayed processing path, namely samples of the stream that is determined to be the lead stream, may be stored in a first buffer. At block 340 these samples may be output according to the first delay estimate, which may be used by this buffer as a read pointer.
Although not shown for ease of illustration in
Still in reference to
Thereafter at block 360 samples output from the first buffer may be stored into a second buffer. These buffered samples may then be output according to a final delay estimate (block 370). Understand that this final delay estimate used to control the output of read buffer may in fact be a combined delay estimate that incorporates one or more of the coarse delay estimate, the refined delay estimate and the fine delay estimate, as explained above.
Still in reference to
Still referring to
While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention.
Number | Name | Date | Kind |
---|---|---|---|
8417206 | Allen et al. | Apr 2013 | B2 |
9001945 | Elenes et al. | Apr 2015 | B2 |
20130003637 | Elenes | Jan 2013 | A1 |
20130279700 | Whitecar | Oct 2013 | A1 |
20140355764 | Elenes et al. | Dec 2014 | A1 |
20160241350 | Nekhamkin | Aug 2016 | A1 |
Entry |
---|
Silicon Labs, “Si4704/05-D60, Broadcast FM Radio Receiver With RDS/RBDS,” Rev. 1.2, Aug. 2013, 39 pages. |
Number | Date | Country | |
---|---|---|---|
20170024183 A1 | Jan 2017 | US |