MAGNTIUDE COMPENSATION TECHNIQUE FOR PROCESSING SINGLE-BIT WIDE DATA
20170301360 · 2017-10-19
Assignee
Inventors
Cpc classification
H03H17/0219
ELECTRICITY
International classification
Abstract
Droop caused by a filter may be compensated by applying a pre-filter to the audio signal that cancels out, at least in part, the droop caused by the filter. The pre-filter may implement magnitude compensation that causes an approximately flat passband response when the pre-filtered signal is passed through the filter. The pre-filter may be applied to one-bit wide data streams, such as high-fidelity direct stream digital (DSD) audio data or other one-bit wide data such as pulse-density modulation (PDM) encoded data. The pre-filtering and filtering may be implemented in components of an audio processor, such as in a digital-to-analog converter (DAC). The pre-filtering may include upsampling the one-bit wide data to form symbols and substituting an eighth bit of the symbol with an inverted version of an earlier-received bit.
Claims
1. A method, comprising: receiving, by an audio processor, one-bit wide input data; pre-filtering, by the audio processor, the one-bit input data to form pre-filtered data for filtering; and passing, by the audio processor, the pre-filtered data to a filter for the filtering, wherein the step of pre-filtering provides magnitude compensation such that filtered data has passband flatness.
2. The method of claim 1, wherein the step of pre-filtering comprises substituting a bit of the one-bit input data with an inverted version of an earlier received bit in the received one-bit input data.
3. The method of claim 2, wherein the bit being substituted is selected from the received one-bit input data to obtain a desired magnitude response.
4. The method of claim 2, wherein the step of receiving the one-bit input data comprises receiving one-bit input data upsampled by repeating the one-bit through eight time slots, and wherein the step of substituting the bit of the one-bit input data comprises substituting the inverted version of the earlier received bit into an eighth time slot of the repeated eight time slots of the one-bit input data.
5. The method of claim 1, wherein the step of passing the pre-filtered data to a filter comprises passing the pre-filtered data to a boxcar finite impulse response (FIR) filter of the audio processor, wherein the FIR filter is constrained to processing one-bit data.
6. The method of claim 1, wherein the step of receiving one-bit input data comprises receiving direct stream digital (DSD) or pulse density modulated (PDM) audio data.
7. An apparatus, comprising: a digital-to-analog converter (DAC), comprising: an input node configured to receive a digital one-bit data stream; an output node configured to output an analog signal corresponding to the received one-bit data stream; an analog finite impulse response (FIR) filter having a magnitude response droop in a range of frequencies, wherein the analog finite impulse response (FIR) filter is configured to process the received one-bit data stream to generate the analog signal for the output node; and a pre-filtering circuit coupled to the analog finite impulse response (FIR) filter and coupled to the input node and configured to provide magnitude compensation for the magnitude response droop of the analog finite impulse response (FIR) filter by pre-filtering the received digital one-bit data stream before processing by the analog finite impulse response (FIR) filter.
8. The apparatus of claim 7, wherein the pre-filtering circuit is configured to substitute a bit of the received one-bit data stream with an inverted version of an earlier received bit in the received one-bit data stream.
9. The apparatus of claim 8, wherein the bit being substituted is selected from the received one-bit input data to obtain a desired magnitude response.
10. The apparatus of claim 7, wherein the digital one-bit data stream comprises symbols of eight time slots, and wherein the pre-filtering circuit is configured to substitute a bit of an eighth time slot of a symbol with the inverted version of an earlier received bit in the received one-bit data stream.
11. The apparatus of claim 7, wherein the analog finite impulse response (FIR) filter comprises a boxcar filter configured to be constrained to processing one-bit data.
12. The apparatus of claim 7, further comprising a current-to-voltage converter coupled to the analog finite impulse response (FIR) filter, wherein the current-to-voltage converter is configured generate an output analog voltage signal at the output node based on an output of the finite impulse response (FIR) filter.
13. The apparatus of claim 7, wherein the received digital one-bit data stream comprises direct stream digital (DSD) audio data, and wherein the apparatus further comprises an amplifier coupled to the output node of the digital-to-analog converter (DAC) and configured to drive a transducer to output sounds corresponding to the direct stream digital (DSD) audio data.
14. A method, comprising: sampling an input signal at a sampling frequency to obtain a plurality of samples, wherein the input signal is a signal having a base frequency lower than the sampling frequency such that the plurality of samples comprise data from the input signal repeated multiple times proportional to a ratio of the sampling frequency to the base frequency, and wherein the plurality of samples comprise symbols having a number of bits proportional to the ratio; pre-filtering the plurality of samples by applying a magnitude compensation filter having coefficient weights mapped to bits within the symbols; and filtering the pre-filtered plurality of samples to convert the plurality of samples to an analog signal, wherein the pre-filtering provides magnitude compensation such that the filtered pre-filtered plurality of samples has passband flatness.
15. The method of claim 14, wherein the step of pre-filtering comprises substituting a bit of a first symbol with an inverted version of a bit of an earlier symbol.
16. The method of claim 15, wherein the step of pre-filtering comprises selecting the bit of the first symbol for substitution to obtain a desirable magnitude response.
17. The method of claim 15, wherein the step of sampling obtains symbols having eight repeated bits, and wherein the step of pre-filtering comprises substituting an eighth bit of the first symbol with an inverted version of a bit of the earlier symbol.
18. The method of claim 14, wherein the input signal comprises digital data, and wherein the filtering performs conversion of the digital data to the analog signal.
19. The method of claim 18, wherein the digital data comprises direct stream digital (DSD) audio data, and wherein the method further comprises driving a transducer with the analog signal to reproduce sounds encoded in the direct stream digital (DSD) audio data.
20. An apparatus, comprising: an audio processor, wherein the audio processor is configured to perform steps comprising: receiving, by the audio processor, one-bit wide input data; pre-filtering, by the audio processor, the one-bit input data to form pre-filtered data for filtering; and passing, by the audio processor, the pre-filtered data to a filter for the filtering, wherein the step of pre-filtering provides magnitude compensation such that filtered data has passband flatness.
21. The apparatus of claim 20, wherein the audio processor is configured to perform pre-filtering by substituting a bit of the one-bit input data with an inverted version of an earlier received bit in the received one-bit input data.
22. The apparatus of claim 21, wherein the audio processor is configured to substitute a bit selected from the received one-bit input data to obtain a desired magnitude response.
23. The apparatus of claim 21, wherein the audio processor is configured to upsample the received one-bit input data by repeating the one-bit through eight time slots, and wherein the audio processor is configured to perform substituting the bit of the one-bit input data by substituting the inverted version of the earlier received bit into an eighth time slot of the repeated eight time slots of the one-bit input data.
24. The apparatus of claim 20, wherein the audio processor is configured to perform passing the pre-filtered data to a filter by passing the pre-filtered data to a boxcar finite impulse response (FIR) filter of the audio processor, wherein the FIR filter is constrained to processing one-bit data.
25. The apparatus of claim 20, wherein the audio processor is configured to receive direct stream digital (DSD) or pulse density modulated (PDM) audio data.
26. The apparatus of claim 25, wherein the audio processor is a digital-to-analog converter (DAC) configured to convert the received DSD or PDF audio data into an analog signal for output to a transducer to playback a high-fidelity music audio file.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0017] For a more complete understanding of the disclosed system and methods, reference is now made to the following descriptions taken in conjunction with the accompanying drawings.
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
DETAILED DESCRIPTION
[0025]
[0026] One method for processing data in a digital-to-analog converter (DAC) or other audio processor is described in
[0027] An example of one possible result of pre-filtering is shown in
[0028] In one embodiment, pre-filtering may be applied by upsampling and/or substituting bits in the upsampled data, as shown in
[0029] The DAC 510 may convert the digital data received at input node 202 to an analog signal output at output node 204. A filter 516 may perform the digital to analog conversion. In one embodiment, the filter 516 may be a FIR filter, such as a boxcar finite impulse response (FIR) filter constrained to processing one-bit data and/or constrained to outputting all positive coefficients. A pre-filter 514 may be coupled to the filter and apply processing to the received digital data at input node 202. The pre-filter 514 may, for example, provide magnitude compensation to compensate for droop or other audio frequency response error caused by the filter 516, or other signal processing functionality that may be coupled between the pre-filter 514 and the output node 204.
[0030] The DAC 510 may also include an upsampler 512 coupled between the input node 202 and the pre-filter 514. The upsampler 512 may increase a sample rate of the one-bit wide data received at the input node 202. In some embodiments, the upsampler 512 may convert the one-bit wide data into a multi-bit wide data symbol through the upsampling operation. For example, the input one-bit wide data signal may be a signal having a base frequency lower than the sampling frequency of the upsampler 512, such that the upsampled data comprises data from the input signal repeated multiple times proportional to a ratio of the sampling frequency to the base frequency. The upsampled samples may comprise symbols having a number of bits proportional to the ratio of the sampling frequency to the base frequency. In some embodiments, the upsampler may upsample the one-bit wide data received at input node 202 into 8-bit symbols by sampling the input node 202 at a rate eight times higher than the base frequency of the input signal at the input node 202. The multi-bit symbols may include redundant information that can be used as part of the signal processing.
[0031] Using this redundant information as available time slots in the symbol, a signal transfer function (STF) of a digital magnitude compensation FIR may be approximated by realizing that the analog FIR can perform a similar magnitude compensation function as a digital FIR. This can be done by mapping the coefficient weights of a digital FIR H1(z) function into the time slots, or bits, of the multi-bit symbols formed by upsampler 512. One example of the H1(z) function is given by:
H1(z)=1−⅛*ẑ−23
[0032] A filter implementing the H1(z) signal transfer function may provide adequate audio band magnitude compensation for a comb SINC filter, such as an analog FIR filter implemented as filter 516. The following filter, H2(z), may possess nearly the same passband response as H1(z):
H2(z)=⅞−⅛*ẑ−21
[0033] In the transfer function H2(z), the first input sample may be represented by the first 7 time slots of the symbol and the second input sample may be represented by the eighth time slot. The pre-filter 514 may apply magnitude compensation by replacing the eighth bit of the symbol with an inverted version of an earlier bit. The earlier bit may be selected from the input data to obtain a desired magnitude compensation. In one embodiment, the pre-filter 514 may substitute an eighth bit of the symbol with a data sample that has been inverted and delayed by 21 one-bit symbols of the input data at input node 202. If the H2(z) function is upsampled from 64*Fs to 512*Fs to match the sample rate of a filter 516, such as an analog FIR, the H2(z) function may be rewritten as:
H2mc(z)=⅛*(7−ẑ(−21*8))
[0034] The signal transfer function (STF) for a single one-bit symbol interval of eight time slots of an analog FIR, such as may be used as filter 516, can be written by:
Hsymbol(z)=⅛*(1+ẑ−1+ẑ−2+ẑ−3+ẑ−4 +ẑ−5 +ẑ−6 +ẑ−7)
[0035] This filter may operate at 512*Fs, which is the same rate as H2mc(z) above. H2mc(z) can be rewritten as:
H2mc(z)=⅛*(7A+B),
where A is a first one-bit input sample and B is a second, delayed one-bit input sample.
[0036] H2mc(z) may map to the eight time slots of the one-bit symbol interval by substituting H2mc(z) into Hsymbol(z) as follows:
Hmcsym(z)=⅛*(A+A*ẑ−1+A*ẑ−2+A*ẑ−3+A*ẑ−4+A*ẑ−5+A*ẑ−6+B*ẑ−7),
which is an oversampled transfer function.
[0037] In terms of performance, the uncorrected 20-20 kHz passband response of an analog FIR used as filter 516 may be approximately +0, −0.7 dB. Using the magnitude compensation technique through a pre-filter as described in embodiments above, the corrected 20-20 kHz passband response of the analog FIR may be approximately +0, −0.03 dB.
[0038] A method of processing data, such as in a digital-to-analog converter (DAC), to pre-filter one-bit wide data by upsampling and substituting bits is shown in
[0039] Next, at block 606, the multi-bit wide data symbol is pre-filtered to provide magnitude compensation to compensate for audio frequency response error introduced by a filter. The magnitude compensation may be provided by substituting one bit of the upsampled multi-bit wide data with an inverted version of an earlier received bit of the received one-bit wide input data. For example, when data 522B is passed through the pre-filter 514 of
[0040] One advantageous embodiment for an audio processor with pre-filtering, such as a digital-to-analog converter (DAC), is a personal media device for playing back high-fidelity music from one-bit wide digital data, such as DSD or PDM data.
[0041] The schematic flow chart diagrams of
[0042] If implemented in firmware and/or software, functions described above may be stored as one or more instructions or code on a computer-readable medium. Examples include non-transitory computer-readable media encoded with a data structure and computer-readable media encoded with a computer program. Computer-readable media includes physical computer storage media. A storage medium may be any available medium that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise random access memory (RAM), read-only memory (ROM), electrically-erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Disk and disc includes compact discs (CD), laser discs, optical discs, digital versatile discs (DVD), floppy disks and Blu-ray discs. Generally, disks reproduce data magnetically, and discs reproduce data optically. Combinations of the above should also be included within the scope of computer-readable media.
[0043] In addition to storage on computer readable medium, instructions and/or data may be provided as signals on transmission media included in a communication apparatus. For example, a communication apparatus may include a transceiver having signals indicative of instructions and data. The instructions and data are configured to cause one or more processors to implement the functions outlined in the claims.
[0044] Although the present disclosure and certain representative advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the disclosure as defined by the appended claims. Moreover, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. For example, although analog-to-digital converters (ADCs) are described throughout the detailed description, aspects of the invention may be applied to the design of other converters, such as digital-to-analog converters (DACs) and digital-to-digital converters, or other circuitry and components. As another example, although processing of audio data is described, other data may be processed through the filters and other circuitry described above. As one of ordinary skill in the art will readily appreciate from the present disclosure, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.