Forums

How does one delay a signal and allow its phase to propagate vs time with a specific slope or rate?

Started by Tudelft_Res 5 years ago10 replieslatest reply 5 years ago109 views
How does one delay a signal and allow its phase to propagate vs time with a specific slope or rate? How can one -digitally- simulate the effect of a propagation line, in the sense that, depending on the line's lenght, the output signal's phase will change? A FIR filter for e.g. has a linear phase response vs frequency, and a signal output from such a filter will be delayed in time, but will maintain its original phase charecteristics, and not allow the phase to change depending on its group-delay length. Is there another filter that can do this? Thank you
[ - ]
Reply by neiroberSeptember 28, 2017

Hi,

A delay of length T can be implemented by a series of one-sample delays, and it will have a linear phase slope.  For example, if you want a delay of 5 ms and your have a sample time of 1 ms, you would use 5 delay elements.  Each delay element is z^-1.  This is the equivalent of a "propagation line", by which I assume you mean a length of transmission line.  It is not necessary to implement as a FIR filter, although a symmetric FIR filter does have linear phase.

The Laplace transform of delay T is:  u(t - T) --> e^-sT.  The z-transform of delay Ts is simply z^-1.

regards,

Neil


[ - ]
Reply by Tudelft_ResSeptember 29, 2017

Hi Neil, thank you very much for your reply. I will try and simulate a delay line as you suggested. I have realized that perhaps I could make the question a lot more clear by a diagram. I have done so in a new post. Your input would be much appreciated.

https://www.dsprelated.com/thread/4154/gapped-sign...


[ - ]
Reply by Fred MarshallSeptember 28, 2017

A few fundamentals:

"phase" is a relative term that is tied to "time=0".  Sorry if that's an obvious assertion but it may come up next...

Any time delay causes a phase shift (releative to? .. see above) that is frequency-dependent.  So, zero delay is  zero phase shift, etc.  It should be obvious why it's a function of frequency.  And, it should be easy to see that a given delay will give a phase shift value that's linear in FREQUENCY.  That's the normal sort of thing that is referred to with linear phase FIR filters.

I'm not sure what you mean by:

"How does one delay a signal and allow its phase to propagate vs time with a specific slope or rate?"

1) Do you mean: "How does one delay a sinusoid and have its phase change vs. time with a linear slope or rate?"

2) Do you mean: "How does one delay a sinusoid and have its phase change vs. frequency with a linear slope or rate?"

3) Do you mean: "How does one delay a general signal and have its phase change vs. anything with a linear slope or rate?"

The answers would be:

1) You have to provide a linearly-varying time delay which might be implemented with a memory and a time-varying address to retrieve the data.  Of course, for this to work very long would take a lot of memory OR a time-varying window into the memory in use.

2) You have to provide a single time delay.  That's all.

3) The question doesn't make sense because "phase" only applies to a single frequency at a time.  But maybe you can use the answer to (1) to get a time-varying delay on a general signal which will then have time-varying phase AT EACH frequency - with the rates being dependent on frequency.

This is mostly just physics.  I hope it's helpful.


[ - ]
Reply by Tudelft_ResSeptember 29, 2017

Hi Fred, thank you very much for your reply. I appreciate you taking it bottom-up, since I am a SW man with not much signal processing under my belt.
I indeed meant number (1). I will try and simulate a memory as you suggested. I have realized that perhaps I could make the question a lot more clear by a diagram. I have done so in a new post. Your input would be much appreciated. 
https://www.dsprelated.com/thread/4154/gapped-sign...

[ - ]
Reply by kazSeptember 28, 2017

IIR has nonlinear delay if that is what you are after

[ - ]
Reply by Tudelft_ResSeptember 29, 2017

Thank you for your reply. I have tried to clarify the question in a separate new post. 

https://www.dsprelated.com/thread/4154/gapped-sign...

Your ideas would be much appreciated.

[ - ]
Reply by kjhSeptember 28, 2017

Multiply the delayed samples by a phase ramp.

See the properties of the Fourier transform.

[ - ]
Reply by Tudelft_ResSeptember 29, 2017

Thank you for your reply. I have tried to clarify the question in a separate new post. 

https://www.dsprelated.com/thread/4154/gapped-sign...

I am unable to use Fourier - as you will see in my new post -because the signal has a limited observation time = limited number of samples = worst resolution for the frequency axis w. (frequency resolution = 1/observation_time).

[ - ]
Reply by jmarceloldSeptember 28, 2017

Do you want to implement a filter with a non-constant group-delay x frequency response?

If so, you can use an IIR filter or a non-linear phase FIR filter.

To design a non-linear phase FIR filter given an specification, you better use a software tool like MatLab to do the job for you. 

[ - ]
Reply by Tudelft_ResSeptember 29, 2017

Thank you for your interest. I have tried to clarify the question in a separate new post. I wonder if I could use matlab to build a filter with both linear phase vs frequency and linear phase vs time.

https://www.dsprelated.com/thread/4154/gapped-sign...