What would be the effect of repeating samples in time domain on frequency domain?
up vote
0
down vote
favorite
Consider the operation of up-sampling a signal n times by repeating each sample n times in the time domain. What would the frequency domain response of the resultant signal be like given the frequency response of the original signal?
fft multirate
add a comment |
up vote
0
down vote
favorite
Consider the operation of up-sampling a signal n times by repeating each sample n times in the time domain. What would the frequency domain response of the resultant signal be like given the frequency response of the original signal?
fft multirate
1
this is just a discrete-time interpolation with zero-order hold kernel.
– Fat32
Nov 28 at 11:36
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
Consider the operation of up-sampling a signal n times by repeating each sample n times in the time domain. What would the frequency domain response of the resultant signal be like given the frequency response of the original signal?
fft multirate
Consider the operation of up-sampling a signal n times by repeating each sample n times in the time domain. What would the frequency domain response of the resultant signal be like given the frequency response of the original signal?
fft multirate
fft multirate
asked Nov 28 at 6:51
Kevin Selva Prasanna
1064
1064
1
this is just a discrete-time interpolation with zero-order hold kernel.
– Fat32
Nov 28 at 11:36
add a comment |
1
this is just a discrete-time interpolation with zero-order hold kernel.
– Fat32
Nov 28 at 11:36
1
1
this is just a discrete-time interpolation with zero-order hold kernel.
– Fat32
Nov 28 at 11:36
this is just a discrete-time interpolation with zero-order hold kernel.
– Fat32
Nov 28 at 11:36
add a comment |
2 Answers
2
active
oldest
votes
up vote
6
down vote
accepted
It's quite benefical to view the mathematical expression of the process as well.
In discrete-time interpolation, a mere $N$ times repetition of a single sample (pixel) into the new enlarged block is an interpolation with zero-order hold kernel. This is mostly applied for simple fast but crude image zooming.
In 1D, the kernel is $$h_0[n] = begin{cases}{ 1 ~~~,~~~ 0 leq n leq N-1 \ 0 ~~~,~~~ text{ otherwise } } end{cases} tag{1}$$
The interpolated signal can be expressed as :
$$y[n] = sum_{k} x[k] h_0[n-kN] tag{2}$$ this can be expressed as a convolution like
$$y[n] = left(sum_{k} x[k] delta[n- Nk] right) star h_0[n] tag{3}$$
where the signal in parenthesis is the expanded version of $x[n]$:
$$x[n] rightarrow boxed{ uparrow N} rightarrow x_e[n] = sum_{k} x[k] delta[n- Nk] tag{4}$$
Applying DT Fourier transform on Eq(3) yields:
$$ Y(e^{jomega}) = X_e(e^{jomega}) cdot H_0(e^{jomega}) tag{5} $$
where $X_e(e^{jomega}) = X(e^{jomega N}) $ due to the expansion operation in Eq(4) and $H_0(e^{jomega})$ is the DTFT of the rectangular pulse $h_0[n]$ which is:
$$H_0(w) = e^{-jomega (N-1)/2} frac{ sin( omega N /2 ) } { sin( omega / 2 ) } $$
then the result becomes:
$$ Y(e^{jomega}) = X(e^{jomega N}) cdot e^{-jomega (N-1)/2} frac{ sin( omega N /2 ) } {sin( omega / 2 ) } tag{6} $$
Whose magnitude is :
$$ boxed{ |Y(e^{jomega})| = |X(e^{jomega N})| cdot left| frac{ sin( omega N /2 ) } {sin( omega / 2 ) } right| } tag{7} $$
Note that the $X(e^{j omega N})$ is composed of repeated images of $X(e^{j omega})$. And the effect of the interpolation kernel $h_0[n]$ is to remove the images as much as possible with that crude frequency response $H_0(e^{j omega}) $.
The following Octave/Matlab code demonstrates the operation:
clear all; close all; clc;
N = 8; % interpolation
L = 32; % original signal length
x = 5*( sin(0.3*pi*([0:L-1]-L/2))./(pi*([0:L-1]-L/2))).^2;
x(isnan(x))=5*0.3*0.3;
h0 = ones(1,N);
xe = zeros(N*L,1); % expanded signal
xe(1:N:N*L) = x;
yi = conv(xe, h0); % the interpolated signal: y[n] = xe[n] * h0[n]
figure,subplot(2,1,1);
stem(x);
title('original signal');
subplot(2,1,2);
stem(yi);
title('zero-order hold interpolated output');
figure,subplot(2,1,1);
plot(linspace(0,2,1024),abs(fft(x,1024)),'b');
title('Spectrum magnitude of x[n]')
subplot(2,1,2);
plot(linspace(0,2,1024),abs(fft(xe,1024)),'b');
hold on
plot(linspace(0,2,1024),abs(fft(h0,1024)),'r');
plot(linspace(0,2,1024),abs(fft(yi,1024)),'g','linewidth',2);
legend('|X_e(w)|','|H_0(w)|','|Y_i(w)|');
with the following outputs:
and the spectrum:
as you can see, the nulls of the periodic sinc (the Dirichlet kernel) are at the centers of the repeated spectra (the images) of $X(w)$. However this is not enough to suppress them all unlike an ideal lowpass filter (or one of its adequate approximations) which would completely eliminate the image spectra and yield only the one inside the main lobe; hence yielding a perfect interpolation compared to this crude zero order hold kernel giving.
1
Wow, great answer! This is better than the other answer that it helped me realize how the Dirichlet kernel suppresses the repeated images and provides for a neater frequency response. Thanks
– Kevin Selva Prasanna
Nov 28 at 13:13
@KevinSelvaPrasanna your welcome !
– Fat32
Nov 28 at 13:16
Note that this upsampling method (repeating samples) does not conserve spectrum very well. Zero-padding the added samples however gives a periodization of the spectrum, so that the original information can still be extracted with a low-pass filter
– MaximGi
Nov 28 at 13:17
add a comment |
up vote
3
down vote
There are two ways (I see right now) to model this system in terms of other known systems. First that comes to my mind is a zero-order sample and hold system. Although those are usually described in a continuous time domain, it might be interesting to look at as well.
Another model is a combinition of a usual upsampler followed by an FIR with all $N$ taps set to $1$, where $N$ is equal to the upsampling factor.
So first you get the usual narrowed down and repeated Frequency spectrum the upsample block produces and then you multiply it with the FIRs frequency response. As the filter is a rectangle with height $1$ and width $N$ in the time domain, its frequency spectrum is a phase-shifted Dirichlet kernel.
2
That's a good answer, it's just that in discrete time the transform of a (discrete) rectangle is not a sinc function but a Dirichlet kernel.
– Matt L.
Nov 28 at 10:29
@MattL. Of course, thanks
– Uroc327
Nov 28 at 10:32
Wow! thanks. I really like the second model.
– Kevin Selva Prasanna
Nov 28 at 11:19
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
6
down vote
accepted
It's quite benefical to view the mathematical expression of the process as well.
In discrete-time interpolation, a mere $N$ times repetition of a single sample (pixel) into the new enlarged block is an interpolation with zero-order hold kernel. This is mostly applied for simple fast but crude image zooming.
In 1D, the kernel is $$h_0[n] = begin{cases}{ 1 ~~~,~~~ 0 leq n leq N-1 \ 0 ~~~,~~~ text{ otherwise } } end{cases} tag{1}$$
The interpolated signal can be expressed as :
$$y[n] = sum_{k} x[k] h_0[n-kN] tag{2}$$ this can be expressed as a convolution like
$$y[n] = left(sum_{k} x[k] delta[n- Nk] right) star h_0[n] tag{3}$$
where the signal in parenthesis is the expanded version of $x[n]$:
$$x[n] rightarrow boxed{ uparrow N} rightarrow x_e[n] = sum_{k} x[k] delta[n- Nk] tag{4}$$
Applying DT Fourier transform on Eq(3) yields:
$$ Y(e^{jomega}) = X_e(e^{jomega}) cdot H_0(e^{jomega}) tag{5} $$
where $X_e(e^{jomega}) = X(e^{jomega N}) $ due to the expansion operation in Eq(4) and $H_0(e^{jomega})$ is the DTFT of the rectangular pulse $h_0[n]$ which is:
$$H_0(w) = e^{-jomega (N-1)/2} frac{ sin( omega N /2 ) } { sin( omega / 2 ) } $$
then the result becomes:
$$ Y(e^{jomega}) = X(e^{jomega N}) cdot e^{-jomega (N-1)/2} frac{ sin( omega N /2 ) } {sin( omega / 2 ) } tag{6} $$
Whose magnitude is :
$$ boxed{ |Y(e^{jomega})| = |X(e^{jomega N})| cdot left| frac{ sin( omega N /2 ) } {sin( omega / 2 ) } right| } tag{7} $$
Note that the $X(e^{j omega N})$ is composed of repeated images of $X(e^{j omega})$. And the effect of the interpolation kernel $h_0[n]$ is to remove the images as much as possible with that crude frequency response $H_0(e^{j omega}) $.
The following Octave/Matlab code demonstrates the operation:
clear all; close all; clc;
N = 8; % interpolation
L = 32; % original signal length
x = 5*( sin(0.3*pi*([0:L-1]-L/2))./(pi*([0:L-1]-L/2))).^2;
x(isnan(x))=5*0.3*0.3;
h0 = ones(1,N);
xe = zeros(N*L,1); % expanded signal
xe(1:N:N*L) = x;
yi = conv(xe, h0); % the interpolated signal: y[n] = xe[n] * h0[n]
figure,subplot(2,1,1);
stem(x);
title('original signal');
subplot(2,1,2);
stem(yi);
title('zero-order hold interpolated output');
figure,subplot(2,1,1);
plot(linspace(0,2,1024),abs(fft(x,1024)),'b');
title('Spectrum magnitude of x[n]')
subplot(2,1,2);
plot(linspace(0,2,1024),abs(fft(xe,1024)),'b');
hold on
plot(linspace(0,2,1024),abs(fft(h0,1024)),'r');
plot(linspace(0,2,1024),abs(fft(yi,1024)),'g','linewidth',2);
legend('|X_e(w)|','|H_0(w)|','|Y_i(w)|');
with the following outputs:
and the spectrum:
as you can see, the nulls of the periodic sinc (the Dirichlet kernel) are at the centers of the repeated spectra (the images) of $X(w)$. However this is not enough to suppress them all unlike an ideal lowpass filter (or one of its adequate approximations) which would completely eliminate the image spectra and yield only the one inside the main lobe; hence yielding a perfect interpolation compared to this crude zero order hold kernel giving.
1
Wow, great answer! This is better than the other answer that it helped me realize how the Dirichlet kernel suppresses the repeated images and provides for a neater frequency response. Thanks
– Kevin Selva Prasanna
Nov 28 at 13:13
@KevinSelvaPrasanna your welcome !
– Fat32
Nov 28 at 13:16
Note that this upsampling method (repeating samples) does not conserve spectrum very well. Zero-padding the added samples however gives a periodization of the spectrum, so that the original information can still be extracted with a low-pass filter
– MaximGi
Nov 28 at 13:17
add a comment |
up vote
6
down vote
accepted
It's quite benefical to view the mathematical expression of the process as well.
In discrete-time interpolation, a mere $N$ times repetition of a single sample (pixel) into the new enlarged block is an interpolation with zero-order hold kernel. This is mostly applied for simple fast but crude image zooming.
In 1D, the kernel is $$h_0[n] = begin{cases}{ 1 ~~~,~~~ 0 leq n leq N-1 \ 0 ~~~,~~~ text{ otherwise } } end{cases} tag{1}$$
The interpolated signal can be expressed as :
$$y[n] = sum_{k} x[k] h_0[n-kN] tag{2}$$ this can be expressed as a convolution like
$$y[n] = left(sum_{k} x[k] delta[n- Nk] right) star h_0[n] tag{3}$$
where the signal in parenthesis is the expanded version of $x[n]$:
$$x[n] rightarrow boxed{ uparrow N} rightarrow x_e[n] = sum_{k} x[k] delta[n- Nk] tag{4}$$
Applying DT Fourier transform on Eq(3) yields:
$$ Y(e^{jomega}) = X_e(e^{jomega}) cdot H_0(e^{jomega}) tag{5} $$
where $X_e(e^{jomega}) = X(e^{jomega N}) $ due to the expansion operation in Eq(4) and $H_0(e^{jomega})$ is the DTFT of the rectangular pulse $h_0[n]$ which is:
$$H_0(w) = e^{-jomega (N-1)/2} frac{ sin( omega N /2 ) } { sin( omega / 2 ) } $$
then the result becomes:
$$ Y(e^{jomega}) = X(e^{jomega N}) cdot e^{-jomega (N-1)/2} frac{ sin( omega N /2 ) } {sin( omega / 2 ) } tag{6} $$
Whose magnitude is :
$$ boxed{ |Y(e^{jomega})| = |X(e^{jomega N})| cdot left| frac{ sin( omega N /2 ) } {sin( omega / 2 ) } right| } tag{7} $$
Note that the $X(e^{j omega N})$ is composed of repeated images of $X(e^{j omega})$. And the effect of the interpolation kernel $h_0[n]$ is to remove the images as much as possible with that crude frequency response $H_0(e^{j omega}) $.
The following Octave/Matlab code demonstrates the operation:
clear all; close all; clc;
N = 8; % interpolation
L = 32; % original signal length
x = 5*( sin(0.3*pi*([0:L-1]-L/2))./(pi*([0:L-1]-L/2))).^2;
x(isnan(x))=5*0.3*0.3;
h0 = ones(1,N);
xe = zeros(N*L,1); % expanded signal
xe(1:N:N*L) = x;
yi = conv(xe, h0); % the interpolated signal: y[n] = xe[n] * h0[n]
figure,subplot(2,1,1);
stem(x);
title('original signal');
subplot(2,1,2);
stem(yi);
title('zero-order hold interpolated output');
figure,subplot(2,1,1);
plot(linspace(0,2,1024),abs(fft(x,1024)),'b');
title('Spectrum magnitude of x[n]')
subplot(2,1,2);
plot(linspace(0,2,1024),abs(fft(xe,1024)),'b');
hold on
plot(linspace(0,2,1024),abs(fft(h0,1024)),'r');
plot(linspace(0,2,1024),abs(fft(yi,1024)),'g','linewidth',2);
legend('|X_e(w)|','|H_0(w)|','|Y_i(w)|');
with the following outputs:
and the spectrum:
as you can see, the nulls of the periodic sinc (the Dirichlet kernel) are at the centers of the repeated spectra (the images) of $X(w)$. However this is not enough to suppress them all unlike an ideal lowpass filter (or one of its adequate approximations) which would completely eliminate the image spectra and yield only the one inside the main lobe; hence yielding a perfect interpolation compared to this crude zero order hold kernel giving.
1
Wow, great answer! This is better than the other answer that it helped me realize how the Dirichlet kernel suppresses the repeated images and provides for a neater frequency response. Thanks
– Kevin Selva Prasanna
Nov 28 at 13:13
@KevinSelvaPrasanna your welcome !
– Fat32
Nov 28 at 13:16
Note that this upsampling method (repeating samples) does not conserve spectrum very well. Zero-padding the added samples however gives a periodization of the spectrum, so that the original information can still be extracted with a low-pass filter
– MaximGi
Nov 28 at 13:17
add a comment |
up vote
6
down vote
accepted
up vote
6
down vote
accepted
It's quite benefical to view the mathematical expression of the process as well.
In discrete-time interpolation, a mere $N$ times repetition of a single sample (pixel) into the new enlarged block is an interpolation with zero-order hold kernel. This is mostly applied for simple fast but crude image zooming.
In 1D, the kernel is $$h_0[n] = begin{cases}{ 1 ~~~,~~~ 0 leq n leq N-1 \ 0 ~~~,~~~ text{ otherwise } } end{cases} tag{1}$$
The interpolated signal can be expressed as :
$$y[n] = sum_{k} x[k] h_0[n-kN] tag{2}$$ this can be expressed as a convolution like
$$y[n] = left(sum_{k} x[k] delta[n- Nk] right) star h_0[n] tag{3}$$
where the signal in parenthesis is the expanded version of $x[n]$:
$$x[n] rightarrow boxed{ uparrow N} rightarrow x_e[n] = sum_{k} x[k] delta[n- Nk] tag{4}$$
Applying DT Fourier transform on Eq(3) yields:
$$ Y(e^{jomega}) = X_e(e^{jomega}) cdot H_0(e^{jomega}) tag{5} $$
where $X_e(e^{jomega}) = X(e^{jomega N}) $ due to the expansion operation in Eq(4) and $H_0(e^{jomega})$ is the DTFT of the rectangular pulse $h_0[n]$ which is:
$$H_0(w) = e^{-jomega (N-1)/2} frac{ sin( omega N /2 ) } { sin( omega / 2 ) } $$
then the result becomes:
$$ Y(e^{jomega}) = X(e^{jomega N}) cdot e^{-jomega (N-1)/2} frac{ sin( omega N /2 ) } {sin( omega / 2 ) } tag{6} $$
Whose magnitude is :
$$ boxed{ |Y(e^{jomega})| = |X(e^{jomega N})| cdot left| frac{ sin( omega N /2 ) } {sin( omega / 2 ) } right| } tag{7} $$
Note that the $X(e^{j omega N})$ is composed of repeated images of $X(e^{j omega})$. And the effect of the interpolation kernel $h_0[n]$ is to remove the images as much as possible with that crude frequency response $H_0(e^{j omega}) $.
The following Octave/Matlab code demonstrates the operation:
clear all; close all; clc;
N = 8; % interpolation
L = 32; % original signal length
x = 5*( sin(0.3*pi*([0:L-1]-L/2))./(pi*([0:L-1]-L/2))).^2;
x(isnan(x))=5*0.3*0.3;
h0 = ones(1,N);
xe = zeros(N*L,1); % expanded signal
xe(1:N:N*L) = x;
yi = conv(xe, h0); % the interpolated signal: y[n] = xe[n] * h0[n]
figure,subplot(2,1,1);
stem(x);
title('original signal');
subplot(2,1,2);
stem(yi);
title('zero-order hold interpolated output');
figure,subplot(2,1,1);
plot(linspace(0,2,1024),abs(fft(x,1024)),'b');
title('Spectrum magnitude of x[n]')
subplot(2,1,2);
plot(linspace(0,2,1024),abs(fft(xe,1024)),'b');
hold on
plot(linspace(0,2,1024),abs(fft(h0,1024)),'r');
plot(linspace(0,2,1024),abs(fft(yi,1024)),'g','linewidth',2);
legend('|X_e(w)|','|H_0(w)|','|Y_i(w)|');
with the following outputs:
and the spectrum:
as you can see, the nulls of the periodic sinc (the Dirichlet kernel) are at the centers of the repeated spectra (the images) of $X(w)$. However this is not enough to suppress them all unlike an ideal lowpass filter (or one of its adequate approximations) which would completely eliminate the image spectra and yield only the one inside the main lobe; hence yielding a perfect interpolation compared to this crude zero order hold kernel giving.
It's quite benefical to view the mathematical expression of the process as well.
In discrete-time interpolation, a mere $N$ times repetition of a single sample (pixel) into the new enlarged block is an interpolation with zero-order hold kernel. This is mostly applied for simple fast but crude image zooming.
In 1D, the kernel is $$h_0[n] = begin{cases}{ 1 ~~~,~~~ 0 leq n leq N-1 \ 0 ~~~,~~~ text{ otherwise } } end{cases} tag{1}$$
The interpolated signal can be expressed as :
$$y[n] = sum_{k} x[k] h_0[n-kN] tag{2}$$ this can be expressed as a convolution like
$$y[n] = left(sum_{k} x[k] delta[n- Nk] right) star h_0[n] tag{3}$$
where the signal in parenthesis is the expanded version of $x[n]$:
$$x[n] rightarrow boxed{ uparrow N} rightarrow x_e[n] = sum_{k} x[k] delta[n- Nk] tag{4}$$
Applying DT Fourier transform on Eq(3) yields:
$$ Y(e^{jomega}) = X_e(e^{jomega}) cdot H_0(e^{jomega}) tag{5} $$
where $X_e(e^{jomega}) = X(e^{jomega N}) $ due to the expansion operation in Eq(4) and $H_0(e^{jomega})$ is the DTFT of the rectangular pulse $h_0[n]$ which is:
$$H_0(w) = e^{-jomega (N-1)/2} frac{ sin( omega N /2 ) } { sin( omega / 2 ) } $$
then the result becomes:
$$ Y(e^{jomega}) = X(e^{jomega N}) cdot e^{-jomega (N-1)/2} frac{ sin( omega N /2 ) } {sin( omega / 2 ) } tag{6} $$
Whose magnitude is :
$$ boxed{ |Y(e^{jomega})| = |X(e^{jomega N})| cdot left| frac{ sin( omega N /2 ) } {sin( omega / 2 ) } right| } tag{7} $$
Note that the $X(e^{j omega N})$ is composed of repeated images of $X(e^{j omega})$. And the effect of the interpolation kernel $h_0[n]$ is to remove the images as much as possible with that crude frequency response $H_0(e^{j omega}) $.
The following Octave/Matlab code demonstrates the operation:
clear all; close all; clc;
N = 8; % interpolation
L = 32; % original signal length
x = 5*( sin(0.3*pi*([0:L-1]-L/2))./(pi*([0:L-1]-L/2))).^2;
x(isnan(x))=5*0.3*0.3;
h0 = ones(1,N);
xe = zeros(N*L,1); % expanded signal
xe(1:N:N*L) = x;
yi = conv(xe, h0); % the interpolated signal: y[n] = xe[n] * h0[n]
figure,subplot(2,1,1);
stem(x);
title('original signal');
subplot(2,1,2);
stem(yi);
title('zero-order hold interpolated output');
figure,subplot(2,1,1);
plot(linspace(0,2,1024),abs(fft(x,1024)),'b');
title('Spectrum magnitude of x[n]')
subplot(2,1,2);
plot(linspace(0,2,1024),abs(fft(xe,1024)),'b');
hold on
plot(linspace(0,2,1024),abs(fft(h0,1024)),'r');
plot(linspace(0,2,1024),abs(fft(yi,1024)),'g','linewidth',2);
legend('|X_e(w)|','|H_0(w)|','|Y_i(w)|');
with the following outputs:
and the spectrum:
as you can see, the nulls of the periodic sinc (the Dirichlet kernel) are at the centers of the repeated spectra (the images) of $X(w)$. However this is not enough to suppress them all unlike an ideal lowpass filter (or one of its adequate approximations) which would completely eliminate the image spectra and yield only the one inside the main lobe; hence yielding a perfect interpolation compared to this crude zero order hold kernel giving.
edited Nov 28 at 13:49
answered Nov 28 at 11:58
Fat32
14k31128
14k31128
1
Wow, great answer! This is better than the other answer that it helped me realize how the Dirichlet kernel suppresses the repeated images and provides for a neater frequency response. Thanks
– Kevin Selva Prasanna
Nov 28 at 13:13
@KevinSelvaPrasanna your welcome !
– Fat32
Nov 28 at 13:16
Note that this upsampling method (repeating samples) does not conserve spectrum very well. Zero-padding the added samples however gives a periodization of the spectrum, so that the original information can still be extracted with a low-pass filter
– MaximGi
Nov 28 at 13:17
add a comment |
1
Wow, great answer! This is better than the other answer that it helped me realize how the Dirichlet kernel suppresses the repeated images and provides for a neater frequency response. Thanks
– Kevin Selva Prasanna
Nov 28 at 13:13
@KevinSelvaPrasanna your welcome !
– Fat32
Nov 28 at 13:16
Note that this upsampling method (repeating samples) does not conserve spectrum very well. Zero-padding the added samples however gives a periodization of the spectrum, so that the original information can still be extracted with a low-pass filter
– MaximGi
Nov 28 at 13:17
1
1
Wow, great answer! This is better than the other answer that it helped me realize how the Dirichlet kernel suppresses the repeated images and provides for a neater frequency response. Thanks
– Kevin Selva Prasanna
Nov 28 at 13:13
Wow, great answer! This is better than the other answer that it helped me realize how the Dirichlet kernel suppresses the repeated images and provides for a neater frequency response. Thanks
– Kevin Selva Prasanna
Nov 28 at 13:13
@KevinSelvaPrasanna your welcome !
– Fat32
Nov 28 at 13:16
@KevinSelvaPrasanna your welcome !
– Fat32
Nov 28 at 13:16
Note that this upsampling method (repeating samples) does not conserve spectrum very well. Zero-padding the added samples however gives a periodization of the spectrum, so that the original information can still be extracted with a low-pass filter
– MaximGi
Nov 28 at 13:17
Note that this upsampling method (repeating samples) does not conserve spectrum very well. Zero-padding the added samples however gives a periodization of the spectrum, so that the original information can still be extracted with a low-pass filter
– MaximGi
Nov 28 at 13:17
add a comment |
up vote
3
down vote
There are two ways (I see right now) to model this system in terms of other known systems. First that comes to my mind is a zero-order sample and hold system. Although those are usually described in a continuous time domain, it might be interesting to look at as well.
Another model is a combinition of a usual upsampler followed by an FIR with all $N$ taps set to $1$, where $N$ is equal to the upsampling factor.
So first you get the usual narrowed down and repeated Frequency spectrum the upsample block produces and then you multiply it with the FIRs frequency response. As the filter is a rectangle with height $1$ and width $N$ in the time domain, its frequency spectrum is a phase-shifted Dirichlet kernel.
2
That's a good answer, it's just that in discrete time the transform of a (discrete) rectangle is not a sinc function but a Dirichlet kernel.
– Matt L.
Nov 28 at 10:29
@MattL. Of course, thanks
– Uroc327
Nov 28 at 10:32
Wow! thanks. I really like the second model.
– Kevin Selva Prasanna
Nov 28 at 11:19
add a comment |
up vote
3
down vote
There are two ways (I see right now) to model this system in terms of other known systems. First that comes to my mind is a zero-order sample and hold system. Although those are usually described in a continuous time domain, it might be interesting to look at as well.
Another model is a combinition of a usual upsampler followed by an FIR with all $N$ taps set to $1$, where $N$ is equal to the upsampling factor.
So first you get the usual narrowed down and repeated Frequency spectrum the upsample block produces and then you multiply it with the FIRs frequency response. As the filter is a rectangle with height $1$ and width $N$ in the time domain, its frequency spectrum is a phase-shifted Dirichlet kernel.
2
That's a good answer, it's just that in discrete time the transform of a (discrete) rectangle is not a sinc function but a Dirichlet kernel.
– Matt L.
Nov 28 at 10:29
@MattL. Of course, thanks
– Uroc327
Nov 28 at 10:32
Wow! thanks. I really like the second model.
– Kevin Selva Prasanna
Nov 28 at 11:19
add a comment |
up vote
3
down vote
up vote
3
down vote
There are two ways (I see right now) to model this system in terms of other known systems. First that comes to my mind is a zero-order sample and hold system. Although those are usually described in a continuous time domain, it might be interesting to look at as well.
Another model is a combinition of a usual upsampler followed by an FIR with all $N$ taps set to $1$, where $N$ is equal to the upsampling factor.
So first you get the usual narrowed down and repeated Frequency spectrum the upsample block produces and then you multiply it with the FIRs frequency response. As the filter is a rectangle with height $1$ and width $N$ in the time domain, its frequency spectrum is a phase-shifted Dirichlet kernel.
There are two ways (I see right now) to model this system in terms of other known systems. First that comes to my mind is a zero-order sample and hold system. Although those are usually described in a continuous time domain, it might be interesting to look at as well.
Another model is a combinition of a usual upsampler followed by an FIR with all $N$ taps set to $1$, where $N$ is equal to the upsampling factor.
So first you get the usual narrowed down and repeated Frequency spectrum the upsample block produces and then you multiply it with the FIRs frequency response. As the filter is a rectangle with height $1$ and width $N$ in the time domain, its frequency spectrum is a phase-shifted Dirichlet kernel.
edited Nov 28 at 10:33
answered Nov 28 at 10:25
Uroc327
1313
1313
2
That's a good answer, it's just that in discrete time the transform of a (discrete) rectangle is not a sinc function but a Dirichlet kernel.
– Matt L.
Nov 28 at 10:29
@MattL. Of course, thanks
– Uroc327
Nov 28 at 10:32
Wow! thanks. I really like the second model.
– Kevin Selva Prasanna
Nov 28 at 11:19
add a comment |
2
That's a good answer, it's just that in discrete time the transform of a (discrete) rectangle is not a sinc function but a Dirichlet kernel.
– Matt L.
Nov 28 at 10:29
@MattL. Of course, thanks
– Uroc327
Nov 28 at 10:32
Wow! thanks. I really like the second model.
– Kevin Selva Prasanna
Nov 28 at 11:19
2
2
That's a good answer, it's just that in discrete time the transform of a (discrete) rectangle is not a sinc function but a Dirichlet kernel.
– Matt L.
Nov 28 at 10:29
That's a good answer, it's just that in discrete time the transform of a (discrete) rectangle is not a sinc function but a Dirichlet kernel.
– Matt L.
Nov 28 at 10:29
@MattL. Of course, thanks
– Uroc327
Nov 28 at 10:32
@MattL. Of course, thanks
– Uroc327
Nov 28 at 10:32
Wow! thanks. I really like the second model.
– Kevin Selva Prasanna
Nov 28 at 11:19
Wow! thanks. I really like the second model.
– Kevin Selva Prasanna
Nov 28 at 11:19
add a comment |
Thanks for contributing an answer to Signal Processing Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdsp.stackexchange.com%2fquestions%2f53716%2fwhat-would-be-the-effect-of-repeating-samples-in-time-domain-on-frequency-domain%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
this is just a discrete-time interpolation with zero-order hold kernel.
– Fat32
Nov 28 at 11:36