W
W
Whiteha2015-06-01 00:46:06
JavaScript
Whiteha, 2015-06-01 00:46:06

How to get signal envelope through Hilbert transform?

It so happened that I have practically nothing to do with this area, but it is necessary, it is necessary to obtain the envelope curve from the signal recorded from the readings as accurately as possible. Googling on this topic, I realized that everyone seems to use the Gilbert transform for this purpose and the formula t_i = ((sig_i)^2+(csig_i)^2)^(0.5), where i is the reference, and t_i is the y coordinate of the envelope curve for sample i, sig_i is the initial value of the signal in the sample, and csig_i is the value of the Gilbert conjugate function for this sample. Actually the question is, am I going in the right direction, how to calculate this very conjugate function having only an array with samples in order to correctly calculate the envelope curve?

Answer the question

In order to leave comments, you need to log in

2 answer(s)
A
alvvi, 2018-07-26
@danchiksux

You can do it without jQuery, but with CSS.
But if you need it with jQuery:

$('[data-raiting]').each(function(i, el) {
  var $el = $(el)
  var raiting = $el.data('raiting')
  var $icons = $el.find('.stars i')
  // дальше берем нужное количество элементов и добавляем класс/красим 
  // через style
  $icons.slice(0, raiting + 1).addClass('star--filled')
})

.star--filled {
  color: yellow;
}

R
rediskus, 2015-06-01
@Whiteha

In short, it is desirable that there be an integer number of periods of the input signal in the sampling array, otherwise it is necessary to impose a window in order to minimize edge effects. Next, do the Hilbert transform, find the orthogonal signal, and then find the envelope: A[iTd]=sqrt(Ug[iTd]^2+Uf[[iTd]^2), where Ug[iTd] is an orthogonal signal, and Uf[[iTd ] is your original.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question