U.S. patent number RE48,655 [Application Number 16/575,185] was granted by the patent office on 2021-07-20 for method and apparatus for time alignment of analog and digital pathways in a digital radio receiver.
This patent grant is currently assigned to Ibiquity Digital Corporation. The grantee listed for this patent is Ibiquity Digital Corporation. Invention is credited to Gabriel Olochwoszcz, Ashwini Pahuja, Scott Vincelette.
United States Patent |
RE48,655 |
Vincelette , et al. |
July 20, 2021 |
Method and apparatus for time alignment of analog and digital
pathways in a digital radio receiver
Abstract
A method for processing a radio signal includes producing first
and second streams of audio samples; decimating the first and
second streams of audio samples to produce first and second streams
of decimated streams of audio samples; estimating a first offset
value between corresponding samples in the first and second streams
of decimated streams of audio samples; shifting one of the first
and second streams of audio samples by a first shift value;
decimating the first and second streams of audio samples to produce
third and fourth streams of decimated audio samples; estimating a
second offset value; determining a final offset value based on an
intersection of ranges of valid results of the first and second
offset values; and shifting one of the first and second streams of
audio samples by the final offset value to align the first and
second streams of audio samples.
Inventors: |
Vincelette; Scott (Sparta,
NJ), Pahuja; Ashwini (Roslyn Heights, NY), Olochwoszcz;
Gabriel (Hillsborough, NJ) |
Applicant: |
Name |
City |
State |
Country |
Type |
Ibiquity Digital Corporation |
Columbia |
MD |
US |
|
|
Assignee: |
Ibiquity Digital Corporation
(Columbia, MD)
|
Family
ID: |
1000005415880 |
Appl.
No.: |
16/575,185 |
Filed: |
September 18, 2019 |
Related U.S. Patent Documents
|
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
Issue Date |
|
Reissue of: |
14862800 |
Sep 23, 2015 |
9768948 |
Sep 19, 2017 |
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
H04B
1/16 (20130101); G10L 19/167 (20130101); H04H
60/58 (20130101); H04L 7/0079 (20130101); H04H
20/22 (20130101); H04L 7/0016 (20130101); H04H
2201/18 (20130101) |
Current International
Class: |
H04B
1/16 (20060101); H04H 20/22 (20080101); H04H
60/58 (20080101); G10L 19/16 (20130101); H04L
7/00 (20060101); H03K 9/00 (20060101); H04L
27/00 (20060101) |
References Cited
[Referenced By]
U.S. Patent Documents
Other References
"U.S. Appl. No. 14/862,800, Final Office Action dated Oct. 18,
2016", 14 pgs. cited by applicant .
"U.S. Appl. No. 14/862,800, Non Final Office Action dated Jul. 6,
2016", 10 pgs. cited by applicant .
"U.S. Appl. No. 14/862,800, Notice of Allowance dated May 18,
2017", 8 pgs. cited by applicant .
"U.S. Appl. No. 14/862,800, Response filed Apr. 17, 2017 to Final
Office Action dated Oct. 18, 2016", 14 pgs. cited by applicant
.
"U.S. Appl. No. 14/862,800, Response filed Sep. 28, 2016 to Non
Final Office Action dated Jul. 6, 2016", 11 pgs. cited by applicant
.
"In-Band/On-Channel Digital Radio Broadcasting Standard", NRSC-5-C,
National Radio Systems Committee, Washington, DC,, (Sep. 2011), 6
pgs. cited by applicant.
|
Primary Examiner: Leung; Christina Y.
Attorney, Agent or Firm: Schwegman Lundberg & Woessner,
P.A.
Claims
What is claimed is:
1. A method comprising: receiving .[.a radio broadcast signal
having an analog portion and a digital portion.]. .Iadd.an audio
signal including multiple audio streams.Iaddend.; separating .[.the
analog portion of.]. the .[.radio broadcast.]. .Iadd.audio
.Iaddend.signal .[.from the digital portion of the radio broadcast
signal; producing.]. .Iadd.into .Iaddend.a first stream of audio
samples .[.representative of the analog portion of the radio
broadcast signal; producing.]. .Iadd.and .Iaddend.a second stream
of audio samples.[. representative of the digital portion of the
radio broadcast signal.].; decimating the first and second streams
of audio samples to produce first and second streams of decimated
audio samples; estimating a first offset value between
corresponding samples in the first and second streams of decimated
audio samples, wherein the first offset value has a first range of
valid results; shifting one of the first and second streams of
audio samples by a first shift value within the first range of
valid results; decimating the first and second streams of audio
samples to produce third and fourth streams of decimated audio
samples; estimating a second offset value between corresponding
samples in the third and fourth streams of decimated audio samples,
wherein the second offset value has a second range of valid
results; determining a final offset value based on an intersection
of the first and second ranges of valid results; and shifting one
of the first and second streams of audio samples by the final
offset value to align the first and second streams of audio
samples.
2. The method of claim 1, wherein the first shift value is selected
such that the first range of valid results is between two valid
results for the second offset.
3. The method of claim 1, wherein the first shift value is selected
such that the first and second ranges of valid results
intersect.
4. The method of claim 1, further comprising: blending the first
and second streams of audio samples to produce an audio output.
5. The method of claim 1, further comprising: shifting one of the
first and second streams of audio samples by a second offset value
within the second range of valid results; decimating the first and
second streams of audio samples to produce fifth and sixth streams
of decimated audio samples; and estimating a third offset value
between corresponding samples in the fifth and sixth streams of
decimated audio samples, wherein the third offset value has a third
range of valid results; wherein the step of determining a final
offset value is based on an intersection of the first and second
ranges of valid results and the third range of valid results.
6. The method of claim 1, wherein: the steps of decimating the
first and second streams of audio samples to produce first and
second streams of decimated audio samples, and decimating the first
and second streams of audio samples to produce third and fourth
streams of decimated audio samples, are .[.preformed.].
.Iadd.performed .Iaddend.at different decimation rates.
7. The method of claim 5, further comprising: blending the first
and second streams of audio samples to produce an audio output.
8. .[.A radio.]. .Iadd.An audio signal .Iaddend.receiver
comprising: processing circuitry configured to: receive a .[.radio
broadcast.]. .Iadd.an audio .Iaddend.signal having .[.an analog
portion and a digital portion.]. .Iadd.multiple audio
streams.Iaddend.; separate the .[.analog portion of the radio
broadcast signal from the digital portion of the radio broadcast
signal; produce a first stream of audio samples representative of
the analog portion of the radio broadcast signal; produce a second
stream of audio samples representative of the digital portion of
the radio broadcast signal;.]. .Iadd.audio signal into a first
audio sample stream and a second audio sample stream
.Iaddend.decimate the first and second .Iadd.audio sample
.Iaddend.streams .[.of audio samples.]. to produce first and second
streams of decimated audio samples; estimate a first offset value
between corresponding samples in the first and second streams of
decimated audio samples, wherein the first offset value has a first
range of valid results; shift one of the first and second
.Iadd.audio sample .Iaddend.streams .[.of audio samples.]. by a
first shift value within the first range of valid results; decimate
the first and second .Iadd.audio sample .Iaddend.streams .[.of
audio samples.]. to produce third and fourth streams of decimated
audio samples; estimate a second offset value between corresponding
samples in the third and fourth streams of decimated audio samples,
wherein the second offset value has a second range of valid
results; determine a final offset value based on an intersection of
the first and second ranges of valid results; and shift one of the
first and second .Iadd.audio sample .Iaddend.streams .[.of audio
samples.]. by the final offset value to align the first and second
.Iadd.audio sample .Iaddend.streams.[. of audio samples.]..
9. The .[.radio.]. .Iadd.audio signal .Iaddend.receiver of claim 8,
wherein the receiver is further configured to select the first
shift value such that the first range of valid results is between
two valid results for the second offset.
10. The .[.radio.]. .Iadd.audio signal .Iaddend.receiver of claim
8, wherein the receiver is further configured to select the first
shift value such that the first and second ranges of valid results
intersect.
11. The .[.radio.]. .Iadd.audio signal .Iaddend.receiver of claim
8, wherein the receiver is further configured to blend the first
and second .Iadd.audio sample .Iaddend.streams .[.of audio
samples.]. to produce an audio output.
12. The .[.radio.]. .Iadd.audio signal .Iaddend.receiver of claim
8, wherein the receiver is further configured to.[.:.]. shift one
of the first and second .Iadd.audio sample .Iaddend.streams .[.of
audio samples.]. by a second offset value within the second range
of valid results; decimate the first and second .Iadd.audio sample
.Iaddend.streams .[.of audio samples.]. to produce fifth and sixth
streams of decimated audio samples; and estimate a third offset
value between corresponding samples in the fifth and sixth streams
of decimated audio samples, wherein the third offset value has a
third range of valid results; wherein the step of determining a
final offset value is based on an intersection of the first and
second ranges of valid results and the third range of valid
results.
13. The .[.radio.]. .Iadd.audio signal .Iaddend.receiver of claim
.[.8.]. .Iadd.12.Iaddend., wherein the receiver is further
configured to .[.perform the functions of decimating.]. .Iadd.blend
.Iaddend.the first and second .Iadd.audio sample .Iaddend.streams
.[.of audio samples.]. to produce .[.first and second streams of
decimated audio samples, and decimating the first and second
streams of audio samples to produce third and fourth streams of
decimated audio samples, at different decimation rates.]. .Iadd.an
audio output.Iaddend..
14. The .[.radio.]. .Iadd.audio signal .Iaddend.receiver of claim
.[.12.]. .Iadd.8.Iaddend., wherein the receiver is further
configured to .[.blend.]. .Iadd.perform the functions of decimating
.Iaddend.the first and second .Iadd.audio sample .Iaddend.streams
.[.of audio samples.]. to produce .[.an audio output.]. .Iadd.first
and second streams of decimated audio samples, and decimating the
first and second audio sample streams to produce third and fourth
streams of decimated audio samples, at different decimation
rates.Iaddend..
15. A non-transitory, tangible computer readable medium comprising
computer program instructions adapted to cause a processing system
to execute steps comprising: receiving .[.a radio broadcast.].
.Iadd.an audio .Iaddend.signal having .[.an analog portion.].
.Iadd.a first audio sample stream .Iaddend.and a .[.digital
portion.]. .Iadd.second audio sample stream.Iaddend.; separating
the .[.analog portion.]. .Iadd.first audio sample stream
.Iaddend.of the .[.radio broadcast.]. .Iadd.audio .Iaddend.signal
from the .[.digital portion.]. .Iadd.second audio sample stream
.Iaddend.of the .[.radio broadcast.]. .Iadd.audio .Iaddend.signal;
.[.producing a first stream of audio samples representative of the
analog portion of the radio broadcast signal; producing a second
stream of audio samples representative of the digital portion of
the radio broadcast signal;.]. decimating the first and second
.[.streams of.]. audio .[.samples.]. .Iadd.sample streams
.Iaddend.to produce first and second streams of decimated audio
samples; estimating a first offset value between corresponding
samples in the first and second streams of decimated audio samples,
wherein the first offset value has a first range of valid results;
shifting one of the first and second .Iadd.audio sample
.Iaddend.streams .[.of audio samples.]. by a first shift value
within the first range of valid results; decimating the first and
second .Iadd.audio sample .Iaddend.streams .[.of audio samples.].
to produce third and fourth streams of decimated audio samples;
estimating a second offset value between corresponding samples in
the third and fourth streams of decimated audio samples, wherein
the second offset value has a second range of valid results;
determining a final offset value based on an intersection of the
first and second ranges of valid results; and shifting one of the
first and second .Iadd.audio sample .Iaddend.streams .[.of audio
samples.]. by the final offset value to align the first and second
.Iadd.audio sample .Iaddend.streams.[. of audio samples.]..
16. The computer readable medium of claim 15, wherein the computer
program instructions are further adapted to cause a processing
system to select the first shift value such that the first range of
valid results is between two valid results for the second
offset.
17. The computer readable medium of claim 15, wherein the computer
program instructions are further adapted to cause a processing
system to select the first shift value such that the first and
second ranges of valid results intersect.
18. The computer readable medium of claim 15, wherein the computer
program instructions are further adapted to cause a processing
system to blend the first and second .Iadd.audio sample
.Iaddend.streams .[.of audio samples.]. to produce an audio
output.
19. The computer readable medium of claim 15, wherein the computer
program instructions are further adapted to cause a processing
system to: shift one of the first and second .Iadd.audio sample
.Iaddend.streams .[.of audio samples.]. by a second offset value
within the second range of valid results; decimate the first and
second .Iadd.audio sample .Iaddend.streams .[.of audio samples.].
to produce fifth and sixth streams of decimated audio samples; and
estimating a third offset value between corresponding samples in
the fifth and sixth streams of decimated audio samples, wherein the
third offset value has a third range of valid results; wherein the
step of determining a final offset value is based on an
intersection of the first and second ranges of valid results and
the third range of valid results.
20. The computer readable medium of claim 19, wherein the computer
program instructions are further adapted to cause a processing
system to: decimate the first and second .Iadd.audio sample
.Iaddend.streams .[.of audio samples.]. to produce first and second
streams of decimated audio samples, and decimate the first and
second .Iadd.audio sample .Iaddend.streams .[.of audio samples.].
to produce third and fourth streams of decimated audio samples, at
different decimation rates.
Description
FIELD OF THE DISCLOSURE
The described methods and apparatus relate to digital radio
broadcast receivers and, in particular, to methods and apparatus
for time alignment of analog and digital pathways in digital radio
receivers.
BACKGROUND INFORMATION
Digital radio broadcasting technology delivers digital audio and
data services to mobile, portable, and fixed receivers. One type of
digital radio broadcasting, referred to as in-band on-channel
(IBOC) digital audio broadcasting (DAB), uses terrestrial
transmitters in the existing Medium Frequency (MF) and Very High
Frequency (VHF) radio bands. HD Radio.TM. technology, developed by
iBiquity Digital Corporation, is one example of an IBOC
implementation for digital radio broadcasting and reception.
IBOC signals can be transmitted in a hybrid format including an
analog modulated carrier in combination with a plurality of
digitally modulated carriers or in an all-digital format, wherein
the analog modulated carrier is not used. Using the hybrid mode,
broadcasters may continue to transmit analog AM and FM
simultaneously with higher-quality and more robust digital signals,
allowing themselves and their listeners to convert from
analog-to-digital radio while maintaining their current frequency
allocations.
IBOC technology can provide digital quality audio, superior to
existing analog broadcasting formats. Because each IBOC signal is
transmitted within the spectral mask of an existing AM or FM
channel allocation, it requires no new spectral allocations. IBOC
promotes economy of spectrum while enabling broadcasters to supply
digital quality audio to the present base of listeners.
The National Radio Systems Committee, a standard-setting
organization sponsored by the National Association of Broadcasters
and the Consumer Electronics Association, adopted an IBOC standard,
designated NRSC-5, in September 2005. NRSC-5, the disclosure of
which is incorporated herein by reference, sets forth the
requirements for broadcasting digital audio and ancillary data over
AM and FM broadcast channels. The standard and its reference
documents contain detailed explanations of the RF/transmission
subsystem and the transport and service multiplex subsystems.
Copies of the standard can be obtained from the NRSC at
http://www.nrscstandards.org/standards.asp. iBiquity's HD Radio
technology is an implementation of the NRSC-5 IBOC standard.
Further information regarding HD Radio technology can be found at
www.hdradio.com and www.ibiquity.com.
Other types of digital radio broadcasting systems include satellite
systems such as Satellite Digital Audio Radio Service (SDARS, e.g.,
XM Radio.TM., Sirius.RTM.), Digital Audio Radio Service (OARS,
e.g., WorldSpace.RTM.), and terrestrial systems such as Digital
Radio Mondiale (DRM), Eureka 147 (branded as DAB Digital Audio
Broadcasting.RTM.), DAB Version 2, and FMeXtra.RTM.. As used
herein, the phrase "digital radio broadcasting" encompasses digital
audio and data broadcasting including in-band on-channel
broadcasting, as well as other digital terrestrial broadcasting and
satellite broadcasting.
Both AM and FM In-Band On-Channel (IBOC) broadcasting systems
utilize a composite signal including an analog modulated carrier
and a plurality of digitally modulated subcarriers. Program content
(e.g., audio) can be redundantly transmitted on the analog
modulated carrier and the digitally modulated subcarriers. The
analog audio is delayed at the transmitter by a diversity
delay.
In the absence of the digital audio signal (for example, when the
channel is initially tuned) the analog AM or FM backup audio signal
is fed to the audio output. When the digital audio signal becomes
available, a blend function smoothly attenuates and eventually
replaces the analog backup signal with the digital audio signal
while blending in the digital audio signal such that the transition
preserves some continuity of the audio program. Similar blending
occurs during channel outages which corrupt the digital signal. In
this case, the analog signal is gradually blended into the output
audio signal by attenuating the digital signal such that the audio
is fully blended to analog when the digital corruption appears at
the audio output. Corruption of the digital audio signal can be
detected during the diversity delay time through cyclic redundancy
check (CRC) error detection means, or other digital detection means
in the audio decoder or receiver.
The concept of blending between the digital audio signal of an IBOC
system and the analog audio signal has been previously described in
U.S. Pat. Nos. 7,546,088; 6,178,317; 6,590,944; 6,735,257;
6,901,242; and 8,180,470, the disclosures of which are hereby
incorporated by reference. The diversity delay and blend allow the
receiver to fill in the digital audio gaps with analog audio when
digital outages occur. The diversity delay ensures that the audio
output has a reasonable quality when brief outages occur in a
mobile environment (for example, when a mobile receiver passes
under a bridge). This is because the time diversity causes the
outages to affect different segments of the audio program for the
digital and analog signals.
In the receiver, the analog and digital pathways may be separately,
and thus asynchronously, processed. In a software implementation,
for example, analog and digital demodulation processes may be
treated as separate tasks using different software threads.
Subsequent blending of the analog and digital signals requires that
the signals be aligned in time before they are blended.
One technique for determining time alignment between signals in
digital and analog pathways performs a correlation between the
samples of the two audio streams and looks for the peak of the
correlation. This may require a large number of multiply operations
and a large amount of memory.
It would be desirable to have a time alignment detection technique
that can achieve a desired accuracy with a reduced number of
multiplies and reduced memory requirements.
SUMMARY
In a first embodiment, a method for processing a radio signal
includes receiving a radio broadcast signal having an analog
portion and a digital portion; separating the analog portion of the
radio broadcast signal from the digital portion of the radio
broadcast signal; producing a first stream of audio samples
representative of the analog portion of the radio broadcast signal;
producing a second stream of audio samples representative of the
digital portion of the radio broadcast signal; decimating the first
and second streams of audio samples to produce first and second
streams of decimated streams of audio samples; estimating a first
offset value between corresponding samples in the first and second
streams of decimated streams of audio samples, wherein the first
offset value has a first range of valid results; shifting one of
the first and second streams of audio samples by a first shift
value; decimating the first and second streams of audio samples to
produce third and fourth streams of decimated audio samples;
estimating a second offset value between corresponding samples in
the third and fourth streams of decimated streams of audio samples,
wherein the second offset value has a second range of valid
results; determining a final offset value based on an intersection
of the first and second ranges of valid results; and shifting one
of the first and second streams of audio samples by the final
offset value to align the first and second streams of audio
samples.
In another embodiment, a radio receiver includes processing
circuitry configured to receive a radio broadcast signal having an
analog portion and a digital portion; separate the analog portion
of the radio broadcast signal from the digital portion of the radio
broadcast signal; produce a first stream of audio samples
representative of the analog portion of the radio broadcast signal;
produce a second stream of audio samples representative of the
digital portion of the radio broadcast signal; decimate the first
and second streams of audio samples to produce first and second
streams of decimated streams of audio samples; estimate a first
offset value between corresponding samples in the first and second
streams of decimated streams of audio samples, wherein the first
offset value has a first range of valid results; shift one of the
first and second streams of audio samples by a first shift value;
decimate the first and second streams of audio samples to produce
third and fourth streams of decimated audio samples; estimate a
second offset value between corresponding samples in the third and
fourth streams of decimated streams of audio samples, wherein the
second offset value has a second range of valid results; determine
a final offset value based on an intersection of the first and
second ranges of valid results; and shift one of the first and
second streams of audio samples by the final offset value to align
the first and second streams of audio samples.
In another embodiment, a non-transitory, tangible computer readable
medium comprising computer program instructions adapted to cause a
processing system to execute steps including: receiving a radio
broadcast signal having an analog portion and a digital portion;
separating the analog portion of the radio broadcast signal from
the digital portion of the radio broadcast signal; producing a
first stream of audio samples representative of the analog portion
of the radio broadcast signal; producing a second stream of audio
samples representative of the digital portion of the radio
broadcast signal; decimating the first and second streams of audio
samples to produce first and second streams of decimated streams of
audio samples; estimating a first offset value between
corresponding samples in the first and second streams of decimated
streams of audio samples, wherein the first offset value has a
first range of valid results; shifting one of the first and second
streams of audio samples by a first shift value; decimating the
first and second streams of audio samples to produce third and
fourth streams of decimated audio samples; estimating a second
offset value between corresponding samples in the third and fourth
streams of decimated streams of audio samples, wherein the second
offset value has a second range of valid results; determining a
final offset value based on an intersection of the first and second
ranges of valid results; and shifting one of the first and second
streams of audio samples by the final offset value to align the
first and second streams of audio samples.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a functional block diagram of an exemplary digital radio
broadcast transmitter.
FIG. 2 is a functional block diagram of an exemplary digital radio
broadcast receiver in accordance with certain embodiments.
FIG. 3 is a functional block diagram that shows separate digital
and analog signal paths in a receiver.
FIG. 4 is a functional block diagram that shows elements of a time
alignment module.
FIG. 5 is a flow block diagram of a method for time alignment in
accordance with certain embodiments.
DETAILED DESCRIPTION
Embodiments described herein relate to the processing of the
digital and analog components of a digital radio broadcast signal.
While aspects of the disclosure are presented in the context of an
exemplary IBOC system, it should be understood that the present
disclosure is not limited to IBOC systems and that the teachings
herein are applicable to other forms of digital radio broadcasting
as well.
Referring to the drawings, FIG. 1 is a block diagram of an
exemplary digital radio broadcast transmitter 10 that broadcasts
digital audio broadcasting signals. The exemplary digital radio
broadcast transmitter may be a DAB transmitter such as an AM or FM
IBOC transmitter, for example. An input signal source 12 provides
the signal to be transmitted. The source signal may take many
forms, for example, an analog program signal that may represent
voice or music and/or a digital information signal that may
represent message data such as traffic information. A baseband
processor 14 processes the source signal in accordance with various
known signal processing techniques, such as source coding,
interleaving and forward error correction, to produce in-phase and
quadrature components of a complex baseband signal on lines 16 and
18, and to produce a transmitter baseband sampling clock signal 20.
Digital-to-analog converter (DAC) 22 converts the baseband signals
to an analog signal using the transmitter baseband sampling clock
20, and outputs the analog signal on line 24. The analog signal is
shifted up in frequency and filtered in the up-converter block 26.
This produces an analog signal at an intermediate frequency
f.sub.if on line 28. An intermediate frequency filter 30 rejects
alias frequencies to produce the intermediate frequency signal
f.sub.if on line 32. A local oscillator 34 produces a signal
f.sub.10 on line 36, which is mixed with the intermediate frequency
signal on line 32 by mixer 38 to produce sum and difference signals
on line 40. The unwanted intermodulation components and noise are
rejected by image reject filter 42 to produce the modulated carrier
signal f.sub.c on line 44. A high power amplifier (HPA) 46 then
sends this signal to an antenna 48.
In one example, a basic unit of transmission of the DAB signal is
the modem frame, which is typically on the order of a second in
duration. Exemplary AM and FM IBOC DAB transmission systems arrange
the digital audio and data in units of modem frames. Some
transmission systems are both simplified and enhanced by assigning
a fixed number of audio frames to each modem frame. The audio frame
period is the length of time required to render, e.g., play back
audio for a user, the samples in an audio frame. For example, if an
audio frame contains 1024 samples, and the sampling period is 22.67
.mu.sec, then the audio frame period would be approximately 23.2
milliseconds. A scheduler determines the total number of bits
allocated to the audio frames within each modem frame. The modem
frame duration is advantageous because it may enable sufficiently
long interleaving times to mitigate the effects of fading and short
outages or noise bursts such as may be expected in a digital audio
broadcasting system. Therefore the main digital audio signal can be
processed in units of modem frames, and audio processing, error
mitigation, and encoding strategies may be able to exploit this
relatively large modem frame time without additional penalty.
In typical implementations, an audio encoder may be used to
compress the audio samples into audio frames in a manner that is
more efficient and robust for transmission and reception of the
IBOC signal over the radio channel. The audio encoder encodes the
audio frames using the bit allocation for each modem frame. The
remaining bits in the modem frame are typically consumed by the
multiplexed data and overhead. Any suitable audio encoder can
initially produce the compressed audio frames such as an HDC
encoder as developed by Coding Technologies of Dolby Laboratories,
Inc., 999 Brannan Street, San Francisco, Calif. 94103-4938 USA; an
Advanced Audio Coding (AAC) encoder; an MPEG-1 Audio Layer 3 (MP3)
encoder; or a Windows Media Audio (WMA) encoder. Typical lossy
audio encoding schemes, such as AAC, MP3, and WMA, utilize the
modified discrete cosine transform (MDCT) for compressing audio
data. MDCT based schemes typically compress audio samples in blocks
of a fixed size. For example, in AAC encoding, the encoder may use
a single MDCT block of length 1024 samples or 8 blocks of 128
samples. Accordingly, in implementations using an AAC coder, for
example, each audio frame could be comprised of a single block of
1024 audio samples, and each modem frame could include 64 audio
frames. In other typical implementations, each audio frame could be
comprised of a single block of 2048 audio samples, and each modem
frame could include 32 audio frames. Any other suitable combination
of sample block sizes and audio frames per modem frame could be
utilized.
In an exemplary IBOC DAB system, the broadcast signal includes main
program service (MPS) audio, MPS data (MPSD), supplemental program
service (SPS) audio, and SPS data (SPSD). MPS audio serves as the
main audio programming source. In hybrid modes, it preserves the
existing analog radio programming formats in both the analog and
digital transmissions. MPSD, also known as program service data
(PSD), includes information such as music title, artist, album
name, etc. Supplemental program service can include supplementary
audio content as well as PSD. Station Information Service (SIS) is
also provided, which comprises station information such as call
sign, absolute time, position correlated to GPS, and data
describing the services available on the station. In certain
embodiments, Advanced Applications Services (AAS) may be provided
that include the ability to deliver many data services or streams
and application specific content over one channel in the AM or FM
spectrum, and enable stations to broadcast multiple streams on
supplemental or sub-channels of the main frequency.
A digital radio broadcast receiver performs the inverse of some of
the functions described for the transmitter. FIG. 2 is a block
diagram of an exemplary digital radio broadcast receiver 50. The
exemplary digital radio broadcast receiver 50 may be a DAB receiver
such as an AM or FM IBOC receiver, for example. The DAB signal is
received on antenna 52. A bandpass preselect filter 54 passes the
frequency band of interest, including the desired signal at
frequency f.sub.c, but rejects the image signal at
f.sub.c-2f.sub.if (for a low side lobe injection local oscillator).
Low noise amplifier (LNA) 56 amplifies the signal. The amplified
signal is mixed in mixer 58 with a local oscillator signal f.sub.lo
supplied on line 60 by a tunable local oscillator 62. This creates
sum (f.sub.c+f.sub.lo) and difference (f.sub.c-f.sub.lo) signals on
line 64. Intermediate frequency filter 66 passes the intermediate
frequency signal f.sub.if and attenuates frequencies outside of the
bandwidth of the modulated signal of interest. An analog-to-digital
converter (ADC) 68 operates using the front-end clock 70 to produce
digital samples on line 72. Digital down converter 74 frequency
shifts, filters and decimates the signal to produce lower sample
rate in-phase and quadrature signals on lines 76 and 78. The
digital down converter 74 also outputs a receiver baseband sampling
clock signal 80. A baseband processor 82, operating using the
master clock 84 that may or may not be generated from the same
oscillator as the front-end clock 70, then provides additional
signal processing. The baseband processor 82 produces output audio
samples on line 86 for output to audio sink 88. The output audio
sink may be any suitable device for rendering audio such as an
audio-video receiver or car stereo system.
FIG. 3 is a functional block diagram that shows separate digital
and analog signal paths in a receiver. A hybrid radio broadcast
signal is received on antenna 52, and is converted to a digital
signal in ADC 68. The hybrid signal is then split into a digital
signal path 90 and an analog signal path 92. In the digital signal
path 90, the digital signal is acquired, demodulated, and decoded
into digital audio samples as described in more detail below. The
digital signal spends an amount of time T.sub.DIGITAL in the
digital signal path 90, which is a variable amount of time that
will depend on the acquisition time of the digital signal and the
demodulation and decoding times of the digital signal path. The
acquisition time can vary depending on the strength of the digital
signal due to radio propagation interference such as fading and
multipath.
In contrast, the analog signal (i.e., the digitized analog audio
samples) spends an amount of time T.sub.ANALOG in the analog signal
path 92. T.sub.ANALOG is typically a constant amount of time that
is implementation dependent. It should be noted that the analog
signal path 92 may be co-located with the digital signal path on
the baseband processor 82 or separately located on an independent
analog processing chip. Since the time spent traveling through the
digital signal path T.sub.DIGITAL and the analog signal path
T.sub.ANALOG may be different, it is desirable to align the samples
from the digital signal with the samples from the analog signal
within a predetermined amount so that they can be smoothly combined
in the audio transition module 94. The alignment accuracy will
preferably be chosen to minimize the introduction of audio
distortions when blending from analog to digital and visa versa.
The digital and analog signals are combined and travel through the
audio transition module 94. Then the combined digitized audio
signal is converted into analog for rendering via the
digital-to-analog converter (DAC) 96. As used in this description,
references to "analog" or "digital" with regard to a particular
data sample streams in this disclosure connote the radio signal
from which the sample stream was extracted, as both data streams
are in a digital format for the processing described herein.
One technique for determining time alignment between signals in
digital and analog pathways performs a correlation between the
samples of the two audio streams and looks for the peak of the
correlation. Time samples of digital and analog audio are compared
as one sample stream is shifted in time against the other. The
alignment error can be calculated by successively applying offsets
to the sample steams until the correlation peaks. The time offset
between the two samples at peak correlation is the alignment error.
Once the alignment error has been determined, the timing of the
digital and/or analog audio samples can be adjusted to allow smooth
blending of the digital and analog audio.
For an n point correlation, there are n.sup.2 multiplies and the
memory requirement is 2n samples for each stream, or 4n total
samples. For a search range of 0.5 seconds and a sample rate of
44.1 k this requires approximately 487 million multiplies and 88
kBytes of memory. The accuracy of this technique is .+-.1 sample.
In order to reduce the number of multiplies and the memory required
many systems downsample the incoming audio streams and perform the
correlation on the downsampled data. If the data is downsampled by
5, the total number of samples is reduced by 1/5 and the total
number of multiplies is reduced by 1/25. The tradeoff is in
resolution which is then .+-.2.5 samples of accuracy.
It would be desirable to have a method and apparatus for
determining offset between analog and digital audio streams within
a desired accuracy using downsampled audio streams.
In one embodiment, the detection and adjustment of the delay
between the data streams as initially received may be performed by
an alignment estimation module. The alignment estimation module may
be implemented using one or more processors or other circuitry to
detect which of the two data streams is leading, and to determine
the amount of time offset between them. The time offset may be
determined based on a number of samples that is a small fraction of
the overall number of samples in each data stream. Based on the
detected time offset, the alignment estimation module may generate
one or more control signals that cause the alignment to be
adjusted, and more particularly, to be reduced. The adjustment of
the alignment may be performed by various methods, such as varying
the sampling rate of one or more sample rate converters, or
adjusting a pointer separation in a first-in first-out memory. The
alignment may also be adjusted continuously or incrementally at a
rate sufficiently slow so as to avoid audio artifacts if the analog
sample stream leads the digital sample stream. The alignment
estimation module may cease adjustments when the sample streams are
sufficiently aligned, and provide a signal to a blend unit
indicating that a blend operation may commence.
FIG. 4 is a functional block diagram of an apparatus for
determining offset between analog and digital audio streams within
a desired accuracy using downsampled audio streams. In the
embodiment of FIG. 4, the digital signal path 90 supplies a first
stream of samples representative of the content of the received
digitally modulated signal on line 100. The samples from the first
sample stream are stored in buffer 102. The first stream of samples
on line 104 is filtered by an anti-aliasing filter 106 and
downsampled (decimated) as shown in block 108 to produce a first
decimated sample stream on line 110. The analog signal path 92
supplies a second stream of samples representative of the content
of the received analog modulated signal on line 112. Samples from
the second stream of samples are stored in buffer 114. The second
stream of samples on line 116 is filtered by an anti-aliasing
filter 118 and downsampled (decimated) as shown in block 120 to
produce a second decimated sample stream on line 122. A correlator
124 performs a cross-correlation on samples of the first and second
decimated sample streams and a peak detector 126 determines an
offset between samples of the decimated streams that are most
highly correlated. Due to the decimation of the input signals, the
peak detector output actually represents a range of possible stream
offsets. This offset range is then used to determine a shift value
for one of the first and second sample streams, as illustrated in
block 128. Then the shifted sample stream is decimated and
correlated with the decimated samples from the unshifted stream. By
running the estimation multiple times with a shifted input, the
range of valid results is now limited to the intersection of the
range of valid results of the first estimation and the range of
valid results of the second estimation. The steps of shifting,
decimating, correlating and peak detection can be repeated until a
desired accuracy of the time alignment of the first and second
sample streams is achieved. At that point, a control signal is
output on line 130. Then the blend control 132 can use the control
signal to blend the analog and digital signal paths.
The correlation operation performed by the correlator may include
multiplying together decimated data from each stream. The result of
the multiplication may appear as noise, with a large peak when the
data streams are aligned in time.
In the embodiment shown, the peak detector may analyze correlation
results over time to search for peaks that indicate that the
digital data streams are aligned in time. In some embodiments, a
squaring function may square the product output by the correlator
in order to further emphasize the peaks. Based on the received
data, the peak search unit may output an indication of the relative
delay between the analog data stream and the digital data stream.
The indication of relative delay may include an indication of which
one of the two data streams is leading the other.
Once the analog and digital data streams are sufficiently aligned,
a blend operation may begin. The blend operation may be conducted
as previously described, reducing the contribution of the analog
data stream to the output audio while correspondingly increasing
the contribution of the digital data stream until the latter is the
exclusive source.
FIG. 5 is a flow diagram of one embodiment of a method for
determining relative time offset between two data streams extracted
from a radio simulcast. While the method of FIG. 5 may be
implemented by the apparatus shown in FIG. 4 and described herein,
other hardware embodiments, as well as software embodiments and
combinations thereof, may also be used to implement the method.
FIG. 5 shows an analog sample stream in block 140 and a digital
sample stream in block 142. The analog sample stream is filtered by
an anti-aliasing filter in block 144 and decimated in block 146 to
produce a decimated analog sample stream on line 148. The digital
sample stream is filtered by an anti-aliasing filter in block 150
and decimated in block 152 to produce a decimated digital sample
stream on line 154. Prior to decimation, an anti-aliasing filter is
required. A correlation and peak detection operation is performed
on the decimated analog and digital sample streams in block 156.
This produces an offset value representative of the offset between
the decimated analog and digital sample streams, as shown in block
158. If this offset value has been determined to a desired accuracy
(block 160) then the offset value is output to block 162. If this
offset value has not been determined to a desired accuracy (block
160) then a sample shift value is set in block 164, and one of the
original sample streams (in the example of FIG. 5, the digital
sample stream) is shifted by the shift value and the correlation
and peak detection is repeated using the shifted digital sample
stream.
The correlation algorithm is run multiple times to achieve a
desired accuracy, for example .+-.1 sample. Each time the algorithm
is run, the starting point of one of the streams is offset by an
amount determined by the current result.
In one embodiment, a method for processing a radio signal includes
receiving a radio broadcast signal having an analog portion and a
digital portion; separating the analog portion of the radio
broadcast signal from the digital portion of the radio broadcast
signal; producing a first stream of audio samples representative of
the analog portion of the radio broadcast signal; producing a
second stream of audio samples representative of the digital
portion of the radio broadcast signal; decimating the first and
second streams of audio samples to produce first and second streams
of decimated streams of audio samples; estimating a first offset
value between corresponding samples in the first and second streams
of decimated streams of audio samples, wherein the first offset
value has a first range of valid results; shifting one of the first
and second streams of audio samples by a first shift value;
decimating the first and second streams of audio samples to produce
third and fourth streams of decimated audio samples; estimating a
second offset value between corresponding samples in the third and
fourth streams of decimated streams of audio samples, wherein the
second offset value has a second range of valid results;
determining a final offset value based on an intersection of the
first and second ranges of valid results; and shifting one of the
first and second streams of audio samples by the final offset value
to align the first and second streams of audio samples.
As a specific example, assume that the sample streams are decimated
by a factor of 4. The correlation has an error of .+-.2 samples
relative to the pre-decimated sample streams. By shifting the input
data and running the estimation a second time the correlation error
can be reduced to .+-.1 sample. An example that runs the algorithm
two times to achieve an accuracy of .+-.1 sample follows. Assume
that after the 1st run the result is that the digital stream is +4
samples ahead of the analog stream. The range of valid results is
therefore +2 samples ahead and +6 samples ahead (i.e. result=4.+-.2
samples accuracy).
TABLE-US-00001 // For the 2nd run, advance the digital starting
point by 2 samples. // The range of valid results is shifted and is
now between // +4 and +8 samples if (2nd run result = +4) { // The
range of valid results for a +4 answer is +2 to +6. // However,
from the first estimation it must be +4 to +8 // The intersection
of these is +4 to +6 which is the new valid range // Therefore,
selecting a final result of 5 has an error of +/-1 samples } else
if (2nd run result = + 8) { // The range of valid results for a +8
answer is +6 to +10. // However, from the first estimation it must
be +4 to +8 // The intersection of these is +6 to +8 which is the
new valid range // Therefore, selecting a final result of 7 has an
error of +/-1 sample }
Since this algorithm is run twice, the total number of multiplies
is 2*((n/4).sup.2)=0.125*n.sup.2 compared to n.sup.2, which
represents an 87.5% savings. The total memory required is (2*(n/4))
compared to (2*n) samples, representing a 75% savings of memory.
The described example achieves a higher resolution time alignment
using a downsample by 4, and running the algorithm multiple times
for consistency.
The number of samples to shift for each successive estimation is
best determined by placing the valid result range of an estimation
between two valid answers for the next estimation. Using the
example above, the valid result range after the first estimation is
+2 to +6 samples. For the next estimation, the possible valid
answers are 0, 4, 8, etc. By shifting the input up 2 samples, the
valid range for the second estimation is now +4 to +8, equally
between two possible valid answers of the second estimation. By
shifting the input to realign the valid result range, the result
range of subsequent estimations will intersect the initial result
range and limit the possible valid results.
As an alternative, a shift of -2 samples could have been used which
would shift the range of possible results down 0 to +4, again
equally between two possible results of the second estimation
An extension of this methodology would be to change the decimation
ratio of the input samples in subsequent estimations. This could
enable additional savings in multiplies and memory.
In another embodiment, a radio receiver includes processing
circuitry configured to receive a radio broadcast signal having an
analog portion and a digital portion; separate the analog portion
of the radio broadcast signal from the digital portion of the radio
broadcast signal; produce a first stream of audio samples
representative of the analog portion of the radio broadcast signal;
produce a second stream of audio samples representative of the
digital portion of the radio broadcast signal; decimate the first
and second streams of audio samples to produce first and second
streams of decimated streams of audio samples; estimate a first
offset value between corresponding samples in the first and second
streams of decimated streams of audio samples, wherein the first
offset value has a first range of valid results; shift one of the
first and second streams of audio samples by a first shift value;
decimate the first and second streams of audio samples to produce
third and fourth streams of decimated audio samples; estimate a
second offset value between corresponding samples in the third and
fourth streams of decimated streams of audio samples, wherein the
second offset value has a second range of valid results; determine
a final offset value based on an intersection of the first and
second ranges of valid results; and shift one of the first and
second streams of audio samples by the final offset value to align
the first and second streams of audio samples.
In another embodiment, a non-transitory, tangible computer readable
medium comprising computer program instructions adapted to cause a
processing system to execute steps including: receiving a radio
broadcast signal having an analog portion and a digital portion;
separating the analog portion of the radio broadcast signal from
the digital portion of the radio broadcast signal; producing a
first stream of audio samples representative of the analog portion
of the radio broadcast signal; producing a second stream of audio
samples representative of the digital portion of the radio
broadcast signal; decimating the first and second streams of audio
samples to produce first and second streams of decimated streams of
audio samples; estimating a first offset value between
corresponding samples in the first and second streams of decimated
streams of audio samples, wherein the first offset value has a
first range of valid results; shifting one of the first and second
streams of audio samples by a first shift value; decimating the
first and second streams of audio samples to produce third and
fourth streams of decimated audio samples; estimating a second
offset value between corresponding samples in the third and fourth
streams of decimated streams of audio samples, wherein the second
offset value has a second range of valid results; determining a
final offset value based on an intersection of the first and second
ranges of valid results; and shifting one of the first and second
streams of audio samples by the final offset value to align the
first and second streams of audio samples.
The method and apparatus described herein may be implemented with
the various embodiments of a radio receiver and processes performed
therein as discussed above, and may be utilized with various other
hardware and/or software embodiments not explicitly discussed
herein.
In existing hybrid digital radios, after tuning to a station analog
audio is initially played while digital audio is being acquired.
After digital audio acquisition a blend occurs whereby digital
audio is output and analog audio is no longer played. Without the
method described above digital audio will be played immediately
upon acquisition, however, the two audio streams may not be aligned
causing an echo to be heard when switching from analog audio to
digital audio. Including the time alignment described above will
delay the transition to digital audio while guaranteeing a seamless
transition for the listener
While the invention has been described in terms of several
embodiments, it will be apparent to those skilled in the art that
various changes can be made to the disclosed embodiments without
departing from the scope of the invention as defined by the
following claims. The embodiments described above and other
embodiments are within the scope of the claims.
* * * * *
References