Let's say I have an impulse response h[n].
I analyze the power spectrum of that impulse response similar to fourier transformed h[n] corresponding to roughly H[f].
Now I compare H[f] with some target H0[f] by subtracting H0[f]−H[f].
I create a compensation filter based on this via inverse fourier transform: ifft(H0[f]−H[f]).
But this is inadequate because time-domain aliasing is observed: Why?
What I want to understand is, just as sampling in the time-domain cause aliasing in the frequency domain, is this operation of creating a filter via ifft akin to sampling in the frequency domain and likewise causing aliasing in the time domain?
Or is this because the H[f] was not sufficiently padded and the result is a circular convolution that causes ringing (but is this time-domain aliasing?)
Is this a direct result of the duality of the DFT? In that, just as a sinusoid of a given frequency will show up as a frequency-axis shifted impulse in the frequency domain, an envelope of some frequency will show up as a time-axis shifted impulse in the time domain?
Confusedly yours, @panthyon
Answer
The answer is: yes, sampling in the frequency domain causes aliasing in the time domain, exactly like the dual case: sampling in the time domain causes aliasing in the frequency domain.
There are many ways to see this. One standard way is to sample the discrete-time Fourier transform (DTFT) of a discrete-time signal by multiplying it with a Dirac comb and see what this does to the time domain signal. Here, however, I would like to show it in another way, namely by taking samples of the DTFT and asking which periodic signal has these samples as its discrete Fourier transform (DFT).
Let Y(ejω) be the DTFT of the sequence y[n] (note that y[n] is not necessarily of finite length):
Y(ejω)=∞∑n=−∞y[n]e−jnω
Now we take samples of Y(ejω) at ωk=2πk/N, k=0,1,…,N−1, and derive the time domain sequence with a DFT equal to these samples:
Yk≐Y(ej2πk/N)=∞∑n=−∞y[n]e−j2πnk/N=∞∑l=−∞N−1∑n=0y[n+lN]e−j2πnk/N=N−1∑n=0∞∑l=−∞y[n+lN]e−j2πnk/N=N−1∑n=0˜y[n]e−j2πnk/N
where ˜y[n] is an aliased version of the original sequence y[n]:
˜y[n]=∞∑l=−∞y[n+lN]
Note that the right-hand side of (2) is the DFT of ˜y[n]. Eq. (2) shows that the samples Yk of the DTFT Y(ejω) are the DFT coefficients of ˜y[n], which is an aliased version of y[n]. Consequently, sampling in the frequency domain causes time-domain aliasing, which is obviously the dual of the well-known aliasing in the frequency domain caused by sampling in the time domain.
No comments:
Post a Comment