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?
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?