1
$\begingroup$

I am trying to find a way to evaluate what would be the minimum sampling rate used in a modulated waveform using matlab / Simulink.

The real scenario would be let say a M-PSK waveform of Y bandwidth in baseband reaches the point of the ADC and has to be sampled. Theoretically, the sampling rate should be 2xY and that (in ideal conditions) would allow you to restore what has been sampled.

In matlab/Simulink everything is “digital” meaning that we deal with waveforms produced by using random numbers generators. In such case by trying to introduce the process of sampling can only be realised as effectively down - sampling an existing waveform.

Shall I try to reproduce a more “continuous time” approach to get better estimates?

What is the usual coarse of action for such a problem?

$\endgroup$
5
  • 1
    $\begingroup$ So you are trying to confirm theory through simulation? Your trade is sampling rate and filter realizations so I assume you are trying to also evaluate your filtering? You will likely see degradation as you reduce your sampling rate while still above Nyquist limits and conclude it is due to insufficient sampling rate. However, this is indirectly simply evaluating your filtering and directly the aspect that the quantization noise is spread across your sampling bandwidth. That said are you trying to find the minimum sampling rate to achieve a target SNR given your filtering as it is? $\endgroup$ Dec 23, 2019 at 17:20
  • 1
    $\begingroup$ Often if you see benefit in increasing the sampling rate it suggests further filtering is needed which you do at the higher rate and then decimate to a lower rate once filtered--it is typical to oversample at the ADC and provide filtering and channel selection digitally but ultimately the waveform once filtered could be processed with 2 samples per symbol with typical pulse shaping parameters. $\endgroup$ Dec 23, 2019 at 17:26
  • $\begingroup$ @DanBoschen Thank you very much for your reply.Yes I am trying to find the minimum sampling rate.However, given the fact that in Matlab/simulink everything is discrete that would effectively be simply down-sampling rather than "actual ct waveform sampling" and as you have pointed out would effectively be depended on the filtering applied (and interpolation)? $\endgroup$
    – Rizias
    Dec 24, 2019 at 9:45
  • $\begingroup$ @DanBoschen following the statement "Often if you see benefit in increasing the sampling rate it suggests further filtering is needed" you mean that by increasing the ADC sampling rate we need further filtering or anti-imaging filters that are necessary after interpolation (up-sampling)? $\endgroup$
    – Rizias
    Dec 24, 2019 at 9:50
  • $\begingroup$ If you increase the sampling rate, the filtering requirement prior to sampling is relaxed. $\endgroup$ Dec 24, 2019 at 13:08

1 Answer 1

1
$\begingroup$

Downsampling (taking every Dth sample and discarding the rest) is an identical process to sampling a continuous time signal; so you approach the continuous time signal as your sampling rate is increased. So you can access the impact of a lower sampling rate by simply downsampling a signal that has a higher number of samples.

Note that down-sampling and sampling does not distort a signal that only occupies a spectrum that is contained within 0 to $F_s/2$ for a real signal and 0 to $F_s$ for a complex signal, as well as any integer multiple of the ranges (where $F_s$ is the sampling rate. Distortion does come from aliasing and quantization noise. Aliasing occurs when there are additional signal or noise components in other frequencies prior to sampling (or downsampling) other than the range of interest, and quantization noise is the error from quantizing each sample directly (or in the case of a sampled/quantized signal that you are downsampling if you further round or truncate this would have the same quantization noise effect). This quantization noise is often well approximated as a uniform white noise process, meaning it's energy is equally distributed across all frequencies: If you increase the sampling rate, the same energy is spread across more frequencies, so the energy per unit bandwidth goes down. If your signal occupies a fixed bandwidth, a higher sampling rate will reduce the amount quantization noise in-band and thus increase SNR if the noise is limited by the quantization noise component (and assuming the out-of-band noise is further filtered digitally after sampling).

To combat aliasing we require anti-alias filtering prior to the sampling process. This would be a low pass filter when the signal of interest occupies the range of $0$ to $F_s/2$ (for the real case) or could be a bandpass filter when the signal of interest is at a higher frequency in which case the sampler also serves as the down-conversion. As we make the sampling rate lower, we place a stricter requirement on filter design - but given a realizable filter with sufficient rejection of the signals that can alias the quantization noise effect detailed earlier would be the only performance impact.

There are also reasons of convenience to choose a particular sampling rate- for example it is common in many implementations to use a sampling rate of 2 samples per symbol- this works well with certain timing recovery implementations and allows for simple derivation of the symbol clock was the delay offset is corrected.

I further detail performance versus sampling rate in this post: What are advantages of having higher sampling rate of a signal?

$\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.