11

For the last week or so I have been trying to understand how quantization error results in the noise floor outside of a mathematical perspective and I haven't really had any luck finding a source that discussed quantization noise without using equations to show where quantization error comes from. That's because it's a purely mathematical effect, there's no ...


9

If you play 16-bit audio at 48kHz, you need the DAC analog reconstruction filter to pass 20kHz and attenuate 96dB at 24kHz, which is quite steep and requires complex multistage analog filter. The advantage of using oversampling is moving the sampling rate much higher, for example oversampling by 4x means the DAC runs at 192kHz, and the analog filter only ...


7

well i'm assuming you mean "conventional" DACs and not $\Sigma \Delta$ DACs. in a conventional DAC (like an R-2R ladder or something), there are the micro errors that occur between neighboring DAC codes. e.g. non-monotonicity. i think the DSP solution to that is adding a teeny amount dither noise to the value that is output to the DAC. there is a more ...


6

To add here are two diagrams showing common transceiver architectures: (1) a super-heterodyne where the down-conversion is done first to an IF frequency and then to baseband and (2) a zero-IF receiver where RF is translated directly to baseband. Note in both architectures it is arbitrary (technical / technology choice) where the ADC/DAC boundary is as either ...


5

What kind of DAC is that? Standard instrumentation DAC (modeled by a ZOH, with a negligible settling time and no reconstruction filter) or something fancier? What's happening could be described in the following terms: in the short analog land between the DAC and the rest of the circuit, you see your signal with mirror images of its spectrum above Nyquist ...


5

First, the answer to why you do not see a negative voltage is that the output being digital will range from 0 to the maximum digital voltage at the output (+Vs). This will have a DC offset of +Vs/2 which is simply filtered out with a high pass filter (series cap) resulting in a bipolar waveform with negative voltage after the series cap. UPDATE: Based on ...


4

If you're not interested in specific practical aspects of A/D conversion, but if you want to learn basic theory concerning sampling and digital (discrete-time) processing of analog (continuous-time) signals, I'd recommend that you read and study the chapter Sampling of Continuous-Time Signals in Oppenheim en Schafer's book Discrete-Time Signal Processing.


4

The sampling theorem requires a perfectly bandlimited signal, bandlimited to below twice the sampling frequency. The problem with this is that only an infinite length signal (e.g. exists before the big bang) can be perfectly bandlimited. This is from the Fourier theorem regarding any domain with finite support. Thus all real-world signals are ...


4

I would have the easiest time explaining these briefly with the aid of an eye diagram as depicted in the graphic below. In this example we see the constellation pattern of a raised cosine QPSK waveform on the complex plane on the left with I as the real axis and Q as the imaginary axis, and the resulting eye diagram pattern of the resulting real (I) and ...


4

So, as far as I understand your system, you've basically taken your target sample stream and decomposed it into 8 polyphase components; thus, each DDS runs at $\frac18$ of the target 1600 MS/s rate, i.e. at 200 MS/s. Thus, the phase increment that a single DDS does per sample it produces is 8 times the phase increment of the interleaved samples. Thus, if ...


4

Zero-order hold will result in a piecewise-constant waveform. Linear interpolation will result in a piecewise-linear waveform. If you want a piecewise-quadratic or piecewise-cubic or higher order polynomial interpolation, it will not appear much different from the original bandlimited waveform.


4

I2S audio samples are signed two's complement. Just add $2^{N-1}$, where $N$ is the number of bits, to the result, and binary and by $2^N-1$, to get the range to $0\ldots2^{N}-1$, which I think you used to get from the built-in analog-to-digital converter (ADC). Do this both to the data you receive and the data you transmit using I2S. You can optimize the ...


3

so the sampling theorem says basically: let $ \ x[n] \triangleq x(nT) \ $ where $ \ f_s = 1/T \ $ is the sampling frequency. then $ x(t) $ can be reconstructed from the samples $x[n]$ using $$x(t) \ = \ \sum_{n=-\infty}^{\infty} x[n] \cdot \mathrm{sinc} \left(\frac{t-nT}{T} \right) \ $$ which is what you get when you pass this ideally sampled ...


3

Good question as you can actually undersample and oversample at the same time! See my "DSP Puzzle" question on that specifically here: How do you simultaneously undersample and oversample? To best explain undersampling and oversampling, it is worthwhile understanding the concept of "Nyquist Zones" first. This was explained in detail recently at this post: ...


3

I just skimmed https://github.com/SaucySoliton/PiFmRds/blob/master/src/pi_fm_rds.c#L454 and from what that code looks like, it initializes a clock generator to run at an adjustable clock. Then, it uses the audio amplitudes to modify that clock's frequency in real time. PWM doesn't seem to be involved, aside from the program using the PWM unit to generate ...


