Hi, I am reading Professor Ifeachor's book "Digital Signal Processing, A Practical Approach, second edition" and is confused by example 8.4 for IIR design. The example gives a transfer function H(s) = 1/(s^2 + sqrt(2)*s +1), 3 dB cutoff frequency of 150Hz and sampling frequency of 1.28kHz. The example illustrates IIR design with Impulse Invariant method. What confused me is frequency scale the normalized transfer function before applying the impulse invariant. The frequency scale is achieved by replacing s by s/a, where a = 2*pi*150. Can anybody help me to understand why frequency scale is needed? how to do frequency scale before design? And how to convert a transfer function of analog filter to normalized? Thanks very much.
frequency scale in IIR design
Started by ●September 22, 2008
Reply by ●September 22, 20082008-09-22
On 22 Sep, 11:20, skyworld <chenyong20...@gmail.com> wrote:> Hi, > I am reading Professor Ifeachor's book "Digital Signal Processing, A > Practical Approach, second edition" and is confused by example 8.4 for > IIR design. > > The example gives a transfer function H(s) = 1/(s^2 + sqrt(2)*s +1), 3 > dB cutoff frequency of 150Hz and sampling frequency of 1.28kHz. The > example illustrates IIR design with Impulse Invariant method. > > What confused me is frequency scale the normalized transfer function > before applying the impulse invariant. The frequency scale is achieved > by replacing s by s/a, where a = 2*pi*150. Can anybody help me to > understand why frequency scale is needed?The frequency scale is needed because you need to account for the sampling frequency. The analog prototype filter is given in trems of the continuous-time impulse response. The resultiing discrete-time filter parameters will depend on the sampling frequency. Rune
Reply by ●September 22, 20082008-09-22
On 9��22��, ����5ʱ39��, Rune Allnor <all...@tele.ntnu.no> wrote:> On 22 Sep, 11:20, skyworld <chenyong20...@gmail.com> wrote: > > > Hi, > > I am reading Professor Ifeachor's book "Digital Signal Processing, A > > Practical Approach, second edition" and is confused by example 8.4 for > > IIR design. > > > The example gives a transfer function H(s) = 1/(s^2 + sqrt(2)*s +1), 3 > > dB cutoff frequency of 150Hz and sampling frequency of 1.28kHz. The > > example illustrates IIR design with Impulse Invariant method. > > > What confused me is frequency scale the normalized transfer function > > before applying the impulse invariant. The frequency scale is achieved > > by replacing s by s/a, where a = 2*pi*150. Can anybody help me to > > understand why frequency scale is needed? > > The frequency scale is needed because you need to account for > the sampling frequency. The analog prototype filter is given in > trems of the continuous-time impulse response. The resultiing > discrete-time filter parameters will depend on the sampling > frequency. > > RuneHi Rune, thanks for your reply. But can you give me more information on it? I know in FIR design I need to do normalized by f' = f/fs, but in this IIR example, it seems different.
Reply by ●September 22, 20082008-09-22
On 22 Sep, 11:46, skyworld <chenyong20...@gmail.com> wrote:> On 9��22��, ����5ʱ39��, Rune Allnor <all...@tele.ntnu.no> wrote: > I > know in FIR design I need to do normalized by f' = f/fs, but in this > IIR example, it seems different.That's because the impulse-invariance design of IIR filters relates directly to the analog signal and physical time, whereas FIR filter design takes place in discrete-time domain has no such direct relation. Rune
Reply by ●September 22, 20082008-09-22
On Sep 22, 8:40 am, Rune Allnor <all...@tele.ntnu.no> wrote:> On 22 Sep, 11:46, skyworld <chenyong20...@gmail.com> wrote: > > > On 9��22��, ����5ʱ39��, Rune Allnor <all...@tele.ntnu.no> wrote: > > I know in FIR design I need to do normalized by f' = f/fs, but in > > this IIR example, it seems different. > > That's because the impulse-invariance design of IIR filters relates > directly to the analog signal and physical time, whereas FIR filter > design takes place in discrete-time domain has no such direct > relation.Rune, that's not true. you can design either FIR or IIR filters in normalized frequency (set T = 1/fs = 1) and in both cases, when you compare to the "real world" where we measure time in seconds instead of samples, you have to convert units from normalized time and frequency (which are dimensionless) to physical time and frequency. the FIR is really a degenerate case of the IIR and the same analysis rules apply. r b-j
Reply by ●September 22, 20082008-09-22
On 22 Sep, 18:15, robert bristow-johnson <r...@audioimagination.com> wrote:> On Sep 22, 8:40 am, Rune Allnor <all...@tele.ntnu.no> wrote: > > > On 22 Sep, 11:46, skyworld <chenyong20...@gmail.com> wrote: > > > > On 9��22��, ����5ʱ39��, Rune Allnor <all...@tele.ntnu.no> wrote: > > > I know in FIR design I need to do normalized by f' = f/fs, but in > > > this IIR example, it seems different. > > > That's because the impulse-invariance design of IIR filters relates > > directly to the analog signal and physical time, whereas FIR filter > > design takes place in discrete-time domain has no such direct > > relation. > > Rune, that's not true. you can design either FIR or IIR filters in > normalized frequency (set T = 1/fs = 1) and in both cases, when you > compare to the "real world" where we measure time in seconds instead > of samples, you have to convert units from normalized time and > frequency (which are dimensionless) to physical time and frequency. > the FIR is really a degenerate case of the IIR and the same analysis > rules apply.You *can* design both FIRs and IIRs that way, but you don't *have* to. The impulse invariance method is unique in that it is linked directly to the continuous-time domain. As I understand the OP, it is this direct link between CT domain and the DT filter which confuses him. Or her. Rune
Reply by ●September 22, 20082008-09-22
On 9��23��, ����4ʱ00��, Rune Allnor <all...@tele.ntnu.no> wrote:> On 22 Sep, 18:15, robert bristow-johnson <r...@audioimagination.com> > wrote: > > > > > On Sep 22, 8:40 am, Rune Allnor <all...@tele.ntnu.no> wrote: > > > > On 22 Sep, 11:46, skyworld <chenyong20...@gmail.com> wrote: > > > > > On 9��22��, ����5ʱ39��, Rune Allnor <all...@tele.ntnu.no> wrote: > > > > I know in FIR design I need to do normalized by f' = f/fs, but in > > > > this IIR example, it seems different. > > > > That's because the impulse-invariance design of IIR filters relates > > > directly to the analog signal and physical time, whereas FIR filter > > > design takes place in discrete-time domain has no such direct > > > relation. > > > Rune, that's not true. you can design either FIR or IIR filters in > > normalized frequency (set T = 1/fs = 1) and in both cases, when you > > compare to the "real world" where we measure time in seconds instead > > of samples, you have to convert units from normalized time and > > frequency (which are dimensionless) to physical time and frequency. > > the FIR is really a degenerate case of the IIR and the same analysis > > rules apply. > > You *can* design both FIRs and IIRs that way, but you don't *have* > to. > The impulse invariance method is unique in that it is linked directly > to the continuous-time domain. As I understand the OP, it is this > direct link between CT domain and the DT filter which confuses him. > Or her. > > RuneHi Run, in fact I know there are differences between CT domain and DT domain, I can find books describing these differences for FIR. But I can't find those information for IIR and I think there are some 'trick' in IIR design. What makes me confused is why the example takes (s/cutoff frequency) as scale factor? Thanks very much.
Reply by ●September 23, 20082008-09-23
On 23 Sep, 04:06, skyworld <chenyong20...@gmail.com> wrote:> On 9��23��, ����4ʱ00��, Rune Allnor <all...@tele.ntnu.no> wrote: > > > > > > > On 22 Sep, 18:15, robert bristow-johnson <r...@audioimagination.com> > > wrote: > > > > On Sep 22, 8:40 am, Rune Allnor <all...@tele.ntnu.no> wrote: > > > > > On 22 Sep, 11:46, skyworld <chenyong20...@gmail.com> wrote: > > > > > > On 9��22��, ����5ʱ39��, Rune Allnor <all...@tele.ntnu.no> wrote: > > > > > I know in FIR design I need to do normalized by f' = f/fs, but in > > > > > this IIR example, it seems different. > > > > > That's because the impulse-invariance design of IIR filters relates > > > > directly to the analog signal and physical time, whereas FIR filter > > > > design takes place in discrete-time domain has no such direct > > > > relation. > > > > Rune, that's not true. you can design either FIR or IIR filters in > > > normalized frequency (set T = 1/fs = 1) and in both cases, when you > > > compare to the "real world" where we measure time in seconds instead > > > of samples, you have to convert units from normalized time and > > > frequency (which are dimensionless) to physical time and frequency. > > > the FIR is really a degenerate case of the IIR and the same analysis > > > rules apply. > > > You *can* design both FIRs and IIRs that way, but you don't *have* > > to. > > The impulse invariance method is unique in that it is linked directly > > to the continuous-time domain. As I understand the OP, it is this > > direct link between CT domain and the DT filter which confuses him. > > Or her. > > > Rune > > Hi Run, in fact I know there are differences between CT domain and DT > domain, I can find books describing these differences for FIR. But I > can't find those information for IIR and I think there are some > 'trick' in IIR design.There are many ways to design filters, both in CT and DT domain. The 'standard' methods are based on frequency-domain specifications where one selects stop-band and pass-band corner frequencies, stop-band attenuation and pass-band ripple. These methods work in both CT and DT domains, and in DT domain for both FIR and IIR filters. You can also design DT IIRs from CT analog counterparts, but then you need to do all sorts of frequency transforms, pre-warpind and so on, and in these methods the normalized frequencies f/Fs are important parameters. This is IIR design by Bilinear TRansform (BLT). The method you have tried, (DT) IIR design by (CT) Impulse Invariance works in a different way, as one bypasses everything that has to do with frequency specifications etc. One starts out witha continuous waveform, the CT impulse response, and samples it directly to get a DT filter. You need to take some time to contemplate this, because this means that the purpose of the subsequent analysis has a differnt purpose than with FIR design or BLT IIR design: With impulse invariance the objective is not to obtain a normalized frequency response, but to obtain a set of DT filter coefficients directly from a CT Impulse Response. This is why lots of the analysis take place in CT s-domain, and not in DT z domain. THis is also the reason why some of the familiar tricks are absent in the method of impulse invariance. Rune
Reply by ●September 23, 20082008-09-23
skyworld wrote:> The example gives a transfer function > H(s) = 1/(s^2 + sqrt(2)*s + 1), 3 dB cutoff frequency of 150Hz > and sampling frequency of 1.28kHz. The example illustrates IIR > design with Impulse Invariant method. > > What confused me is frequency scale the normalized transfer > function before applying the impulse invariant. The frequency > scale is achieved by replacing s by s/a, where a = 2*pi*150. Can > anybody help me to understand why frequency scale is needed?Actually the discussion so far about sampling frequency does not pertain to your question. Frequency scaling is needed because the H(s) you mention above has its 3-dB point at s = j*1, instead of j*omega_c. That is what "normalized" means in this context. The transfer function G(s) := H(s/omega_c) therefore cuts off where you want it to. Martin -- Quidquid latine scriptum est, altum videtur.
Reply by ●September 23, 20082008-09-23
i still don't completely know what this thread is about, but i'll pipe in again, On Sep 23, 5:51�am, Rune Allnor <all...@tele.ntnu.no> wrote:> ... > With impulse invariance the objective is not to obtain a normalized > frequency response, but to obtain a set of DT filter coefficients > directly from a CT Impulse Response. >i think it would be this, explicitly, h[n] = T*h(n*T) corresponding to the main "drawback" of the bilinear transform, the frequency warping of the CT frequency response, the impulse invariant method has the effect of infinitely repeating and aliasing the CT frequency response. they both have their different ways of messing up the CT behavior. r b-j






