Dear signal processing enthusiasts:

  • I am forced to cut off a part of a multi-frequency signal, creating a "gap" as shown in the figure. (only one frequency to simplify illustration).
  • If I inject part A of the signal into a FIR which has linear phase vs frequency, and set the FIR to have a group_delay proportional to the gap length, the output's phase doesn't change, and hence the stitched signal has a phase jump.
  • I am looking for a filter that would let part A propagate through, to the point where its phase matches part B's phase. Does such a filter exist?

enter image description here

The question in different words: how can i phase-shift a multi-frequency discrete signal in time-domain? The phase shift should be linear with frequency. Here is my chain of thoughts:

  • I imagine that, if I inject a sin wave into a transmission-line, its phase when it exits will depend on the length of that transmission-line. If i want a different phase value, I would adjust the transmission-line length.
  • If the signal has multiple frequencies, each frequency component will then have a different phase shift in a linear manner.
  • If I were to do this in frequency domain, I would multiply the spectrum with a phase shift as in: exp(j.w.t_delay), where w is the frequency axis and t_delay would be the time delay value as to simulate the transmission-line's length.
  • I am however unable to do it in frequency-domain because I am only able to observe the signal for a limited amount of time = limited number of samples = worst resolution for the frequency axis w. (frequency resolution = 1/observation_time).
  • Any phase correction will only work for the signal frequencies which are on the w "grid", and not any off-grid ones.
  • I therefore started thinking of how can one do such a thing in time-domain? wouldn't such a system or filter have both characteristics of liner phase vs frequency and linear phase vs time? Does such a filter/system exist?
  • $\begingroup$ So you effectively want to interpolate? In a previous life I used spline interpolation with higher order knots. These can be made into a filter. In fact designed so that particular signals (generically) can be matched. I think I remember reading about the ability to expand splines into the trigonometric realm. Nowadays you can probably find all of this some on the web; because that's all I have right now. $\endgroup$ – rrogers Oct 3 '17 at 19:57

Your Answer

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

Browse other questions tagged or ask your own question.