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?










share|improve this question


















  • 1




    this is just a discrete-time interpolation with zero-order hold kernel.
    – Fat32
    Nov 28 at 11:36















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?










share|improve this question


















  • 1




    this is just a discrete-time interpolation with zero-order hold kernel.
    – Fat32
    Nov 28 at 11:36













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?










share|improve this question













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






share|improve this question













share|improve this question











share|improve this question




share|improve this question










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














  • 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










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:



enter image description here



and the spectrum:



enter image description here



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.






share|improve this answer



















  • 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


















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.






share|improve this answer



















  • 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











Your Answer





StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "295"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















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

























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:



enter image description here



and the spectrum:



enter image description here



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.






share|improve this answer



















  • 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















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:



enter image description here



and the spectrum:



enter image description here



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.






share|improve this answer



















  • 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













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:



enter image description here



and the spectrum:



enter image description here



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.






share|improve this answer














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:



enter image description here



and the spectrum:



enter image description here



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.







share|improve this answer














share|improve this answer



share|improve this answer








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














  • 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










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.






share|improve this answer



















  • 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















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.






share|improve this answer



















  • 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













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.






share|improve this answer














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.







share|improve this answer














share|improve this answer



share|improve this answer








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














  • 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


















draft saved

draft discarded




















































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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

Probability when a professor distributes a quiz and homework assignment to a class of n students.

Aardman Animations

Are they similar matrix