First of all, I have to state upfront that I am not sure if this question is valid.

Essentially, my question pertains to the frequency of a time series with measurement data. I obtained the periodogram for the time series, where I have two peaks (see the left picture, around period = 12.5 and 25).

My question is: Would it be possible to 'artificially' increase the amplitude of the signal at the lower period (~ 12.5) such that the ratio between the amplitude of the larger signal to the small signal is decreased? My rough objective is shown on the picture on the right. What could I do to the raw measurement data to achieve this result?

I need to do this because I am trying to test a hypothesis on the measurement data.

enter image description here

Would appreciate any advice given. Thank you.


Here is a simple idea: just multiply the signal in frequency space to upweight the lower frequency, then transform back to real space. Let's say you want to upweight the values at frequency $F_{\text{target}}$.

Let's suppose you have a signal $S(t)$ and $f(x)=\mathscr{F}[S(t)](x)$ is its Fourier Transform.

It's not clear to me if you need to preserve some properties of the signal, but I will assume you want to preserve the total frequency magnitude. Let: $$ \zeta = \int_0^\infty f(x)\,dx $$ Now let's do the reweighting. We want to increase the strength of the frequency at $F_{\text{target}}$ while decreasing the strength elsewhere. Let's use the probability density function of the gamma distribution, denoted $p_\gamma(x|\alpha,\beta)$. Notice it has essentially a spike at around $x=\alpha/\beta$. (Also note that any weighting function would do, really.)

So now compute your new frequency signal for each point as: $$ \widetilde{f}(x) = \frac{\zeta}{\kappa} f(x)\, p_\gamma(x|\alpha,\beta) $$ where you choose $\alpha$ and $\beta$ to satisfy $\alpha/\beta = F_{\text{target}}$ and $$ \kappa = \int_0^\infty f(x)\, p_\gamma(x|\alpha,\beta)\,dx = \mathbb{E}_{x\sim\Gamma(\alpha,\beta)}[f(x)] $$ Then, to get the "raw" transformed signal back, just invert the Fourier transform: $$ \tilde{S}(t) = \mathscr{F}^{-1}[\tilde{f}(x)](t) $$

So, at points near the spike (i.e. near $\alpha/\beta = F_{\text{target}}$), $p_\gamma(x|\alpha,\beta)$ will be larger, so we will strengthen the frequency components around there. But notice that: $$ \int_0^\infty \widetilde{f}(x)\,dx = \frac{\zeta}{\kappa} \int_0^\infty f(x)\, p_\gamma(x|\alpha,\beta) = \int_0^\infty {f}(x)\,dx $$ so total frequency strength is preserved (i.e. we are weakening everything far away from the target).

Notice you have flexibility to choose $\alpha$ and $\beta$. And you can easily generalize this by choosing a different weighting function. (e.g. log-normal distribution)

Let me know if this is anything like what you were looking for.

  • $\begingroup$ this is a low-pass filtering (increasing the amplitude of low-frequencies, high-periods) $\endgroup$ – reuns Mar 7 '17 at 4:44
  • $\begingroup$ @user1952009 I think I got confused by the question title Artificially improving the spectral power of a low frequency signal $\endgroup$ – user3658307 Mar 7 '17 at 15:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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