I have a strong primary signal with frequency range between 100–200 kHz. This signal has very low frequency and lower SNR secondary signal phase modulated to it. The modulated signal is around 10-30 Hz.

The fundamental signal frequency changes over time, fast enough that I cannot take enough samples to observe the secondary frequency. For example signal goes from 200 to 170 kHz in short enough time that if I take a simple FFT, the peak will be spread from 200 to 170 kHz and secondary signal will be buried inside.

The good news is that the second signal frequency doesn't change with fundamental frequency change.

I like to detect this secondary, modulated lower SNR signal with 1 Hz accuracy.

  1. What should be my sampling frequency for a given maximum 200 kHz primary signal?

  2. What should be the DSP approach I should take to determine the exact frequency of the modulated signal?

  • $\begingroup$ Can you please clarify if your low frequency signal is summed with your fundamental or is modulating it? If it is summed, then all you need is a low pass filter. If it is modulating it, you would need a little bit more than just a filter. $\endgroup$
    – A_A
    Jul 13, 2016 at 8:18
  • $\begingroup$ @A_A modulated. I will clarify. $\endgroup$
    – TGG
    Jul 13, 2016 at 8:24
  • $\begingroup$ can you please clarify the modulation mechanism. In particular a mathematical definition of the resulting modulated signal, if possible, so that it will be more precise which parameter you want to extract from it... $\endgroup$
    – Fat32
    Jul 13, 2016 at 9:12
  • $\begingroup$ @Fat32 I will clarify. My objective is to determine the frequency of the modulated signal as accurate as possible. $\endgroup$
    – TGG
    Jul 13, 2016 at 9:17
  • $\begingroup$ Your statement "This signal has very low frequency and lower SNR secondary signal modulated to it" does not make much sense... As a signal either modulates another signal or is modulated by another signal, but what modulated to is ??? $\endgroup$
    – Fat32
    Jul 13, 2016 at 9:22

1 Answer 1


The hard one first

What should be my sampling frequency for a given maximum 200 kHz primary signal?

Assuming your sampling is real-valued, $f_s > 2(200 + 30)\text{ kHz}$, as per the Shannon-Nyquist theorem, would sound sufficient – but the problem is that it isn't, for reasons of ambiguity, see below.

What should be the DSP approach I should take?

First, model your resulting signal; this isn't really hard to do here. People mean different things when they say "modulation", but I'm going to go ahead and assume what seems most likely: primary signal being modulated by the secondary means that your resulting signal contains the sum frequency.

Hence, spectral estimation is really what you're after.

Furthermore, you need an estimator that is more efficient than the DFT, but doesn't have to be able to estimate a lot of spectral components – in fact, you're only interested in a single one, namely the sum of secondary and primary frequency.

I'd recommend using ESPRIT, parameterized to a single tone to detect.

Whatever spectral estimator you use, they will expose a specific variance that will typically decrease with the number of samples you take into consideration – relate your desired spectral resolution (1 Hz) to this variance, and you'll get a number of samples you'll need to get a sufficiently "exact" estimate. That number of samples will imply a sampling rate, which probably will be much higher than the aforementioned Nyquist bound.

Now, if your signal only contained the perfect primary modulated with the clean secondary signal, you'd be lost here – because if you found out your resulting signal was at let's say 150.3 kHz, you couldn't tell which part of that would be primary and which part secondary. It's mathematically impossible to tell a variation of the primary frequency from a variation of the secondary, lest your modulation doesn't just add up the frequencies. Hence, just fulfilling Nyquist for your "clean" signals won't help you – there's simply no information in these that allow you to discriminate between primary and secondary signal.

Luckily, you have noise. You don't tell us anything about that, but I'll assume the following:

  • It's additive to your secondary signal,
  • it has zero mean (which would be good from a measurement quality point of view; otherwise, we can model it as DC + zero-mean process),
  • it's observation's representation is symmetric in spectrum,
  • it's uncorrelated to both the primary and the secondary signal.

Being additive to your secondary signal implies that you'll get primary signal multiplied with noise. That means we get another, albeit "unclean" "tone"!

So we get two spectral components in our resulting signal:

  1. A tone with frequency $f_\text{primary}+f_\text{secondary}$,
  2. an area around the primary frequency, spectrally shaped by convolution of the spectral shape of the noise and the dirac of the primary tone

Now, 2. is a thing hard to estimate, right, because it's all "blurred out" in spectrum?

The good thing is that with sufficient oversampling and by subtracting the result of subtracting the tone estimated by ESPRIT we can find the "center" of the second component in spectrum – and that's where our "clean" primary signal was! Now, with that frequency, and our ESPRIT-estimated sum frequency, we can find the difference frequency – which is the frequency of the secondary signal.

However, your 1 Hz resolution is very unlikely to happen, for various reasons. In fact, I'm a bit too lazy to do the math now, but I don't think the time$\times$bandwidth product of your observation would allow for that. Also, the above considerations neglect any aspect of how much noise power is actually in your secondary signal, and how much additive noise you'll also see on your overall signal. My guess is that additive noise in your observation will be in the same order of magnitude as the multiplicative noise, making the estimation of a spectral center much less clear.

Also, uncorrelated multiplicative noise is usually a gross simplification – in fact, it's not how active modulators work at all.

So, really, before you try to build a system that does what you want, try to disprove the claim that you mathematically can do it at all, based on estimates of noise and signal powers, and noise bandwidths. If disproving the possibility is hard, or you get a proof that it should be possible, then go for an implementation. If you find a proof that 1 Hz resolution is impossible, don't waste your time implementing such a system. It's natural that some phenomena aren't possible to observe with a given certainty, and that's one of the core realizations that digital communication engineers have to suffer through.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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