1
$\begingroup$

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)?

$\endgroup$
12
  • $\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$ Jan 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$
    – SleuthEye
    Jan 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$
    – Tendero
    Jan 28, 2016 at 0:58
  • 1
    $\begingroup$ Unless those truncated sample were already zeros, the result wouldn't be the same. $\endgroup$
    – SleuthEye
    Jan 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$
    – SleuthEye
    Jan 28, 2016 at 1:15

2 Answers 2

2
$\begingroup$

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');

enter image description here

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).

$\endgroup$
0
$\begingroup$

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).

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.