3

Another typical approach, that independently of my other answer works, is predistortion, for example with the look-up table mentioned by robert, or with a correction polynomial. If you can really pinpoint your nonlinearities to a simple digital-in/analog out curve, you can just find the inverse of that curve, and put it in a correcting mapping, and apply ...


3

Quantization error is usually modeled as additive white noise, uniformly distributed over the interval $[-\delta/2, \delta/2)$, where $\delta$ is the step size that the signal is quantized to. As you described, the quantized signal model is described by: $$ s_Q[n] = s[n] + w[n] $$ where $s[n]$ is the original signal and $w[n]$ is a white noise process that ...


3

But for D/A conversion, normally there is no quantization Well, yes there is. In general, because DACs have a certain resolution (8-bit, 10-bit, etc.). But specifically to your question, in a sigma-delta modulator, there's a lot of quantization -- a sigma-delta modulator is based on the notion of a "one-bit" DAC whose output is either $v_{max}$ ...


2

It depends on how acccurate your model is. For an ideal DAC with rectangular impulse response $g(t)$ followed by an ideal sampler your observation is true: the sampled signal is identical to the DAC input signal. But as soon as some frequency selective element comes into play (e.g. anti-aliasing filter) the impulse repsonse $g(t)$ causes a droop in ...


2

So, the intuitive reaction to this situation is oversampling. Basically, if you use twice the sampling rate, you can always average to samples to get one "output sample value" (thanks, Nyquist!). That would give you one bit of additional per every oversampling factor of two, or $$\Delta b = \log_2\frac{f_\text{sample}}{f_\text{target}}$$ Let's introduce ...


2

dithering and noise shaping are techniques that are applicable to any operation that has quantization (a.k.a. "rounding")happening to the data. you dither and noiseshape in conjunction with rounding after an arithmetic operation. dithering has the expense of generating a random number (or two) and massaging it to get the properties of dither that you want. ...


2

A program to convert an .mp3 audio file-format into , say, an .ra (real audio) audio file-format needs fully to decode the mp3 file into raw waveform audio and then re-encode it into its new format. This raw audio waveform data can be contained within 32/64-bit floating point or some integer formats though. But when it's sent to audio DAC, it should be in ...


2

Question 1: The anti-aliasing filter before the ADC is exactly for the purpose of rejecting high frequencies, that will become lower frequencies (i.e. aliasing) after the ADC. The digital lowpass after the ADC cannot help here, as the aliasing has already happened. Consider this example: Your ADC has a sampling frequency of Fs=100kHz. Your input signal is ...


2

There are quite a few different DAC topologies with different properties. The typical tradeoff is between resolution and speed and power usage -- higher speed means lower resolution, and higher resolution means higher power usage. The simplest DAC is arguably the string DAC or Kelvin divider. If you consider the 3-bit DAC above, you can see that every ...


2

Considering basic audio applications, the digital to analog conversion reconstruction filter (aka interpolation filter) is a low pass analog filter that removes all the image spectrum at the output before it goes to loudspeakers and retains only the baseband spectrum that resides in the filter's passband: inside its cutoff frequency of the lowpass filter. ...


2

A quick answer, but as human hearing does not go past 20kHz bandwidth, 44.1 kHz is enough for storing and transmitting audio. The problem is that the analog antialiasing filter before ADC must be extremely sharp to pass 20 kHz enough and block 22.05 kHz enough and this is just needs many components with good performance and tolerance. When sampling at higher ...


2

I think you are confused by negative frequencies and what they mean so let me add this explanation. When you see a spectrum that contains "positive" and "negative" frequencies, each of the frequencies are of the form: $$e^{j\omega t}$$ Where $\omega$ is the frequency (in this case angular frequency as $2\pi f$ with f being the frequency in Hz. The ...


2

As Robert said, there are other interpolations that get very close to the original bandlimited waveform. The ideal is the Whittaker-Shannon interpolation formula, or sinc interpolation. This is equivalent to convolution of the signal data with a sinc function, the impulse response of an ideal lowpass filter, at half the sample rate. But the sinc function is ...


2

Yes absolutely there is also the equivalent of aperture jitter results in a DAC. This is due to the effects of jitter in the sampling clock itself, and variation in the electronics of the time duration for the translation from the different digital levels to analog levels in the output. In either case the jitter is not necessarily just due to a S/H circuit ...


2

I don’t think this is necessarily additionally introduced ISI (beyond the ISI of the pulse shaping filter itself, which is zero when there is no timing offset), but may be the result of timing offset error. All the points within a small offset from the ideal sampling location appear to be selected, and the overall pattern of the full constellation showing ...


Only top voted, non community-wiki answers of a minimum length are eligible