Given the spectrum of a signal x(t) , What is the minimum sample rate that would allow for x[n] to be recoverable?

3 次查看(过去 30 天)
So the specturm of the signal x(t) looks like the following , x axis is frequency:
Here I got this questions:
What is the minimum sample rate that would allow for x[n] to be recoverable?
Recoverable here means the shape of the spectrum is maintained but its placement on the
x-asix will vary, i.e. the spectrum will be centered on 0. It might be helpful to draw both
0 → 2π and 2π → 4π to answer the question.
My thought is that f_nyquist > f_max = 1250, so fs = 2*f_nyquist = 2500
However, when I draw specturm when fs = 2000 and fs=1000, it seems that the shape of original specturm is maintained:
So I wonder what is the minimum sample rate that would allow for x[n] to be recoverable? Is it because the shape of the two rectangle is the same and are symmetric so we can have lower minimum sample rate?

回答(2 个)

Walter Roberson
Walter Roberson 2024-10-7
This is a square wave. The fourier transform of a square wave consists of an infinite series of odd harmonics; https://dsp.stackexchange.com/questions/34844/why-fourier-series-and-transform-of-a-square-wave-are-different
Therefore the minimum bandwidth to reproduce the square wave is infinite.

Paul
Paul 2024-10-9
Hi Zhen,
Your question isn't really about Matlab. You might get more traction on a signal processing forum, like dsp.stackexchange.com
But we can use Matlab to help draw the diagrams.
First, define the Fourier transform of x(t)
X = @(f) double(abs(f) <= 1250 & abs(f) >= 750);
To draw the spectrum of the sampled signal x[n] = x(n*T) we need to add to X(f) copies of X(f) shifted at integer multiples of Fs.
Let Fs = 1500, for example.
Fs = 1600;
The we can plot a portion of the spectrum (using only the first four copies) of the sampled signal as
f = -5000:5000;
plot(f,X(f) + X(f-Fs) + X(f+Fs) + X(f-2*Fs) + X(f+2*Fs)),grid
ylim('padded')
Maybe you can try a similar approach to compare to your hand sketches.

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by