System and method for cross fade-in and fade-out audio signals

By adjusting the adaptive filter coefficients through processing circuitry and the NLMS algorithm, signal quality analysis and fine delay estimation in radio stations were achieved, solving the problems of signal frequency attenuation and differences during crossfade-in and fade-out processes, and improving the user listening experience.

CN120833791APending Publication Date: 2025-10-24NXP BV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510514941.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-04-23
Filing Date
2025-04-23
Publication Date
2025-10-24

Smart Images

  • Figure CN120833791A_ABST
    Figure CN120833791A_ABST
Patent Text Reader

Abstract

A system for cross fade-in and fade-out of an audio signal receives time data associated with the audio signal. Initially, the current playback data corresponds to one of the time data. The system determines linear and non-linear data for another time data that is linearly and non-linearly related to the time data, respectively. Further, the system receives a cross-fade-in fade-out request when a parameter value of signal quality associated with the audio signal of the temporal data exceeds a threshold. In response, the system cross-fades the current playback data from the temporal data to the linear data of the other temporal data. In addition, the system inserts the non-linear data into the current playback data to successfully transition from the current temporal data to the other temporal data.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates generally to electronic circuits, and more particularly, to systems and methods for cross-fading audio signals. BACKGROUND

[0002] Generally, a radio station can employ dual transmission, e.g., transmitting both analog and digital signals via a carrier signal, to broadcast a program to a user's user device. The user device typically demodulates the carrier signal and selects one of the signals (e.g., the analog signal or the digital signal) for playback. When the quality associated with the carrier signal of the selected signal deteriorates, the user device can switch to the other signal to compensate for the deficiency. Such dynamic switching between the two signals is referred to as cross-fading. During cross-fading, differences such as non-linearities or network anomalies can disrupt the switching between the signals, resulting in attenuation of certain frequencies. Moreover, the overall listening experience of the user is compromised. SUMMARY

[0003] In an embodiment, a system for cross-fading audio signals can include processing circuitry. The processing circuitry can be configured to receive first time data associated with a first audio signal and second time data associated with a second audio signal, wherein current playback data can correspond to the first time data. The processing circuitry can also be configured to determine linear data and non-linear data of the second time data, wherein the linear data and the non-linear data can be linearly and non-linearly related to the first time data, respectively. Additionally, the processing circuitry can also be configured to cross-fade current playback data from the first time data to the linear data of the second time data based on an analysis of a signal quality associated with the first audio signal. The processing circuitry can also be configured to insert non-linear data of the second time data to the current playback data after cross-fading the current playback data to the linear data, such that the current playback data can correspond to the second time data.

[0004] In some embodiments, the system can also include a first receiver and a second receiver. The first receiver can be configured to receive a first audio signal. The first receiver can also be configured to convert the first audio signal to first data. Additionally, the first receiver can also be configured to determine a first parameter value of a signal quality associated with the first audio signal. The second receiver can be configured to receive a second audio signal. The second receiver can also be configured to convert the second audio signal to second data. Additionally, the second receiver can also be configured to determine a second parameter value of a signal quality associated with the second audio signal.

[0005] In some embodiments, the system can further include a control circuit coupled to the processing circuit, where the control circuit can be configured to receive the first parameter value from the first receiver. The control circuit can be further configured to generate a cross-fade request based on the first parameter value exceeding a first threshold. The control circuit can be further configured to provide the cross-fade request to the processing circuit, where the processing circuit cross-fades based on the cross-fade request.

[0006] In some embodiments, the signal quality associated with each of the first audio signal and the second audio signal can correspond to at least one from a group consisting of: a bit error rate (BER), a cyclic redundancy check (CRC) error, a clock synchronization error, a quantization error, a data loss, an interference, a clipping, a checksum error, a logic error, an overflow error, an underflow error, a signal power indicator, a received power level, a received information, and a baseband information.

[0007] In some embodiments, the system can further include a synchronizer coupled to the first receiver, the second receiver, and the processing circuit, where the synchronizer can be configured to receive first data and second data from the first receiver and the second receiver, respectively. The synchronizer can be further configured to synchronize the first data and the second data based on a plurality of aspects to generate first synchronized data and second synchronized data, respectively. Additionally, the synchronizer can be further configured to provide the first synchronized data and the second synchronized data to the processing circuit, where the first synchronized data and the second synchronized data correspond to first time data and second time data, respectively.

[0008] In some embodiments, the plurality of aspects can correspond to one from a group consisting of: a phase alignment, a clock synchronization, a clock drift alignment, a time alignment, a latency, a buffering, and a sampling rate.

[0009] In some embodiments, the system can further include a buffer coupled to the first receiver, the second receiver, and the processing circuit, where the buffer can be configured to receive first data and second data from the first receiver and the second receiver, respectively. The buffer can be further configured to adjust the first data and the second data to generate first delayed data and second delayed data, where the first delayed data and the second delayed data can be delayed versions of the first data and the second data, respectively. The buffer can be further configured to provide the first delayed data and the second delayed data to the processing circuit, where the first delayed data and the second delayed data can correspond to the first time data and the second time data, respectively. The system can further include a synchronizer coupled to the buffer and the processing circuit, where the synchronizer can be configured to receive the first delayed data and the second delayed data from the buffer. The synchronizer can be configured to provide a delay estimate value between the first delayed data and the second delayed data to the processing circuit, where the processing circuit can determine linear data and non-linear data of the second time data based on the delay estimate value.

[0010] In some embodiments, each of the first audio signal and the second audio signal can correspond to one of (i) a digital audio signal and (ii) an analog audio signal.

[0011] In some embodiments, the processing circuit can determine the non-linear data of the second time data based on a difference between the second time data and the linear data of the second time data.

[0012] In some embodiments, the processing circuit can be further configured to adjust filter coefficients of the adaptive filter based on a normalized least mean square (NLMS) algorithm to determine the linear data of the second time data, where the filter coefficients can be dynamically adjusted based on the first time data. The processing circuit can be further configured to receive a crossfade request, where the filter coefficients can be adjusted until the processing circuit receives the crossfade request, where the crossfade request can be generated based on an analysis of a signal quality associated with the first audio signal, and where the crossfade request can indicate initiation of a crossfade.

[0013] In some embodiments, the processing circuit can be further configured to determine a fine delay estimate value between the first time data and the second time data based on a time offset of a maximum value of the filter coefficients.

[0014] In some embodiments, a crossfade of the current playback data from the linear data of the first time data to the second time data can be based on the fine delay estimate value.

[0015] In some embodiments, the processing circuit can crossfade the current playback data from the first-time data to linear data of the second-time data over a first time period, wherein the processing circuit can insert non-linear data of the second-time data to the current playback data when the first time period can exceed a threshold time period.

[0016] In another embodiment, a crossfade method can include receiving, by a processing circuit, first-time data associated with a first audio signal and second-time data associated with a second audio signal, wherein a current playback data can correspond to the first-time data. The crossfade method can also include determining, by the processing circuit, linear data and non-linear data of the second-time data, wherein the linear data and the non-linear data can be linearly and non-linearly related to the first-time data, respectively. The crossfade method can further include crossfading, by the processing circuit, the current playback data from the first-time data to the linear data of the second-time data based on an analysis of a signal quality associated with the first audio signal. Additionally, the crossfade method can also include inserting, by the processing circuit, the non-linear data of the second-time data to the current playback data after the crossfading to the linear data by the processing circuit, such that the current playback data can correspond to the second-time data.

[0017] In some embodiments, the method can also include receiving, by a first receiver, the first audio signal. The method can further include converting, by the first receiver, the first audio signal to first data. Moreover, the method can include determining, by the first receiver, a first parameter value of a signal quality associated with the first audio signal. Additionally, the method can also include receiving, by a second receiver, the second audio signal. The method can further include converting, by the second receiver, the second audio signal to second data. Moreover, the method can include determining, by the second receiver, a second parameter value of the signal quality associated with the second audio signal.

[0018] In some embodiments, the method can also include receiving, by a control circuit, the first parameter value from the first receiver. The method can further include generating, by the control circuit, a crossfade request based on the first parameter value exceeding a first threshold value. The method can also include sending, by the control circuit, the crossfade request to a processing circuit, wherein the processing circuit crossfades based on the crossfade request.

