Suppose that I have a $H(z)$ and I sample it to get a DFT of 15 values. Let's call this DFT $H_{1}[k]$. Then, suppose I antitransform $H(z)$ and grab the first 10 values of the sequence, and then I add 5 zeros. After this, I calculate the DFT of this new sequence. Let's call it $H_{2}[k]$. What differences would these two DFTs have between each other (if any)?
-
$\begingroup$ so you're changing it from sampling $H(e^{j \omega})$ 15 equally-spaced points around the unit circle ($|\omega|=1$) to something like $H(e^{j \omega})$ being sampled 20 equally-spaced points on the unit circle. $\endgroup$– robert bristow-johnsonJan 28, 2016 at 0:18
-
$\begingroup$ @robertbristow-johnson OP truncates $h[n]$ before adding those 5 zeros, so it would still be something ($H(e^{jw})$ convolved with the transform of a rectangular window) sampled at 15 equally-spaced point on the unit circle. $\endgroup$– SleuthEyeJan 28, 2016 at 0:54
-
$\begingroup$ @SleuthEye Yes, both of them turn out to be a sequence of 15 points. But are they the same or do they have differences between each other? $\endgroup$– TenderoJan 28, 2016 at 0:58
-
1$\begingroup$ Unless those truncated sample were already zeros, the result wouldn't be the same. $\endgroup$– SleuthEyeJan 28, 2016 at 1:03
-
1$\begingroup$ @robertbristow-johnson No, OP grabs 10 values (ie. removes 5), then adds back 5 values. Net result he's left with 15 points. $\endgroup$– SleuthEyeJan 28, 2016 at 1:15
2 Answers
When grabbing the first 10 samples of $h_1[n]$ you are essentially multiplying the whole sequence $h_1[n]$ with the rectangular window
$$ w[n] = \begin{cases} 1 & 0 \leq n < 10 \\ 0 & \mbox{otherwise} \end{cases} $$
whose DFT is given by:
$$ \begin{align} W\left[k\right] &= \sum_{n=0}^{9} e^{-j 2\pi k n / N} \\ &= \frac{1 - e^{-j 2\pi k \cdot 10/15}}{1 - e^{-j 2\pi k / 15}} \end{align} $$
By the circular convolution theorem:
Multiplication in the discrete-time domain becomes circular convolution in the discrete-frequency domain. Circular convolution in the discrete-time domain becomes multiplication in the discrete-frequency domain.
In other words,
$$ \mbox{DFT}\left\{h_1[n] \cdot w[n]\right\} = \frac{1}{N} H_1\left[k\right] \otimes W\left[k\right] $$
where $\otimes$ is the circular convolution operator.
This can be seen with the following matlab script (you can play around with h1
to see what happens with other waveforms):
n = [0:14]; % discrete-time index
k = [0:14];
h1 = sin(pi*n/14); % some arbitrary function
% window function
w = [ones(1,10) zeros(1,5)];
% time domain operation
h2 = h1.*w;
% convert to frequency domain
H2t = fft(h2);
% frequency domain operation
W = fft(w);
H1 = fft(h1);
H2f = cconv(W,H1) / 15;
% Compare H2t & H2f
figure(1);
subplot(2,1,1);
hold off; plot(k, abs(H2t), 'b');
hold on; plot(k, abs(H2t), 'bx');
hold on; plot(k, abs(H2f), 'ro');
title('Magnitude');
subplot(2,1,2);
hold off; plot(k, angle(H2t), 'b');
hold on; plot(k, angle(H2t), 'bx');
hold on; plot(k, angle(H2f), 'ro');
title('Phase');
Note that if $h_1[n]$ is already no longer than 10 samples (i.e. if those truncated samples are already zero), then windowing in the time-domain will have no effect and similarly the circular convolution with $W[k]$ in the frequency domain will happen to produce $H_1[k] = \frac{1}{N} H_1[k] \otimes W[k]$ (but only as a special case).
Note that if your original H is not representative of a sufficiently time limited window, the sampling process will be lossy.
H2 would be the transform of an even shorter time domain window. A rectangular window in one DFT domain is equivalent to circular convolution with a Sinc function in the other DFT domain. The shorter the rectangular window, the wider the Sinc, likely making H2 "blurrier" (unless the 5 zeroed values are already zero).