If sampling frequency is fixed, how can I generate a frequency domain signal of a particular bandwidth from a time domain signal of dimension $1\times N$? e.g. if $f_s=100\,\text{kHz}$, how can I generate a signal of $30\,\text{kHz}$ bandwidth? or of $15\,\text{kHz}$?


closed as unclear what you're asking by Matt L., Laurent Duval, MBaz, A_A, jojek Feb 27 '17 at 15:35

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • $\begingroup$ Your question is unclear. Are you asking "what is a filter"? Are you asking "what is the bandwidth of a signal"? $\endgroup$ – Marcus Müller Feb 24 '17 at 11:11
  • $\begingroup$ I want to generate a signal with bandwidth=30kHz and sampling frequency=100kHz. Is the bandwidth in my control? and can I generate a signal with bandwidth=15kHz and sampling frequency=100kHz? $\endgroup$ – S.G.K Feb 24 '17 at 11:14
  • $\begingroup$ I'm taking fft of a [1xN] vector in time domain. can i control the bandwidth of it in frequency domain? $\endgroup$ – S.G.K Feb 24 '17 at 11:15
  • $\begingroup$ If N is finite, bandwidth will always be a constant, infinity, unless you specify a stop-band noise floor. $\endgroup$ – hotpaw2 Feb 24 '17 at 13:41
  • $\begingroup$ I am guessing your are asking about "Frequency Resolution"? If so, in order to achieve a frequency resolution of F, the time length T of your signal in your data-set must be greater than 1/F. If you window, the time length will need to be longer depending on the window. So for your case sampling at 100KHz, to achieve 30KHz resolution you must have at least 1/30KHz = 33.33 us of data, or at least 4 samples at 100 KHz, Please clarify if this is what you are indeed looking for and I will offer a more detailed answer below. Otherwise, do you want to generate an actual noise signal with that BW? $\endgroup$ – Dan Boschen Feb 24 '17 at 15:20

given sample rate $f_\text{s}$, this

$$ x(t) = \sum\limits_{n=-N}^{+N} x[n] \operatorname{sinc}\left(2 B \left(t-\tfrac{n}{f_\text{s}}\right)\right) $$

is bandlimited to $\pm B$, no matter what the numbers $x[n]$ are. $N\ge0$ can be as little or as large as you want.

it might have bandwidth of $B$ if the values of $x[n]$ are sufficiently white or with high-enough content at high frequencies. but the one-sided bandwidth will not exceed $B$.

forgot to be explicit. the sinc function is:

$$ \operatorname{sinc}(u) \triangleq \begin{cases} \frac{\sin(\pi u)}{\pi u} \qquad & u \ne 0 \\ \\ 1 & u = 0 \\ \end{cases} $$

  • $\begingroup$ I see great minds think alike :) $\endgroup$ – Robert L. Feb 25 '17 at 23:13

If your goal is to make a signal with a specified bandwidth, i.e. 30 kHz or 15 kHz, then you need to specify certain things:

What definition of bandwidth are you using? Baseband bandwidth (which is measured from DC to $f_{max}$, or modulation bandwidth? (Which is twice the baseband bandwidth.)

What kind of signal is it? If you aren't picky, you could generate a stream of raised-cosine pulses. It is easy to specify the bandwidth of said pulses by adjusting the symbol period $T$. For example, if $\beta=1$ and you need a baseband bandwidth of 30 kHz, you could set $T=1/30000\approx 33 \mu$s. Because this would not generate an integer number of samples per symbol (samples per symbol = $100000/30000\approx 3.3333$) ), you might want to adjust the symbol period $T$ to make it an integer ratio.


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