[0019] In some embodiments, the method can further include receiving, by the synchronizer, first data and second data from the first receiver and the second receiver, respectively. The method can further include synchronizing, by the synchronizer, the first data and the second data based on a plurality of aspects to produce first synchronized data and second synchronized data, where the plurality of aspects of the synchronization can correspond to one of a group consisting of phase alignment, clock synchronization, clock drift alignment, time alignment, latency, buffering, and sampling rate. The method can further include providing, by the synchronizer, the first synchronized data and the second synchronized data to the processing circuitry, where the first synchronized data and the second synchronized data correspond to first time data and second time data, respectively.

[0020] In some embodiments, the method can further include adjusting, by the processing circuitry, filter coefficients of the adaptive filter based on a normalized least mean squares (NLMS) algorithm to determine linear data of the second time data, where the filter coefficients can be dynamically adjusted based on the first time data. The method can further include receiving, by the processing circuitry, a crossfade request, where the filter coefficients can be adjusted until the crossfade request is received by the processing circuitry, where the crossfade request is generated based on an analysis of a signal quality associated with the first audio signal, and where the crossfade request indicates initiation of a crossfade.

[0021] In some embodiments, the method can further include determining, by the processing circuitry, a fine delay estimate value between the first time data and the second time data based on a time offset of a maximum value of the filter coefficients, where a crossfade of current playback data from the first time data to linear data of the second time data can be based on the fine delay estimate value.

[0022] In yet another embodiment, a crossfade method can include receiving, by a processing circuitry, first time data associated with a first audio signal and second time data associated with a second audio signal, where current playback data can correspond to the first time data. The crossfade method can further include determining, by the processing circuitry, linear data and non-linear data of the second time data based on an analysis of a signal quality associated with the first audio signal, where the linear data and the non-linear data can be linearly and non-linearly related to the first time data, respectively. The crossfade method can further include crossfading, by the processing circuitry, the current playback data from the first time data to the linear data of the second time data upon determining the linear data and the non-linear data of the second time data. Additionally, the crossfade method can further include inserting, by the processing circuitry, the non-linear data of the second time data into the current playback data upon crossfading, by the processing circuitry, to the linear data, such that the current playback data can correspond to the second time data. BRIEF DESCRIPTION OF DRAWINGS

[0023] The detailed description set forth below of embodiments of the disclosure will be better understood in conjunction with the accompanying drawings as follows. The present disclosure is illustrated by way of example and not limitation in the figures of the drawings in which like references indicate similar elements.

[0024] Figure 1 shows a schematic diagram of an audio broadcast environment according to an embodiment of the present disclosure;

[0025] Figure 2 shows a block diagram of a filter circuit of a cross-fade system of an apparatus of an audio broadcast environment according to an embodiment of the present disclosure; Figure 1

[0026] Figure 3 shows a schematic diagram of an audio broadcast environment according to another embodiment of the present disclosure; and Figure 1

[0027] Figures 4A-4D collectively represent flow diagrams showing a cross-fade method for an audio signal received by an apparatus of an audio broadcast environment according to an embodiment of the present disclosure. Figure 1 DETAILED DESCRIPTION

[0028] The detailed description of the drawings is intended to describe embodiments of the present disclosure and is not intended to represent the only forms in which the present disclosure can be practiced. It should be understood that the same or equivalent functions can be accomplished by different embodiments that are intended to be covered by the spirit and scope of the present disclosure.

[0029] SUMMARY

[0030] ​​​In conventional radio systems, transmission of audio content relies on two different modes (e.g., a primary audio stream including a first signal and a secondary audio stream including a second signal) to receive audio content on a user device in multiple formats (e.g., frequency modulation (FM), amplitude modulation (AM), and digital audio broadcast (DAB)). Such a setup can give a user of the user device the right to a wider range of audio reception. In a scenario where the signal strength of the primary audio stream weakens, a crossfade between the first signal of the primary audio stream and the second signal of the secondary audio stream is initiated by the user device to ensure uninterrupted playback of the audio content. However, during the crossfade, due to nonlinearities that can be inherent in the second signal, noticeable audio discrepancies (e.g., comb filtering artifacts) can arise. Due to the audio discrepancies, the duration of the crossfade can be limited, resulting in an uneven crossfade. Additionally, when the first signal can correspond to a digital signal and the second signal can correspond to an analog signal, the audio discrepancies can be amplified due to inherent processing differences of the analog and digital signals. Such audio discrepancies can result in attenuation of certain frequencies of the analog signal during the crossfade, which can cause fluctuations in the playback of the audio content, thereby degrading the user’s experience. During the transition between the first signal and the second signal, synchronization between the first signal and the second signal is based on cross-correlation. However, the accuracy of the cross-correlation-based synchronization can be limited by various factors (e.g., nonlinearities, signal distortions, etc.) within the first signal and the second signal. Moreover, the crossfade between the first signal and the second signal can be based on frequency domain processing, which can introduce computational complexity and latency in the playback of the audio content.

[0031] Various embodiments of the present disclosure disclose a crossfade system. The crossfade system can include a processing circuit. The processing circuit can receive first time data and second time data. The first time data can be associated with a first audio signal and the second time data can be associated with a second audio signal. Initially, the first time data can correspond to current playback data. Further, the processing circuit can determine linear data and nonlinear data of the second time data, the linear data and the nonlinear data being linearly and nonlinearly related to the first time data, respectively. The determination of the linear data and the nonlinear data can be based on adjusting filter coefficients of an adaptive filter based on a normalized least mean square (NLMS) algorithm. Based on a time offset of a maximum value of the filter coefficients, the processing circuit can further determine a fine delay estimate between the first time data and the second time data. Further, the processing circuit can synchronize the first time data and the second time data based on the fine delay estimate.

[0032] The processing circuitry can also receive a cross-fade request, which can be generated based on an analysis of signal quality associated with the first audio signal. Based on receiving the cross-fade request, the processing circuitry can cross-fade current playback data from the first time data to linear data of the second time data. After cross-fading the current playback data to the linear data, the processing circuitry can insert non-linear data of the second time data to the current playback data such that the current playback data corresponds to the second time data.

[0033] When reception of the first audio signal degrades, the processing circuitry of the present disclosure dynamically transitions from the first time data to the second time data. The cross-fade between the first time data and the linear data of the second time data followed by the insertion of the non-linear data of the second time data eliminates audio discontinuities (e.g., comb filtering artifacts), thereby ensuring a seamless transition. In the absence of audio discontinuities, the duration of the cross-fade can be extended, which can result in an improved and uniform transition. The cross-fade can be based on time-domain processing (e.g., sample-by-sample processing), thereby reducing computational complexity and eliminating audio playback latency. Furthermore, compared to conventional solutions that employ frequency-domain processing, the memory footprint required for the cross-fade is reduced. Additionally, synchronization based on fine delay estimation values ensures accurate alignment of the first time data and the second time data, thereby minimizing interruptions during the cross-fade and enhancing the overall listening experience of the user.

[0034] Figure 1 A schematic diagram illustrating an audio broadcast environment 100 in accordance with an embodiment of the present disclosure is shown. The audio broadcast environment 100 can include an audio source 102 and a device 104. Examples of the audio source 102 can include a radio station, a podcast platform, a music streaming service, and the like. Examples of the device 104 can include a car radio, a home audio system, a smart speaker, a mobile device, a portable radio, and the like.

[0035] The audio broadcast environment 100 can also include a communication network 106. The device 104 can receive an audio signal from the audio source 102 through the communication network 106. Examples of the communication network 106 can include a cellular network, satellite communication, a local area network (LAN), a wide area network (WAN), and the like.

[0036] Although it is mentioned that the device 104 can receive an audio signal from the audio source 102 through the communication network 106, in various other embodiments, the device 104 can receive an audio signal directly from the audio source 102. For example, a frequency modulation (FM) radio signal is broadcast over the air and received directly by the device 104. Additionally, an amplitude modulation (AM) radio signal, a digital FM radio signal, and an internet radio signal are broadcast over the air and received directly by the device 104.

[0037] Audio source 102:

[0038] The audio source 102 can be configured to broadcast or transmit audio signals, such as a first audio signal AS1 and a second audio signal AS2, to the device 104, as explained herein. The audio source 102 can include an audio processor 108, a first transmitter 110, and a second transmitter 112. Examples of the audio source 102 can include a commercial radio station, a community radio station, an emergency information service, and the like.

[0039] Audio processor 108:

