Hi, i've been teaching myself dsp and currently im trying to get a good understanding of pole zero filter design. I understand how to get the magnitude response but i have some problem with the phase response. I'm working thru an online book and im up to here http://ccrma.stanford.edu/~jos/filters/Graphical_Phase_Response_Calculation.html So it says the phase response is evaluated from all the angles from the frequency to each pole and zero. The thing i dont understand (yeah it always takes me fookin ages to get to the point), is that some of the angles are anticlockwise and some are clockwise from 0, so some are negative some positive. Which implies positive and negative phase delay? But that's not posible is it? Should the angles be -PI..PI or should they be 0..2PI ? Or what exactly? thanks, cw
Phase response from poles & zeros
Started by ●February 18, 2007
Reply by ●February 18, 20072007-02-18
On 18 Feb, 17:11, "Chris Warwick" <s...@m.me.not> wrote:> Hi, i've been teaching myself dsp and currently im trying to get a good > understanding of pole zero filter design. I understand how to get the > magnitude response but i have some problem with the phase response. I'm > working thru an online book and im up to here > > http://ccrma.stanford.edu/~jos/filters/Graphical_Phase_Response_Calcu... > > So it says the phase response is evaluated from all the angles from the > frequency to each pole and zero. The thing i dont understand (yeah it always > takes me fookin ages to get to the point), is that some of the angles are > anticlockwise and some are clockwise from 0, so some are negative some > positive. Which implies positive and negative phase delay? But that's not > posible is it?The one thing that is missing from figure 8.4 on that page is a zero outside the unit circle. All the zeros are inside the unit circle. To see the signficance, add a zero at z'=1 + j. Then draw a vector starting at z' and ends at z" = 1. Then let the point of the vector trace the unit circle in the anticlockwise direction. The vector starting in z' will rotate in the clockwise direction around z'. If you do the same excercise with the zeros inside the unit circle, the vectors rotate in the anticlockwise direction around the zeros as the points trce the unit cicle in the anticlockwise direction.> Should the angles be -PI..PI or should they be 0..2PI ?That doesn't matter, as long as the vetors trace the unit circle exactly on revolution in the anticlockwise direction. Rune
Reply by ●February 18, 20072007-02-18
On Feb 18, 8:11 am, "Chris Warwick" <s...@m.me.not> wrote:> Hi, i've been teaching myself dsp and currently im trying to get a good > understanding of pole zero filter design. I understand how to get the > magnitude response but i have some problem with the phase response. I'm > working thru an online book and im up to here > > http://ccrma.stanford.edu/~jos/filters/Graphical_Phase_Response_Calcu... > > So it says the phase response is evaluated from all the angles from the > frequency to each pole and zero. The thing i dont understand (yeah it always > takes me fookin ages to get to the point), is that some of the angles are > anticlockwise and some are clockwise from 0, so some are negative some > positive. Which implies positive and negative phase delay? But that's not > posible is it?It is possible for an individual pole or zero to contribute negative delay. But you really have to count all the poles and zeros including the ones at the origin and at infinity to get the complete delay (integer tap + fractional phase), which will end up being positive for a realizable filter. (e.g. -20 degrees + 1 tap is really +340 degrees) IMHO. YMMV. -- Ron N. http://www.nicholson.com/rhn/dsp.html
Reply by ●February 18, 20072007-02-18
Chris Warwick wrote:> Hi, i've been teaching myself dsp and currently im trying to get a good > understanding of pole zero filter design. I understand how to get the > magnitude response but i have some problem with the phase response. I'm > working thru an online book and im up to here > > http://ccrma.stanford.edu/~jos/filters/Graphical_Phase_Response_Calculation.html > > So it says the phase response is evaluated from all the angles from the > frequency to each pole and zero. The thing i dont understand (yeah it always > takes me fookin ages to get to the point), is that some of the angles are > anticlockwise and some are clockwise from 0, so some are negative some > positive. Which implies positive and negative phase delay? But that's not > posible is it? >You can get phase lead at the lower frequencies with a stable zero. It's real, but it comes at the cost of rising gain as the frequency increases. Your system is still causal, but the wave shape will be distorted. You can't get phase lead with no amplitude distortion in a causal system. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Posting from Google? See http://cfaj.freeshell.org/google/ "Applied Control Theory for Embedded Systems" came out in April. See details at http://www.wescottdesign.com/actfes/actfes.html
Reply by ●February 18, 20072007-02-18
"Chris Warwick" <sp@m.me.not> wrote in message news:1171815100.3211.0@demeter.uk.clara.net... Thanks everyone. One more question. I plot the phase response by calculating the angle to each pole/zero with arcTan, then add up the zero angles, then subtract the pole angles. This means i get sudden jumps in the plot where the angle returned by arcTan switches from +PI to -PI. That cant realy mean an instantanious 2PI step in the overall phase response can it? I just seems to me that it should be a contiuous plot like the frequency response. Those steps are just an artifact of the way I've calculated it? If so is there a way to calculate it without those steps? Is there an easier way to get the phase response that calculating each angle seperately, can it be done with vector math and then grab the angle at the end? thanks, chris -- Posted via a free Usenet account from http://www.teranews.com
Reply by ●February 19, 20072007-02-19
On 19 Feb, 01:50, "Chris Warwick" <s...@m.me.not> wrote:> "Chris Warwick" <s...@m.me.not> wrote in message > > news:1171815100.3211.0@demeter.uk.clara.net... > > Thanks everyone. > > One more question. I plot the phase response by calculating the angle to > each pole/zero with arcTan, then add up the zero angles, then subtract the > pole angles. This means i get sudden jumps in the plot where the angle > returned by arcTan switches from +PI to -PI. That cant realy mean an > instantanious 2PI step in the overall phase response can it?If we agree that the "true" phase is PHI (with capital letters), the best you actually can compute is a phase phi (note the lowercase letters) such that PHI = phi + n*2*pi where n is some (unknown) integer and -pi <= phi <= pi.> I just seems to > me that it should be a contiuous plot like the frequency response. Those > steps are just an artifact of the way I've calculated it? If so is there a > way to calculate it without those steps? Is there an easier way to get the > phase response that calculating each angle seperately, can it be done with > vector math and then grab the angle at the end?No matter how you do things, you end up with the PHI <-> phi relation above. This is a fundamental property of complex numbers (check out "Riemann surfaces" in a book on complex maths) and is often the very reason for why "obvious" and "simple" signal processing schemes don't work in practice. Rune
Reply by ●February 19, 20072007-02-19
"Rune Allnor" <allnor@tele.ntnu.no> wrote in message news:1171873663.929401.156980@t69g2000cwt.googlegroups.com...>> I just seems to >> me that it should be a contiuous plot like the frequency response. Those >> steps are just an artifact of the way I've calculated it? If so is there >> a >> way to calculate it without those steps? Is there an easier way to get >> the >> phase response that calculating each angle seperately, can it be done >> with >> vector math and then grab the angle at the end? > > No matter how you do things, you end up with the PHI <-> phi > relation above. This is a fundamental property of complex numbers > (check out "Riemann surfaces" in a book on complex maths) and > is often the very reason for why "obvious" and "simple" signal > processing schemes don't work in practice.ok thanks, :-) chris -- Posted via a free Usenet account from http://www.teranews.com
Reply by ●February 19, 20072007-02-19
"Rune Allnor" <allnor@tele.ntnu.no> wrote in message news:1171873663.929401.156980@t69g2000cwt.googlegroups.com...> On 19 Feb, 01:50, "Chris Warwick" <s...@m.me.not> wrote: >> "Chris Warwick" <s...@m.me.not> wrote in message>> I just seems to >> me that it should be a contiuous plot like the frequency response. Those >> steps are just an artifact of the way I've calculated it? If so is there >> a >> way to calculate it without those steps? Is there an easier way to get >> the >> phase response that calculating each angle seperately, can it be done >> with >> vector math and then grab the angle at the end? > > No matter how you do things, you end up with the PHI <-> phi > relation above. This is a fundamental property of complex numbers > (check out "Riemann surfaces" in a book on complex maths) and > is often the very reason for why "obvious" and "simple" signal > processing schemes don't work in practice.Ok, thanks, chris -- Posted via a free Usenet account from http://www.teranews.com
Reply by ●February 19, 20072007-02-19
On Feb 19, 12:27 am, "Rune Allnor" <all...@tele.ntnu.no> wrote:> On 19 Feb, 01:50, "Chris Warwick" <s...@m.me.not> wrote: > > > "Chris Warwick" <s...@m.me.not> wrote in message > > >news:1171815100.3211.0@demeter.uk.clara.net... > > > Thanks everyone. > > > One more question. I plot the phase response by calculating the angle to > > each pole/zero with arcTan, then add up the zero angles, then subtract the > > pole angles. This means i get sudden jumps in the plot where the angle > > returned by arcTan switches from +PI to -PI. That cant realy mean an > > instantanious 2PI step in the overall phase response can it? > > If we agree that the "true" phase is PHI (with capital letters), the > best you actually can compute is a phase phi (note the lowercase > letters) such that > > PHI = phi + n*2*pi > > where n is some (unknown) integer and -pi <= phi <= pi.This would imply that you could not calculate the absolute delay of a LTI IIR or FIR filter, which seems false. The angle from any pole or zero shouldn't change by more than +-2*pi as the frequency response traverses the entire unit circle, so there will be a zero angle reference for each pole or zero which causes no phase jumps during a single orbit, and also equal a known delay at some frequency. IMHO. YMMV. -- rhn A.T nicholson d.0.t C-o-M
Reply by ●February 19, 20072007-02-19
On 19 Feb, 23:15, "Ron N." <rhnlo...@yahoo.com> wrote:> On Feb 19, 12:27 am, "Rune Allnor" <all...@tele.ntnu.no> wrote: > > > > > > > On 19 Feb, 01:50, "Chris Warwick" <s...@m.me.not> wrote: > > > > "Chris Warwick" <s...@m.me.not> wrote in message > > > >news:1171815100.3211.0@demeter.uk.clara.net... > > > > Thanks everyone. > > > > One more question. I plot the phase response by calculating the angle to > > > each pole/zero with arcTan, then add up the zero angles, then subtract the > > > pole angles. This means i get sudden jumps in the plot where the angle > > > returned by arcTan switches from +PI to -PI. That cant realy mean an > > > instantanious 2PI step in the overall phase response can it? > > > If we agree that the "true" phase is PHI (with capital letters), the > > best you actually can compute is a phase phi (note the lowercase > > letters) such that > > > PHI = phi + n*2*pi > > > where n is some (unknown) integer and -pi <= phi <= pi. > > This would imply that you could not calculate the > absolute delay of a LTI IIR or FIR filter, which > seems false.You can't. You can compute a RELATIVE delay from some suitably chosen reference. Rune






