In DSP for audio, I understand what Aliasing is (fixed with an anti-aliasing filter), but there is also something called Imaging (fixed with a reconstruction filter). Aliasing is when a higher frequency mirrors DOWN about 1/2 the Nyquist frequency, but Imaging is when a lower frequency mirrors UP about 1/2 the Nyquist frequency. It has something to do with the DSP reconstruction of the signal the consequences of "zero padding" and so forth. Can someone give me a good explanation using detailed examples on why Imaging happens and what it is exactly?
2 Answers
Aliasing is from decimation or undersampling with unwanted spectrum above the Nyquist rate of \$f_s/2\$
Imaging is from over-sampling duplicating the signal spectrum at harmonics of the sample rate according to the amount of sampling errors or false interpolation or in other cases intentional zeros added to the sample to up-convert the spectrum.
In the reverse process to aliasing, anti-imaging (or reconstruction) filters are used at the output of a sampled system to eliminate spectral images of the desired signal at harmonics of the sample rate.
The ideal filter specification is the same as that for the anti-aliasing filter. Any passband errors will have the same effect for both types of filter. The consequences for the rejection band deviating from the ideal are not the same, however, and depend on the response of the following equipment to the images that may be generated.
Both types of filter can be implemented in the analogue or digital domains.
Visual aid. with my markup in Blue/Yellow
There are many types of aliasing including; velocity aliasing , doppler aliasing, spacial aliasing, perceptual aliasing, diffraction gratings etc.
Undersampling is good when you can't sample above the carrier rate but have a lower rate stable enough to create an image that can be filtered easily.
Nonuniform sampling can facilitate digital alias-free signal processing (DASP)
Imaging is an effect introduced by interpolation. In this case, interpolation is meant to mean 'adding zeros between your samples'. This is also known as upsampling.
When you interpolate (or upsample), you can imagine that you're stretching out the signal in the time domain.Refer to the photo below.
Now without thinking about Fourier transforms and all that stuff, first realize what you're doing. Your first impression is that you're stretching out your signal in the time domain, thus the signal in the frequency compain should just be compressed. Right? Wrong.
Because you're adding zeros, you're introducing a very high rate of change within the signal. Essentially your signal goes from nonzero, to zero in a single timestep whenever you introduce a zero. This high rate of change introduces high frequency content in the form of 'imaging'.
Now the nice thing about a signal that has been imaged is that you haven't lost any information. And if you look closer, you have actually 'compressed' the original frequency content of the signal. But again, you've introduced the high frequency content (imaging) via your upsampling process.
Because the typical goal of upsampling is to increase the sample rate, while maintaining a 'similar signal', we would want to remove the imaging artifacts that we've introduced. We do this by low pass filtering the upsampled signal such that the high frequency artifacts are supressed. After doing this, we end up with a signal that matches the original signal, but now has higher time resolution.
If you're interested in a more techincal response, just refer to this document.
-
1\$\begingroup\$ You're adding zeros in the FREQUENCY domain, not the time domain, so you are not introducing high rates of change to the signal, but to the signal's spectrum. \$\endgroup\$ Commented Nov 4, 2016 at 13:15
-
2\$\begingroup\$ @ScottSeidman What are you talking about? Upsampling could introduce zeros in any domain, but it's typically done in the time domain. \$\endgroup\$– IzzoCommented Nov 4, 2016 at 13:20
-
1\$\begingroup\$ -- no, upsampling introduces the zeros in the frequency domain, resulting in something approximating an interpolation in the time domain. I'm sure there are situations where you insert zeros in the time domain, but I can't say that I've ever come across any. Feel free to show me otherwise. \$\endgroup\$ Commented Nov 4, 2016 at 13:30
-
1\$\begingroup\$ @ScottSeidman I think you're misinterpreting what I'm saying. In the process of plain old up-sampling (no polyphase implementation), you add a zeros between the time domain samples. This is what introduces the imaging. So at this step, you are indeed introducing zeros into the time domain. However, you would then low pass filter this to remove the imaging and it would thus remove the zeros. Also look at the time domain signal in plot B of what I posted. \$\endgroup\$– IzzoCommented Nov 4, 2016 at 13:38