[0040] The audio processor 108 can include suitable circuitry that can be configured to perform one or more operations. For example, the audio processor 108 can be configured to receive an input audio signal from one or more sources, such as a microphone that can capture input audio. Examples of the input audio signal can include human voice, speech, telecommunication, environmental sound, and the like. Examples of the audio processor 108 can include a central processing unit (CPU), a microcontroller, an application specific integrated circuit (ASIC), and the like. The audio processor 108 can process the input audio signal by applying signal processing techniques. Examples of the signal processing techniques can include equalization, compression, pitch shifting, noise reduction, and the like.

[0041] The audio processor 108 can also be configured to linearly and non-linearly process the input audio signal to generate an output audio signal (e.g., the first audio signal AS1 and the second audio signal AS2). During linear processing, the output audio signal can exhibit linearity with the input audio signal. In other words, the output audio signal can be directly proportional to the input audio signal, such that there can be a linear correlation between the input audio signal and the output audio signal. In an example, a gain adjustment of 3 decibels (dB) is applied to the input audio signal to linearly process the output audio signal, such that the volume of the output audio signal is linearly increased. Examples of linear audio processing can include audio gain manipulation, linear equalization, noise reduction, time stretching, delay, mixing, and the like. During non-linear processing, the output audio signal can exhibit non-linearity with the input audio signal. In other words, the output audio signal can not be directly proportional to the input audio signal, such that there can be a non-linear correlation between the input audio signal and the output audio signal. In an example, a saturation effect is applied to the input audio signal, such that the output audio signal is non-linearly processed, and harmonic content (not present in the input audio signal) is introduced into the output audio signal. Examples of non-linear audio processing can include compression, saturation, ring modulation, phase distortion, and the like.

[0042] Although the first audio signal AS1 and the second audio signal AS2 can be produced by a single source (e.g., the audio source 102), non-linearities can be introduced in at least one of the first audio signal AS1 and the second audio signal AS2 due to a number of factors. Examples of the number of factors can include variations in signal processing, environmental factors, distortion during playback, non-linear processing, etc.

[0043] First audio signal AS1:

[0044] The audio processor 108 can also convert the input audio signal to digital data. During conversion, the audio processor 108 can use a compression algorithm (e.g., Advanced Audio Coding (AAC)) to compress the audio content of the input audio signal. Additionally, the audio processor 108 can combine additional service information, such as metadata and error correction codes, with the digital data. Examples of metadata can include the name of a song, the name of an artist, an identifier of a radio station, etc. The audio processor 108 can also be configured to implement a modulation scheme to ensure efficient utilization of the available spectrum and robustness to interference during transmission of the digital data. Examples of the modulation scheme can include a coded orthogonal frequency-division multiplexing (COFDM) modulation scheme. In an example, the available spectrum is divided into 1000 subcarriers, each having a bandwidth of 20 Hertz (Hz). Thus, a total of 1000 channels can be transmitted within a total bandwidth of 20 kilohertz (kHz).

[0045] The audio processor 108 can divide the digital data into a plurality of orthogonal subcarriers and modulate using phase and amplitude modulation techniques to produce the first audio signal AS1 such that the first audio signal AS1 can correspond to a digital signal that can provide high audio fidelity and clarity as compared to an analog signal.

[0046] Second audio signal AS2:

[0047] The audio processor 108 can modulate the input audio signal onto a carrier using various modulation schemes (e.g., FM, AM, etc.) to produce the second audio signal AS2 such that the second audio signal AS2 can correspond to an analog signal.

[0048] Although it is mentioned that the first audio signal AS1 corresponds to a digital signal and the second audio signal AS2 corresponds to an analog signal, in various other embodiments, each of the first audio signal AS1 and the second audio signal AS2 can correspond to a digital signal or an analog signal.

[0049] First transmitter 110:

[0050] The first transmitter 110 can include suitable circuitry that can be configured to perform one or more operations. For example, the first transmitter 110 can be configured to transmit the first audio signal AS1 to the device 104. The first transmitter 110 can transmit the first audio signal AS1 to the device 104 over the communication network 106. An example of the first transmitter 110 can include a digital audio broadcast (DAB) transmitter.

[0051] Second transmitter 112:

[0052] The second transmitter 112 can include suitable circuitry that can be configured to perform one or more operations. For example, the second transmitter 112 can be configured to transmit the second audio signal AS2 to the device 104. The second transmitter 112 can transmit the second audio signal AS2 to the device 104 over the communication network 106. An example of the second transmitter 112 can include an FM transmitter, an AM transmitter, or the like.

[0053] Additionally, the audio processor 108 can be communicatively coupled to the first transmitter 110 and the second transmitter 112 via a communication channel 114 or a communication bus. An example of the communication channel 114 can include a fiber optic cable, an Ethernet cable, a coaxial cable, or the like. In an example, the audio source 102 can be a broadcast station that can include the audio processor 108, the first transmitter 110, and the second transmitter 112. The audio processor 108 can generate a first signal (not numbered) and a second signal (not numbered). The audio processor 108 can additionally provide the first signal to the first transmitter 110 and the second signal to the second transmitter 112. For example, the data associated with each of the first signal and the second signal can be a live feed of a sporting event. The audio processor 108, the first transmitter 110, and the second transmitter 112 can communicate with each other over the communication channel 114. The first transmitter 110 and the second transmitter 112 can be a radio station that can broadcast the first audio signal AS1 and the second audio signal AS2, respectively, by transmitting the first audio signal AS1 and the second audio signal AS2 to a plurality of electronic devices (e.g., the device 104).

[0054] Device 104:

[0055] The device 104 can be an audio device that plays audio in one or more formats (e.g., analog format and digital format) based on the received audio signals (e.g., the first audio signal AS1 and the second audio signal AS2). The device 104 can be configured to receive the first audio signal AS1 and the second audio signal AS2 from the first transmitter 110 and the second transmitter 112, respectively. The device 104 can be configured to generate the first data D1 and the second data D2. The first data D1 and the second data D2 can be digital versions of the first audio signal AS1 and the second audio signal AS2, respectively. The device 104 can also be configured to generate the first time data and the second time data based on the first data D1 and the second data D2, respectively. In an embodiment, the first time data and the second time data can correspond to the first synchronized data SD1 and the second synchronized data SD2, respectively, when the first time data and the second time data are synchronized versions of the first data D1 and the second data D2, respectively. The device 104 can also be configured to generate the output audio OA based on the first synchronized data SD1. In addition, the device 104 can be configured to determine the first parameter value PV1 of the signal quality associated with the first audio signal AS1.

[0056] The device 104 can also be configured to detect whether the first parameter value PV1 exceeds the first threshold. Upon detecting that the first parameter value PV1 exceeds the first threshold, the device 104 can also be configured to crossfade from the first synchronized data SD1 to the second synchronized data SD2. The device 104 can also be configured to generate the output audio OA based on the second synchronized data SD2 upon crossfading from the first synchronized data SD1 to the second synchronized data SD2.

[0057] The device 104 can include the crossfade system 116 and the speaker 118. The crossfade system 116 can include the first receiver 120, the second receiver 122, the control circuit 124, the synchronizer 126, and the processing circuit 128.

[0058] First receiver 120:

[0059] The first receiver 120 can include suitable circuitry that can be configured to perform one or more operations. For example, the first receiver 120 can be configured to receive the first audio signal AS1. The first receiver 120 can also be configured to convert the first audio signal AS1 to the first data D1. The first data D1 can include digital data, metadata, and error correction codes. In an embodiment, to convert the first audio signal AS1 to the first data D1, the first receiver 120 can demodulate the first audio signal AS1. Further, the first receiver 120 can convert the input audio signal from an analog format to the first data D1 in a digital format using pulse code modulation (PCM) (e.g., the first data D1 can be PCM data). The first receiver 120 can also be configured to provide the first data D1 to the synchronizer 126. In addition, the first receiver 120 can also be configured to detect a signal quality associated with the first audio signal AS1 and determine a first parameter value PV1 of the signal quality associated with the first audio signal AS1. The first receiver 120 can determine the first parameter value PV1 based on a fixed time interval (e.g., every two seconds or some other time interval). In addition, the first receiver 120 can detect the signal quality associated with the first audio signal AS1 based on various criteria (e.g., environmental conditions, location-based analysis, motion-based analysis, received power level, etc.). Examples of the PV1 and the signal quality associated with the first audio signal AS1 can correspond to at least one of a bit error rate (BER), a cyclic redundancy check (CRC) error, a clock synchronization error, a quantization error, a data loss, an interference, a clipping, a checksum error, a logic error, an overflow error, an underflow error, a signal power indicator, a received power level, a received information, a baseband information, etc.

[0060] Second receiver 122:

[0061] The second receiver 122 can include suitable circuitry that can be configured to perform one or more operations. For example, the second receiver 122 can be a DAB receiver configured to receive the second audio signal AS2. The second receiver 122 can also be configured to convert the second audio signal AS2 to the second data D2. In an embodiment, to convert the second audio signal AS2 to the second data D2, the second receiver 122 can initially demodulate the second audio signal AS2 to extract the input audio signal. Further, the second receiver 122 can convert the input audio signal from an analog format to a digital format using PCM (e.g., the second data D2 can be PCM data) to the second data D2. The second receiver 122 can also be configured to provide the second data D2 to the synchronizer 126. Additionally, the second receiver 122 can also be configured to detect a signal quality associated with the second audio signal AS2 and determine a second parameter value PV2 of the signal quality associated with the second audio signal AS2. The second receiver 122 can determine the second parameter value PV2 based on a fixed time interval (e.g., every two seconds or some other time interval). Additionally, the second receiver 122 can detect the signal quality associated with the second audio signal AS2 based on various criteria (e.g., environmental conditions, location-based analysis, motion-based analysis, etc.). Examples of the PV2 and the signal quality associated with the second audio signal AS2 can correspond to at least one from a group consisting of a BER, a CRC error, a clock synchronization error, a quantization error, a data loss, an interference, a clipping, a checksum error, a logic error, an overflow error, an underflow error, a signal power indicator, a received power level, a received information, a baseband information, and the like.

[0062] Control circuit 124:

[0063] The control circuit 124 can be coupled to the first receiver 120 and the second receiver 122. The control circuit 124 can include suitable circuitry that can be configured to perform one or more operations. For example, the control circuit 124 can be configured to receive the first parameter value PV1 and the second parameter value PV2 from the first receiver 120 and the second receiver 122, respectively. The control circuit 124 can also be configured to detect whether the first parameter value PV1 exceeds a first threshold value. The first threshold value can correspond to an acceptable upper limit of the first parameter value PV1. The control circuit 124 can also be configured to generate a cross-fade request CR (or a cross-fade signal) when the first parameter value PV1 exceeds the first threshold value. The cross-fade request CR is a signal that causes the processing circuit 128 to perform a cross-fade (e.g., from SD1 to SD2 or vice versa) and can indicate a gradual transition between different audio data (e.g., the first synchronized data SD1 and the second synchronized data SD2).

[0064] Although it is mentioned that the control circuit 124 can generate the cross-fade request CR, in various other embodiments, the control circuit 124 can also be coupled to the host processor such that the control circuit 124 can be an interface between the host processor and the cross-fade system 116. The host processor can receive the first parameter value PV1 and the second parameter value PV2 via the control circuit 124. Further, the host processor can instruct the control circuit 124 to generate the cross-fade request CR when the first parameter value PV1 exceeds a first threshold. For example, PV1 can be a measured value of BER, and the first threshold of BER can be in the range of 1% to 4% (e.g., 2%), but PV1 can correspond to a different signal quality metric and / or the first threshold range can be different. For example, the control circuit 124 can receive a first parameter value PV1 of a value of BER of about 5% from the first receiver 120. The host processor can receive the first parameter value PV1 from the control circuit 124. Further, upon determining that the received PV1 (e.g., 5% BER) exceeds the first threshold (e.g., 2% BER), the host processor can instruct the control circuit 124 to generate the cross-fade request CR to transition between different audio signals (e.g., from the first audio signal AS1 to the second audio signal AS2 when the current output audio OA is based on the first audio signal AS1).

[0065] The control circuit 124 can also be configured to generate the cross-fade request CR upon determining that the first parameter value PV1 has dropped below the first threshold for a fixed time interval, which can cause a transition back to the first audio signal AS1 for the second audio signal AS2.

[0066] Synchronizer 126:

[0067] The synchronizer 126 can be coupled to the first receiver 120 and the second receiver 122. The synchronizer 126 can include suitable circuitry that can be configured to perform one or more operations. For example, the synchronizer 126 can be configured to receive the first data Dl and the second data D2 from the first receiver 120 and the second receiver 122, respectively. The synchronizer 126 can be further configured to synchronize the first data Dl and the second data D2 based on a plurality of aspects to generate the first synchronized data SDl and the second synchronized data SD2. Examples of the plurality of aspects correspond to one of a group consisting of phase alignment, clock synchronization, clock drift alignment, time alignment, latency, sampling rate, and the like. In an example, the synchronizer 126 time aligns the second data D2 with respect to the first data Dl such that the first synchronized data SDl and the second synchronized data SD2 are time aligned with respect to each other. In another example, the synchronizer 126 aligns each of the first data Dl and the second data D2 with respect to a common clock signal. In yet another example, the synchronizer 126 resamples one of the first synchronized data SDl and the second synchronized data SD2 to match a sampling rate of both the first synchronized data SDl and the second synchronized data SD2. The synchronizer 126 can be further configured to provide the first synchronized data SDl and the second synchronized data SD2 to the processing circuit 128.

[0068] Processing circuit 128:

[0069] The processing circuit 128 can be coupled to the control circuit 124 and the synchronizer 126. The processing circuit 128 can be configured to receive the first synchronized data SDl (e.g., first time data) and the second synchronized data SD2 (e.g., second time data) from the synchronizer 126. The first synchronized data SDl can be associated with the first audio signal ASl and the second synchronized data SD2 can be associated with the second audio signal AS2.

[0070] The processing circuit 128 can be further configured to determine linear data LD and non-linear data NLD of the second synchronized data SD2. Additionally, the processing circuit 128 can be further configured to receive a cross-fade request CR that can be generated based on an analysis of a first parameter value PVl in the first audio signal ASl. The processing circuit 128 can be further configured to cross-fade the current playback data from the first synchronized data SDl to the linear data LD of the second synchronized data SD2 for a first time period based on the received cross-fade request CR. The processing circuit 128 can be further configured to insert the non-linear data NLD of the second synchronized data SD2 to the current playback data at an end of the first time period. The processing circuit 128 can generate the output audio OA based on the current playback data when the current playback data corresponds to the first synchronized data SDl. The output audio OA can be generated such that the output audio OA is the same as the input audio received by the audio source 102. Further, the loudspeaker 118 can play the output audio OA.

[0071] Although it is mentioned that the output audio OA is the same as the input audio, in various other embodiments, the output audio OA can be a modified version of the input audio. The processing circuit 128 can include a filter circuit 130 and a cross-fade circuit 132.

[0072] Filter circuit 130:

[0073] The filter circuit 130 can be coupled to the synchronizer 126. The filter circuit 130 can be configured to receive the first synchronization data SD1 and the second synchronization data SD2 from the synchronizer 126. Examples of the filter circuit 130 can include a microprocessor, a CPU, a digital signal processor (DSP), an ASIC, a system on chip (SoC), etc. The second synchronization data SD2 can include linear data LD that can be linearly related to the first synchronization data SD1. In addition, the second synchronization data SD2 can include nonlinear data NLD that can be nonlinearly related to the first synchronization data SD1. The filter circuit 130 can also be configured to determine the linear data LD and the nonlinear data NLD of the second synchronization data SD2. In an embodiment, the filter circuit 130 can correspond to a DSP to implement an adaptive filter (e.g., a digital filter). Adaptive filters can be used in a number of application areas, such as noise cancellation, echo cancellation, equalization, etc.

[0074] The filter circuit 130 can also be configured to adjust filter coefficients of the adaptive filter based on a normalized least mean square (NLMS) algorithm. The NLMS algorithm can provide low computational complexity as compared to other adaptive filtering algorithms. In addition, the NLMS algorithm can provide a proof of convergence in a stationary environment to ensure that the filter coefficients converge to an optimal value based on the input. The stationary environment can correspond to an environment in which statistical properties (e.g., mean, variance, etc.) can remain constant over a certain period of time. In addition, the NLMS algorithm can provide a stable behavior in conjunction with finite precision operations such that the performance of the filter circuit 130 can remain unaffected even with rounding errors introduced by finite precision. Through iterative optimization, the filter circuit 130 can continuously update the filter coefficients based on the NLMS algorithm to minimize a mean square error between the desired output data (e.g., the second synchronization data SD2) and the actual output data (e.g., the linear data LD of the second synchronization data SD2).

[0075] The filter circuit 130 can iteratively update the filter coefficients within a convergence interval (e.g., two seconds). The convergence interval can refer to the time required for an iterative algorithm (e.g., the NLMS algorithm) to reach a stable output (e.g., when the difference between the desired output data and the actual output data is minimized). The convergence interval can be controlled based on a convergence parameter. The convergence parameter can determine the speed at which the filter coefficients are adjusted in response to changes in the input (e.g., the second synchronization data SD2). For example, the convergence parameter can be set such that the filter circuit 130 can iteratively update the filter coefficients based on the NLMS algorithm and reach a stable output within two seconds. In Figure 2 The operation of the filter circuit 130 is further explained in the ongoing description.

[0076] Although it is mentioned that the filter circuit 130 can adjust the filter coefficients of the adaptive filter based on the NLMS algorithm, in various other embodiments, the filter circuit 130 can adjust the filter coefficients based on a least mean square (LMS) algorithm, a recursive least square (RLS) algorithm, etc.

[0077] After the convergence interval, the filter circuit 130 can also be configured to determine a fine delay estimate value FDE between the first synchronization data SD1 and the second synchronization data SD2. The fine delay estimate value FDE can indicate the precise delay between the first synchronization data SD1 and the second synchronization data SD2. The fine delay estimate value FDE can be determined based on the time offset of the maximum value of the filter coefficients. The maximum value of the filter coefficients can be determined according to the tap length of the adaptive filter. The tap length can correspond to the number of consecutive input samples that the adaptive filter can account for at the same time, such that each tap can represent a delay element that can store a previous value (e.g., a previous input sample). For example, a tap length of two hundred fifty-six can indicate that the adaptive filter can account for two hundred fifty-five previous input samples. In an example, the tap length of the adaptive filter is sixty-four. Further, the maximum value of the filter coefficients is at the fiftieth tap. In such a scenario, based on the maximum value of the filter coefficients, the filter circuit 130 can determine that the delay between the first synchronization data SD1 and the second synchronization data SD2 is forty-nine samples. In another example, the maximum value of the filter coefficients is at the first tap. In such a scenario, based on the maximum value of the filter coefficients during the tap length, the filter circuit 130 determines that the first synchronization data SD1 and the second synchronization data SD2 are precisely aligned.

[0078] The filter circuit 130 can also be configured to provide the fine delay estimate value FDE as a feedback signal FS to the synchronizer 126. Based on the feedback signal FS, internal parameters of the synchronizer 126 can be adjusted so that synchronization performance of the synchronizer 126 can be recovered. In an example, the synchronizer 126 synchronizes the first synchronization data SD1 and the second synchronization data SD2 up to a sixty sample accuracy. The synchronizer 126 can also receive the feedback signal FS from the filter circuit 130. Based on the feedback signal FS, the synchronizer 126 adjusts a frequency of an internal clock to improve synchronization performance so that the first synchronization data SD1 and the second synchronization data SD2 are synchronized up to a thirty sample accuracy.

[0079] Cross-fade circuit 132:

[0080] The crossfade circuit 132 can be coupled to the control circuit 124, the synchronizer 126, and the filter circuit 130. The crossfade circuit 132 can include suitable circuitry that can be configured to perform one or more operations. For example, the crossfade circuit 132 can be configured to receive the first synchronization data SD1 and the second synchronization data SD2 from the synchronizer 126. Examples of the crossfade circuit 132 can include a microprocessor, a CPU, a digital signal processor (DSP), an ASIC, a system on chip (SoC), and the like. The crossfade circuit 132 can also be configured to receive the fine delay estimate value FDE from the filter circuit 130.

[0081] The crossfade circuit 132 can also be configured to synchronize the first synchronization data SD1 and the second synchronization data SD2 based on the fine delay estimate value FDE. The crossfade circuit 132 can also be configured to receive a crossfade request CR that can be generated based on an analysis of the first parameter value PV1 in the first audio signal AS1. Based on the crossfade request CR, a transition between a primary data stream (e.g., the first synchronization data SD1) and a secondary data stream (e.g., the second synchronization data SD2) can be initiated. The crossfade circuit 132 can also be configured to crossfade current playback data from the first synchronization data SD1 to linear data LD of the second synchronization data SD2 over a first time period based on the received crossfade request CR. In an embodiment, the filter circuit 130 can update filter coefficients until the crossfade circuit 132 receives the crossfade request CR.

[0082] The first time period can be configured to enable seamless cross-fade between the first synchronized data SD1 and the linear data LD of the second synchronized data SD2. For example, the first time period can be set between one second to twenty seconds. In an embodiment, the host processor can configure the first time period. Further, the host processor can divide the first time period into a plurality of time segments. For example, when the first time period is set to twenty seconds, the host processor can divide the first time period into two hundred time segments of one hundred milliseconds (ms) duration. The cross-fade circuit 132 can iteratively cross-fade between the first synchronized data SD1 and the linear data LD of the second synchronized data SD2 for 100 ms.

[0083] Although it is mentioned that the host processor can configure the first time period, in various other embodiments, the first time period can be configured by the control circuit 124 or other components of the device 104. Additionally, it is mentioned that the host processor can divide the first time period into a plurality of time segments, in various other embodiments, the control circuit 124 can divide the first time period into a plurality of time segments.

[0084] The cross-fade circuit 132 can also be configured to iteratively check whether the first time period is over. The cross-fade circuit 132 can also be configured to insert the non-linear data NLD of the second synchronized data SD2 to the current playback data when the first time period is over. The cross-fade circuit 132 can also generate the output audio OA based on the current playback data (e.g., the second synchronized data SD2). Although it is mentioned that the cross-fade circuit 132 can insert the non-linear data NLD of the second synchronized data SD2 to the current playback data when the first time period is over, in various other embodiments, the cross-fade circuit 132 can insert the non-linear data NLD of the second synchronized data SD2 to the current playback data when the first time period exceeds a threshold time period. For example, the first time period is set to twenty seconds, and the threshold time period is eighteen seconds. The cross-fade circuit 132 can insert the non-linear data NLD of the second synchronized data SD2 to the current playback data at the eighteenth second. The non-linear data NLD of the second synchronized data SD2 can be inserted within a short time period (e.g., 5 ms).

[0085] After inserting the non-linear data NLD of the second synchronized data SD2, the current playback data can correspond to the second synchronized data SD2. The cross-fade circuit 132 can also be configured to generate the output audio OA based on the current playback data. Further, the speaker 118 can play the output audio OA. The cross-fade circuit 132 can also be configured to reset the cross-fade request CR when the current playback data can correspond to the second synchronized data SD2.

[0086] Although it is mentioned that the filter circuit 130 can determine the linear data LD and the non-linear data NLD of the second synchronized data SD2 before the cross-fade circuit 132 can receive the cross-fade request CR, in various other embodiments, the filter circuit 130 can determine the linear data LD and the non-linear data NLD of the second synchronized data SD2 after the cross-fade circuit 132 receives the cross-fade request CR. Thus, the filter circuit 130 can also be configured to transition from the low-power mode to the normal mode when the cross-fade circuit 132 receives the cross-fade request CR. Moreover, the cross-fade circuit 132 can cross-fade the current playback data from the first synchronized data SDl to the linear data LD of the second synchronized data SD2. The cross-fade circuit 132 can also insert the non-linear data NLD of the second synchronized data SD2 to the current playback data. The cross-fade circuit 132 can also generate the output audio OA based on the current playback data (e.g., the second synchronized data SD2).

[0087] In operation:

[0088] The audio processor 108 can generate the first audio signal ASl and the second audio signal AS2. The first transmitter 110 and the second transmitter 112 can transmit the first audio signal ASl and the second audio signal AS2, respectively, so as to broadcast the program in both a digital format (e.g., broadcast the program via the first audio signal ASl) and an analog format (e.g., broadcast the program via the second audio signal AS2). Moreover, the first receiver 120 and the second receiver 122 can receive the first audio signal ASl and the second audio signal AS2, respectively. In addition, the first receiver 120 can convert the first audio signal ASl to the first data Dl, and the second receiver 122 can convert the second audio signal AS2 to the second data D2. Furthermore, the synchronizer 126 can receive the first data Dl and the second data D2 from the first receiver 120 and the second receiver 122, respectively. The synchronizer 126 can also synchronize the first data Dl and the second data D2 based on a plurality of aspects to generate the first synchronized data SDl and the second synchronized data SD2, respectively.

[0089] The filter circuit 130 can receive the first synchronization data SD1 and the second synchronization data SD2 from the synchronizer 126. Further, the filter circuit 130 can implement an adaptive filter based on the NLMS algorithm to determine linear data LD and nonlinear data NLD of the second synchronization data SD2. The filter circuit 130 can also adjust filter coefficients of the adaptive filter based on the NLMS algorithm. Additionally, the filter circuit 130 can determine a fine delay estimate value FDE between the first synchronization data SD1 and the second synchronization data SD2 based on a time offset of a maximum value of the filter coefficients. In an embodiment, the filter coefficients can be adjusted until the crossfade circuit 132 receives a crossfade request CR.

[0090] The first receiver 120 can also determine a first parameter value PV1 of a signal quality associated with the first audio signal AS1, and the second receiver 122 can determine a second parameter value PV2 of a signal quality associated with the second audio signal AS2. The control circuit 124 can receive the first parameter value PV1 and the second parameter value PV2 from the first receiver 120 and the second receiver 122, respectively. In an embodiment, the control circuit 124 can refrain from generating the crossfade request CR when the current playback data corresponds to the first synchronization data SD1 and the first parameter value PV1 is below a first threshold. Further, the crossfade circuit 132 can generate the output audio OA based on the first synchronization data SD1.

[0091] In another embodiment, the current playback data corresponds to the first synchronization data SD1. Further, the control circuit 124 detects that the first parameter value PV1 exceeds a first threshold, and the second parameter value PV2 exceeds a second threshold. In such a scenario, the control circuit 124 can also be configured to compare the first parameter value PV1 to the second parameter value PV2 to determine that the first parameter value PV1 exceeds the second parameter value PV2. The control circuit 124 can also generate the crossfade request CR to transition the current playback data from the first synchronization data SD1 to the second synchronization data SD2. Further, the crossfade circuit 132 can generate the output audio OA based on the second synchronization data SD2.

[0092] In yet another embodiment, the current playback data corresponds to the first synchronization data SD1. Further, the control circuit 124 detects that the first parameter value PV1 exceeds a first threshold, and the second parameter value PV2 is below a second threshold. The control circuit 124 can generate the crossfade request CR to transition the current playback data from the first synchronization data SD1 to the second synchronization data SD2. Further, the crossfade circuit 132 can generate the output audio OA based on the second synchronization data SD2.

[0093] The cross-fade circuit 132 can also receive a cross-fade request CR and a fine delay estimate FDE. Based on the cross-fade request CR and the fine delay estimate FDE, the cross-fade circuit 132 can cross-fade the current playback data from the linear data LD of the first synchronized data SD1 to the second synchronized data SD2. After the cross-fade, the cross-fade circuit 132 can insert the non-linear data NLD of the second synchronized data SD2 to the current playback data such that the current playback data can be based on the second synchronized data SD2 (e.g., the second audio signal AS2).

[0094] Further, the filter circuit 130 can implement an adaptive filter based on the NLMS algorithm to determine the linear data LD and the non-linear data NLD of the first synchronized data SD1. The filter circuit 130 can also adjust filter coefficients of the adaptive filter based on the NLMS algorithm. In addition, the filter circuit 130 can also determine a time delay (e.g., the fine delay estimate FDE) between the first synchronized data SD1 and the second synchronized data SD2 based on a time offset of a maximum value of the filter coefficients. In an embodiment, the control circuit 124 can also generate a cross-fade request CR to transition back from the second synchronized data SD2 (e.g., the second audio signal AS2) to the first synchronized data SD1 (e.g., the first audio signal AS1) after determining that the first parameter value PV1 is below the first threshold. The cross-fade circuit 132 can also receive the cross-fade request CR. Based on the cross-fade request CR, the cross-fade circuit 132 can cross-fade the current playback data from the linear data LD of the second synchronized data SD2 to the first synchronized data SD1. After the cross-fade, the cross-fade circuit 132 can insert the non-linear data NLD of the first synchronized data SD1 to the current playback data such that the current playback data can correspond to the first synchronized data SD1.

[0095] Figure 2 A block diagram illustrating the filter circuit 130 according to an embodiment of the disclosure is shown.

[0096] The filter circuit 130 can receive the first synchronized data SD1 and the second synchronized data SD2 from the synchronizer 126. In an embodiment, the current playback data corresponds to the first synchronized data SD1. Further, the first synchronized data SD1 can correspond to the reference data REF. In addition, the second synchronized data SD2 can correspond to the target data TRG. The filter circuit 130 can include an adjuster 200 and a subtractor 202. The adjuster 200 can be configured to receive the reference data REF (e.g., the first synchronized data SD1).

[0097] Initially, the adjuster 200 can also be configured to set the filter coefficients to initial values. The adjuster 200 can set the initial values based on one of random initialization, zero initialization, pre-defined values, etc. The adjuster 200 can also be configured to multiply the reference data REF with the filter coefficients to produce estimated linear data ELD (e.g., an initial representation of linear data LD of the second sync data SD2).

[0098] The subtracter 202 can be configured to receive the target data TRG (e.g., the second sync data SD2) and the estimated linear data ELD. The subtracter 202 can also be configured to compute error data ERR (e.g., a difference between the target data TRG and the estimated linear data ELD). In an embodiment, when the reference data REF and the target data TRG are linear, the error data ERR can be negligible (e.g., non-linear data can be minimal in the second sync data SD2). The adjuster 200 can also be configured to receive the error data ERR as feedback data. Based on the feedback data, the adjuster 200 can also be configured to update the filter coefficients to minimize the error data ERR.

[0099] The adjuster 200 can iteratively update the filter coefficients within a convergence interval (e.g., two seconds). At the end of the convergence interval, the error data ERR is minimized such that the estimated linear data ELD can correspond to the linear data LD of the second sync data SD2. Moreover, the error data ERR can correspond to the non-linear data NLD of the second sync data SD2. In an embodiment, a transfer function for updating the filter coefficients based on the NLMS algorithm is represented by Equation (1):

[0100]

[0101] where w(n) is a vector of filter coefficients at iteration n, μ is a convergence parameter, x(n) is an input vector at iteration n (e.g., a combination of the reference data REF and the target data TRG), e(n) is an error at iteration n (e.g., the error data ERR), ||x(n)||^2 is a norm of the input data vector at iteration n, and δ is a regularization parameter. In another embodiment, a transfer function for updating the filter coefficients can initially be unknown. The adjuster 200 can also be configured to determine the transfer function based on the NLMS algorithm.

[0102] Figure 3 A schematic diagram showing an audio broadcast environment 100 according to another embodiment of the disclosure.

[0103] The audio broadcast environment 100 can include an audio source 102 and a device 104. The audio broadcast environment 100 can also include a communication network 106. The device 104 can receive audio signals (e.g., a first audio signal AS1 and a second audio signal AS2) from the audio source 102 through the communication network 106. The device 104 can include a cross-fade system 300 and a speaker 118. The cross-fade system 300 can include a first receiver 120, a second receiver 122, a control circuit 124, a synchronizer 126, a processing circuit 128, and a buffer 302. In this embodiment, the first time data and the second time data can correspond to a first delayed data DD1 and a second delayed data DD2, respectively, when the first time data and the second time data are delayed versions of the first data D1 and the second data D2, respectively.

[0104] Buffer 302:

[0105] The buffer 302 can be coupled to the first receiver 120, the second receiver 122, and the processing circuit 128. The buffer 302 can include suitable circuitry that can be configured to perform one or more operations. For example, the buffer 302 can be configured to receive the first data D1 and the second data D2 from the first receiver 120 and the second receiver 122, respectively. The buffer 302 can also be configured to adjust (e.g., delay) each of the first data D1 and the second data D2 and generate the first delayed data DD1 and the second delayed data DD2. The first delayed data DD1 can be a delayed version of the first data D1 and the second delayed data DD2 can be a delayed version of the second data D2. The buffer 302 can temporarily store each of the first data D1 and the second data D2 to ensure smooth playback of the output audio OA when the signal quality associated with one of the first audio signal AS1 or the second audio signal AS2 deteriorates. The buffer 302 can also be configured to provide the first delayed data DD1 and the second delayed data DD2 to the processing circuit 128 (e.g., the filter circuit 130 and the cross-fade circuit 132). The buffer 302 can also be configured to provide the first delayed data DD1 and the second delayed data DD2 to the synchronizer 126.

[0106] The synchronizer 126 can be coupled to the buffer 302. The synchronizer 126 can be configured to receive the first delayed data DD1 and the second delayed data DD2 from the buffer 302. The synchronizer 126 can also be configured to determine a delay estimate DE (e.g., a time delay) between the first delayed data DD1 and the second delayed data DD2. The synchronizer 126 can also be configured to provide the delay estimate DE to the filter circuit 130.

[0107] The filter circuit 130 can be coupled to the buffer 302 and the synchronizer 126. The filter circuit 130 can also be configured to receive the delay estimate value DE from the synchronizer 126. The filter circuit 130 can also be configured to synchronize the first delay data DD1 with the second delay data DD2 based on the delay estimate value DE. In an embodiment, the current playback data corresponds to the first delay data DD1.

[0108] The filter circuit 130 can also be configured to determine the linear data LD and the nonlinear data NLD of the second delay data DD2 by adjusting filter coefficients of an adaptive filter based on an NLMS algorithm. The filter circuit 130 can also be configured to determine a fine delay estimate value FDE between the first delay data DD1 and the second delay data DD2. The fine delay estimate value FDE can indicate an exact time delay between the first delay data DD1 and the second delay data DD2.

[0109] The crossfade circuit 132 can be coupled to the control circuit 124, the synchronizer 126, the filter circuit 130, and the buffer 302. The crossfade circuit 132 can be configured to receive the first delay data DD1 and the second delay data DD2 from the buffer 302. The crossfade circuit 132 can be configured to receive the fine delay estimate value FDE from the filter circuit 130. Further, the crossfade circuit 132 can be configured to synchronize the first delay data DD1 with the second delay data DD2 based on the fine delay estimate value FDE. The crossfade circuit 132 can also be configured to receive a crossfade request CR that can be generated based on an analysis of the first parameter value PV1 in the first audio signal AS1. Based on the crossfade request CR, a transition between a primary data stream (e.g., the first delay data DD1) and a secondary data stream (e.g., the second delay data DD2) can be initiated.

[0110] The crossfade circuit 132 can also be configured to crossfade the current playback data from the first delay data DD1 to the linear data LD of the second delay data DD2 for a first time period based on the received crossfade request CR. The first time period can be configured to enable a seamless crossfade between the first delay data DD1 and the linear data LD of the second delay data DD2.

[0111] The crossfade circuit 132 can also be configured to iteratively determine whether the first time period has ended. The crossfade circuit 132 can also be configured to insert the nonlinear data NLD of the second delay data DD2 to the current playback data at the end of the first time period. The crossfade circuit 132 can also generate the output audio OA based on the current playback data (e.g., the second delay data DD2).

[0112] Although it is mentioned that the cross-fade circuit 132 can insert the non-linear data NLD of the second delayed data DD2 into the current playback data at the end of the first time period, in various other embodiments, the cross-fade circuit 132 can insert the non-linear data NLD of the second delayed data DD2 into the current playback data when the first time period exceeds a threshold time period. For example, the first time period is set to twenty seconds, and the threshold time period is eighteen seconds. Thus, the cross-fade circuit 132 can insert the non-linear data NLD of the second delayed data DD2 into the current playback data at the eighteenth second. After inserting the non-linear data NLD of the second delayed data DD2, the current playback data can correspond to the second delayed data DD2. Moreover, the speaker 118 can play the output audio OA that can be generated based on the second delayed data DD2.

[0113] Figures 4A-4D Collectively, the flowchart 400 illustrates a cross-fade method for audio signals (e.g., the first audio signal AS1 and the second audio signal AS2) received by the device 104, in accordance with embodiments of the present disclosure.

[0114] Referring now to Figure 4A At step 402, the first receiver 120 and the second receiver 122 can receive the first audio signal AS1 and the second audio signal AS2, respectively. Each of the first audio signal AS1 and the second audio signal AS2 can correspond to one of a digital audio signal and an analog audio signal. At step 404, the first receiver 120 can convert the first audio signal AS1 to generate the first data D1. Moreover, the second receiver 122 can convert the second audio signal AS2 to generate the second data D2. After step 404, steps 406-418 and steps 420-426 are performed. At step 406, the buffer 302 can receive the first data D1 and the second data D2 from the first receiver 120 and the second receiver 122, respectively. At step 408, the buffer 302 can adjust the first data D1 and the second data D2 to generate the first delayed data DD1 and the second delayed data DD2, respectively. The first delayed data DD1 and the second delayed data DD2 can correspond to first time data and second time data, respectively. At step 410, the buffer 302 can provide the first time data (e.g., the first delayed data DD1) and the second time data (e.g., the second delayed data DD2) to the filter circuit 130 and the synchronizer 126.

[0115] Referring now to Figure 4BAt step 412, the synchronizer 126, the filter circuit 130, and the cross-fade circuit 132 can receive the first time data and the second time data from the buffer 302. The synchronizer 126 can determine a delay estimate DE between the first delay data DD1 and the second delay data DD2. At step 414, the synchronizer 126 can provide the delay estimate DE between the first time data and the second time data to the filter circuit 130. At step 416, the filter circuit 130 can also receive the delay estimate DE from the synchronizer 126. At step 418, the filter circuit 130 can synchronize the first time data and the second time data based on the delay estimate DE.

[0116] Referring back to Figure 4A At step 420, the synchronizer 126 can receive the first data D1 and the second data D2 from the first receiver 120 and the second receiver 122, respectively. At step 422, the synchronizer 126 can synchronize the first data D1 and the second data D2 based on a plurality of aspects to generate the first synchronized data SD1 and the second synchronized data SD2, respectively. Examples of the plurality of aspects can correspond to at least one of phase alignment, clock synchronization, clock drift alignment, time alignment, latency, buffering, sampling rate, etc. The first synchronized data SD1 and the second synchronized data SD2 can correspond to the first time data and the second time data.

[0117] Referring now to Figure 4B At step 424, the synchronizer 126 can provide the first time data (e.g., the first synchronized data SD1) and the second time data (e.g., the second synchronized data SD2) to the filter circuit 130. At step 426, the filter circuit 130 and the cross-fade circuit 132 can receive the first time data and the second time data from the synchronizer 126. After steps 418 and 426, steps 428 and 430 are performed. The first time data and the second time data can be one of (i) corresponding to the first synchronized data SD1 and the second synchronized data SD2, respectively, and (ii) corresponding to the first delay data DD1 and the second delay data DD2, respectively.

[0118] At step 428, the filter circuit 130 can determine linear data LD and non-linear data NLD of the second time data (e.g., the second synchronized data SD2 or the second delay data DD2) that linearly and non-linearly correspond to the first time data (e.g., the first synchronized data SD1 or the first delay data DD1), respectively. After step 428, step 432 is performed. At step 430, the control circuit 124 can receive a first parameter value PV1 of a signal quality associated with the first audio signal AS1 from the first receiver 120. After step 430, step 434 is performed.

[0119] Referring now toFigure 4C At step 432, the control circuit 124 can receive, from the first receiver 120, a first parameter value PV1 of signal quality associated with the first audio signal AS1. At step 434, the control circuit 124 can determine whether the first parameter value PV1 exceeds a first threshold. If, at step 434, it is determined that the first parameter value PV1 is below the first threshold, then step 436 is performed. At step 436, the speaker 118 can play an output audio OA that can be generated based on the first time data. If, at step 434, it is determined that the first parameter value PV1 exceeds the first threshold, then step 438 is performed. At step 438, the control circuit 124 can generate a crossfade request CR to transition the current playback data from the first time data to the second time data. At step 440, the control circuit 124 can provide the crossfade request CR to the crossfade circuit 132. At step 442, the crossfade circuit 132 can receive, from the control circuit 124, the crossfade request CR indicating to initiate a crossfade. At step 444, the filter circuit 130 can identify whether linear data LD and nonlinear data NLD of the second time data are predetermined. If, at step 444, it is identified that the linear data LD and the nonlinear data NLD of the second time data are yet to be determined, then step 446 is performed. At step 446, the filter circuit 130 can determine the linear data LD and the nonlinear data NLD of the second time data that linearly and nonlinearly correspond to the first time data, respectively. If, at step 444, it is identified that the linear data LD and the nonlinear data NLD of the second time data are predetermined, then step 448 is performed.

[0120] Reference is now made to Figure 4D At step 448, the filter circuit 130 can determine a fine delay estimate value FDE between the first time data and the second time data. The fine delay estimate value FDE can indicate an accurate time delay between the first time data and the second time data. At step 450, the crossfade circuit 132 can synchronize the first time data and the second time data based on the fine delay estimate value FDE. At step 452, the crossfade circuit 132 can crossfade the current playback data from the first time data to the linear data LD of the second time data.

[0121] At step 454, the cross-fade circuit 132 can determine whether the cross-fade is complete. In other words, the cross-fade circuit 132 can iteratively check whether the first time period is over to confirm completion of the cross-fade. If, at step 454, it is determined that the cross-fade is not complete, then step 452 is performed. If, at step 454, it is determined that the cross-fade is complete, then step 456 is performed. At step 456, the cross-fade circuit 132 can insert the non-linear data NLD of the second time data to the current playback data such that the current playback data can correspond to the second time data. At step 458, the speaker 118 can play the output audio OA that can be generated based on the second time data. At step 460, the cross-fade circuit 132 can reset the cross-fade request CR when the current playback data can correspond to the second time data.

[0122] When the reception of the first audio signal AS1 degrades, the processing circuit 128 of the present disclosure dynamically transitions from the first time data to the second time data. The processing circuit 128 can implement an adaptive filter based on the NLMS to determine the linear data LD of the second time data that can linearly correspond to the first time data. Utilizing the NLMS algorithm ensures low computational complexity, proof of convergence in stationary environments, and stable behavior in conjunction with finite precision arithmetic as compared to other adaptive filtering algorithms. The cross-fade between the first time data and the linear data LD of the second time data followed by the insertion of the non-linear data NLD of the second time data eliminates audio discrepancies (e.g., comb filtering artifacts), thereby ensuring a seamless transition. In the absence of audio discrepancies, the duration of the cross-fade can be prolonged, which can result in an improved and uniform transition. The cross-fade can be based on time-domain processing (e.g., sample-by-sample processing), thereby reducing computational complexity and eliminating latency in audio playback. Furthermore, as compared to conventional solutions that employ frequency-domain processing, the memory footprint required for the cross-fade is reduced. Additionally, synchronization of the first time data and the second time data based on the fine delay estimate FDE ensures accurate alignment, thereby minimizing disruptions and enhancing the overall listening experience of the user.

[0123] While various embodiments of the present disclosure have been shown and described, it is to be understood that the present disclosure is not limited to these embodiments. Numerous modifications, changes, variations, substitutions, and equivalents will occur to those skilled in the art without departing from the spirit and scope of the present disclosure as described in the claims. Further, unless otherwise stated, terms such as "first" and "second" are used to arbitrarily distinguish one element from another element. Therefore, these terms do not necessarily indicate temporal priority or other priority.

Claims

1. A system for crossfading audio signals, characterized by The system comprises: processing circuitry configured to: receive first time data associated with a first audio signal and second time data associated with a second audio signal, wherein current playback data corresponds to the first time data; determine linear data and non-linear data of the second time data, wherein the linear data and the non-linear data are linearly and non-linearly related to the first time data, respectively; based on an analysis of signal quality associated with the first audio signal, cross-fade the current playback data from the first time data to the linear data of the second time data; and after cross-fading the current playback data to the linear data, insert the non-linear data of the second time data to the current playback data such that the current playback data corresponds to the second time data.

2. The system of claim 1, wherein, Further comprising: a first receiver configured to: receive the first audio signal; convert the first audio signal to first data; and determine a first parameter value of the signal quality associated with the first audio signal; and a second receiver configured to: receive the second audio signal; convert the second audio signal to second data; and determine a second parameter value of the signal quality associated with the second audio signal.

3. The system of claim 2, wherein, Further comprising control circuitry coupled to the processing circuitry, wherein the control circuitry is configured to: receive the first parameter value from the first receiver; generate a cross-fade request based on the first parameter value exceeding a first threshold; and provide the cross-fade request to the processing circuitry, wherein the processing circuitry cross-fades based on the cross-fade request.

4. The system of claim 2, wherein, The signal quality associated with each of the first audio signal and the second audio signal corresponds to at least one from a group consisting of: a bit error rate (BER), a cyclic redundancy check (CRC) error, a clock synchronization error, a quantization error, a data loss, an interference, a clipping, a checksum error, a logic error, an overflow error, an underflow error, a signal power indicator, a received power level, a received information, and a baseband information.

5. The system of claim 2, wherein, Further comprising a synchronizer coupled to the first receiver, the second receiver, and the processing circuitry, wherein the synchronizer is configured to: receive the first data and the second data from the first receiver and the second receiver, respectively; synchronize the first data and the second data based on a plurality of aspects to generate first synchronized data and second synchronized data, respectively; and provide the first synchronized data and the second synchronized data to the processing circuitry, wherein the first synchronized data and the second synchronized data correspond to the first time data and the second time data, respectively. Further comprising:

6. The system of claim 2, wherein, a buffer coupled to the first receiver, the second receiver, and the processing circuitry, wherein the buffer is configured to: receive the first data and the second data from the first receiver and the second receiver, respectively; ​ adjusting the first data and the second data to produce first delayed data and second delayed data, wherein the first delayed data and the second delayed data are delayed versions of the first data and the second data, respectively; and providing the first delayed data and the second delayed data to the processing circuit, wherein the first delayed data and the second delayed data correspond to the first time data and the second time data, respectively; and a synchronizer coupled to the buffer and the processing circuit, wherein the synchronizer is configured to: receive the first delayed data and the second delayed data from the buffer; and provide a delay estimate between the first delayed data and the second delayed data to the processing circuit, wherein the processing circuit determines the linear data and the nonlinear data of the second time data based on the delay estimate.

7. The system of claim 1, wherein, the processing circuit determines the nonlinear data of the second time data based on a difference between the second time data and the linear data of the second time data.

8. The system of claim 1, wherein, the processing circuit is additionally configured to: adjust filter coefficients of an adaptive filter based on a normalized least mean square (NLMS) algorithm to determine the linear data of the second time data, wherein the filter coefficients are dynamically adjusted based on the first time data; and receive a cross-fade request, wherein the filter coefficients are adjusted until the cross-fade request is received, wherein the cross-fade request is generated based on the analysis of the signal quality associated with the first audio signal, and wherein the cross-fade request indicates to initiate a cross-fade.

9. A cross-fade method, characterized by, comprising: receiving, by processing circuit, first time data associated with a first audio signal and second time data associated with a second audio signal, wherein current playback data corresponds to the first time data; determining, by the processing circuit, linear data and nonlinear data of the second time data, wherein the linear data and the nonlinear data are linearly and nonlinearly related to the first time data, respectively; cross-fading, by the processing circuit, the current playback data from the first time data to the linear data of the second time data based on an analysis of a signal quality associated with the first audio signal; and after the cross-fade to the linear data, inserting, by the processing circuit, the nonlinear data of the second time data to the current playback data such that the current playback data corresponds to the second time data. comprising:

10. A cross-fade method, characterized by, receiving, by processing circuit, first time data associated with a first audio signal and second time data associated with a second audio signal, wherein current playback data corresponds to the first time data; determining, by the processing circuit, linear data and nonlinear data of the second time data based on an analysis of a signal quality associated with the first audio signal, wherein the linear data and the nonlinear data are linearly and nonlinearly related to the first time data, respectively; cross-fading, by the processing circuit, the current playback data from the first time data to the linear data of the second time data based on an analysis of a signal quality associated with the first audio signal; and after the cross-fade to the linear data, inserting, by the processing circuit, the nonlinear data of the second time data to the current playback data such that the current playback data corresponds to the second time data. cross-fade, by the processing circuit, the current playback data from the first time data to the linear data of the second time data based on the linear data and the non-linear data of the second time data; and and after the cross-fade to the linear data, insert, by the processing circuit, the non-linear data of the second time data to the current playback data such that the current playback data corresponds to the second time data.